@templatical/editor 0.8.4 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/{AiChatSidebar-CnRXeK77.js → AiChatSidebar-BUKj9n02.js} +5 -5
  2. package/dist/{AiFeatureMenu-BYDDrpj6.js → AiFeatureMenu-Co14YVJt.js} +3 -3
  3. package/dist/{BlockIssueBadge-DM-vXeD6.js → BlockIssueBadge-DThKKeub.js} +2 -2
  4. package/dist/{CloudEditor-B9a_K6Cm.js → CloudEditor-CAtw_sFC.js} +218 -217
  5. package/dist/{CollaboratorBar-HN4whzM-.js → CollaboratorBar-Bc6q0gB9.js} +2 -2
  6. package/dist/{CommentsSidebar-_llWQ4VT.js → CommentsSidebar-DiH4R4F0.js} +3 -3
  7. package/dist/{CountdownBlock-I99sC0C5.js → CountdownBlock-BTPefclD.js} +2 -2
  8. package/dist/{CountdownToolbar-BUhOUiQ9.js → CountdownToolbar-Dvr2icg-.js} +2 -2
  9. package/dist/{DesignReferenceSidebar-0GwjUn2V.js → DesignReferenceSidebar-BP32MgpS.js} +3 -3
  10. package/dist/{IssuesPanel-4MKZe8yP.js → IssuesPanel-B1LT91IX.js} +2 -2
  11. package/dist/{ModuleBrowserModal-DPZBsvqk.js → ModuleBrowserModal-CWegFoOA.js} +77 -85
  12. package/dist/{ModulePreviewCanvas-CK4j11-e.js → ModulePreviewCanvas-D9WUSSRT.js} +2 -2
  13. package/dist/{NumberWithSuffix-CxMFy_j3.js → NumberWithSuffix-CxUBW_V2.js} +2 -2
  14. package/dist/{ParagraphEditor-DBus_iHH.js → ParagraphEditor-DrAz2yot.js} +126 -126
  15. package/dist/{RichTextEditorContent-B_KCY6T1.js → RichTextEditorContent-gR169m1-.js} +4 -4
  16. package/dist/{SaveModuleDialog-DORRSbBo.js → SaveModuleDialog-DWidA0c9.js} +6 -6
  17. package/dist/{SnapshotHistory-DTMVEk03.js → SnapshotHistory-CIo2Jaw-.js} +4 -4
  18. package/dist/{TemplateScoringPanel-BIwEwFxD.js → TemplateScoringPanel-seBvvn8O.js} +2 -2
  19. package/dist/{TestEmailModal-DJmYp0Qi.js → TestEmailModal-BuCuWp3N.js} +3 -3
  20. package/dist/{TitleEditor-70d9AF1V.js → TitleEditor-BmW0uMl7.js} +67 -67
  21. package/dist/{TplModal-BEfwlvPC.js → TplModal-YFpBaiLj.js} +4 -4
  22. package/dist/{blockTypeIcons-2DRoPa3K.js → blockTypeIcons-DCkHXPhx.js} +19 -11
  23. package/dist/bundle-stats.json +8 -8
  24. package/dist/cdn/chunks/{AiFeatureMenu-CcuKnisc.js → AiFeatureMenu-Dayzk2H7.js} +2 -2
  25. package/dist/cdn/chunks/{AiFeatureMenu-CcuKnisc.js.map → AiFeatureMenu-Dayzk2H7.js.map} +1 -1
  26. package/dist/cdn/chunks/{BlockIssueBadge-Sr3is7Wr.js → BlockIssueBadge-D_US2wqo.js} +4 -4
  27. package/dist/cdn/chunks/{BlockIssueBadge-Sr3is7Wr.js.map → BlockIssueBadge-D_US2wqo.js.map} +1 -1
  28. package/dist/cdn/chunks/{CloudEditor-Bi10d2Gq.js → CloudEditor-CyJItWsK.js} +186 -185
  29. package/dist/cdn/chunks/{CloudEditor-Bi10d2Gq.js.map → CloudEditor-CyJItWsK.js.map} +1 -1
  30. package/dist/cdn/chunks/{CollaboratorBar-C0zeecvl.js → CollaboratorBar-C4CFs5EJ.js} +3 -3
  31. package/dist/cdn/chunks/{CollaboratorBar-C0zeecvl.js.map → CollaboratorBar-C4CFs5EJ.js.map} +1 -1
  32. package/dist/cdn/chunks/{CountdownBlock-CpSUUDDs.js → CountdownBlock-D6lCXhZA.js} +2 -2
  33. package/dist/cdn/chunks/{CountdownBlock-CpSUUDDs.js.map → CountdownBlock-D6lCXhZA.js.map} +1 -1
  34. package/dist/cdn/chunks/{CountdownToolbar-BBzdR-00.js → CountdownToolbar-BsGUxoRv.js} +3 -3
  35. package/dist/cdn/chunks/{CountdownToolbar-BBzdR-00.js.map → CountdownToolbar-BsGUxoRv.js.map} +1 -1
  36. package/dist/cdn/chunks/{IssuesPanel-Bthq6qoZ.js → IssuesPanel-DeHTmRDz.js} +5 -5
  37. package/dist/cdn/chunks/{IssuesPanel-Bthq6qoZ.js.map → IssuesPanel-DeHTmRDz.js.map} +1 -1
  38. package/dist/cdn/chunks/{ModuleBrowserModal-CFMd6M7E.js → ModuleBrowserModal-Cgjz4xAz.js} +8 -8
  39. package/dist/cdn/chunks/ModuleBrowserModal-Cgjz4xAz.js.map +1 -0
  40. package/dist/cdn/chunks/{ModulePreviewCanvas-BkcPcF5C.js → ModulePreviewCanvas-CeS9PsAA.js} +2 -2
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-BkcPcF5C.js.map → ModulePreviewCanvas-CeS9PsAA.js.map} +1 -1
  42. package/dist/cdn/chunks/{NumberWithSuffix-C2hH_ZIK.js → NumberWithSuffix-Bp-idLCc.js} +2 -2
  43. package/dist/cdn/chunks/{NumberWithSuffix-C2hH_ZIK.js.map → NumberWithSuffix-Bp-idLCc.js.map} +1 -1
  44. package/dist/cdn/chunks/{ParagraphEditor-BIWXLPfu.js → ParagraphEditor-fM9aFu8T.js} +116 -116
  45. package/dist/cdn/chunks/ParagraphEditor-fM9aFu8T.js.map +1 -0
  46. package/dist/cdn/chunks/{RichTextEditorContent-DU0gc4bi.js → RichTextEditorContent-DwNPE5H5.js} +4 -4
  47. package/dist/cdn/chunks/{RichTextEditorContent-DU0gc4bi.js.map → RichTextEditorContent-DwNPE5H5.js.map} +1 -1
  48. package/dist/cdn/chunks/{SaveModuleDialog-DR9EZlWe.js → SaveModuleDialog-BrtDXzIz.js} +4 -4
  49. package/dist/cdn/chunks/SaveModuleDialog-BrtDXzIz.js.map +1 -0
  50. package/dist/cdn/chunks/TitleEditor-D0rSnye0.js +175 -0
  51. package/dist/cdn/chunks/TitleEditor-D0rSnye0.js.map +1 -0
  52. package/dist/cdn/chunks/{blockTypeIcons-eVGGIdne.js → blockTypeIcons-YOEe5mDE.js} +3 -3
  53. package/dist/cdn/chunks/{blockTypeIcons-eVGGIdne.js.map → blockTypeIcons-YOEe5mDE.js.map} +1 -1
  54. package/dist/{de-ED7c5RpG.js → cdn/chunks/de-CATfXDKV.js} +14 -1
  55. package/dist/cdn/chunks/{de-ED7c5RpG.js.map → de-CATfXDKV.js.map} +1 -1
  56. package/dist/cdn/chunks/{en-ivilDUn0.js → en-CwCAgYL5.js} +13 -2
  57. package/dist/cdn/chunks/{en-ivilDUn0.js.map → en-CwCAgYL5.js.map} +1 -1
  58. package/dist/cdn/chunks/{extensions-CvCoOuWB.js → extensions-GYsbQFPr.js} +26 -23
  59. package/dist/cdn/chunks/extensions-GYsbQFPr.js.map +1 -0
  60. package/dist/cdn/chunks/{features-CUYy5kZQ.js → features-D-2kVhHY.js} +1264 -1188
  61. package/dist/cdn/chunks/features-D-2kVhHY.js.map +1 -0
  62. package/dist/cdn/chunks/{icons-C4zY5-I3.js → icons-fZoyKV_s.js} +2 -2
  63. package/dist/cdn/chunks/{icons-C4zY5-I3.js.map → icons-fZoyKV_s.js.map} +1 -1
  64. package/dist/cdn/chunks/{media-library-BNt3msId.js → media-library-CO2WOETY.js} +240 -240
  65. package/dist/cdn/chunks/{media-library-BNt3msId.js.map → media-library-CO2WOETY.js.map} +1 -1
  66. package/dist/{pt-BR-B5tm2iBl.js → cdn/chunks/pt-BR-D3Mg7AKe.js} +14 -1
  67. package/dist/cdn/chunks/{pt-BR-B5tm2iBl.js.map → pt-BR-D3Mg7AKe.js.map} +1 -1
  68. package/dist/cdn/chunks/{quality-BTPRPGB-.js → quality-BxPiS-wv.js} +603 -577
  69. package/dist/cdn/chunks/{quality-BTPRPGB-.js.map → quality-BxPiS-wv.js.map} +1 -1
  70. package/dist/cdn/chunks/{renderer-IOmuuZjJ.js → renderer-7z2t_bYQ.js} +142 -108
  71. package/dist/cdn/chunks/{renderer-IOmuuZjJ.js.map → renderer-7z2t_bYQ.js.map} +1 -1
  72. package/dist/cdn/chunks/{src-Dp0ZFQ4-.js → src-ftxPuuQh.js} +4 -4
  73. package/dist/cdn/chunks/{src-Dp0ZFQ4-.js.map → src-ftxPuuQh.js.map} +1 -1
  74. package/dist/cdn/chunks/{styles-DtgjgsBH.js → styles-o0HIrw9F.js} +877 -622
  75. package/dist/cdn/chunks/styles-o0HIrw9F.js.map +1 -0
  76. package/dist/cdn/chunks/{tiptap-BErAJEvo.js → tiptap-BBbH3IT9.js} +849 -725
  77. package/dist/cdn/chunks/tiptap-BBbH3IT9.js.map +1 -0
  78. package/dist/cdn/editor.css +1 -1
  79. package/dist/cdn/editor.js +102 -101
  80. package/dist/cdn/editor.js.map +1 -1
  81. package/dist/{cloud-Dz8Ay2FM.js → cloud-VxYMtfXC.js} +1 -1
  82. package/dist/{cdn/chunks/de-ED7c5RpG.js → de-CATfXDKV.js} +12 -3
  83. package/dist/{dist-BygsE-n3.js → dist-BDgf2G-V.js} +453 -314
  84. package/dist/{dist-BtDBsF3N.js → dist-BxP6TB0l.js} +2 -2
  85. package/dist/{dist-DWhP3Dp2.js → dist-BzuC8o3y.js} +1209 -1217
  86. package/dist/{dist-v-O2Subd.js → dist-C0jo8wtG.js} +2 -2
  87. package/dist/{dist-BTgujVMy.js → dist-C8wMh_gi.js} +2 -2
  88. package/dist/{dist-Cipw2HFH.js → dist-CIV3Brg-.js} +37 -4
  89. package/dist/{dist-HO0vjY5Z.js → dist-CNLAS2v2.js} +130 -124
  90. package/dist/{dist-BS5Oi67L.js → dist-CUpJmrjt.js} +2 -2
  91. package/dist/dist-D5lmdi1F.js +5 -0
  92. package/dist/{dist-T-ORzNfM.js → dist-D8C6jIXM.js} +168 -175
  93. package/dist/dist-DILjuzSv.js +5 -0
  94. package/dist/{dist-CDtcJMB2.js → dist-DXaxGLsw.js} +33 -33
  95. package/dist/{dist-DnGTaPRX.js → dist-DYO-w_Jf.js} +2 -2
  96. package/dist/{dist-CDZCyoRy.js → dist-UK-lbEBc.js} +2 -2
  97. package/dist/{en-ivilDUn0.js → en-CwCAgYL5.js} +12 -1
  98. package/dist/{extensions-BmGiz8Oo.js → extensions-Mj2-D8uK.js} +32 -29
  99. package/dist/{keys-B8K7Z7Ef.js → keys-BiQlvx51.js} +3 -3
  100. package/dist/{cdn/chunks/pt-BR-B5tm2iBl.js → pt-BR-D3Mg7AKe.js} +12 -3
  101. package/dist/style.css +1 -1
  102. package/dist/{styles-DFeOGKa_.js → styles-CJtcKmsx.js} +857 -601
  103. package/dist/templatical-editor.js +104 -103
  104. package/dist/{useCloudI18n-DFzVgYhJ.js → useCloudI18n-DKWJg6rJ.js} +1 -1
  105. package/dist/{useEditorCore-BXz-UXPd.js → useEditorCore-CEkf_VWX.js} +663 -633
  106. package/dist/{useI18n-CBbStVlD.js → useI18n-Besvmtxy.js} +1 -1
  107. package/dist/useMergeTag-WNzaCpXR.js +44 -0
  108. package/dist/{usePopoverRoot-62PlZQQ3.js → usePopoverRoot-CKt956u-.js} +1 -1
  109. package/package.json +21 -21
  110. package/dist/cdn/chunks/ModuleBrowserModal-CFMd6M7E.js.map +0 -1
  111. package/dist/cdn/chunks/ParagraphEditor-BIWXLPfu.js.map +0 -1
  112. package/dist/cdn/chunks/SaveModuleDialog-DR9EZlWe.js.map +0 -1
  113. package/dist/cdn/chunks/TitleEditor-DZcx2N4R.js +0 -175
  114. package/dist/cdn/chunks/TitleEditor-DZcx2N4R.js.map +0 -1
  115. package/dist/cdn/chunks/extensions-CvCoOuWB.js.map +0 -1
  116. package/dist/cdn/chunks/features-CUYy5kZQ.js.map +0 -1
  117. package/dist/cdn/chunks/styles-DtgjgsBH.js.map +0 -1
  118. package/dist/cdn/chunks/tiptap-BErAJEvo.js.map +0 -1
  119. package/dist/dist-BySzGkeC.js +0 -5
  120. package/dist/dist-D7JUZ2Kd.js +0 -5
  121. package/dist/useMergeTag-CS2bmWA0.js +0 -34
@@ -1,12 +1,12 @@
1
1
  import { n as e } from "./rolldown-runtime-Dqa2HsxW.js";
2
- import { An as t, Cn as n, Dn as r, En as i, Fn as a, In as o, Nn as s, On as c, Pn as l, jn as ee, kn as u } from "./features-CUYy5kZQ.js";
2
+ import { An as t, Fn as n, In as r, Ln as i, Mn as a, Nn as o, On as s, Rn as c, Tn as l, jn as u, kn as d } from "./features-D-2kVhHY.js";
3
3
  //#region ../quality/src/types.ts
4
- var te = {
4
+ var ee = {
5
5
  altMaxLength: 125,
6
6
  minFontSize: 14,
7
7
  allCapsMinLength: 20,
8
8
  minTouchTargetPx: 44
9
- }, ne = [
9
+ }, te = [
10
10
  "localhost",
11
11
  "127.0.0.1",
12
12
  "0.0.0.0",
@@ -16,74 +16,74 @@ var te = {
16
16
  ];
17
17
  //#endregion
18
18
  //#region ../quality/src/contrast.ts
19
- function re(e, t) {
20
- let n = d(e), r = d(t);
19
+ function ne(e, t) {
20
+ let n = f(e), r = f(t);
21
21
  if (!n || !r) return NaN;
22
- let i = se(n), a = se(r), o = Math.max(i, a), s = Math.min(i, a);
22
+ let i = oe(n), a = oe(r), o = Math.max(i, a), s = Math.min(i, a);
23
23
  return (o + .05) / (s + .05);
24
24
  }
25
- var ie = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, ae = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, oe = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
26
- function d(e) {
25
+ var re = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, ie = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, ae = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
26
+ function f(e) {
27
27
  if (typeof e != "string") return null;
28
- let t = e.trim(), n = oe.exec(t);
28
+ let t = e.trim(), n = ae.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 = ae.exec(t);
34
+ let r = ie.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 = ie.exec(t);
40
+ let i = re.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 f(e) {
48
- return d(e ?? "") !== null;
47
+ function p(e) {
48
+ return f(e ?? "") !== null;
49
49
  }
50
- function se({ r: e, g: t, b: n }) {
51
- let r = p(e / 255), i = p(t / 255), a = p(n / 255);
50
+ function oe({ r: e, g: t, b: n }) {
51
+ let r = m(e / 255), i = m(t / 255), a = m(n / 255);
52
52
  return .2126 * r + .7152 * i + .0722 * a;
53
53
  }
54
- function p(e) {
54
+ function m(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 ce = "#ffffff";
60
- function m(e, n) {
61
- let r = f(e.settings.backgroundColor) ? e.settings.backgroundColor.toLowerCase() : ce, i = (e, r) => {
62
- let a = e.styles?.backgroundColor, o = f(a) ? a.toLowerCase() : r.resolvedBackgroundColor;
63
- n(e, o === r.resolvedBackgroundColor ? r : {
64
- ...r,
59
+ var se = "#ffffff";
60
+ function h(e, t) {
61
+ let n = p(e.settings.backgroundColor) ? e.settings.backgroundColor.toLowerCase() : se, r = (e, n) => {
62
+ let i = e.styles?.backgroundColor, o = p(i) ? i.toLowerCase() : n.resolvedBackgroundColor;
63
+ t(e, o === n.resolvedBackgroundColor ? n : {
64
+ ...n,
65
65
  resolvedBackgroundColor: o
66
- }), t(e) && e.children.forEach((t, n) => {
67
- t.forEach((t) => i(t, {
66
+ }), a(e) && e.children.forEach((t, i) => {
67
+ t.forEach((t) => r(t, {
68
68
  parent: e,
69
69
  section: e,
70
- columnIndex: n,
71
- depth: r.depth + 1,
70
+ columnIndex: i,
71
+ depth: n.depth + 1,
72
72
  resolvedBackgroundColor: o
73
73
  }));
74
74
  });
75
75
  };
76
- for (let t of e.blocks) i(t, {
76
+ for (let t of e.blocks) r(t, {
77
77
  parent: null,
78
78
  section: null,
79
79
  columnIndex: null,
80
80
  depth: 0,
81
- resolvedBackgroundColor: r
81
+ resolvedBackgroundColor: n
82
82
  });
83
83
  }
84
84
  //#endregion
85
85
  //#region ../quality/src/run-rules.ts
86
- function h(e, t, n, r) {
86
+ function g(e, t, n, r) {
87
87
  let i = [];
88
88
  function a(e, t, i) {
89
89
  return {
@@ -94,7 +94,7 @@ function h(e, t, n, r) {
94
94
  fix: i.fix
95
95
  };
96
96
  }
97
- m(e, (e, r) => {
97
+ h(e, (e, r) => {
98
98
  for (let o of t) {
99
99
  let t = n.severity(o.meta.id);
100
100
  if (t === "off" || !o.block) continue;
@@ -110,11 +110,11 @@ function h(e, t, n, r) {
110
110
  }
111
111
  return i;
112
112
  }
113
- function g(e) {
113
+ function _(e) {
114
114
  let t = e.overrides ?? {}, n = {
115
- ...te,
115
+ ...ee,
116
116
  ...e.thresholds ?? {}
117
- }, r = { nonProductionHosts: e.nonProductionHosts ?? ne }, i = e.locale ?? "en", a = e.rules;
117
+ }, r = { nonProductionHosts: e.nonProductionHosts ?? te }, i = e.locale ?? "en", a = e.rules;
118
118
  return {
119
119
  locale: i,
120
120
  rules: t,
@@ -126,8 +126,8 @@ function g(e) {
126
126
  }
127
127
  };
128
128
  }
129
- function le(e, t, n) {
130
- return g({
129
+ function ce(e, t, n) {
130
+ return _({
131
131
  locale: e,
132
132
  rules: n,
133
133
  overrides: t.rules,
@@ -135,8 +135,8 @@ function le(e, t, n) {
135
135
  nonProductionHosts: void 0
136
136
  });
137
137
  }
138
- function ue(e, t, n) {
139
- return g({
138
+ function le(e, t, n) {
139
+ return _({
140
140
  locale: e,
141
141
  rules: n,
142
142
  overrides: t.rules,
@@ -144,8 +144,8 @@ function ue(e, t, n) {
144
144
  nonProductionHosts: void 0
145
145
  });
146
146
  }
147
- function de(e, t, n) {
148
- return g({
147
+ function ue(e, t, n) {
148
+ return _({
149
149
  locale: e,
150
150
  rules: n,
151
151
  overrides: t.rules,
@@ -155,7 +155,7 @@ function de(e, t, n) {
155
155
  }
156
156
  //#endregion
157
157
  //#region ../quality/src/accessibility/messages/de.ts
158
- var fe = /* @__PURE__ */ e({ default: () => pe }), pe = {
158
+ var de = /* @__PURE__ */ e({ default: () => fe }), fe = {
159
159
  "a11y.img-missing-alt": "Bild ohne Alt-Text. Füge eine kurze Beschreibung hinzu oder markiere das Bild als dekorativ.",
160
160
  "a11y.img-alt-is-filename": "Alt-Text sieht wie ein Dateiname aus (\"{alt}\"). Beschreibe stattdessen kurz, was das Bild zeigt.",
161
161
  "a11y.img-alt-too-long": "Alt-Text ist {length} Zeichen lang; bleibe unter {max}.",
@@ -176,7 +176,7 @@ var fe = /* @__PURE__ */ e({ default: () => pe }), pe = {
176
176
  "a11y.button-touch-target": "Button ist etwa {height}px hoch; mindestens {min}px verwenden, um Fehltipper auf Mobilgeräten zu vermeiden.",
177
177
  "a11y.button-low-contrast": "Buttontextkontrast beträgt {ratio}:1; WCAG AA verlangt mindestens {required}:1.",
178
178
  "a11y.missing-preheader": "Kein Preheader-Text gesetzt. Postfächer zeigen sonst Bruchstücke des ersten Blocks an."
179
- }, me = /* @__PURE__ */ e({ default: () => _ }), _ = {
179
+ }, pe = /* @__PURE__ */ e({ default: () => v }), v = {
180
180
  "a11y.img-missing-alt": "Image is missing alt text. Add a short description, or mark the image as decorative.",
181
181
  "a11y.img-alt-is-filename": "Alt text looks like a filename (\"{alt}\"). Replace with a short description of what the image conveys.",
182
182
  "a11y.img-alt-too-long": "Alt text is {length} characters; aim for under {max}.",
@@ -197,76 +197,76 @@ var fe = /* @__PURE__ */ e({ default: () => pe }), pe = {
197
197
  "a11y.button-touch-target": "Button is roughly {height}px tall; aim for at least {min}px to avoid mis-taps on mobile.",
198
198
  "a11y.button-low-contrast": "Button text contrast is {ratio}:1; WCAG AA requires at least {required}:1.",
199
199
  "a11y.missing-preheader": "No preheader text set. Inboxes will fall back to fragments of the first block."
200
- }, he = /* @__PURE__ */ Object.assign({
201
- "./de.ts": fe,
202
- "./en.ts": me
203
- }), v = {};
204
- for (let e in he) {
200
+ }, me = /* @__PURE__ */ Object.assign({
201
+ "./de.ts": de,
202
+ "./en.ts": pe
203
+ }), y = {};
204
+ for (let e in me) {
205
205
  let t = /\.\/([^/]+)\.ts$/.exec(e);
206
206
  if (!t) continue;
207
207
  let n = t[1];
208
- n !== "index" && (v[n] = he[e].default);
208
+ n !== "index" && (y[n] = me[e].default);
209
209
  }
210
- function ge(e) {
211
- return v[e.split("-")[0]?.toLowerCase() ?? "en"] ?? v.en ?? _;
210
+ function he(e) {
211
+ return y[e.split("-")[0]?.toLowerCase() ?? "en"] ?? y.en ?? v;
212
212
  }
213
- function _e(e, t, n) {
214
- let r = ge(e)[t] ?? _[t];
213
+ function ge(e, t, n) {
214
+ let r = he(e)[t] ?? v[t];
215
215
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
216
216
  let r = n[t];
217
217
  return r === void 0 ? `{${t}}` : String(r);
218
218
  }) : r;
219
219
  }
220
- var ve = {
220
+ var _e = {
221
221
  meta: {
222
222
  id: "a11y.img-missing-alt",
223
223
  severity: "error"
224
224
  },
225
225
  block(e) {
226
- return !r(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
226
+ return !d(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
227
227
  }
228
- }, ye = {
228
+ }, ve = {
229
229
  id: "a11y.img-alt-is-filename",
230
230
  severity: "warning"
231
- }, be = [
231
+ }, ye = [
232
232
  /\.(jpe?g|png|gif|webp|svg)$/i,
233
233
  /^IMG[_-]?\d+/i,
234
234
  /^Untitled/i,
235
235
  /^Screen[\s_-]?Shot/i,
236
236
  /^DSC[_-]?\d+/i
237
- ], xe = {
238
- meta: ye,
237
+ ], be = {
238
+ meta: ve,
239
239
  block(e) {
240
- if (!r(e) || e.decorative === !0) return null;
240
+ if (!d(e) || e.decorative === !0) return null;
241
241
  let t = e.alt?.trim() ?? "";
242
- return t === "" || !be.some((e) => e.test(t)) ? null : {
242
+ return t === "" || !ye.some((e) => e.test(t)) ? null : {
243
243
  blockId: e.id,
244
244
  params: { alt: t }
245
245
  };
246
246
  }
247
- }, Se = {
247
+ }, xe = {
248
248
  meta: {
249
249
  id: "a11y.img-alt-too-long",
250
250
  severity: "warning"
251
251
  },
252
252
  block(e, t, n) {
253
- if (!r(e) || e.decorative === !0) return null;
254
- let i = e.alt ?? "";
255
- return i.length <= n.thresholds.altMaxLength ? null : {
253
+ if (!d(e) || e.decorative === !0) return null;
254
+ let r = e.alt ?? "";
255
+ return r.length <= n.thresholds.altMaxLength ? null : {
256
256
  blockId: e.id,
257
257
  params: {
258
- length: i.length,
258
+ length: r.length,
259
259
  max: n.thresholds.altMaxLength
260
260
  }
261
261
  };
262
262
  }
263
- }, Ce = {
263
+ }, Se = {
264
264
  meta: {
265
265
  id: "a11y.img-decorative-needs-empty-alt",
266
266
  severity: "info"
267
267
  },
268
268
  block(e) {
269
- return !r(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
269
+ return !d(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
270
270
  blockId: e.id,
271
271
  fix: {
272
272
  description: "Clear alt text",
@@ -274,7 +274,7 @@ var ve = {
274
274
  }
275
275
  };
276
276
  }
277
- }, we = /* @__PURE__ */ e({ default: () => Te }), Te = {
277
+ }, Ce = /* @__PURE__ */ e({ default: () => we }), we = {
278
278
  vagueLinkText: [
279
279
  "hier klicken",
280
280
  "hier",
@@ -317,7 +317,7 @@ var ve = {
317
317
  "anschauen",
318
318
  "jetzt"
319
319
  ]
320
- }, Ee = /* @__PURE__ */ e({ default: () => De }), De = {
320
+ }, Te = /* @__PURE__ */ e({ default: () => Ee }), Ee = {
321
321
  vagueLinkText: [
322
322
  "click here",
323
323
  "here",
@@ -358,45 +358,45 @@ var ve = {
358
358
  "redeem",
359
359
  "watch"
360
360
  ]
361
- }, Oe = /* @__PURE__ */ Object.assign({
362
- "./de.ts": we,
363
- "./en.ts": Ee
364
- }), ke = {};
365
- for (let e in Oe) {
361
+ }, De = /* @__PURE__ */ Object.assign({
362
+ "./de.ts": Ce,
363
+ "./en.ts": Te
364
+ }), Oe = {};
365
+ for (let e in De) {
366
366
  let t = /\.\/([^/]+)\.ts$/.exec(e);
367
367
  if (!t) continue;
368
368
  let n = t[1];
369
- n !== "index" && (ke[n] = Oe[e].default);
370
- }
371
- function y(e) {
372
- return Ae;
369
+ n !== "index" && (Oe[n] = De[e].default);
373
370
  }
374
371
  function b(e) {
372
+ return ke;
373
+ }
374
+ function x(e) {
375
375
  let t = /* @__PURE__ */ new Set();
376
- for (let n of Object.values(ke)) for (let r of e(n)) t.add(r);
376
+ for (let n of Object.values(Oe)) for (let r of e(n)) t.add(r);
377
377
  return Array.from(t);
378
378
  }
379
- var Ae = {
380
- vagueLinkText: b((e) => e.vagueLinkText),
381
- vagueButtonLabels: b((e) => e.vagueButtonLabels),
382
- linkedImageActionHints: b((e) => e.linkedImageActionHints)
379
+ var ke = {
380
+ vagueLinkText: x((e) => e.vagueLinkText),
381
+ vagueButtonLabels: x((e) => e.vagueButtonLabels),
382
+ linkedImageActionHints: x((e) => e.linkedImageActionHints)
383
383
  };
384
- function je(e) {
384
+ function S(e) {
385
385
  return e.toLowerCase().replace(/\s+/g, " ").replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "").trim();
386
386
  }
387
- var Me = {
387
+ var Ae = {
388
388
  meta: {
389
389
  id: "a11y.img-linked-no-context",
390
390
  severity: "warning"
391
391
  },
392
392
  block(e, t, n) {
393
- if (!r(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
394
- let i = (e.alt ?? "").trim();
395
- if (i === "") return null;
396
- let a = i.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), o = y(n.locale).linkedImageActionHints;
397
- return a.some((e) => o.includes(e)) ? null : { blockId: e.id };
393
+ if (!d(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
394
+ let r = (e.alt ?? "").trim();
395
+ if (r === "") return null;
396
+ let i = r.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), a = b(n.locale).linkedImageActionHints;
397
+ return i.some((e) => a.includes(e)) ? null : { blockId: e.id };
398
398
  }
399
- }, Ne = new Map([
399
+ }, je = new Map([
400
400
  [0, 65533],
401
401
  [128, 8364],
402
402
  [130, 8218],
@@ -426,12 +426,12 @@ var Me = {
426
426
  [158, 382],
427
427
  [159, 376]
428
428
  ]);
429
- function Pe(e) {
430
- return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : Ne.get(e) ?? e;
429
+ function Me(e) {
430
+ return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : je.get(e) ?? e;
431
431
  }
432
432
  //#endregion
433
433
  //#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/decode-shared.js
434
- function x(e) {
434
+ function C(e) {
435
435
  let t = atob(e), n = t.length & -2, r = new Uint16Array(n / 2);
436
436
  for (let e = 0, i = 0; e < n; e += 2) {
437
437
  let n = t.charCodeAt(e), a = t.charCodeAt(e + 1);
@@ -441,71 +441,71 @@ function x(e) {
441
441
  }
442
442
  //#endregion
443
443
  //#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/generated/decode-data-html.js
444
- var Fe = /* @__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"), Ie = /* @__PURE__ */ x("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), S;
444
+ var Ne = /* @__PURE__ */ C("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"), Pe = /* @__PURE__ */ C("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), w;
445
445
  (function(e) {
446
446
  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";
447
- })(S ||= {});
447
+ })(w ||= {});
448
448
  //#endregion
449
449
  //#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode.js
450
- var C;
450
+ var T;
451
451
  (function(e) {
452
452
  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";
453
- })(C ||= {});
454
- var w = 32;
455
- function T(e) {
456
- return e >= C.ZERO && e <= C.NINE;
453
+ })(T ||= {});
454
+ var Fe = 32;
455
+ function E(e) {
456
+ return e >= T.ZERO && e <= T.NINE;
457
+ }
458
+ function Ie(e) {
459
+ return e >= T.UPPER_A && e <= T.UPPER_F || e >= T.LOWER_A && e <= T.LOWER_F;
457
460
  }
458
461
  function Le(e) {
459
- return e >= C.UPPER_A && e <= C.UPPER_F || e >= C.LOWER_A && e <= C.LOWER_F;
462
+ return e >= T.UPPER_A && e <= T.UPPER_Z || e >= T.LOWER_A && e <= T.LOWER_Z || E(e);
460
463
  }
461
464
  function Re(e) {
462
- return e >= C.UPPER_A && e <= C.UPPER_Z || e >= C.LOWER_A && e <= C.LOWER_Z || T(e);
463
- }
464
- function ze(e) {
465
- return e === C.EQUALS || Re(e);
465
+ return e === T.EQUALS || Le(e);
466
466
  }
467
- var E;
467
+ var D;
468
468
  (function(e) {
469
469
  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";
470
- })(E ||= {});
471
- var D;
470
+ })(D ||= {});
471
+ var O;
472
472
  (function(e) {
473
473
  e[e.Legacy = 0] = "Legacy", e[e.Strict = 1] = "Strict", e[e.Attribute = 2] = "Attribute";
474
- })(D ||= {});
475
- var Be = class {
474
+ })(O ||= {});
475
+ var ze = class {
476
476
  decodeTree;
477
477
  emitCodePoint;
478
478
  errors;
479
479
  constructor(e, t, n) {
480
480
  this.decodeTree = e, this.emitCodePoint = t, this.errors = n;
481
481
  }
482
- state = E.EntityStart;
482
+ state = D.EntityStart;
483
483
  consumed = 1;
484
484
  result = 0;
485
485
  treeIndex = 0;
486
486
  excess = 1;
487
- decodeMode = D.Strict;
487
+ decodeMode = O.Strict;
488
488
  runConsumed = 0;
489
489
  startEntity(e) {
490
- this.decodeMode = e, this.state = E.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
490
+ this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
491
491
  }
492
492
  write(e, t) {
493
493
  switch (this.state) {
494
- case E.EntityStart: return e.charCodeAt(t) === C.NUM ? (this.state = E.NumericStart, this.consumed += 1, this.stateNumericStart(e, t + 1)) : (this.state = E.NamedEntity, this.stateNamedEntity(e, t));
495
- case E.NumericStart: return this.stateNumericStart(e, t);
496
- case E.NumericDecimal: return this.stateNumericDecimal(e, t);
497
- case E.NumericHex: return this.stateNumericHex(e, t);
498
- case E.NamedEntity: return this.stateNamedEntity(e, t);
494
+ case D.EntityStart: return e.charCodeAt(t) === T.NUM ? (this.state = D.NumericStart, this.consumed += 1, this.stateNumericStart(e, t + 1)) : (this.state = D.NamedEntity, this.stateNamedEntity(e, t));
495
+ case D.NumericStart: return this.stateNumericStart(e, t);
496
+ case D.NumericDecimal: return this.stateNumericDecimal(e, t);
497
+ case D.NumericHex: return this.stateNumericHex(e, t);
498
+ case D.NamedEntity: return this.stateNamedEntity(e, t);
499
499
  }
500
500
  }
501
501
  stateNumericStart(e, t) {
502
- return t >= e.length ? -1 : (e.charCodeAt(t) | w) === C.LOWER_X ? (this.state = E.NumericHex, this.consumed += 1, this.stateNumericHex(e, t + 1)) : (this.state = E.NumericDecimal, this.stateNumericDecimal(e, t));
502
+ return t >= e.length ? -1 : (e.charCodeAt(t) | Fe) === T.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, t + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, t));
503
503
  }
504
504
  stateNumericHex(e, t) {
505
505
  for (; t < e.length;) {
506
506
  let n = e.charCodeAt(t);
507
- if (T(n) || Le(n)) {
508
- let e = n <= C.NINE ? n - C.ZERO : (n | w) - C.LOWER_A + 10;
507
+ if (E(n) || Ie(n)) {
508
+ let e = n <= T.NINE ? n - T.ZERO : (n | Fe) - T.LOWER_A + 10;
509
509
  this.result = this.result * 16 + e, this.consumed++, t++;
510
510
  } else return this.emitNumericEntity(n, 3);
511
511
  }
@@ -514,24 +514,24 @@ var Be = class {
514
514
  stateNumericDecimal(e, t) {
515
515
  for (; t < e.length;) {
516
516
  let n = e.charCodeAt(t);
517
- if (T(n)) this.result = this.result * 10 + (n - C.ZERO), this.consumed++, t++;
517
+ if (E(n)) this.result = this.result * 10 + (n - T.ZERO), this.consumed++, t++;
518
518
  else return this.emitNumericEntity(n, 2);
519
519
  }
520
520
  return -1;
521
521
  }
522
522
  emitNumericEntity(e, t) {
523
523
  if (this.consumed <= t) return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
524
- if (e === C.SEMI) this.consumed += 1;
525
- else if (this.decodeMode === D.Strict) return 0;
526
- return this.emitCodePoint(Pe(this.result), this.consumed), this.errors && (e !== C.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
524
+ if (e === T.SEMI) this.consumed += 1;
525
+ else if (this.decodeMode === O.Strict) return 0;
526
+ return this.emitCodePoint(Me(this.result), this.consumed), this.errors && (e !== T.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
527
527
  }
528
528
  stateNamedEntity(e, t) {
529
- let { decodeTree: n } = this, r = n[this.treeIndex], i = (r & S.VALUE_LENGTH) >> 14;
529
+ let { decodeTree: n } = this, r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14;
530
530
  for (; t < e.length;) {
531
- if (i === 0 && (r & S.FLAG13) !== 0) {
532
- let a = (r & S.BRANCH_LENGTH) >> 7;
531
+ if (i === 0 && (r & w.FLAG13) !== 0) {
532
+ let a = (r & w.BRANCH_LENGTH) >> 7;
533
533
  if (this.runConsumed === 0) {
534
- let n = r & S.JUMP_TABLE;
534
+ let n = r & w.JUMP_TABLE;
535
535
  if (e.charCodeAt(t) !== n) return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
536
536
  t++, this.excess++, this.runConsumed++;
537
537
  }
@@ -541,40 +541,40 @@ var Be = class {
541
541
  if (e.charCodeAt(t) !== a) return this.runConsumed = 0, this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
542
542
  t++, this.excess++, this.runConsumed++;
543
543
  }
544
- this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r & S.VALUE_LENGTH) >> 14;
544
+ this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14;
545
545
  }
546
546
  if (t >= e.length) break;
547
547
  let a = e.charCodeAt(t);
548
- if (a === C.SEMI && i !== 0 && (r & S.FLAG13) !== 0) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
549
- if (this.treeIndex = Ve(n, r, this.treeIndex + Math.max(1, i), a), this.treeIndex < 0) return this.result === 0 || this.decodeMode === D.Attribute && (i === 0 || ze(a)) ? 0 : this.emitNotTerminatedNamedEntity();
550
- if (r = n[this.treeIndex], i = (r & S.VALUE_LENGTH) >> 14, i !== 0) {
551
- if (a === C.SEMI) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
552
- this.decodeMode !== D.Strict && (r & S.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
548
+ if (a === T.SEMI && i !== 0 && (r & w.FLAG13) !== 0) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
549
+ if (this.treeIndex = Be(n, r, this.treeIndex + Math.max(1, i), a), this.treeIndex < 0) return this.result === 0 || this.decodeMode === O.Attribute && (i === 0 || Re(a)) ? 0 : this.emitNotTerminatedNamedEntity();
550
+ if (r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14, i !== 0) {
551
+ if (a === T.SEMI) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
552
+ this.decodeMode !== O.Strict && (r & w.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
553
553
  }
554
554
  t++, this.excess++;
555
555
  }
556
556
  return -1;
557
557
  }
558
558
  emitNotTerminatedNamedEntity() {
559
- let { result: e, decodeTree: t } = this, n = (t[e] & S.VALUE_LENGTH) >> 14;
559
+ let { result: e, decodeTree: t } = this, n = (t[e] & w.VALUE_LENGTH) >> 14;
560
560
  return this.emitNamedEntityData(e, n, this.consumed), this.errors?.missingSemicolonAfterCharacterReference(), this.consumed;
561
561
  }
562
562
  emitNamedEntityData(e, t, n) {
563
563
  let { decodeTree: r } = this;
564
- return this.emitCodePoint(t === 1 ? r[e] & ~(S.VALUE_LENGTH | S.FLAG13) : r[e + 1], n), t === 3 && this.emitCodePoint(r[e + 2], n), n;
564
+ return this.emitCodePoint(t === 1 ? r[e] & ~(w.VALUE_LENGTH | w.FLAG13) : r[e + 1], n), t === 3 && this.emitCodePoint(r[e + 2], n), n;
565
565
  }
566
566
  end() {
567
567
  switch (this.state) {
568
- case E.NamedEntity: return this.result !== 0 && (this.decodeMode !== D.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
569
- case E.NumericDecimal: return this.emitNumericEntity(0, 2);
570
- case E.NumericHex: return this.emitNumericEntity(0, 3);
571
- case E.NumericStart: return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
572
- case E.EntityStart: return 0;
568
+ case D.NamedEntity: return this.result !== 0 && (this.decodeMode !== O.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
569
+ case D.NumericDecimal: return this.emitNumericEntity(0, 2);
570
+ case D.NumericHex: return this.emitNumericEntity(0, 3);
571
+ case D.NumericStart: return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
572
+ case D.EntityStart: return 0;
573
573
  }
574
574
  }
575
575
  };
576
- function Ve(e, t, n, r) {
577
- let i = (t & S.BRANCH_LENGTH) >> 7, a = t & S.JUMP_TABLE;
576
+ function Be(e, t, n, r) {
577
+ let i = (t & w.BRANCH_LENGTH) >> 7, a = t & w.JUMP_TABLE;
578
578
  if (i === 0) return a !== 0 && r === a ? n : -1;
579
579
  if (a) {
580
580
  let t = r - a;
@@ -591,28 +591,28 @@ function Ve(e, t, n, r) {
591
591
  }
592
592
  //#endregion
593
593
  //#region ../../node_modules/.pnpm/htmlparser2@12.0.0/node_modules/htmlparser2/dist/Tokenizer.js
594
- var O;
594
+ var k;
595
595
  (function(e) {
596
596
  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";
597
- })(O ||= {});
598
- var k;
597
+ })(k ||= {});
598
+ var A;
599
599
  (function(e) {
600
600
  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";
601
- })(k ||= {});
602
- function A(e) {
603
- return e === O.Space || e === O.NewLine || e === O.Tab || e === O.FormFeed || e === O.CarriageReturn;
604
- }
601
+ })(A ||= {});
605
602
  function j(e) {
606
- return e === O.Slash || e === O.Gt || A(e);
603
+ return e === k.Space || e === k.NewLine || e === k.Tab || e === k.FormFeed || e === k.CarriageReturn;
604
+ }
605
+ function M(e) {
606
+ return e === k.Slash || e === k.Gt || j(e);
607
607
  }
608
- function He(e) {
609
- return e >= O.LowerA && e <= O.LowerZ || e >= O.UpperA && e <= O.UpperZ;
608
+ function Ve(e) {
609
+ return e >= k.LowerA && e <= k.LowerZ || e >= k.UpperA && e <= k.UpperZ;
610
610
  }
611
- var M;
611
+ var N;
612
612
  (function(e) {
613
613
  e[e.NoValue = 0] = "NoValue", e[e.Unquoted = 1] = "Unquoted", e[e.Single = 2] = "Single", e[e.Double = 3] = "Double";
614
- })(M ||= {});
615
- var N = {
614
+ })(N ||= {});
615
+ var P = {
616
616
  Empty: new Uint8Array(),
617
617
  Cdata: new Uint8Array([
618
618
  67,
@@ -735,21 +735,21 @@ var N = {
735
735
  109,
736
736
  112
737
737
  ])
738
- }, Ue = new Map([
739
- [N.IframeEnd[2], N.IframeEnd],
740
- [N.NoembedEnd[2], N.NoembedEnd],
741
- [N.Plaintext[2], N.Plaintext],
742
- [N.ScriptEnd[2], N.ScriptEnd],
743
- [N.TitleEnd[2], N.TitleEnd],
744
- [N.XmpEnd[2], N.XmpEnd]
745
- ]), We = class {
738
+ }, He = new Map([
739
+ [P.IframeEnd[2], P.IframeEnd],
740
+ [P.NoembedEnd[2], P.NoembedEnd],
741
+ [P.Plaintext[2], P.Plaintext],
742
+ [P.ScriptEnd[2], P.ScriptEnd],
743
+ [P.TitleEnd[2], P.TitleEnd],
744
+ [P.XmpEnd[2], P.XmpEnd]
745
+ ]), Ue = class {
746
746
  cbs;
747
- state = k.Text;
747
+ state = A.Text;
748
748
  buffer = "";
749
749
  sectionStart = 0;
750
750
  index = 0;
751
751
  entityStart = 0;
752
- baseState = k.Text;
752
+ baseState = A.Text;
753
753
  isSpecial = !1;
754
754
  running = !0;
755
755
  offset = 0;
@@ -758,10 +758,10 @@ var N = {
758
758
  recognizeSelfClosing;
759
759
  entityDecoder;
760
760
  constructor({ xmlMode: e = !1, decodeEntities: t = !0, recognizeSelfClosing: n = e }, r) {
761
- this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new Be(e ? Ie : Fe, (e, t) => this.emitCodePoint(e, t));
761
+ this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new ze(e ? Pe : Ne, (e, t) => this.emitCodePoint(e, t));
762
762
  }
763
763
  reset() {
764
- this.state = k.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = k.Text, this.isSpecial = !1, this.currentSequence = N.Empty, this.sequenceIndex = 0, this.running = !0, this.offset = 0;
764
+ this.state = A.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = A.Text, this.isSpecial = !1, this.currentSequence = P.Empty, this.sequenceIndex = 0, this.running = !0, this.offset = 0;
765
765
  }
766
766
  write(e) {
767
767
  this.offset += this.buffer.length, this.buffer = e, this.parse();
@@ -776,12 +776,12 @@ var N = {
776
776
  this.running = !0, this.index < this.buffer.length + this.offset && this.parse();
777
777
  }
778
778
  stateText(e) {
779
- e === O.Lt || !this.decodeEntities && this.fastForwardTo(O.Lt) ? (this.index > this.sectionStart && this.cbs.ontext(this.sectionStart, this.index), this.state = k.BeforeTagName, this.sectionStart = this.index) : this.decodeEntities && e === O.Amp && this.startEntity();
779
+ e === k.Lt || !this.decodeEntities && this.fastForwardTo(k.Lt) ? (this.index > this.sectionStart && this.cbs.ontext(this.sectionStart, this.index), this.state = A.BeforeTagName, this.sectionStart = this.index) : this.decodeEntities && e === k.Amp && this.startEntity();
780
780
  }
781
- currentSequence = N.Empty;
781
+ currentSequence = P.Empty;
782
782
  sequenceIndex = 0;
783
783
  enterTagBody() {
784
- this.currentSequence === N.Plaintext ? (this.currentSequence = N.Empty, this.state = k.InPlainText) : this.isSpecial ? (this.state = k.InSpecialTag, this.sequenceIndex = 0) : this.state = k.Text;
784
+ this.currentSequence === P.Plaintext ? (this.currentSequence = P.Empty, this.state = A.InPlainText) : this.isSpecial ? (this.state = A.InSpecialTag, this.sequenceIndex = 0) : this.state = A.Text;
785
785
  }
786
786
  stateSpecialStartSequence(e) {
787
787
  let t = e | 32;
@@ -791,43 +791,43 @@ var N = {
791
791
  return;
792
792
  }
793
793
  if (this.sequenceIndex === 3) {
794
- if (this.currentSequence === N.ScriptEnd && t === N.StyleEnd[3]) {
795
- this.currentSequence = N.StyleEnd, this.sequenceIndex = 4;
794
+ if (this.currentSequence === P.ScriptEnd && t === P.StyleEnd[3]) {
795
+ this.currentSequence = P.StyleEnd, this.sequenceIndex = 4;
796
796
  return;
797
797
  }
798
- if (this.currentSequence === N.TitleEnd && t === N.TextareaEnd[3]) {
799
- this.currentSequence = N.TextareaEnd, this.sequenceIndex = 4;
798
+ if (this.currentSequence === P.TitleEnd && t === P.TextareaEnd[3]) {
799
+ this.currentSequence = P.TextareaEnd, this.sequenceIndex = 4;
800
800
  return;
801
801
  }
802
- } else if (this.sequenceIndex === 4 && this.currentSequence === N.NoembedEnd && t === N.NoframesEnd[4]) {
803
- this.currentSequence = N.NoframesEnd, this.sequenceIndex = 5;
802
+ } else if (this.sequenceIndex === 4 && this.currentSequence === P.NoembedEnd && t === P.NoframesEnd[4]) {
803
+ this.currentSequence = P.NoframesEnd, this.sequenceIndex = 5;
804
804
  return;
805
805
  }
806
- } else if (j(e)) {
807
- this.sequenceIndex = 0, this.state = k.InTagName, this.stateInTagName(e);
806
+ } else if (M(e)) {
807
+ this.sequenceIndex = 0, this.state = A.InTagName, this.stateInTagName(e);
808
808
  return;
809
809
  }
810
- this.isSpecial = !1, this.currentSequence = N.Empty, this.sequenceIndex = 0, this.state = k.InTagName, this.stateInTagName(e);
810
+ this.isSpecial = !1, this.currentSequence = P.Empty, this.sequenceIndex = 0, this.state = A.InTagName, this.stateInTagName(e);
811
811
  }
812
812
  stateCDATASequence(e) {
813
- e === N.Cdata[this.sequenceIndex] ? ++this.sequenceIndex === N.Cdata.length && (this.state = k.InCommentLike, this.currentSequence = N.CdataEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.sequenceIndex = 0, this.xmlMode ? (this.state = k.InDeclaration, this.stateInDeclaration(e)) : (this.state = k.InSpecialComment, this.stateInSpecialComment(e)));
813
+ e === P.Cdata[this.sequenceIndex] ? ++this.sequenceIndex === P.Cdata.length && (this.state = A.InCommentLike, this.currentSequence = P.CdataEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.sequenceIndex = 0, this.xmlMode ? (this.state = A.InDeclaration, this.stateInDeclaration(e)) : (this.state = A.InSpecialComment, this.stateInSpecialComment(e)));
814
814
  }
815
815
  fastForwardTo(e) {
816
816
  for (; ++this.index < this.buffer.length + this.offset;) if (this.buffer.charCodeAt(this.index - this.offset) === e) return !0;
817
817
  return this.index = this.buffer.length + this.offset - 1, !1;
818
818
  }
819
819
  emitComment(e) {
820
- this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = k.Text;
820
+ this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = A.Text;
821
821
  }
822
822
  stateInCommentLike(e) {
823
- !this.xmlMode && this.currentSequence === N.CommentEnd && this.sequenceIndex <= 1 && this.index === this.sectionStart + this.sequenceIndex && e === O.Gt ? this.emitComment(this.sequenceIndex) : this.currentSequence === N.CommentEnd && this.sequenceIndex === 2 && e === O.Gt ? this.emitComment(2) : this.currentSequence === N.CommentEnd && this.sequenceIndex === this.currentSequence.length - 1 && e !== O.Gt ? this.sequenceIndex = Number(e === O.Dash) : e === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === N.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 = k.Text) : this.sequenceIndex === 0 ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : e !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0);
823
+ !this.xmlMode && this.currentSequence === P.CommentEnd && this.sequenceIndex <= 1 && this.index === this.sectionStart + this.sequenceIndex && e === k.Gt ? this.emitComment(this.sequenceIndex) : this.currentSequence === P.CommentEnd && this.sequenceIndex === 2 && e === k.Gt ? this.emitComment(2) : this.currentSequence === P.CommentEnd && this.sequenceIndex === this.currentSequence.length - 1 && e !== k.Gt ? this.sequenceIndex = Number(e === k.Dash) : e === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === P.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 = A.Text) : this.sequenceIndex === 0 ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : e !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0);
824
824
  }
825
825
  isTagStartChar(e) {
826
- return this.xmlMode ? !j(e) : He(e);
826
+ return this.xmlMode ? !M(e) : Ve(e);
827
827
  }
828
828
  stateInSpecialTag(e) {
829
829
  if (this.sequenceIndex === this.currentSequence.length) {
830
- if (j(e)) {
830
+ if (M(e)) {
831
831
  let t = this.index - this.currentSequence.length;
832
832
  if (this.sectionStart < t) {
833
833
  let e = this.index;
@@ -838,88 +838,88 @@ var N = {
838
838
  }
839
839
  this.sequenceIndex = 0;
840
840
  }
841
- (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence === N.TitleEnd || this.currentSequence === N.TextareaEnd ? this.decodeEntities && e === O.Amp && this.startEntity() : this.fastForwardTo(O.Lt) && (this.sequenceIndex = 1) : this.sequenceIndex = Number(e === O.Lt);
841
+ (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence === P.TitleEnd || this.currentSequence === P.TextareaEnd ? this.decodeEntities && e === k.Amp && this.startEntity() : this.fastForwardTo(k.Lt) && (this.sequenceIndex = 1) : this.sequenceIndex = Number(e === k.Lt);
842
842
  }
843
843
  stateBeforeTagName(e) {
844
- if (e === O.ExclamationMark) this.state = k.BeforeDeclaration, this.sectionStart = this.index + 1;
845
- else if (e === O.Questionmark) this.xmlMode ? (this.state = k.InProcessingInstruction, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.state = k.InSpecialComment, this.sectionStart = this.index);
844
+ if (e === k.ExclamationMark) this.state = A.BeforeDeclaration, this.sectionStart = this.index + 1;
845
+ else if (e === k.Questionmark) this.xmlMode ? (this.state = A.InProcessingInstruction, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.state = A.InSpecialComment, this.sectionStart = this.index);
846
846
  else if (this.isTagStartChar(e)) {
847
847
  this.sectionStart = this.index;
848
- let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 : Ue.get(e | 32);
849
- t === void 0 ? this.state = k.InTagName : (this.isSpecial = !0, this.currentSequence = t, this.sequenceIndex = 3, this.state = k.SpecialStartSequence);
850
- } else e === O.Slash ? this.state = k.BeforeClosingTagName : (this.state = k.Text, this.stateText(e));
848
+ let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 : He.get(e | 32);
849
+ t === void 0 ? this.state = A.InTagName : (this.isSpecial = !0, this.currentSequence = t, this.sequenceIndex = 3, this.state = A.SpecialStartSequence);
850
+ } else e === k.Slash ? this.state = A.BeforeClosingTagName : (this.state = A.Text, this.stateText(e));
851
851
  }
852
852
  stateInTagName(e) {
853
- j(e) && (this.cbs.onopentagname(this.sectionStart, this.index), this.sectionStart = -1, this.state = k.BeforeAttributeName, this.stateBeforeAttributeName(e));
853
+ M(e) && (this.cbs.onopentagname(this.sectionStart, this.index), this.sectionStart = -1, this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e));
854
854
  }
855
855
  stateBeforeClosingTagName(e) {
856
- A(e) ? this.xmlMode || (this.state = k.InSpecialComment, this.sectionStart = this.index) : e === O.Gt ? (this.state = k.Text, this.xmlMode || (this.sectionStart = this.index + 1)) : (this.state = this.isTagStartChar(e) ? k.InClosingTagName : k.InSpecialComment, this.sectionStart = this.index);
856
+ j(e) ? this.xmlMode || (this.state = A.InSpecialComment, this.sectionStart = this.index) : e === k.Gt ? (this.state = A.Text, this.xmlMode || (this.sectionStart = this.index + 1)) : (this.state = this.isTagStartChar(e) ? A.InClosingTagName : A.InSpecialComment, this.sectionStart = this.index);
857
857
  }
858
858
  stateInClosingTagName(e) {
859
- j(e) && (this.cbs.onclosetag(this.sectionStart, this.index), this.sectionStart = -1, this.state = k.AfterClosingTagName, this.stateAfterClosingTagName(e));
859
+ M(e) && (this.cbs.onclosetag(this.sectionStart, this.index), this.sectionStart = -1, this.state = A.AfterClosingTagName, this.stateAfterClosingTagName(e));
860
860
  }
861
861
  stateAfterClosingTagName(e) {
862
- (e === O.Gt || this.fastForwardTo(O.Gt)) && (this.state = k.Text, this.sectionStart = this.index + 1);
862
+ (e === k.Gt || this.fastForwardTo(k.Gt)) && (this.state = A.Text, this.sectionStart = this.index + 1);
863
863
  }
864
864
  stateBeforeAttributeName(e) {
865
- e === O.Gt ? (this.cbs.onopentagend(this.index), this.enterTagBody(), this.sectionStart = this.index + 1) : e === O.Slash ? this.state = k.InSelfClosingTag : A(e) || (this.state = k.InAttributeName, this.sectionStart = this.index);
865
+ e === k.Gt ? (this.cbs.onopentagend(this.index), this.enterTagBody(), this.sectionStart = this.index + 1) : e === k.Slash ? this.state = A.InSelfClosingTag : j(e) || (this.state = A.InAttributeName, this.sectionStart = this.index);
866
866
  }
867
867
  stateInSelfClosingTag(e) {
868
- if (e === O.Gt) {
868
+ if (e === k.Gt) {
869
869
  if (this.cbs.onselfclosingtag(this.index), this.sectionStart = this.index + 1, !this.recognizeSelfClosing) {
870
870
  this.enterTagBody();
871
871
  return;
872
872
  }
873
- this.state = k.Text, this.isSpecial = !1, this.currentSequence = N.Empty;
874
- } else A(e) || (this.state = k.BeforeAttributeName, this.stateBeforeAttributeName(e));
873
+ this.state = A.Text, this.isSpecial = !1, this.currentSequence = P.Empty;
874
+ } else j(e) || (this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e));
875
875
  }
876
876
  stateInAttributeName(e) {
877
- (e === O.Eq || j(e)) && (this.cbs.onattribname(this.sectionStart, this.index), this.sectionStart = this.index, this.state = k.AfterAttributeName, this.stateAfterAttributeName(e));
877
+ (e === k.Eq || M(e)) && (this.cbs.onattribname(this.sectionStart, this.index), this.sectionStart = this.index, this.state = A.AfterAttributeName, this.stateAfterAttributeName(e));
878
878
  }
879
879
  stateAfterAttributeName(e) {
880
- e === O.Eq ? this.state = k.BeforeAttributeValue : e === O.Slash || e === O.Gt ? (this.cbs.onattribend(M.NoValue, this.sectionStart), this.sectionStart = -1, this.state = k.BeforeAttributeName, this.stateBeforeAttributeName(e)) : A(e) || (this.cbs.onattribend(M.NoValue, this.sectionStart), this.state = k.InAttributeName, this.sectionStart = this.index);
880
+ e === k.Eq ? this.state = A.BeforeAttributeValue : e === k.Slash || e === k.Gt ? (this.cbs.onattribend(N.NoValue, this.sectionStart), this.sectionStart = -1, this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e)) : j(e) || (this.cbs.onattribend(N.NoValue, this.sectionStart), this.state = A.InAttributeName, this.sectionStart = this.index);
881
881
  }
882
882
  stateBeforeAttributeValue(e) {
883
- e === O.DoubleQuote ? (this.state = k.InAttributeValueDq, this.sectionStart = this.index + 1) : e === O.SingleQuote ? (this.state = k.InAttributeValueSq, this.sectionStart = this.index + 1) : A(e) || (this.sectionStart = this.index, this.state = k.InAttributeValueNq, this.stateInAttributeValueNoQuotes(e));
883
+ e === k.DoubleQuote ? (this.state = A.InAttributeValueDq, this.sectionStart = this.index + 1) : e === k.SingleQuote ? (this.state = A.InAttributeValueSq, this.sectionStart = this.index + 1) : j(e) || (this.sectionStart = this.index, this.state = A.InAttributeValueNq, this.stateInAttributeValueNoQuotes(e));
884
884
  }
885
885
  handleInAttributeValue(e, t) {
886
- e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t === O.DoubleQuote ? M.Double : M.Single, this.index + 1), this.state = k.BeforeAttributeName) : this.decodeEntities && e === O.Amp && this.startEntity();
886
+ e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t === k.DoubleQuote ? N.Double : N.Single, this.index + 1), this.state = A.BeforeAttributeName) : this.decodeEntities && e === k.Amp && this.startEntity();
887
887
  }
888
888
  stateInAttributeValueDoubleQuotes(e) {
889
- this.handleInAttributeValue(e, O.DoubleQuote);
889
+ this.handleInAttributeValue(e, k.DoubleQuote);
890
890
  }
891
891
  stateInAttributeValueSingleQuotes(e) {
892
- this.handleInAttributeValue(e, O.SingleQuote);
892
+ this.handleInAttributeValue(e, k.SingleQuote);
893
893
  }
894
894
  stateInAttributeValueNoQuotes(e) {
895
- A(e) || e === O.Gt ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(M.Unquoted, this.index), this.state = k.BeforeAttributeName, this.stateBeforeAttributeName(e)) : this.decodeEntities && e === O.Amp && this.startEntity();
895
+ j(e) || e === k.Gt ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(N.Unquoted, this.index), this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e)) : this.decodeEntities && e === k.Amp && this.startEntity();
896
896
  }
897
897
  stateBeforeDeclaration(e) {
898
- e === O.OpeningSquareBracket ? (this.state = k.CDATASequence, this.sequenceIndex = 0) : this.xmlMode ? this.state = e === O.Dash ? k.BeforeComment : k.InDeclaration : (e | 32) === N.Doctype[0] ? (this.state = k.DeclarationSequence, this.currentSequence = N.Doctype, this.sequenceIndex = 1) : e === O.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = k.Text, this.sectionStart = this.index + 1) : e === O.Dash ? this.state = k.BeforeComment : this.state = k.InSpecialComment;
898
+ e === k.OpeningSquareBracket ? (this.state = A.CDATASequence, this.sequenceIndex = 0) : this.xmlMode ? this.state = e === k.Dash ? A.BeforeComment : A.InDeclaration : (e | 32) === P.Doctype[0] ? (this.state = A.DeclarationSequence, this.currentSequence = P.Doctype, this.sequenceIndex = 1) : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : e === k.Dash ? this.state = A.BeforeComment : this.state = A.InSpecialComment;
899
899
  }
900
900
  stateDeclarationSequence(e) {
901
- this.sequenceIndex === this.currentSequence.length ? (this.state = k.InDeclaration, this.stateInDeclaration(e)) : (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : e === O.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = k.Text, this.sectionStart = this.index + 1) : this.state = k.InSpecialComment;
901
+ this.sequenceIndex === this.currentSequence.length ? (this.state = A.InDeclaration, this.stateInDeclaration(e)) : (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : this.state = A.InSpecialComment;
902
902
  }
903
903
  stateInDeclaration(e) {
904
- (e === O.Gt || this.fastForwardTo(O.Gt)) && (this.cbs.ondeclaration(this.sectionStart, this.index), this.state = k.Text, this.sectionStart = this.index + 1);
904
+ (e === k.Gt || this.fastForwardTo(k.Gt)) && (this.cbs.ondeclaration(this.sectionStart, this.index), this.state = A.Text, this.sectionStart = this.index + 1);
905
905
  }
906
906
  stateInProcessingInstruction(e) {
907
- e === O.Questionmark ? this.sequenceIndex = 1 : e === O.Gt && this.sequenceIndex === 1 ? (this.cbs.onprocessinginstruction(this.sectionStart, this.index - 1), this.sequenceIndex = 0, this.state = k.Text, this.sectionStart = this.index + 1) : this.sequenceIndex = Number(this.fastForwardTo(O.Questionmark));
907
+ e === k.Questionmark ? this.sequenceIndex = 1 : e === k.Gt && this.sequenceIndex === 1 ? (this.cbs.onprocessinginstruction(this.sectionStart, this.index - 1), this.sequenceIndex = 0, this.state = A.Text, this.sectionStart = this.index + 1) : this.sequenceIndex = Number(this.fastForwardTo(k.Questionmark));
908
908
  }
909
909
  stateBeforeComment(e) {
910
- e === O.Dash ? (this.state = k.InCommentLike, this.currentSequence = N.CommentEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : this.xmlMode ? this.state = k.InDeclaration : e === O.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = k.Text, this.sectionStart = this.index + 1) : this.state = k.InSpecialComment;
910
+ e === k.Dash ? (this.state = A.InCommentLike, this.currentSequence = P.CommentEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : this.xmlMode ? this.state = A.InDeclaration : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : this.state = A.InSpecialComment;
911
911
  }
912
912
  stateInSpecialComment(e) {
913
- (e === O.Gt || this.fastForwardTo(O.Gt)) && (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = k.Text, this.sectionStart = this.index + 1);
913
+ (e === k.Gt || this.fastForwardTo(k.Gt)) && (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1);
914
914
  }
915
915
  startEntity() {
916
- this.baseState = this.state, this.state = k.InEntity, this.entityStart = this.index, this.entityDecoder.startEntity(this.xmlMode ? D.Strict : this.baseState === k.Text || this.baseState === k.InSpecialTag ? D.Legacy : D.Attribute);
916
+ this.baseState = this.state, this.state = A.InEntity, this.entityStart = this.index, this.entityDecoder.startEntity(this.xmlMode ? O.Strict : this.baseState === A.Text || this.baseState === A.InSpecialTag ? O.Legacy : O.Attribute);
917
917
  }
918
918
  stateInEntity() {
919
919
  let e = this.index - this.offset, t = this.entityDecoder.write(this.buffer, e);
920
920
  if (t >= 0) this.state = this.baseState, t === 0 && --this.index;
921
921
  else {
922
- if (e < this.buffer.length && this.buffer.charCodeAt(e) === O.Amp) {
922
+ if (e < this.buffer.length && this.buffer.charCodeAt(e) === k.Amp) {
923
923
  this.state = this.baseState, --this.index;
924
924
  return;
925
925
  }
@@ -927,7 +927,7 @@ var N = {
927
927
  }
928
928
  }
929
929
  cleanup() {
930
- this.running && this.sectionStart !== this.index && (this.state === k.Text || this.state === k.InPlainText || this.state === k.InSpecialTag && this.sequenceIndex === 0 ? (this.cbs.ontext(this.sectionStart, this.index), this.sectionStart = this.index) : (this.state === k.InAttributeValueDq || this.state === k.InAttributeValueSq || this.state === k.InAttributeValueNq) && (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = this.index));
930
+ this.running && this.sectionStart !== this.index && (this.state === A.Text || this.state === A.InPlainText || this.state === A.InSpecialTag && this.sequenceIndex === 0 ? (this.cbs.ontext(this.sectionStart, this.index), this.sectionStart = this.index) : (this.state === A.InAttributeValueDq || this.state === A.InAttributeValueSq || this.state === A.InAttributeValueNq) && (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = this.index));
931
931
  }
932
932
  shouldContinue() {
933
933
  return this.index < this.buffer.length + this.offset && this.running;
@@ -936,82 +936,82 @@ var N = {
936
936
  for (; this.shouldContinue();) {
937
937
  let e = this.buffer.charCodeAt(this.index - this.offset);
938
938
  switch (this.state) {
939
- case k.Text:
939
+ case A.Text:
940
940
  this.stateText(e);
941
941
  break;
942
- case k.InPlainText:
942
+ case A.InPlainText:
943
943
  this.index = this.buffer.length + this.offset - 1;
944
944
  break;
945
- case k.SpecialStartSequence:
945
+ case A.SpecialStartSequence:
946
946
  this.stateSpecialStartSequence(e);
947
947
  break;
948
- case k.InSpecialTag:
948
+ case A.InSpecialTag:
949
949
  this.stateInSpecialTag(e);
950
950
  break;
951
- case k.CDATASequence:
951
+ case A.CDATASequence:
952
952
  this.stateCDATASequence(e);
953
953
  break;
954
- case k.DeclarationSequence:
954
+ case A.DeclarationSequence:
955
955
  this.stateDeclarationSequence(e);
956
956
  break;
957
- case k.InAttributeValueDq:
957
+ case A.InAttributeValueDq:
958
958
  this.stateInAttributeValueDoubleQuotes(e);
959
959
  break;
960
- case k.InAttributeName:
960
+ case A.InAttributeName:
961
961
  this.stateInAttributeName(e);
962
962
  break;
963
- case k.InCommentLike:
963
+ case A.InCommentLike:
964
964
  this.stateInCommentLike(e);
965
965
  break;
966
- case k.InSpecialComment:
966
+ case A.InSpecialComment:
967
967
  this.stateInSpecialComment(e);
968
968
  break;
969
- case k.BeforeAttributeName:
969
+ case A.BeforeAttributeName:
970
970
  this.stateBeforeAttributeName(e);
971
971
  break;
972
- case k.InTagName:
972
+ case A.InTagName:
973
973
  this.stateInTagName(e);
974
974
  break;
975
- case k.InClosingTagName:
975
+ case A.InClosingTagName:
976
976
  this.stateInClosingTagName(e);
977
977
  break;
978
- case k.BeforeTagName:
978
+ case A.BeforeTagName:
979
979
  this.stateBeforeTagName(e);
980
980
  break;
981
- case k.AfterAttributeName:
981
+ case A.AfterAttributeName:
982
982
  this.stateAfterAttributeName(e);
983
983
  break;
984
- case k.InAttributeValueSq:
984
+ case A.InAttributeValueSq:
985
985
  this.stateInAttributeValueSingleQuotes(e);
986
986
  break;
987
- case k.BeforeAttributeValue:
987
+ case A.BeforeAttributeValue:
988
988
  this.stateBeforeAttributeValue(e);
989
989
  break;
990
- case k.BeforeClosingTagName:
990
+ case A.BeforeClosingTagName:
991
991
  this.stateBeforeClosingTagName(e);
992
992
  break;
993
- case k.AfterClosingTagName:
993
+ case A.AfterClosingTagName:
994
994
  this.stateAfterClosingTagName(e);
995
995
  break;
996
- case k.InAttributeValueNq:
996
+ case A.InAttributeValueNq:
997
997
  this.stateInAttributeValueNoQuotes(e);
998
998
  break;
999
- case k.InSelfClosingTag:
999
+ case A.InSelfClosingTag:
1000
1000
  this.stateInSelfClosingTag(e);
1001
1001
  break;
1002
- case k.InDeclaration:
1002
+ case A.InDeclaration:
1003
1003
  this.stateInDeclaration(e);
1004
1004
  break;
1005
- case k.BeforeDeclaration:
1005
+ case A.BeforeDeclaration:
1006
1006
  this.stateBeforeDeclaration(e);
1007
1007
  break;
1008
- case k.BeforeComment:
1008
+ case A.BeforeComment:
1009
1009
  this.stateBeforeComment(e);
1010
1010
  break;
1011
- case k.InProcessingInstruction:
1011
+ case A.InProcessingInstruction:
1012
1012
  this.stateInProcessingInstruction(e);
1013
1013
  break;
1014
- case k.InEntity:
1014
+ case A.InEntity:
1015
1015
  this.stateInEntity();
1016
1016
  break;
1017
1017
  }
@@ -1020,59 +1020,59 @@ var N = {
1020
1020
  this.cleanup();
1021
1021
  }
1022
1022
  finish() {
1023
- this.state === k.InEntity && (this.entityDecoder.end(), this.state = this.baseState), this.handleTrailingData(), this.cbs.onend();
1023
+ this.state === A.InEntity && (this.entityDecoder.end(), this.state = this.baseState), this.handleTrailingData(), this.cbs.onend();
1024
1024
  }
1025
1025
  handleTrailingCommentLikeData(e) {
1026
- if (this.state !== k.InCommentLike) return !1;
1027
- if (this.currentSequence === N.CdataEnd) if (this.xmlMode) this.sectionStart < e && this.cbs.oncdata(this.sectionStart, e, 0);
1026
+ if (this.state !== A.InCommentLike) return !1;
1027
+ if (this.currentSequence === P.CdataEnd) if (this.xmlMode) this.sectionStart < e && this.cbs.oncdata(this.sectionStart, e, 0);
1028
1028
  else {
1029
- let t = this.sectionStart - N.Cdata.length - 1;
1029
+ let t = this.sectionStart - P.Cdata.length - 1;
1030
1030
  this.cbs.oncomment(t, e, 0);
1031
1031
  }
1032
1032
  else {
1033
- let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex, N.CommentEnd.length - 1);
1033
+ let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex, P.CommentEnd.length - 1);
1034
1034
  this.cbs.oncomment(this.sectionStart, e, t);
1035
1035
  }
1036
1036
  return !0;
1037
1037
  }
1038
1038
  handleTrailingMarkupDeclaration(e) {
1039
1039
  if (this.xmlMode) switch (this.state) {
1040
- case k.InSpecialComment:
1041
- case k.BeforeComment:
1042
- case k.CDATASequence:
1043
- case k.DeclarationSequence:
1044
- case k.InDeclaration: return this.cbs.ontext(this.sectionStart, e), !0;
1040
+ case A.InSpecialComment:
1041
+ case A.BeforeComment:
1042
+ case A.CDATASequence:
1043
+ case A.DeclarationSequence:
1044
+ case A.InDeclaration: return this.cbs.ontext(this.sectionStart, e), !0;
1045
1045
  default: return !1;
1046
1046
  }
1047
1047
  switch (this.state) {
1048
- case k.BeforeDeclaration:
1049
- case k.InSpecialComment:
1050
- case k.BeforeComment:
1051
- case k.CDATASequence: return this.cbs.oncomment(this.sectionStart, e, 0), !0;
1052
- case k.DeclarationSequence: return this.sequenceIndex !== N.Doctype.length && this.cbs.oncomment(this.sectionStart, e, 0), !0;
1053
- case k.InDeclaration: return !0;
1048
+ case A.BeforeDeclaration:
1049
+ case A.InSpecialComment:
1050
+ case A.BeforeComment:
1051
+ case A.CDATASequence: return this.cbs.oncomment(this.sectionStart, e, 0), !0;
1052
+ case A.DeclarationSequence: return this.sequenceIndex !== P.Doctype.length && this.cbs.oncomment(this.sectionStart, e, 0), !0;
1053
+ case A.InDeclaration: return !0;
1054
1054
  default: return !1;
1055
1055
  }
1056
1056
  }
1057
1057
  handleTrailingData() {
1058
1058
  let e = this.buffer.length + this.offset;
1059
1059
  if (!(this.handleTrailingCommentLikeData(e) || this.handleTrailingMarkupDeclaration(e)) && !(this.sectionStart >= e)) switch (this.state) {
1060
- case k.InTagName:
1061
- case k.BeforeAttributeName:
1062
- case k.BeforeAttributeValue:
1063
- case k.AfterAttributeName:
1064
- case k.InAttributeName:
1065
- case k.InAttributeValueSq:
1066
- case k.InAttributeValueDq:
1067
- case k.InAttributeValueNq:
1068
- case k.InClosingTagName: break;
1060
+ case A.InTagName:
1061
+ case A.BeforeAttributeName:
1062
+ case A.BeforeAttributeValue:
1063
+ case A.AfterAttributeName:
1064
+ case A.InAttributeName:
1065
+ case A.InAttributeValueSq:
1066
+ case A.InAttributeValueDq:
1067
+ case A.InAttributeValueNq:
1068
+ case A.InClosingTagName: break;
1069
1069
  default: this.cbs.ontext(this.sectionStart, e);
1070
1070
  }
1071
1071
  }
1072
1072
  emitCodePoint(e, t) {
1073
- this.baseState !== k.Text && this.baseState !== k.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));
1073
+ this.baseState !== A.Text && this.baseState !== A.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));
1074
1074
  }
1075
- }, { fromCodePoint: Ge } = String, P = new Set([
1075
+ }, { fromCodePoint: We } = String, F = new Set([
1076
1076
  "input",
1077
1077
  "option",
1078
1078
  "optgroup",
@@ -1080,7 +1080,7 @@ var N = {
1080
1080
  "button",
1081
1081
  "datalist",
1082
1082
  "textarea"
1083
- ]), F = new Set(["p"]), I = new Set([
1083
+ ]), I = new Set(["p"]), L = new Set([
1084
1084
  "h1",
1085
1085
  "h2",
1086
1086
  "h3",
@@ -1088,7 +1088,7 @@ var N = {
1088
1088
  "h5",
1089
1089
  "h6",
1090
1090
  "p"
1091
- ]), L = new Set(["thead", "tbody"]), R = new Set(["dd", "dt"]), z = new Set(["rt", "rp"]), Ke = new Map([
1091
+ ]), R = new Set(["thead", "tbody"]), z = new Set(["dd", "dt"]), B = new Set(["rt", "rp"]), Ge = new Map([
1092
1092
  ["tr", new Set([
1093
1093
  "tr",
1094
1094
  "th",
@@ -1107,49 +1107,49 @@ var N = {
1107
1107
  ])],
1108
1108
  ["a", new Set(["a"])],
1109
1109
  ["li", new Set(["li"])],
1110
- ["p", F],
1111
- ["h1", I],
1112
- ["h2", I],
1113
- ["h3", I],
1114
- ["h4", I],
1115
- ["h5", I],
1116
- ["h6", I],
1117
- ["select", P],
1118
- ["input", P],
1119
- ["output", P],
1120
- ["button", P],
1121
- ["datalist", P],
1122
- ["textarea", P],
1110
+ ["p", I],
1111
+ ["h1", L],
1112
+ ["h2", L],
1113
+ ["h3", L],
1114
+ ["h4", L],
1115
+ ["h5", L],
1116
+ ["h6", L],
1117
+ ["select", F],
1118
+ ["input", F],
1119
+ ["output", F],
1120
+ ["button", F],
1121
+ ["datalist", F],
1122
+ ["textarea", F],
1123
1123
  ["option", new Set(["option"])],
1124
1124
  ["optgroup", new Set(["optgroup", "option"])],
1125
- ["dd", R],
1126
- ["dt", R],
1127
- ["address", F],
1128
- ["article", F],
1129
- ["aside", F],
1130
- ["blockquote", F],
1131
- ["details", F],
1132
- ["div", F],
1133
- ["dl", F],
1134
- ["fieldset", F],
1135
- ["figcaption", F],
1136
- ["figure", F],
1137
- ["footer", F],
1138
- ["form", F],
1139
- ["header", F],
1140
- ["hr", F],
1141
- ["main", F],
1142
- ["nav", F],
1143
- ["ol", F],
1144
- ["pre", F],
1145
- ["section", F],
1146
- ["table", F],
1147
- ["ul", F],
1148
- ["rt", z],
1149
- ["rp", z],
1150
- ["tbody", L],
1151
- ["tfoot", L]
1152
- ]), qe = "doctype", Je = new Set([
1125
+ ["dd", z],
1126
+ ["dt", z],
1127
+ ["address", I],
1128
+ ["article", I],
1129
+ ["aside", I],
1130
+ ["blockquote", I],
1131
+ ["details", I],
1132
+ ["div", I],
1133
+ ["dl", I],
1134
+ ["fieldset", I],
1135
+ ["figcaption", I],
1136
+ ["figure", I],
1137
+ ["footer", I],
1138
+ ["form", I],
1139
+ ["header", I],
1140
+ ["hr", I],
1141
+ ["main", I],
1142
+ ["nav", I],
1143
+ ["ol", I],
1144
+ ["pre", I],
1145
+ ["section", I],
1146
+ ["table", I],
1147
+ ["ul", I],
1148
+ ["rt", B],
1149
+ ["rp", B],
1150
+ ["tbody", R],
1151
+ ["tfoot", R]
1152
+ ]), Ke = "doctype", qe = new Set([
1153
1153
  "area",
1154
1154
  "base",
1155
1155
  "basefont",
@@ -1169,7 +1169,7 @@ var N = {
1169
1169
  "source",
1170
1170
  "track",
1171
1171
  "wbr"
1172
- ]), Ye = new Set(["math", "svg"]), B = new Set([
1172
+ ]), Je = new Set(["math", "svg"]), V = new Set([
1173
1173
  "mi",
1174
1174
  "mo",
1175
1175
  "mn",
@@ -1179,7 +1179,7 @@ var N = {
1179
1179
  "foreignObject",
1180
1180
  "desc",
1181
1181
  "title"
1182
- ]), V = new Map([
1182
+ ]), H = new Map([
1183
1183
  ["altglyph", "altGlyph"],
1184
1184
  ["altglyphdef", "altGlyphDef"],
1185
1185
  ["altglyphitem", "altGlyphItem"],
@@ -1217,11 +1217,11 @@ var N = {
1217
1217
  ["lineargradient", "linearGradient"],
1218
1218
  ["radialgradient", "radialGradient"],
1219
1219
  ["textpath", "textPath"]
1220
- ]), H;
1220
+ ]), U;
1221
1221
  (function(e) {
1222
1222
  e[e.None = 0] = "None", e[e.Svg = 1] = "Svg", e[e.MathML = 2] = "MathML";
1223
- })(H ||= {});
1224
- var Xe = /\s|\//, U = class {
1223
+ })(U ||= {});
1224
+ var Ye = /\s|\//, W = class {
1225
1225
  options;
1226
1226
  startIndex = 0;
1227
1227
  endIndex = 0;
@@ -1243,27 +1243,27 @@ var Xe = /\s|\//, U = class {
1243
1243
  writeIndex = 0;
1244
1244
  ended = !1;
1245
1245
  constructor(e, t = {}) {
1246
- 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 ?? We)(this.options, this), this.foreignContext = [H.None], this.cbs.onparserinit?.(this);
1246
+ 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 ?? Ue)(this.options, this), this.foreignContext = [U.None], this.cbs.onparserinit?.(this);
1247
1247
  }
1248
1248
  ontext(e, t) {
1249
1249
  let n = this.getSlice(e, t);
1250
1250
  this.endIndex = t - 1, this.cbs.ontext?.(n), this.startIndex = t;
1251
1251
  }
1252
1252
  ontextentity(e, t) {
1253
- this.endIndex = t - 1, this.cbs.ontext?.(Ge(e)), this.startIndex = t;
1253
+ this.endIndex = t - 1, this.cbs.ontext?.(We(e)), this.startIndex = t;
1254
1254
  }
1255
1255
  isInForeignContext() {
1256
- return this.foreignContext[0] !== H.None;
1256
+ return this.foreignContext[0] !== U.None;
1257
1257
  }
1258
1258
  isVoidElement(e) {
1259
- return this.htmlMode && Je.has(e);
1259
+ return this.htmlMode && qe.has(e);
1260
1260
  }
1261
1261
  readTagName(e, t) {
1262
1262
  let n = this.lowerCaseTagNames ? this.getSlice(e, t).toLowerCase() : this.getSlice(e, t);
1263
1263
  if (!(this.lowerCaseTagNames && this.htmlMode)) return n;
1264
- if (this.foreignContext[0] === H.Svg) return V.get(n) ?? n;
1264
+ if (this.foreignContext[0] === U.Svg) return H.get(n) ?? n;
1265
1265
  if (this.foreignContext.length > 1) {
1266
- let e = V.get(n);
1266
+ let e = H.get(n);
1267
1267
  if (e !== void 0 && this.stack.includes(e)) return e;
1268
1268
  }
1269
1269
  return this.isInForeignContext() ? n : n === "image" ? "img" : n;
@@ -1276,9 +1276,9 @@ var Xe = /\s|\//, U = class {
1276
1276
  this.tagname = "";
1277
1277
  return;
1278
1278
  }
1279
- let t = this.htmlMode && Ke.get(e);
1279
+ let t = this.htmlMode && Ge.get(e);
1280
1280
  if (t) for (; this.stack.length > 0 && t.has(this.stack[0]);) this.popElement(!0);
1281
- this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(H.Svg) : e === "math" ? this.foreignContext.unshift(H.MathML) : B.has(e) && this.foreignContext.unshift(H.None))), this.cbs.onopentagname?.(e), this.cbs.onopentag && (this.attribs = {});
1281
+ this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(U.Svg) : e === "math" ? this.foreignContext.unshift(U.MathML) : V.has(e) && this.foreignContext.unshift(U.None))), this.cbs.onopentagname?.(e), this.cbs.onopentag && (this.attribs = {});
1282
1282
  }
1283
1283
  endOpenTag(e) {
1284
1284
  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 = "";
@@ -1304,7 +1304,7 @@ var Xe = /\s|\//, U = class {
1304
1304
  }
1305
1305
  popElement(e) {
1306
1306
  let t = this.stack.shift();
1307
- this.htmlMode && (Ye.has(t) || B.has(t)) && this.foreignContext.shift(), this.cbs.onclosetag?.(t, e);
1307
+ this.htmlMode && (Je.has(t) || V.has(t)) && this.foreignContext.shift(), this.cbs.onclosetag?.(t, e);
1308
1308
  }
1309
1309
  closeCurrentTag(e) {
1310
1310
  let t = this.tagname;
@@ -1319,20 +1319,20 @@ var Xe = /\s|\//, U = class {
1319
1319
  this.attribvalue += this.getSlice(e, t);
1320
1320
  }
1321
1321
  onattribentity(e) {
1322
- this.attribvalue += Ge(e);
1322
+ this.attribvalue += We(e);
1323
1323
  }
1324
1324
  onattribend(e, t) {
1325
- this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e === M.Double ? "\"" : e === M.Single ? "'" : e === M.NoValue ? void 0 : null), this.attribs && !Object.hasOwn(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = "";
1325
+ this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e === N.Double ? "\"" : e === N.Single ? "'" : e === N.NoValue ? void 0 : null), this.attribs && !Object.hasOwn(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = "";
1326
1326
  }
1327
1327
  getInstructionName(e) {
1328
- let t = e.search(Xe), n = t < 0 ? e : e.substr(0, t);
1328
+ let t = e.search(Ye), n = t < 0 ? e : e.substr(0, t);
1329
1329
  return this.lowerCaseTagNames && (n = n.toLowerCase()), n;
1330
1330
  }
1331
1331
  ondeclaration(e, t) {
1332
1332
  this.endIndex = t;
1333
1333
  let n = this.getSlice(e, t);
1334
1334
  if (this.cbs.onprocessinginstruction) {
1335
- let e = this.htmlMode ? this.lowerCaseTagNames ? qe : n.slice(0, 7) : this.getInstructionName(n);
1335
+ let e = this.htmlMode ? this.lowerCaseTagNames ? Ke : n.slice(0, 7) : this.getInstructionName(n);
1336
1336
  this.cbs.onprocessinginstruction(`!${e}`, `!${n}`);
1337
1337
  }
1338
1338
  this.startIndex = t + 1;
@@ -1362,7 +1362,7 @@ var Xe = /\s|\//, U = class {
1362
1362
  this.cbs.onend?.();
1363
1363
  }
1364
1364
  reset() {
1365
- 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(H.None), this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1;
1365
+ 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(U.None), this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1;
1366
1366
  }
1367
1367
  parseComplete(e) {
1368
1368
  this.reset(), this.end(e);
@@ -1401,10 +1401,10 @@ var Xe = /\s|\//, U = class {
1401
1401
  };
1402
1402
  //#endregion
1403
1403
  //#region ../quality/src/html-utils.ts
1404
- function W(e) {
1404
+ function G(e) {
1405
1405
  let t = [], n = null, r = "", i = () => {
1406
1406
  n !== null && (n.text = r.trim(), t.push(n), n = null, r = "");
1407
- }, a = new U({
1407
+ }, a = new W({
1408
1408
  onopentag(e, t) {
1409
1409
  if (e === "a") {
1410
1410
  i(), n = {
@@ -1427,8 +1427,8 @@ function W(e) {
1427
1427
  });
1428
1428
  return a.write(e), a.end(), i(), t;
1429
1429
  }
1430
- function Ze(e) {
1431
- let t = e.replace(/<!--[\s\S]*?-->/g, "").matchAll(/<\/?a\b[^>]*>/gi), n = 0;
1430
+ function Xe(e) {
1431
+ let t = Ze(e).matchAll(/<\/?a\b[^<>]*>/gi), n = 0;
1432
1432
  for (let e of t) {
1433
1433
  if (e[0].startsWith("</")) {
1434
1434
  n > 0 && n--;
@@ -1439,8 +1439,23 @@ function Ze(e) {
1439
1439
  }
1440
1440
  return !1;
1441
1441
  }
1442
- function G(e) {
1443
- let t = "", n = new U({ ontext(e) {
1442
+ function Ze(e) {
1443
+ let t = "", n = 0;
1444
+ for (; n < e.length;) {
1445
+ let r = e.indexOf("<!--", n);
1446
+ if (r === -1) {
1447
+ t += e.substring(n);
1448
+ break;
1449
+ }
1450
+ t += e.substring(n, r);
1451
+ let i = e.indexOf("-->", r + 4);
1452
+ if (i === -1) break;
1453
+ n = i + 3;
1454
+ }
1455
+ return t;
1456
+ }
1457
+ function K(e) {
1458
+ let t = "", n = new W({ ontext(e) {
1444
1459
  t += e;
1445
1460
  } });
1446
1461
  return n.write(e), n.end(), t.trim();
@@ -1451,26 +1466,26 @@ var Qe = {
1451
1466
  severity: "error"
1452
1467
  },
1453
1468
  block(e) {
1454
- return !l(e) || G(e.content ?? "") !== "" ? null : { blockId: e.id };
1469
+ return !r(e) || K(e.content ?? "") !== "" ? null : { blockId: e.id };
1455
1470
  }
1456
1471
  }, $e = {
1457
1472
  id: "a11y.heading-skip-level",
1458
1473
  severity: "error"
1459
1474
  };
1460
- function K(e, n) {
1461
- for (let r of e) {
1462
- if (l(r)) {
1463
- n.push(r);
1475
+ function q(e, t) {
1476
+ for (let n of e) {
1477
+ if (r(n)) {
1478
+ t.push(n);
1464
1479
  continue;
1465
1480
  }
1466
- if (t(r)) for (let e of r.children) K(e, n);
1481
+ if (a(n)) for (let e of n.children) q(e, t);
1467
1482
  }
1468
1483
  }
1469
1484
  var et = {
1470
1485
  meta: $e,
1471
1486
  template(e) {
1472
1487
  let t = [];
1473
- K(e.blocks, t);
1488
+ q(e.blocks, t);
1474
1489
  let n = [], r = 0;
1475
1490
  for (let e of t) r !== 0 && e.level > r + 1 && n.push({
1476
1491
  blockId: e.id,
@@ -1485,50 +1500,50 @@ var et = {
1485
1500
  id: "a11y.heading-multiple-h1",
1486
1501
  severity: "warning"
1487
1502
  };
1488
- function q(e, n) {
1489
- for (let r of e) {
1490
- if (l(r)) {
1491
- n.push(r);
1503
+ function nt(e, t) {
1504
+ for (let n of e) {
1505
+ if (r(n)) {
1506
+ t.push(n);
1492
1507
  continue;
1493
1508
  }
1494
- if (t(r)) for (let e of r.children) q(e, n);
1509
+ if (a(n)) for (let e of n.children) nt(e, t);
1495
1510
  }
1496
1511
  }
1497
- var nt = {
1512
+ var rt = {
1498
1513
  meta: tt,
1499
1514
  template(e) {
1500
1515
  let t = [];
1501
- q(e.blocks, t);
1516
+ nt(e.blocks, t);
1502
1517
  let n = t.filter((e) => e.level === 1);
1503
1518
  return n.length <= 1 ? [] : n.slice(1).map((e) => ({ blockId: e.id }));
1504
1519
  }
1505
- }, rt = {
1520
+ }, it = {
1506
1521
  id: "a11y.link-empty",
1507
1522
  severity: "error"
1508
1523
  };
1509
- function it(e) {
1510
- return u(e) || l(e) ? e.content : null;
1524
+ function at(e) {
1525
+ return u(e) || r(e) ? e.content : null;
1511
1526
  }
1512
- var at = {
1513
- meta: rt,
1527
+ var ot = {
1528
+ meta: it,
1514
1529
  block(e) {
1515
- let t = it(e);
1516
- return t === null || !W(t).find((e) => e.text === "" && !e.hasImageWithAlt) ? null : { blockId: e.id };
1530
+ let t = at(e);
1531
+ return t === null || !G(t).find((e) => e.text === "" && !e.hasImageWithAlt) ? null : { blockId: e.id };
1517
1532
  }
1518
- }, ot = {
1533
+ }, st = {
1519
1534
  id: "a11y.link-vague-text",
1520
1535
  severity: "warning"
1521
1536
  };
1522
- function st(e) {
1523
- return u(e) || l(e) ? e.content : null;
1537
+ function ct(e) {
1538
+ return u(e) || r(e) ? e.content : null;
1524
1539
  }
1525
- var ct = {
1526
- meta: ot,
1540
+ var lt = {
1541
+ meta: st,
1527
1542
  block(e, t, n) {
1528
- let r = st(e);
1543
+ let r = ct(e);
1529
1544
  if (r === null) return null;
1530
- let i = y(n.locale).vagueLinkText, a = W(r).find((e) => {
1531
- let t = je(e.text);
1545
+ let i = b(n.locale).vagueLinkText, a = G(r).find((e) => {
1546
+ let t = S(e.text);
1532
1547
  return t !== "" && i.includes(t);
1533
1548
  });
1534
1549
  return a ? {
@@ -1536,53 +1551,53 @@ var ct = {
1536
1551
  params: { text: a.text }
1537
1552
  } : null;
1538
1553
  }
1539
- }, lt = {
1554
+ }, ut = {
1540
1555
  id: "a11y.link-href-empty",
1541
1556
  severity: "error"
1542
1557
  };
1543
- function ut(e) {
1544
- return u(e) || l(e) ? e.content : null;
1558
+ function dt(e) {
1559
+ return u(e) || r(e) ? e.content : null;
1545
1560
  }
1546
- var dt = {
1547
- meta: lt,
1561
+ var ft = {
1562
+ meta: ut,
1548
1563
  block(e) {
1549
- let t = ut(e);
1550
- return t === null || !W(t).find((e) => {
1564
+ let t = dt(e);
1565
+ return t === null || !G(t).find((e) => {
1551
1566
  let t = e.href.trim();
1552
1567
  return t === "" || t === "#";
1553
1568
  }) ? null : { blockId: e.id };
1554
1569
  }
1555
- }, ft = {
1570
+ }, pt = {
1556
1571
  id: "a11y.link-target-blank-no-rel",
1557
1572
  severity: "warning"
1558
1573
  };
1559
- function pt(e) {
1560
- return u(e) || l(e) ? e.content : null;
1561
- }
1562
1574
  function mt(e) {
1575
+ return u(e) || r(e) ? e.content : null;
1576
+ }
1577
+ function ht(e) {
1563
1578
  if (e === null) return !1;
1564
1579
  let t = e.toLowerCase().split(/\s+/);
1565
1580
  return t.includes("noopener") || t.includes("noreferrer");
1566
1581
  }
1567
- var ht = {
1568
- meta: ft,
1582
+ var gt = {
1583
+ meta: pt,
1569
1584
  block(e) {
1570
- let t = pt(e);
1571
- return t === null || !W(t).find((e) => e.target === "_blank" && !mt(e.rel)) ? null : {
1585
+ let t = mt(e);
1586
+ return t === null || !G(t).find((e) => e.target === "_blank" && !ht(e.rel)) ? null : {
1572
1587
  blockId: e.id,
1573
1588
  fix: {
1574
1589
  description: "Add rel=\"noopener\"",
1575
1590
  apply: (t) => {
1576
- if (!u(e) && !l(e)) return;
1577
- let n = yt(e.content ?? "");
1591
+ if (!u(e) && !r(e)) return;
1592
+ let n = bt(e.content ?? "");
1578
1593
  t.updateBlock(e.id, { content: n });
1579
1594
  }
1580
1595
  }
1581
1596
  };
1582
1597
  }
1583
- }, gt = /([^\s"'>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
1584
- function _t(e) {
1585
- let t = [], n = new RegExp(gt.source, gt.flags), r;
1598
+ }, _t = /([^\s"'>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
1599
+ function vt(e) {
1600
+ let t = [], n = new RegExp(_t.source, _t.flags), r;
1586
1601
  for (; (r = n.exec(e)) !== null;) t.push({
1587
1602
  raw: r[0],
1588
1603
  name: r[1],
@@ -1591,13 +1606,13 @@ function _t(e) {
1591
1606
  });
1592
1607
  return t;
1593
1608
  }
1594
- function vt(e) {
1609
+ function yt(e) {
1595
1610
  return e.some((e) => e.name.toLowerCase() === "target" && e.value !== null && e.value.toLowerCase() === "_blank");
1596
1611
  }
1597
- function yt(e) {
1612
+ function bt(e) {
1598
1613
  return e.replace(/<a\b([^>]*)>/gi, (e, t) => {
1599
- let n = _t(t);
1600
- if (!vt(n)) return e;
1614
+ let n = vt(t);
1615
+ if (!yt(n)) return e;
1601
1616
  let r = n.find((e) => e.name.toLowerCase() === "rel");
1602
1617
  if (r) {
1603
1618
  let n = (r.value ?? "").toLowerCase().split(/\s+/);
@@ -1610,74 +1625,74 @@ function yt(e) {
1610
1625
  }
1611
1626
  //#endregion
1612
1627
  //#region ../quality/src/accessibility/rules/link-nested-anchor.ts
1613
- var bt = {
1628
+ var xt = {
1614
1629
  id: "a11y.link-nested-anchor",
1615
1630
  severity: "error"
1616
1631
  };
1617
- function xt(e) {
1618
- return u(e) || l(e) ? e.content : null;
1632
+ function St(e) {
1633
+ return u(e) || r(e) ? e.content : null;
1619
1634
  }
1620
- var St = {
1621
- meta: bt,
1635
+ var Ct = {
1636
+ meta: xt,
1622
1637
  block(e) {
1623
- let t = xt(e);
1624
- return t === null || !Ze(t) ? null : { blockId: e.id };
1638
+ let t = St(e);
1639
+ return t === null || !Xe(t) ? null : { blockId: e.id };
1625
1640
  }
1626
- }, Ct = {
1641
+ }, wt = {
1627
1642
  meta: {
1628
1643
  id: "a11y.text-all-caps",
1629
1644
  severity: "warning"
1630
1645
  },
1631
1646
  block(e, t, n) {
1632
- if (!u(e) && !l(e)) return null;
1633
- let r = G(e.content ?? "").replace(/[^\p{L}]/gu, "");
1634
- return r.length < n.thresholds.allCapsMinLength || r !== r.toLocaleUpperCase() ? null : { blockId: e.id };
1647
+ if (!u(e) && !r(e)) return null;
1648
+ let i = K(e.content ?? "").replace(/[^\p{L}]/gu, "");
1649
+ return i.length < n.thresholds.allCapsMinLength || i !== i.toLocaleUpperCase() ? null : { blockId: e.id };
1635
1650
  }
1636
- }, wt = {
1651
+ }, Tt = {
1637
1652
  meta: {
1638
1653
  id: "a11y.text-low-contrast",
1639
1654
  severity: "error"
1640
1655
  },
1641
1656
  block(e, t) {
1642
- if (!l(e) || !f(e.color) || !f(t.resolvedBackgroundColor)) return null;
1643
- let n = o[e.level] >= 24 ? 3 : 4.5, r = re(e.color, t.resolvedBackgroundColor);
1644
- return Number.isNaN(r) || r >= n ? null : {
1657
+ if (!r(e) || !p(e.color) || !p(t.resolvedBackgroundColor)) return null;
1658
+ let n = c[e.level] >= 24 ? 3 : 4.5, i = ne(e.color, t.resolvedBackgroundColor);
1659
+ return Number.isNaN(i) || i >= n ? null : {
1645
1660
  blockId: e.id,
1646
1661
  params: {
1647
- ratio: r.toFixed(2),
1662
+ ratio: i.toFixed(2),
1648
1663
  required: n
1649
1664
  }
1650
1665
  };
1651
1666
  }
1652
- }, Tt = {
1667
+ }, Et = {
1653
1668
  id: "a11y.text-too-small",
1654
1669
  severity: "warning"
1655
1670
  };
1656
- function Et(e) {
1657
- return c(e) || s(e) ? e.fontSize : null;
1671
+ function Dt(e) {
1672
+ return t(e) || n(e) ? e.fontSize : null;
1658
1673
  }
1659
1674
  //#endregion
1660
1675
  //#region ../quality/src/accessibility/index.ts
1661
- var Dt = [
1662
- ve,
1676
+ var Ot = [
1677
+ _e,
1678
+ be,
1663
1679
  xe,
1664
1680
  Se,
1665
- Ce,
1666
- Me,
1681
+ Ae,
1667
1682
  Qe,
1668
1683
  et,
1669
- nt,
1670
- at,
1671
- ct,
1672
- dt,
1673
- ht,
1674
- St,
1684
+ rt,
1685
+ ot,
1686
+ lt,
1687
+ ft,
1688
+ gt,
1675
1689
  Ct,
1676
1690
  wt,
1691
+ Tt,
1677
1692
  {
1678
- meta: Tt,
1693
+ meta: Et,
1679
1694
  block(e, t, n) {
1680
- let r = Et(e);
1695
+ let r = Dt(e);
1681
1696
  return r === null || r >= n.thresholds.minFontSize ? null : {
1682
1697
  blockId: e.id,
1683
1698
  params: {
@@ -1692,10 +1707,10 @@ var Dt = [
1692
1707
  id: "a11y.button-vague-label",
1693
1708
  severity: "warning"
1694
1709
  },
1695
- block(e, t, r) {
1696
- if (!n(e)) return null;
1697
- let i = je(e.text ?? "");
1698
- return i === "" || !y(r.locale).vagueButtonLabels.includes(i) ? null : {
1710
+ block(e, t, n) {
1711
+ if (!l(e)) return null;
1712
+ let r = S(e.text ?? "");
1713
+ return r === "" || !b(n.locale).vagueButtonLabels.includes(r) ? null : {
1699
1714
  blockId: e.id,
1700
1715
  params: { text: e.text }
1701
1716
  };
@@ -1706,16 +1721,16 @@ var Dt = [
1706
1721
  id: "a11y.button-touch-target",
1707
1722
  severity: "warning"
1708
1723
  },
1709
- block(e, t, r) {
1710
- if (!n(e)) return null;
1711
- let i = e.buttonPadding;
1712
- if (!i) return null;
1713
- let a = e.fontSize * 1.4 + i.top + i.bottom;
1714
- return a >= r.thresholds.minTouchTargetPx ? null : {
1724
+ block(e, t, n) {
1725
+ if (!l(e)) return null;
1726
+ let r = e.buttonPadding;
1727
+ if (!r) return null;
1728
+ let i = e.fontSize * 1.4 + r.top + r.bottom;
1729
+ return i >= n.thresholds.minTouchTargetPx ? null : {
1715
1730
  blockId: e.id,
1716
1731
  params: {
1717
- height: Math.round(a),
1718
- min: r.thresholds.minTouchTargetPx
1732
+ height: Math.round(i),
1733
+ min: n.thresholds.minTouchTargetPx
1719
1734
  }
1720
1735
  };
1721
1736
  }
@@ -1726,15 +1741,15 @@ var Dt = [
1726
1741
  severity: "error"
1727
1742
  },
1728
1743
  block(e) {
1729
- if (!n(e)) return null;
1730
- let t = re(e.textColor, e.backgroundColor);
1744
+ if (!l(e)) return null;
1745
+ let t = ne(e.textColor, e.backgroundColor);
1731
1746
  if (Number.isNaN(t)) return null;
1732
- let r = e.fontSize >= 24 ? 3 : 4.5;
1733
- return t >= r ? null : {
1747
+ let n = e.fontSize >= 24 ? 3 : 4.5;
1748
+ return t >= n ? null : {
1734
1749
  blockId: e.id,
1735
1750
  params: {
1736
1751
  ratio: t.toFixed(2),
1737
- required: r
1752
+ required: n
1738
1753
  }
1739
1754
  };
1740
1755
  }
@@ -1749,38 +1764,38 @@ var Dt = [
1749
1764
  }
1750
1765
  }
1751
1766
  ];
1752
- function Ot(e, t = {}) {
1753
- return t.disabled === !0 || t.accessibility === !1 ? [] : h(e, Dt, le(t.locale, t.accessibility ?? {}, Dt), (e, t, n) => _e(e, t, n));
1767
+ function kt(e, t = {}) {
1768
+ return t.disabled === !0 || t.accessibility === !1 ? [] : g(e, Ot, ce(t.locale, t.accessibility ?? {}, Ot), (e, t, n) => ge(e, t, n));
1754
1769
  }
1755
1770
  //#endregion
1756
1771
  //#region ../quality/src/structure/messages/de.ts
1757
- var kt = /* @__PURE__ */ e({ default: () => At }), At = {
1772
+ var At = /* @__PURE__ */ e({ default: () => jt }), jt = {
1758
1773
  "structure.duplicate-block-id": "Block-ID erscheint {count}-mal im Baum. Jeder Block muss eine eindeutige ID haben.",
1759
1774
  "structure.section-column-mismatch": "Sektion verwendet Layout „{layout}\" (erwartet {expected} Spalten), hat aber {actual}. Deutet auf beschädigten Zustand hin.",
1760
1775
  "structure.nested-section": "Sektion ist in einer anderen Sektion verschachtelt. Sektionen können nicht verschachtelt werden – der Renderer wird sich falsch verhalten.",
1761
1776
  "structure.empty-section": "Sektion enthält keine Blöcke. Entferne sie oder füge Inhalt hinzu.",
1762
1777
  "structure.empty-column": "Spalte {columnIndex} dieser Sektion ist leer. Füge Inhalt hinzu oder reduziere die Spaltenanzahl."
1763
- }, jt = /* @__PURE__ */ e({ default: () => J }), J = {
1778
+ }, Mt = /* @__PURE__ */ e({ default: () => J }), J = {
1764
1779
  "structure.duplicate-block-id": "Block id appears {count} times in the tree. Each block must have a unique id.",
1765
1780
  "structure.section-column-mismatch": "Section uses layout \"{layout}\" (expects {expected} columns) but has {actual}. Indicates corrupted state.",
1766
1781
  "structure.nested-section": "Section is nested inside another section. Sections cannot nest — the renderer will misbehave.",
1767
1782
  "structure.empty-section": "Section has no blocks. Remove it or add content.",
1768
1783
  "structure.empty-column": "Column {columnIndex} of this section is empty. Add content or reduce the column count."
1769
- }, Y = /* @__PURE__ */ Object.assign({
1770
- "./de.ts": kt,
1771
- "./en.ts": jt
1772
- }), X = {};
1773
- for (let e in Y) {
1784
+ }, Nt = /* @__PURE__ */ Object.assign({
1785
+ "./de.ts": At,
1786
+ "./en.ts": Mt
1787
+ }), Y = {};
1788
+ for (let e in Nt) {
1774
1789
  let t = /\.\/([^/]+)\.ts$/.exec(e);
1775
1790
  if (!t) continue;
1776
1791
  let n = t[1];
1777
- n !== "index" && (X[n] = Y[e].default);
1792
+ n !== "index" && (Y[n] = Nt[e].default);
1778
1793
  }
1779
- function Mt(e) {
1780
- return X[e.split("-")[0]?.toLowerCase() ?? "en"] ?? X.en ?? J;
1794
+ function Pt(e) {
1795
+ return Y[e.split("-")[0]?.toLowerCase() ?? "en"] ?? Y.en ?? J;
1781
1796
  }
1782
- function Nt(e, t, n) {
1783
- let r = Mt(e)[t] ?? J[t];
1797
+ function Ft(e, t, n) {
1798
+ let r = Pt(e)[t] ?? J[t];
1784
1799
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
1785
1800
  let r = n[t];
1786
1801
  return r === void 0 ? `{${t}}` : String(r);
@@ -1788,18 +1803,18 @@ function Nt(e, t, n) {
1788
1803
  }
1789
1804
  //#endregion
1790
1805
  //#region ../quality/src/structure/rules/duplicate-block-id.ts
1791
- var Pt = {
1806
+ var It = {
1792
1807
  id: "structure.duplicate-block-id",
1793
1808
  severity: "error"
1794
1809
  };
1795
- function Ft(e, n) {
1796
- for (let r of e) if (n.set(r.id, (n.get(r.id) ?? 0) + 1), t(r)) for (let e of r.children) Ft(e, n);
1810
+ function Lt(e, t) {
1811
+ for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1), a(n)) for (let e of n.children) Lt(e, t);
1797
1812
  }
1798
- var It = {
1799
- meta: Pt,
1813
+ var Rt = {
1814
+ meta: It,
1800
1815
  template(e) {
1801
1816
  let t = /* @__PURE__ */ new Map();
1802
- Ft(e.blocks, t);
1817
+ Lt(e.blocks, t);
1803
1818
  let n = [];
1804
1819
  for (let [e, r] of t) r > 1 && n.push({
1805
1820
  blockId: e,
@@ -1807,124 +1822,124 @@ var It = {
1807
1822
  });
1808
1823
  return n;
1809
1824
  }
1810
- }, Lt = {
1825
+ }, zt = {
1811
1826
  id: "structure.empty-column",
1812
1827
  severity: "warning"
1813
1828
  };
1814
- function Rt(e, n) {
1815
- for (let r of e) {
1816
- if (!t(r)) continue;
1817
- let e = r;
1818
- e.children.length > 1 && e.children.forEach((t, r) => {
1819
- t.length === 0 && n.push({
1829
+ function X(e, t) {
1830
+ for (let n of e) {
1831
+ if (!a(n)) continue;
1832
+ let e = n;
1833
+ e.children.length > 1 && e.children.forEach((n, r) => {
1834
+ n.length === 0 && t.push({
1820
1835
  blockId: e.id,
1821
1836
  params: { columnIndex: r + 1 }
1822
1837
  });
1823
1838
  });
1824
- for (let t of e.children) Rt(t, n);
1839
+ for (let n of e.children) X(n, t);
1825
1840
  }
1826
1841
  }
1827
- var zt = {
1828
- meta: Lt,
1842
+ var Bt = {
1843
+ meta: zt,
1829
1844
  template(e) {
1830
1845
  let t = [];
1831
- return Rt(e.blocks, t), t;
1846
+ return X(e.blocks, t), t;
1832
1847
  }
1833
- }, Bt = {
1848
+ }, Vt = {
1834
1849
  id: "structure.empty-section",
1835
1850
  severity: "warning"
1836
1851
  };
1837
- function Vt(e) {
1852
+ function Ht(e) {
1838
1853
  return e.children.length === 0 ? !0 : e.children.every((e) => e.length === 0);
1839
1854
  }
1840
- var Ht = {
1841
- meta: Bt,
1855
+ var Ut = {
1856
+ meta: Vt,
1842
1857
  block(e) {
1843
- if (!t(e)) return null;
1844
- let n = e;
1845
- return Vt(n) ? {
1846
- blockId: n.id,
1858
+ if (!a(e)) return null;
1859
+ let t = e;
1860
+ return Ht(t) ? {
1861
+ blockId: t.id,
1847
1862
  fix: {
1848
1863
  description: "Remove the empty section",
1849
1864
  apply: (e) => {
1850
- e.removeBlock(n.id);
1865
+ e.removeBlock(t.id);
1851
1866
  }
1852
1867
  }
1853
1868
  } : null;
1854
1869
  }
1855
- }, Ut = {
1870
+ }, Wt = {
1856
1871
  meta: {
1857
1872
  id: "structure.nested-section",
1858
1873
  severity: "error"
1859
1874
  },
1860
- block(e, n) {
1861
- return !t(e) || n.section === null ? null : {
1875
+ block(e, t) {
1876
+ return !a(e) || t.section === null ? null : {
1862
1877
  blockId: e.id,
1863
- params: { parentId: n.section.id }
1878
+ params: { parentId: t.section.id }
1864
1879
  };
1865
1880
  }
1866
- }, Wt = {
1881
+ }, Gt = {
1867
1882
  id: "structure.section-column-mismatch",
1868
1883
  severity: "error"
1869
1884
  };
1870
- function Gt(e) {
1885
+ function Kt(e) {
1871
1886
  return e === "1" ? 1 : e === "3" ? 3 : 2;
1872
1887
  }
1873
1888
  //#endregion
1874
1889
  //#region ../quality/src/structure/index.ts
1875
- var Kt = [
1876
- It,
1877
- Ht,
1878
- zt,
1890
+ var qt = [
1891
+ Rt,
1879
1892
  Ut,
1893
+ Bt,
1894
+ Wt,
1880
1895
  {
1881
- meta: Wt,
1896
+ meta: Gt,
1882
1897
  block(e) {
1883
- if (!t(e)) return null;
1884
- let n = e, r = Gt(n.columns), i = n.children.length;
1885
- return i === r ? null : {
1886
- blockId: n.id,
1898
+ if (!a(e)) return null;
1899
+ let t = e, n = Kt(t.columns), r = t.children.length;
1900
+ return r === n ? null : {
1901
+ blockId: t.id,
1887
1902
  params: {
1888
- layout: n.columns,
1889
- expected: r,
1890
- actual: i
1903
+ layout: t.columns,
1904
+ expected: n,
1905
+ actual: r
1891
1906
  }
1892
1907
  };
1893
1908
  }
1894
1909
  }
1895
1910
  ];
1896
- function qt(e, t = {}) {
1897
- return t.disabled === !0 || t.structure === !1 ? [] : h(e, Kt, ue(t.locale, t.structure ?? {}, Kt), (e, t, n) => Nt(e, t, n));
1911
+ function Jt(e, t = {}) {
1912
+ return t.disabled === !0 || t.structure === !1 ? [] : g(e, qt, le(t.locale, t.structure ?? {}, qt), (e, t, n) => Ft(e, t, n));
1898
1913
  }
1899
1914
  //#endregion
1900
1915
  //#region ../quality/src/links/messages/de.ts
1901
- var Jt = /* @__PURE__ */ e({ default: () => Yt }), Yt = {
1902
- "link.javascript-protocol": "Die URL verwendet das „javascript:\"-Protokoll, das aus Sicherheitsgründen beim Rendern entfernt wird. Ersetze sie durch eine echte URL oder entferne sie.",
1916
+ var Yt = /* @__PURE__ */ e({ default: () => Xt }), Xt = {
1917
+ "link.javascript-protocol": "Die URL verwendet das Protokoll {protocol}:\", das beliebigen Skriptcode ausführen kann und aus Sicherheitsgründen beim Rendern entfernt wird. Ersetze sie durch eine echte URL oder entferne sie.",
1903
1918
  "link.unsupported-protocol": "Die URL verwendet das Protokoll „{protocol}\", das von den meisten E-Mail-Clients nicht unterstützt wird. Verwende http, https, mailto, tel oder sms.",
1904
1919
  "link.malformed-mailto": "Der mailto:-Link ist fehlerhaft. Erwartet wird eine einzelne Empfängeradresse vor einer eventuellen Querystring (z. B. mailto:hallo@example.com).",
1905
1920
  "link.malformed-tel": "Der tel:-Link enthält Zeichen, die keine Ziffern, +, Leerzeichen, Bindestriche, Klammern oder Punkte sind.",
1906
1921
  "link.localhost-or-staging": "Der URL-Host „{host}\" entspricht einem Nicht-Produktionsmuster. Ersetze ihn vor dem Versand durch die Produktions-URL."
1907
- }, Xt = /* @__PURE__ */ e({ default: () => Z }), Z = {
1908
- "link.javascript-protocol": "URL uses the \"javascript:\" protocol, which is stripped at render time for safety. Replace it with a real link or remove the URL.",
1922
+ }, Zt = /* @__PURE__ */ e({ default: () => Z }), Z = {
1923
+ "link.javascript-protocol": "URL uses the \"{protocol}:\" protocol, which can execute arbitrary script and is stripped at render time for safety. Replace it with a real link or remove the URL.",
1909
1924
  "link.unsupported-protocol": "URL uses the \"{protocol}\" protocol, which most email clients do not support. Use http, https, mailto, tel, or sms.",
1910
1925
  "link.malformed-mailto": "mailto: link is malformed. Expected a single recipient address before any query string (e.g. mailto:hello@example.com).",
1911
1926
  "link.malformed-tel": "tel: link contains characters that are not digits, +, spaces, dashes, parentheses, or dots.",
1912
1927
  "link.localhost-or-staging": "URL host \"{host}\" matches a non-production pattern. Replace with the production URL before sending."
1913
- }, Zt = /* @__PURE__ */ Object.assign({
1914
- "./de.ts": Jt,
1915
- "./en.ts": Xt
1928
+ }, Qt = /* @__PURE__ */ Object.assign({
1929
+ "./de.ts": Yt,
1930
+ "./en.ts": Zt
1916
1931
  }), Q = {};
1917
- for (let e in Zt) {
1932
+ for (let e in Qt) {
1918
1933
  let t = /\.\/([^/]+)\.ts$/.exec(e);
1919
1934
  if (!t) continue;
1920
1935
  let n = t[1];
1921
- n !== "index" && (Q[n] = Zt[e].default);
1936
+ n !== "index" && (Q[n] = Qt[e].default);
1922
1937
  }
1923
- function Qt(e) {
1938
+ function $t(e) {
1924
1939
  return Q[e.split("-")[0]?.toLowerCase() ?? "en"] ?? Q.en ?? Z;
1925
1940
  }
1926
- function $t(e, t, n) {
1927
- let r = Qt(e)[t] ?? Z[t];
1941
+ function en(e, t, n) {
1942
+ let r = $t(e)[t] ?? Z[t];
1928
1943
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
1929
1944
  let r = n[t];
1930
1945
  return r === void 0 ? `{${t}}` : String(r);
@@ -1933,19 +1948,19 @@ function $t(e, t, n) {
1933
1948
  //#endregion
1934
1949
  //#region ../quality/src/url-walker.ts
1935
1950
  function $(e) {
1936
- let t = [];
1937
- return m(e, (e) => {
1938
- if (l(e) || u(e) || i(e)) {
1939
- for (let n of W(e.content)) t.push({
1940
- url: n.href,
1951
+ let n = [];
1952
+ return h(e, (e) => {
1953
+ if (r(e) || u(e) || s(e)) {
1954
+ for (let t of G(e.content)) n.push({
1955
+ url: t.href,
1941
1956
  blockId: e.id,
1942
1957
  source: "anchor",
1943
- label: n.text
1958
+ label: t.text
1944
1959
  });
1945
1960
  return;
1946
1961
  }
1947
- if (n(e)) {
1948
- t.push({
1962
+ if (l(e)) {
1963
+ n.push({
1949
1964
  url: e.url,
1950
1965
  blockId: e.id,
1951
1966
  source: "button",
@@ -1953,8 +1968,8 @@ function $(e) {
1953
1968
  });
1954
1969
  return;
1955
1970
  }
1956
- if (r(e)) {
1957
- e.linkUrl && e.linkUrl !== "" && t.push({
1971
+ if (d(e)) {
1972
+ e.linkUrl && e.linkUrl !== "" && n.push({
1958
1973
  url: e.linkUrl,
1959
1974
  blockId: e.id,
1960
1975
  source: "image-link",
@@ -1962,8 +1977,8 @@ function $(e) {
1962
1977
  });
1963
1978
  return;
1964
1979
  }
1965
- if (a(e)) {
1966
- t.push({
1980
+ if (i(e)) {
1981
+ n.push({
1967
1982
  url: e.url,
1968
1983
  blockId: e.id,
1969
1984
  source: "video",
@@ -1971,77 +1986,88 @@ function $(e) {
1971
1986
  });
1972
1987
  return;
1973
1988
  }
1974
- if (c(e)) {
1975
- for (let n of e.items) t.push({
1976
- url: n.url,
1989
+ if (t(e)) {
1990
+ for (let t of e.items) n.push({
1991
+ url: t.url,
1977
1992
  blockId: e.id,
1978
1993
  source: "menu-item",
1979
- label: n.text
1994
+ label: t.text
1980
1995
  });
1981
1996
  return;
1982
1997
  }
1983
- if (ee(e)) {
1984
- for (let n of e.icons) t.push({
1985
- url: n.url,
1998
+ if (o(e)) {
1999
+ for (let t of e.icons) n.push({
2000
+ url: t.url,
1986
2001
  blockId: e.id,
1987
2002
  source: "social-icon",
1988
- label: n.platform
2003
+ label: t.platform
1989
2004
  });
1990
2005
  return;
1991
2006
  }
1992
- }), t;
2007
+ }), n;
1993
2008
  }
1994
2009
  //#endregion
1995
2010
  //#region ../quality/src/links/rules/javascript-protocol.ts
1996
- var en = {
2011
+ var tn = {
1997
2012
  id: "link.javascript-protocol",
1998
2013
  severity: "error"
1999
- };
2000
- function tn(e) {
2001
- if (!e) return !1;
2014
+ }, nn = [
2015
+ "javascript",
2016
+ "data",
2017
+ "vbscript"
2018
+ ];
2019
+ function rn(e) {
2020
+ if (!e) return null;
2002
2021
  let t = e.replace(/\s+/g, "");
2003
- return /^javascript:/i.test(t);
2022
+ for (let e of nn) if (RegExp(`^${e}:`, "i").test(t)) return e;
2023
+ return null;
2004
2024
  }
2005
- var nn = {
2006
- meta: en,
2025
+ var an = {
2026
+ meta: tn,
2007
2027
  template(e) {
2008
2028
  let t = [];
2009
- for (let n of $(e)) tn(n.url) && t.push({ blockId: n.blockId });
2029
+ for (let n of $(e)) {
2030
+ let e = rn(n.url);
2031
+ e !== null && t.push({
2032
+ blockId: n.blockId,
2033
+ params: { protocol: e }
2034
+ });
2035
+ }
2010
2036
  return t;
2011
2037
  }
2012
- }, rn = {
2038
+ }, on = {
2013
2039
  id: "link.unsupported-protocol",
2014
2040
  severity: "warning"
2015
- }, an = new Set([
2041
+ }, sn = new Set([
2016
2042
  "http",
2017
2043
  "https",
2018
2044
  "mailto",
2019
2045
  "tel",
2020
2046
  "sms"
2021
- ]);
2022
- function on(e) {
2047
+ ]), cn = new Set(nn);
2048
+ function ln(e) {
2023
2049
  if (!e) return null;
2024
2050
  let t = e.trim(), n = /^([a-z][a-z0-9+\-.]*):/i.exec(t);
2025
2051
  return n ? n[1].toLowerCase() : null;
2026
2052
  }
2027
- var sn = {
2028
- meta: rn,
2053
+ var un = {
2054
+ meta: on,
2029
2055
  template(e) {
2030
2056
  let t = [];
2031
2057
  for (let n of $(e)) {
2032
- let e = on(n.url);
2033
- e !== null && e !== "javascript" && (an.has(e) || t.push({
2058
+ let e = ln(n.url);
2059
+ e !== null && (cn.has(e) || sn.has(e) || t.push({
2034
2060
  blockId: n.blockId,
2035
2061
  params: { protocol: e }
2036
2062
  }));
2037
2063
  }
2038
2064
  return t;
2039
2065
  }
2040
- }, cn = {
2066
+ }, dn = {
2041
2067
  id: "link.malformed-mailto",
2042
2068
  severity: "warning"
2043
2069
  };
2044
- function ln(e) {
2070
+ function fn(e) {
2045
2071
  let t = e.trim();
2046
2072
  if (!/^mailto:/i.test(t)) return !1;
2047
2073
  let [n] = t.slice(7).split("?", 2);
@@ -2056,41 +2082,41 @@ function ln(e) {
2056
2082
  }
2057
2083
  return !1;
2058
2084
  }
2059
- var un = {
2060
- meta: cn,
2085
+ var pn = {
2086
+ meta: dn,
2061
2087
  template(e) {
2062
2088
  let t = [];
2063
- for (let n of $(e)) ln(n.url) && t.push({ blockId: n.blockId });
2089
+ for (let n of $(e)) fn(n.url) && t.push({ blockId: n.blockId });
2064
2090
  return t;
2065
2091
  }
2066
- }, dn = {
2092
+ }, mn = {
2067
2093
  id: "link.malformed-tel",
2068
2094
  severity: "warning"
2069
- }, fn = /^[+0-9\s().\-]+$/, pn = /^[A-Za-z0-9-]+(=[^;]+)?$/;
2070
- function mn(e) {
2095
+ }, hn = /^[+0-9\s().\-]+$/, gn = /^[A-Za-z0-9-]+(=[^;]+)?$/;
2096
+ function _n(e) {
2071
2097
  let t = e.trim();
2072
2098
  if (!/^tel:/i.test(t)) return !1;
2073
2099
  let n = t.slice(4).trim();
2074
2100
  if (n === "") return !0;
2075
2101
  let [r, ...i] = n.split(";");
2076
- return fn.test(r) ? i.some((e) => !pn.test(e)) : !0;
2102
+ return hn.test(r) ? i.some((e) => !gn.test(e)) : !0;
2077
2103
  }
2078
- var hn = {
2079
- meta: dn,
2104
+ var vn = {
2105
+ meta: mn,
2080
2106
  template(e) {
2081
2107
  let t = [];
2082
- for (let n of $(e)) mn(n.url) && t.push({ blockId: n.blockId });
2108
+ for (let n of $(e)) _n(n.url) && t.push({ blockId: n.blockId });
2083
2109
  return t;
2084
2110
  }
2085
- }, gn = {
2111
+ }, yn = {
2086
2112
  id: "link.localhost-or-staging",
2087
2113
  severity: "warning"
2088
2114
  };
2089
- function _n(e) {
2115
+ function bn(e) {
2090
2116
  let t = e.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*");
2091
2117
  return RegExp(`^${t}$`, "i");
2092
2118
  }
2093
- function vn(e) {
2119
+ function xn(e) {
2094
2120
  if (!e) return null;
2095
2121
  let t = e.trim();
2096
2122
  if (!/^(https?|ftps?):\/\//i.test(t)) return null;
@@ -2102,19 +2128,19 @@ function vn(e) {
2102
2128
  }
2103
2129
  //#endregion
2104
2130
  //#region ../quality/src/links/index.ts
2105
- var yn = [
2106
- nn,
2107
- sn,
2131
+ var Sn = [
2132
+ an,
2108
2133
  un,
2109
- hn,
2134
+ pn,
2135
+ vn,
2110
2136
  {
2111
- meta: gn,
2137
+ meta: yn,
2112
2138
  template(e, t) {
2113
2139
  let n = t.links.nonProductionHosts;
2114
2140
  if (n.length === 0) return [];
2115
- let r = n.map(_n), i = [];
2141
+ let r = n.map(bn), i = [];
2116
2142
  for (let t of $(e)) {
2117
- let e = vn(t.url);
2143
+ let e = xn(t.url);
2118
2144
  e !== null && r.some((t) => t.test(e)) && i.push({
2119
2145
  blockId: t.blockId,
2120
2146
  params: { host: e }
@@ -2124,17 +2150,17 @@ var yn = [
2124
2150
  }
2125
2151
  }
2126
2152
  ];
2127
- function bn(e, t = {}) {
2128
- return t.disabled === !0 || t.links === !1 ? [] : h(e, yn, de(t.locale, t.links ?? {}, yn), (e, t, n) => $t(e, t, n));
2153
+ function Cn(e, t = {}) {
2154
+ return t.disabled === !0 || t.links === !1 ? [] : g(e, Sn, ue(t.locale, t.links ?? {}, Sn), (e, t, n) => en(e, t, n));
2129
2155
  }
2130
2156
  //#endregion
2131
2157
  //#region ../quality/src/index.ts
2132
- var xn = /* @__PURE__ */ e({
2133
- lintAccessibility: () => Ot,
2134
- lintLinks: () => bn,
2135
- lintStructure: () => qt
2158
+ var wn = /* @__PURE__ */ e({
2159
+ lintAccessibility: () => kt,
2160
+ lintLinks: () => Cn,
2161
+ lintStructure: () => Jt
2136
2162
  });
2137
2163
  //#endregion
2138
- export { xn as t };
2164
+ export { wn as t };
2139
2165
 
2140
- //# sourceMappingURL=quality-BTPRPGB-.js.map
2166
+ //# sourceMappingURL=quality-BxPiS-wv.js.map