@acrolinx/sidebar-sdk 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,41 +1,48 @@
1
- function Ct(t) {
1
+ function St(t) {
2
2
  return t.isAsync;
3
3
  }
4
- function Ye(t) {
4
+ function Je(t) {
5
5
  return !!t.error;
6
6
  }
7
- function wt(t) {
7
+ function Ur(t) {
8
+ return typeof t.content == "string";
9
+ }
10
+ function xt(t) {
8
11
  return !!t.editorId;
9
12
  }
10
- function yt(t) {
13
+ function Dt(t) {
11
14
  return !!t.element;
12
15
  }
13
16
  function ee(t) {
14
- if (yt(t))
17
+ if (Dt(t))
15
18
  return t.element;
16
- if (wt(t))
19
+ if (xt(t))
17
20
  return document.getElementById(t.editorId);
18
21
  throw console.error("Invalid AdapterConf. Missing editorId or element", t), new Error("Invalid AdapterConf. Missing editorId or element");
19
22
  }
20
- const Et = [
23
+ const Rt = [
21
24
  {
22
25
  id: "com.acrolinx.sidebarexample",
23
26
  name: "Acrolinx Sidebar Example Client",
24
27
  version: "1.2.3.999",
25
28
  category: "MAIN"
26
29
  }
27
- ], kt = {
30
+ ], Ft = {
28
31
  id: "com.acrolinx.sidebar-sdk-js",
29
32
  name: "Sidebar SDK JS",
30
- version: "2.0.1"
33
+ version: "2.0.3"
31
34
  };
32
- async function Le(t) {
35
+ function zr(t, e) {
36
+ const n = Date.now(), o = e();
37
+ return console.log(`Duration of "${t}:"`, Date.now() - n), o;
38
+ }
39
+ async function Oe(t) {
33
40
  const e = await fetch(t);
34
41
  if (e.status >= 200 && e.status < 400)
35
42
  return e.text();
36
43
  throw new Error(`Error while loading ${t}.`);
37
44
  }
38
- function Bt(t) {
45
+ function Zt(t) {
39
46
  return t.nodeName === "IFRAME";
40
47
  }
41
48
  function X(t) {
@@ -43,35 +50,35 @@ function X(t) {
43
50
  startNode: e,
44
51
  endNode: n,
45
52
  eventType: o,
46
- startOffset: s,
53
+ startOffset: A,
47
54
  endOffset: r,
48
55
  replacement: i,
49
- disableSimulation: A
56
+ disableSimulation: s
50
57
  } = t;
51
- if (A)
58
+ if (s)
52
59
  return;
53
- const c = new StaticRange({
60
+ const a = new StaticRange({
54
61
  startContainer: e,
55
- startOffset: s,
62
+ startOffset: A,
56
63
  endContainer: n,
57
64
  endOffset: r
58
- }), a = {
65
+ }), c = {
59
66
  inputType: "insertText",
60
67
  data: i,
61
68
  bubbles: !0,
62
69
  cancelable: !1,
63
- targetRanges: [c]
70
+ targetRanges: [a]
64
71
  };
65
- e.dispatchEvent(new InputEvent(o, a));
72
+ e.dispatchEvent(new InputEvent(o, c));
66
73
  }
67
- function St(t) {
74
+ function Mt(t) {
68
75
  const e = document.createElement("a");
69
76
  e.href = t, e.host === "" && (e.href = e.href);
70
- const { protocol: n, host: o, hostname: s, port: r, pathname: i, hash: A } = e;
71
- return { protocol: n, host: o, hostname: s, port: r, pathname: i, hash: A };
77
+ const { protocol: n, host: o, hostname: A, port: r, pathname: i, hash: s } = e;
78
+ return { protocol: n, host: o, hostname: A, port: r, pathname: i, hash: s };
72
79
  }
73
- function xt(t) {
74
- const { protocol: e, host: n } = St(t);
80
+ function Wt(t) {
81
+ const { protocol: e, host: n } = Mt(t);
75
82
  return location.protocol === e && location.host === n;
76
83
  }
77
84
  function fe(t) {
@@ -80,34 +87,37 @@ function fe(t) {
80
87
  function te(t, e) {
81
88
  return Object.assign({}, t, e);
82
89
  }
83
- function Je(t) {
90
+ function je(t) {
84
91
  Object.freeze(t);
85
92
  const e = typeof t == "function", n = Object.prototype.hasOwnProperty;
86
93
  Object.getOwnPropertyNames(t).forEach(function(o) {
87
- n.call(t, o) && (!e || o !== "caller" && o !== "callee" && o !== "arguments") && t[o] !== null && (typeof t[o] == "object" || typeof t[o] == "function") && !Object.isFrozen(t[o]) && Je(t[o]);
94
+ n.call(t, o) && (!e || o !== "caller" && o !== "callee" && o !== "arguments") && t[o] !== null && (typeof t[o] == "object" || typeof t[o] == "function") && !Object.isFrozen(t[o]) && je(t[o]);
88
95
  });
89
96
  }
90
- function Dt(t) {
97
+ function Ht(t) {
91
98
  const e = structuredClone(t);
92
- return Je(e), e;
99
+ return je(e), e;
93
100
  }
94
- function Oe(t) {
101
+ function Ue(t) {
95
102
  if (!t.parentNode)
96
103
  return !1;
97
104
  const e = t.getBoundingClientRect();
98
105
  return !!e.width && !!e.height;
99
106
  }
100
107
  function V(t) {
101
- if (!Oe(t))
108
+ if (!Ue(t))
102
109
  throw Error("Adapter element is not displayed.");
103
110
  }
111
+ function Vr(t) {
112
+ return /\S/.test(t);
113
+ }
104
114
  function z(t) {
105
115
  t.parentNode.removeChild(t);
106
116
  }
107
- function xe(t) {
117
+ function De(t) {
108
118
  return t && typeof t.then == "function";
109
119
  }
110
- class Rt {
120
+ class Qt {
111
121
  resolve;
112
122
  reject;
113
123
  promise;
@@ -117,7 +127,7 @@ class Rt {
117
127
  });
118
128
  }
119
129
  }
120
- function Ft(t) {
130
+ function ze(t) {
121
131
  return new Promise((e) => setTimeout(e, t));
122
132
  }
123
133
  function ce(t) {
@@ -137,20 +147,20 @@ function ce(t) {
137
147
  return n;
138
148
  }
139
149
  }
140
- function Zt(t) {
150
+ function Kt(t) {
141
151
  return JSON.parse(JSON.stringify(t));
142
152
  }
143
- function Mt(t, e, ...n) {
144
- const o = { command: e, args: Zt(n) };
153
+ function Nt(t, e, ...n) {
154
+ const o = { command: e, args: Kt(n) };
145
155
  t.postMessage(o, "*");
146
156
  }
147
- function je(t, e) {
157
+ function Ve(t, e) {
148
158
  for (const n in e) {
149
159
  const o = e[n];
150
- e[n] = (...s) => (Mt(t(), n, ...s), o.apply(e, s));
160
+ e[n] = (...A) => (Nt(t(), n, ...A), o.apply(e, A));
151
161
  }
152
162
  }
153
- function Wt(t, e) {
163
+ function Pt(t, e) {
154
164
  const n = {
155
165
  init: () => {
156
166
  },
@@ -166,19 +176,19 @@ function Wt(t, e) {
166
176
  showMessage: () => {
167
177
  }
168
178
  };
169
- je(() => e.contentWindow, n);
170
- function o(s) {
171
- if (s.source !== e.contentWindow)
179
+ Ve(() => e.contentWindow, n);
180
+ function o(A) {
181
+ if (A.source !== e.contentWindow)
172
182
  return;
173
- const r = s.data, { command: i, args: A } = r;
174
- t[i] && (i === "requestInit" ? t.requestInit(n) : t[i].apply(t, A));
183
+ const r = A.data, { command: i, args: s } = r;
184
+ t[i] && (i === "requestInit" ? t.requestInit(n) : t[i].apply(t, s));
175
185
  }
176
186
  addEventListener("message", o, !1);
177
187
  }
178
- function Ht(t = window) {
188
+ function Gt(t = window) {
179
189
  function e(o) {
180
- const s = o.data, { command: r, args: i } = s, A = t.acrolinxSidebar;
181
- A[r] && A[r].apply(A, i);
190
+ const A = o.data, { command: r, args: i } = A, s = t.acrolinxSidebar;
191
+ s[r] && s[r].apply(s, i);
182
192
  }
183
193
  t.addEventListener("message", e, !1);
184
194
  const n = {
@@ -201,11 +211,11 @@ function Ht(t = window) {
201
211
  log: () => {
202
212
  }
203
213
  };
204
- return je(() => t.parent, n), n;
214
+ return Ve(() => t.parent, n), n;
205
215
  }
206
- var re = {}, De;
207
- function Qt() {
208
- return De || (De = 1, re.ACROLINX_STARTPAGE_INLINED_HTML = `<!doctype html>
216
+ var re = {}, Re;
217
+ function Tt() {
218
+ return Re || (Re = 1, re.ACROLINX_STARTPAGE_INLINED_HTML = `<!doctype html>
209
219
  <html lang="en">
210
220
  <head>
211
221
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@@ -299,8 +309,8 @@ function Qt() {
299
309
  </html>
300
310
  `), re;
301
311
  }
302
- var Kt = Qt();
303
- class Ue extends Error {
312
+ var Yt = Tt();
313
+ class Xe extends Error {
304
314
  constructor(e, n, o) {
305
315
  super(e), this.message = e, this.configuredSidebarURL = n, this.htmlLoaded = o, this.configuredSidebarURL = n, this.htmlLoaded = o, this.details = e + `
306
316
  Configured SidebarURL:` + n + `
@@ -308,84 +318,84 @@ Configured SidebarURL:` + n + `
308
318
  }
309
319
  details;
310
320
  }
311
- function Nt(t) {
321
+ function Lt(t) {
312
322
  const e = document.createElement("link");
313
323
  return e.rel = "stylesheet", e.href = t, e;
314
324
  }
315
- function Pt(t) {
325
+ function Jt(t) {
316
326
  const e = document.createElement("script");
317
327
  return e.src = t, e.type = "text/javascript", e.async = !1, e.defer = !1, e;
318
328
  }
319
- function ze(t) {
329
+ function qe(t) {
320
330
  const e = Date.now();
321
331
  return t + "index.html?t=" + e;
322
332
  }
323
- async function Gt(t) {
324
- const e = ze(t), n = await Le(e);
333
+ async function Ot(t) {
334
+ const e = qe(t), n = await Oe(e);
325
335
  if (n.indexOf('<meta name="sidebar-version"') < 0)
326
336
  try {
327
- throw new Ue(
337
+ throw new Xe(
328
338
  "It looks like the sidebar URL was configured wrongly.",
329
339
  t,
330
340
  n
331
341
  );
332
- } catch (c) {
333
- console.log(c);
342
+ } catch (a) {
343
+ console.log(a);
334
344
  return;
335
345
  }
336
- const o = n.replace(/<!--[\s\S]*?-->/g, ""), s = document.querySelector("head"), r = (c) => Tt(c, t);
337
- Re(o, "href").map(r).forEach((c) => {
338
- s.appendChild(Nt(c));
339
- }), Re(o, "src").map(r).forEach((c) => {
340
- s.appendChild(Pt(c));
346
+ const o = n.replace(/<!--[\s\S]*?-->/g, ""), A = document.querySelector("head"), r = (a) => jt(a, t);
347
+ Fe(o, "href").map(r).forEach((a) => {
348
+ A.appendChild(Lt(a));
349
+ }), Fe(o, "src").map(r).forEach((a) => {
350
+ A.appendChild(Jt(a));
341
351
  });
342
352
  }
343
- function Re(t, e) {
353
+ function Fe(t, e) {
344
354
  const n = new RegExp(`${e}="(.*?)"`, "g");
345
355
  let o;
346
- const s = [];
356
+ const A = [];
347
357
  for (; (o = n.exec(t)) !== null; )
348
- s.push(o[1]);
349
- return s;
358
+ A.push(o[1]);
359
+ return A;
350
360
  }
351
- function Tt(t, e) {
361
+ function jt(t, e) {
352
362
  return t.match(/^https?:/) ? t : e + t;
353
363
  }
354
- async function Fe(t, e, n) {
364
+ async function Ze(t, e, n) {
355
365
  if (t.sidebarHtml || !t.sidebarUrl) {
356
- q(t.sidebarHtml || Kt.ACROLINX_STARTPAGE_INLINED_HTML, e), n();
366
+ q(t.sidebarHtml || Yt.ACROLINX_STARTPAGE_INLINED_HTML, e), n();
357
367
  return;
358
368
  }
359
- const o = t.sidebarUrl, s = ze(o);
360
- if (t.useMessageAdapter || t.useSidebarFromSameOriginDirectly && xt(o))
361
- e.addEventListener("load", n), e.src = s;
369
+ const o = t.sidebarUrl, A = qe(o);
370
+ if (t.useMessageAdapter || t.useSidebarFromSameOriginDirectly && Wt(o))
371
+ e.addEventListener("load", n), e.src = A;
362
372
  else {
363
- const r = await Le(s);
373
+ const r = await Oe(A);
364
374
  if (r.indexOf('<meta name="sidebar-version"') < 0)
365
375
  try {
366
- throw new Ue(
376
+ throw new Xe(
367
377
  "It looks like the sidebar URL was configured wrongly. Check developer console for more information!",
368
- s,
378
+ A,
369
379
  r
370
380
  );
371
- } catch (A) {
372
- A instanceof Error ? q(A.message, e) : q("Unknown error loading sidebar", e), console.error(A);
381
+ } catch (s) {
382
+ s instanceof Error ? q(s.message, e) : q("Unknown error loading sidebar", e), console.error(s);
373
383
  return;
374
384
  }
375
- const i = Yt(r, o);
385
+ const i = Ut(r, o);
376
386
  q(i, e), n();
377
387
  }
378
388
  }
379
- function Yt(t, e) {
389
+ function Ut(t, e) {
380
390
  return t.replace(/src="(?!https?:)/g, 'src="' + e).replace(/href="(?!https?:)/g, 'href="' + e);
381
391
  }
382
392
  function q(t, e) {
383
393
  const n = e.contentWindow;
384
394
  n.document.open(), n.document.write(t), n.document.close();
385
395
  }
386
- class Lt {
387
- constructor(e, n, o, s) {
388
- this.config = e, this.adapter = n, this.onGotSidebar = o, this.sidebarContentWindow = s;
396
+ class zt {
397
+ constructor(e, n, o, A) {
398
+ this.config = e, this.adapter = n, this.onGotSidebar = o, this.sidebarContentWindow = A;
389
399
  }
390
400
  acrolinxSidebar;
391
401
  initSidebarOnPremise() {
@@ -396,14 +406,14 @@ class Lt {
396
406
  log: !!this.config.log
397
407
  },
398
408
  ...this.config,
399
- clientComponents: (this.config.clientComponents || Et).concat(kt)
409
+ clientComponents: (this.config.clientComponents || Rt).concat(Ft)
400
410
  });
401
411
  }
402
412
  getDefaultDocumentReference() {
403
413
  return this.config.getDocumentReference ? this.config.getDocumentReference() : window.location.href;
404
414
  }
405
415
  requestGlobalCheckSync(e, n = "HTML") {
406
- if (Ye(e))
416
+ if (Je(e))
407
417
  this.acrolinxSidebar.onGlobalCheckRejected(), window.alert(e.error);
408
418
  else {
409
419
  const o = this.acrolinxSidebar.checkGlobal(e.content, {
@@ -431,12 +441,12 @@ class Lt {
431
441
  console.log("onInitFinished: ", e), this.config.onInitFinished ? this.config.onInitFinished(e) : e.error && window.alert(e.error.message), this.adapter && this.adapter.onInitFinished && this.adapter.onInitFinished(e);
432
442
  }
433
443
  requestGlobalCheck(e = { selection: !1, batchCheck: !1 }) {
434
- const n = this.adapter, o = n.extractContentForCheck({ checkSelection: e.selection }), s = n.getFormat ? n.getFormat() : void 0;
435
- xe(o) ? o.then((r) => {
436
- this.requestGlobalCheckSync(r, s);
444
+ const n = this.adapter, o = n.extractContentForCheck({ checkSelection: e.selection }), A = n.getFormat ? n.getFormat() : void 0;
445
+ De(o) ? o.then((r) => {
446
+ this.requestGlobalCheckSync(r, A);
437
447
  }).catch((r) => {
438
448
  this.acrolinxSidebar.onGlobalCheckRejected(), console.error("Error while adapter.extractContentForCheck:", r);
439
- }) : this.requestGlobalCheckSync(o, s);
449
+ }) : this.requestGlobalCheckSync(o, A);
440
450
  }
441
451
  onCheckResult(e) {
442
452
  this.config.onCheckResult && this.config.onCheckResult(e), e.embedCheckInformation && this.config.onEmbedCheckData && this.config.onEmbedCheckData(e.embedCheckInformation, e.inputFormat || ""), e.error || this.adapter.registerCheckResult(e);
@@ -460,15 +470,15 @@ class Lt {
460
470
  }
461
471
  }
462
472
  handlePotentialPromiseError(e, n, o) {
463
- xe(e) && e.catch((s) => {
464
- this.handleRangeOperationError(s, n, o);
473
+ De(e) && e.catch((A) => {
474
+ this.handleRangeOperationError(A, n, o);
465
475
  });
466
476
  }
467
477
  handleRangeOperationError(e, n, o) {
468
478
  console.log(e), this.acrolinxSidebar.invalidateRanges(
469
- o.map((s) => ({
479
+ o.map((A) => ({
470
480
  checkId: n,
471
- range: s.range
481
+ range: A.range
472
482
  }))
473
483
  );
474
484
  }
@@ -482,32 +492,32 @@ class Lt {
482
492
  this.config.log && this.config.log(e);
483
493
  }
484
494
  }
485
- async function Jt(t, e, n) {
495
+ async function Vt(t, e, n) {
486
496
  const o = document.getElementById(t.sidebarContainerId);
487
497
  if (!o)
488
498
  throw new Error(
489
499
  `Acrolinx can't find an element with the configured sidebarContainerId "${t.sidebarContainerId}".`
490
500
  );
491
- const s = document.createElement("iframe");
492
- o.appendChild(s);
493
- const r = s.contentWindow, i = new Lt(
501
+ const A = document.createElement("iframe");
502
+ o.appendChild(A);
503
+ const r = A.contentWindow, i = new zt(
494
504
  t,
495
505
  e,
496
506
  n,
497
507
  r
498
508
  );
499
- function A() {
500
- a(), console.log("Install acrolinxPlugin in sidebar."), t.acrolinxStorage && (r.acrolinxStorage = t.acrolinxStorage), r.acrolinxPlugin = i;
509
+ function s() {
510
+ c(), console.log("Install acrolinxPlugin in sidebar."), t.acrolinxStorage && (r.acrolinxStorage = t.acrolinxStorage), r.acrolinxPlugin = i;
501
511
  }
502
- async function c() {
503
- console.log("Connect acrolinxPlugin in sidebar."), Wt(i, s), await Fe(t, s, a);
512
+ async function a() {
513
+ console.log("Connect acrolinxPlugin in sidebar."), Pt(i, A), await Ze(t, A, c);
504
514
  }
505
- function a() {
515
+ function c() {
506
516
  t.onSidebarWindowLoaded && t.onSidebarWindowLoaded(r);
507
517
  }
508
- return t.useMessageAdapter ? await c() : await Fe(t, s, A), i;
518
+ return t.useMessageAdapter ? await a() : await Ze(t, A, s), i;
509
519
  }
510
- class Ot {
520
+ class Xt {
511
521
  store = [];
512
522
  push(e) {
513
523
  this.store.push(e);
@@ -516,15 +526,15 @@ class Ot {
516
526
  return this.store.shift();
517
527
  }
518
528
  }
519
- class jt {
529
+ class qt {
520
530
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
521
- workTodo = new Ot();
531
+ workTodo = new Xt();
522
532
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
523
533
  currentWork;
524
534
  addWork(e) {
525
535
  const n = {
526
536
  work: e,
527
- deferred: new Rt()
537
+ deferred: new Qt()
528
538
  };
529
539
  return this.workTodo.push(n), this.currentWork || this.doRemainingWork(), n.deferred.promise;
530
540
  }
@@ -540,7 +550,7 @@ class jt {
540
550
  ));
541
551
  }
542
552
  }
543
- class Ut {
553
+ class _e {
544
554
  constructor(e) {
545
555
  this.adapter = e, e.getAutobindWrapperAttributes && (this.getAutobindWrapperAttributes = e.getAutobindWrapperAttributes.bind(e)), e.getFormat && (this.getFormat = e.getFormat.bind(e));
546
556
  }
@@ -548,7 +558,7 @@ class Ut {
548
558
  requiresSynchronization = !1;
549
559
  getAutobindWrapperAttributes;
550
560
  getFormat;
551
- workQueue = new jt();
561
+ workQueue = new qt();
552
562
  extractContentForCheck(e) {
553
563
  return this.adapter.extractContentForCheck(e);
554
564
  }
@@ -577,7 +587,7 @@ class pe {
577
587
  this.initConfig = e, this.config = {};
578
588
  }
579
589
  registerAdapter(e) {
580
- Ct(e) && e.requiresSynchronization ? this.adapter = new Ut(e) : this.adapter = e;
590
+ St(e) && e.requiresSynchronization ? this.adapter = new _e(e) : this.adapter = e;
581
591
  }
582
592
  configure(e) {
583
593
  this.config = { ...this.config, ...e }, this.internalPlugin && this.internalPlugin.acrolinxSidebar && this.internalPlugin.configureSidebar(this.config);
@@ -600,7 +610,7 @@ class pe {
600
610
  async init() {
601
611
  if (!this.adapter)
602
612
  throw new Error("Missing registered adapter. Please use registerAdapter before init.");
603
- this.internalPlugin = await Jt(this.initConfig, this.adapter, () => {
613
+ this.internalPlugin = await Vt(this.initConfig, this.adapter, () => {
604
614
  this.internalPlugin.configureSidebar(this.config);
605
615
  });
606
616
  }
@@ -613,15 +623,15 @@ class pe {
613
623
  o.src = "about:blank", setTimeout(() => {
614
624
  n.innerHTML = "", e();
615
625
  }, 0);
616
- } catch (s) {
617
- console.error(s), e();
626
+ } catch (A) {
627
+ console.error(A), e();
618
628
  }
619
629
  else
620
630
  e();
621
631
  }
622
632
  }
623
633
  }
624
- function zt(t) {
634
+ function _t(t) {
625
635
  const e = t.getSelection();
626
636
  if (!e)
627
637
  return [];
@@ -630,62 +640,62 @@ function zt(t) {
630
640
  n.push(e.getRangeAt(o));
631
641
  return n;
632
642
  }
633
- function Vt(t) {
634
- return t.ownerDocument ? zt(t.ownerDocument).filter(
635
- (n) => Xt(t, n.commonAncestorContainer) && n.toString().trim() !== ""
643
+ function $t(t) {
644
+ return t.ownerDocument ? _t(t.ownerDocument).filter(
645
+ (n) => en(t, n.commonAncestorContainer) && n.toString().trim() !== ""
636
646
  ) : [];
637
647
  }
638
- function Xt(t, e) {
648
+ function en(t, e) {
639
649
  return t === e || e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINS;
640
650
  }
641
- function Ze(t, e) {
651
+ function Me(t, e) {
642
652
  const n = [];
643
653
  let o = e;
644
654
  for (; o !== t; ) {
645
- const s = o.parentNode;
646
- if (!s)
655
+ const A = o.parentNode;
656
+ if (!A)
647
657
  break;
648
- const r = Array.prototype.indexOf.call(s.childNodes, o);
658
+ const r = Array.prototype.indexOf.call(A.childNodes, o);
649
659
  if (r === -1)
650
660
  break;
651
- n.push(r), o = s;
661
+ n.push(r), o = A;
652
662
  }
653
663
  return n.reverse(), n;
654
664
  }
655
- function Me(t, e) {
665
+ function We(t, e) {
656
666
  let n = t;
657
667
  for (const o of e) {
658
- const s = n.childNodes[o];
659
- if (!s)
668
+ const A = n.childNodes[o];
669
+ if (!A)
660
670
  return;
661
- n = s;
671
+ n = A;
662
672
  }
663
673
  return n;
664
674
  }
665
- const oe = "ACROOO_SELECTION_START", We = "ACROOO_SELECTION_END";
666
- function qt(t, e, n) {
675
+ const oe = "ACROOO_SELECTION_START", He = "ACROOO_SELECTION_END";
676
+ function tn(t, e, n) {
667
677
  const o = t.ownerDocument;
668
678
  if (!o)
669
679
  return;
670
- const s = Ze(t, e.startContainer), r = Ze(t, e.endContainer), i = t.cloneNode(!0), A = Me(i, s), c = Me(i, r);
671
- if (!A || !c)
680
+ const A = Me(t, e.startContainer), r = Me(t, e.endContainer), i = t.cloneNode(!0), s = We(i, A), a = We(i, r);
681
+ if (!s || !a)
672
682
  return;
673
- const a = o.createRange();
674
- a.setStart(A, e.startOffset), a.setEnd(c, e.endOffset), a.insertNode(o.createTextNode(oe)), a.collapse(!1), a.insertNode(o.createTextNode(We));
675
- const l = n(i), d = l.indexOf(oe), u = l.indexOf(We);
683
+ const c = o.createRange();
684
+ c.setStart(s, e.startOffset), c.setEnd(a, e.endOffset), c.insertNode(o.createTextNode(oe)), c.collapse(!1), c.insertNode(o.createTextNode(He));
685
+ const l = n(i), d = l.indexOf(oe), u = l.indexOf(He);
676
686
  if (!(d === -1 || u === -1))
677
687
  return [d, u - oe.length];
678
688
  }
679
- function _t(t) {
689
+ function nn(t) {
680
690
  return t.innerHTML;
681
691
  }
682
- function ne(t, e = _t) {
683
- return Vt(t).map((o) => qt(t, o, e)).filter((o) => !!o);
692
+ function ne(t, e = nn) {
693
+ return $t(t).map((o) => tn(t, o, e)).filter((o) => !!o);
684
694
  }
685
- function $t(t, e) {
695
+ function rn(t, e) {
686
696
  if (t.length === 0)
687
697
  return 0;
688
- const n = en(
698
+ const n = on(
689
699
  t,
690
700
  { diffOffset: 0, oldPosition: e + 0.1 },
691
701
  (o) => o.oldPosition
@@ -693,18 +703,18 @@ function $t(t, e) {
693
703
  return n > 0 ? t[n - 1].diffOffset : 0;
694
704
  }
695
705
  function G(t, e) {
696
- return e + $t(t, e);
706
+ return e + rn(t, e);
697
707
  }
698
- function en(t, e, n) {
699
- let o = 0, s = t.length;
700
- for (; o < s; ) {
701
- const r = Math.floor((o + s) / 2);
702
- n(t[r]) < n(e) ? o = r + 1 : s = r;
708
+ function on(t, e, n) {
709
+ let o = 0, A = t.length;
710
+ for (; o < A; ) {
711
+ const r = Math.floor((o + A) / 2);
712
+ n(t[r]) < n(e) ? o = r + 1 : A = r;
703
713
  }
704
714
  return o;
705
715
  }
706
716
  var ie;
707
- const tn = /* @__PURE__ */ new Map([
717
+ const An = /* @__PURE__ */ new Map([
708
718
  [0, 65533],
709
719
  // C1 Unicode control character reference replacements
710
720
  [128, 8364],
@@ -734,18 +744,18 @@ const tn = /* @__PURE__ */ new Map([
734
744
  [156, 339],
735
745
  [158, 382],
736
746
  [159, 376]
737
- ]), nn = (
747
+ ]), sn = (
738
748
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
739
- (ie = String.fromCodePoint) !== null && ie !== void 0 ? ie : (t) => {
749
+ (ie = String.fromCodePoint) !== null && ie !== void 0 ? ie : ((t) => {
740
750
  let e = "";
741
751
  return t > 65535 && (t -= 65536, e += String.fromCharCode(t >>> 10 & 1023 | 55296), t = 56320 | t & 1023), e += String.fromCharCode(t), e;
742
- }
752
+ })
743
753
  );
744
- function rn(t) {
754
+ function an(t) {
745
755
  var e;
746
- return t >= 55296 && t <= 57343 || t > 1114111 ? 65533 : (e = tn.get(t)) !== null && e !== void 0 ? e : t;
756
+ return t >= 55296 && t <= 57343 || t > 1114111 ? 65533 : (e = An.get(t)) !== null && e !== void 0 ? e : t;
747
757
  }
748
- function on(t) {
758
+ function cn(t) {
749
759
  const e = (
750
760
  // eslint-disable-next-line n/no-unsupported-features/node-builtins
751
761
  typeof atob == "function" ? (
@@ -764,13 +774,13 @@ function on(t) {
764
774
  )
765
775
  )
766
776
  ), n = e.length & -2, o = new Uint16Array(n / 2);
767
- for (let s = 0, r = 0; s < n; s += 2) {
768
- const i = e.charCodeAt(s), A = e.charCodeAt(s + 1);
769
- o[r++] = i | A << 8;
777
+ for (let A = 0, r = 0; A < n; A += 2) {
778
+ const i = e.charCodeAt(A), s = e.charCodeAt(A + 1);
779
+ o[r++] = i | s << 8;
770
780
  }
771
781
  return o;
772
782
  }
773
- const An = /* @__PURE__ */ on("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
783
+ const ln = /* @__PURE__ */ cn("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");
774
784
  var F;
775
785
  (function(t) {
776
786
  t[t.VALUE_LENGTH = 49152] = "VALUE_LENGTH", t[t.FLAG13 = 8192] = "FLAG13", t[t.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", t[t.JUMP_TABLE = 127] = "JUMP_TABLE";
@@ -779,18 +789,18 @@ var B;
779
789
  (function(t) {
780
790
  t[t.NUM = 35] = "NUM", t[t.SEMI = 59] = "SEMI", t[t.EQUALS = 61] = "EQUALS", t[t.ZERO = 48] = "ZERO", t[t.NINE = 57] = "NINE", t[t.LOWER_A = 97] = "LOWER_A", t[t.LOWER_F = 102] = "LOWER_F", t[t.LOWER_X = 120] = "LOWER_X", t[t.LOWER_Z = 122] = "LOWER_Z", t[t.UPPER_A = 65] = "UPPER_A", t[t.UPPER_F = 70] = "UPPER_F", t[t.UPPER_Z = 90] = "UPPER_Z";
781
791
  })(B || (B = {}));
782
- const He = 32;
792
+ const Qe = 32;
783
793
  function le(t) {
784
794
  return t >= B.ZERO && t <= B.NINE;
785
795
  }
786
- function sn(t) {
796
+ function dn(t) {
787
797
  return t >= B.UPPER_A && t <= B.UPPER_F || t >= B.LOWER_A && t <= B.LOWER_F;
788
798
  }
789
- function an(t) {
799
+ function un(t) {
790
800
  return t >= B.UPPER_A && t <= B.UPPER_Z || t >= B.LOWER_A && t <= B.LOWER_Z || le(t);
791
801
  }
792
- function cn(t) {
793
- return t === B.EQUALS || an(t);
802
+ function gn(t) {
803
+ return t === B.EQUALS || un(t);
794
804
  }
795
805
  var D;
796
806
  (function(t) {
@@ -800,13 +810,13 @@ var K;
800
810
  (function(t) {
801
811
  t[t.Legacy = 0] = "Legacy", t[t.Strict = 1] = "Strict", t[t.Attribute = 2] = "Attribute";
802
812
  })(K || (K = {}));
803
- class ln {
813
+ class hn {
804
814
  constructor(e, n, o) {
805
- this.decodeTree = e, this.emitCodePoint = n, this.errors = o, this.state = D.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = K.Strict;
815
+ this.decodeTree = e, this.emitCodePoint = n, this.errors = o, this.state = D.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = K.Strict, this.runConsumed = 0;
806
816
  }
807
817
  /** Resets the instance to make it reusable. */
808
818
  startEntity(e) {
809
- this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1;
819
+ this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
810
820
  }
811
821
  /**
812
822
  * Write an entity to the decoder. This can be called multiple times with partial entities.
@@ -843,7 +853,7 @@ class ln {
843
853
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
844
854
  */
845
855
  stateNumericStart(e, n) {
846
- return n >= e.length ? -1 : (e.charCodeAt(n) | He) === B.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, n + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, n));
856
+ return n >= e.length ? -1 : (e.charCodeAt(n) | Qe) === B.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, n + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, n));
847
857
  }
848
858
  /**
849
859
  * Parses a hexadecimal numeric entity.
@@ -857,9 +867,9 @@ class ln {
857
867
  stateNumericHex(e, n) {
858
868
  for (; n < e.length; ) {
859
869
  const o = e.charCodeAt(n);
860
- if (le(o) || sn(o)) {
861
- const s = o <= B.NINE ? o - B.ZERO : (o | He) - B.LOWER_A + 10;
862
- this.result = this.result * 16 + s, this.consumed++, n++;
870
+ if (le(o) || dn(o)) {
871
+ const A = o <= B.NINE ? o - B.ZERO : (o | Qe) - B.LOWER_A + 10;
872
+ this.result = this.result * 16 + A, this.consumed++, n++;
863
873
  } else
864
874
  return this.emitNumericEntity(o, 3);
865
875
  }
@@ -905,7 +915,7 @@ class ln {
905
915
  this.consumed += 1;
906
916
  else if (this.decodeMode === K.Strict)
907
917
  return 0;
908
- return this.emitCodePoint(rn(this.result), this.consumed), this.errors && (e !== B.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
918
+ return this.emitCodePoint(an(this.result), this.consumed), this.errors && (e !== B.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
909
919
  }
910
920
  /**
911
921
  * Parses a named entity.
@@ -918,44 +928,40 @@ class ln {
918
928
  */
919
929
  stateNamedEntity(e, n) {
920
930
  const { decodeTree: o } = this;
921
- let s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14;
931
+ let A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14;
922
932
  for (; n < e.length; ) {
923
- if (r === 0 && (s & F.FLAG13) !== 0) {
924
- const A = (s & F.BRANCH_LENGTH) >> 7, c = s & F.JUMP_TABLE;
925
- if (n + A > e.length)
926
- return -1;
927
- if (e.charCodeAt(n) !== c)
928
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
929
- n++, this.excess++;
930
- const a = A - 1;
931
- for (let l = 1; l < A; l += 2) {
932
- const d = o[this.treeIndex + 1 + (l - 1 >> 1)], u = d & 255;
933
- if (e.charCodeAt(n) !== u)
933
+ if (r === 0 && (A & F.FLAG13) !== 0) {
934
+ const s = (A & F.BRANCH_LENGTH) >> 7;
935
+ if (this.runConsumed === 0) {
936
+ const a = A & F.JUMP_TABLE;
937
+ if (e.charCodeAt(n) !== a)
934
938
  return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
935
- n++, this.excess++;
936
- const g = d >> 8 & 255;
937
- if (l + 1 < A) {
938
- if (e.charCodeAt(n) !== g)
939
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
940
- n++, this.excess++;
941
- }
939
+ n++, this.excess++, this.runConsumed++;
940
+ }
941
+ for (; this.runConsumed < s; ) {
942
+ if (n >= e.length)
943
+ return -1;
944
+ const a = this.runConsumed - 1, c = o[this.treeIndex + 1 + (a >> 1)], l = a % 2 === 0 ? c & 255 : c >> 8 & 255;
945
+ if (e.charCodeAt(n) !== l)
946
+ return this.runConsumed = 0, this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
947
+ n++, this.excess++, this.runConsumed++;
942
948
  }
943
- this.treeIndex += 1 + (a + 1 >> 1), s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14;
949
+ this.runConsumed = 0, this.treeIndex += 1 + (s >> 1), A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14;
944
950
  }
945
951
  if (n >= e.length)
946
952
  break;
947
953
  const i = e.charCodeAt(n);
948
- if (i === B.SEMI && r !== 0 && (s & F.FLAG13) !== 0)
954
+ if (i === B.SEMI && r !== 0 && (A & F.FLAG13) !== 0)
949
955
  return this.emitNamedEntityData(this.treeIndex, r, this.consumed + this.excess);
950
- if (this.treeIndex = un(o, s, this.treeIndex + Math.max(1, r), i), this.treeIndex < 0)
956
+ if (this.treeIndex = pn(o, A, this.treeIndex + Math.max(1, r), i), this.treeIndex < 0)
951
957
  return this.result === 0 || // If we are parsing an attribute
952
958
  this.decodeMode === K.Attribute && // We shouldn't have consumed any characters after the entity,
953
959
  (r === 0 || // And there should be no invalid characters.
954
- cn(i)) ? 0 : this.emitNotTerminatedNamedEntity();
955
- if (s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14, r !== 0) {
960
+ gn(i)) ? 0 : this.emitNotTerminatedNamedEntity();
961
+ if (A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14, r !== 0) {
956
962
  if (i === B.SEMI)
957
963
  return this.emitNamedEntityData(this.treeIndex, r, this.consumed + this.excess);
958
- this.decodeMode !== K.Strict && (s & F.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
964
+ this.decodeMode !== K.Strict && (A & F.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
959
965
  }
960
966
  n++, this.excess++;
961
967
  }
@@ -968,8 +974,8 @@ class ln {
968
974
  */
969
975
  emitNotTerminatedNamedEntity() {
970
976
  var e;
971
- const { result: n, decodeTree: o } = this, s = (o[n] & F.VALUE_LENGTH) >> 14;
972
- return this.emitNamedEntityData(n, s, this.consumed), (e = this.errors) === null || e === void 0 || e.missingSemicolonAfterCharacterReference(), this.consumed;
977
+ const { result: n, decodeTree: o } = this, A = (o[n] & F.VALUE_LENGTH) >> 14;
978
+ return this.emitNamedEntityData(n, A, this.consumed), (e = this.errors) === null || e === void 0 || e.missingSemicolonAfterCharacterReference(), this.consumed;
973
979
  }
974
980
  /**
975
981
  * Emit a named entity.
@@ -981,8 +987,8 @@ class ln {
981
987
  * @returns The number of characters consumed.
982
988
  */
983
989
  emitNamedEntityData(e, n, o) {
984
- const { decodeTree: s } = this;
985
- return this.emitCodePoint(n === 1 ? s[e] & ~(F.VALUE_LENGTH | F.FLAG13) : s[e + 1], o), n === 3 && this.emitCodePoint(s[e + 2], o), o;
990
+ const { decodeTree: A } = this;
991
+ return this.emitCodePoint(n === 1 ? A[e] & ~(F.VALUE_LENGTH | F.FLAG13) : A[e + 1], o), n === 3 && this.emitCodePoint(A[e + 2], o), o;
986
992
  }
987
993
  /**
988
994
  * Signal to the parser that the end of the input was reached.
@@ -1008,132 +1014,132 @@ class ln {
1008
1014
  }
1009
1015
  }
1010
1016
  }
1011
- function dn(t) {
1017
+ function fn(t) {
1012
1018
  let e = "";
1013
- const n = new ln(t, (o) => e += nn(o));
1014
- return function(s, r) {
1015
- let i = 0, A = 0;
1016
- for (; (A = s.indexOf("&", A)) >= 0; ) {
1017
- e += s.slice(i, A), n.startEntity(r);
1018
- const a = n.write(
1019
- s,
1019
+ const n = new hn(t, (o) => e += sn(o));
1020
+ return function(A, r) {
1021
+ let i = 0, s = 0;
1022
+ for (; (s = A.indexOf("&", s)) >= 0; ) {
1023
+ e += A.slice(i, s), n.startEntity(r);
1024
+ const c = n.write(
1025
+ A,
1020
1026
  // Skip the "&"
1021
- A + 1
1027
+ s + 1
1022
1028
  );
1023
- if (a < 0) {
1024
- i = A + n.end();
1029
+ if (c < 0) {
1030
+ i = s + n.end();
1025
1031
  break;
1026
1032
  }
1027
- i = A + a, A = a === 0 ? i + 1 : i;
1033
+ i = s + c, s = c === 0 ? i + 1 : i;
1028
1034
  }
1029
- const c = e + s.slice(i);
1030
- return e = "", c;
1035
+ const a = e + A.slice(i);
1036
+ return e = "", a;
1031
1037
  };
1032
1038
  }
1033
- function un(t, e, n, o) {
1034
- const s = (e & F.BRANCH_LENGTH) >> 7, r = e & F.JUMP_TABLE;
1035
- if (s === 0)
1039
+ function pn(t, e, n, o) {
1040
+ const A = (e & F.BRANCH_LENGTH) >> 7, r = e & F.JUMP_TABLE;
1041
+ if (A === 0)
1036
1042
  return r !== 0 && o === r ? n : -1;
1037
1043
  if (r) {
1038
- const a = o - r;
1039
- return a < 0 || a >= s ? -1 : t[n + a] - 1;
1044
+ const c = o - r;
1045
+ return c < 0 || c >= A ? -1 : t[n + c] - 1;
1040
1046
  }
1041
- const i = s + 1 >> 1;
1042
- let A = 0, c = s - 1;
1043
- for (; A <= c; ) {
1044
- const a = A + c >>> 1, l = a >> 1, u = t[n + l] >> (a & 1) * 8 & 255;
1047
+ const i = A + 1 >> 1;
1048
+ let s = 0, a = A - 1;
1049
+ for (; s <= a; ) {
1050
+ const c = s + a >>> 1, l = c >> 1, u = t[n + l] >> (c & 1) * 8 & 255;
1045
1051
  if (u < o)
1046
- A = a + 1;
1052
+ s = c + 1;
1047
1053
  else if (u > o)
1048
- c = a - 1;
1054
+ a = c - 1;
1049
1055
  else
1050
- return t[n + i + a];
1056
+ return t[n + i + c];
1051
1057
  }
1052
1058
  return -1;
1053
1059
  }
1054
- const gn = /* @__PURE__ */ dn(An);
1055
- function hn(t) {
1056
- return gn(t, K.Strict);
1060
+ const mn = /* @__PURE__ */ fn(ln);
1061
+ function bn(t) {
1062
+ return mn(t, K.Strict);
1057
1063
  }
1058
- const Ve = /* @__PURE__ */ new Map([
1064
+ const $e = /* @__PURE__ */ new Map([
1059
1065
  [34, "&quot;"],
1060
1066
  [38, "&amp;"],
1061
1067
  [39, "&apos;"],
1062
1068
  [60, "&lt;"],
1063
1069
  [62, "&gt;"]
1064
- ]), Xe = (
1070
+ ]), et = (
1065
1071
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
1066
1072
  String.prototype.codePointAt == null ? (t, e) => (t.charCodeAt(e) & 64512) === 55296 ? (t.charCodeAt(e) - 55296) * 1024 + t.charCodeAt(e + 1) - 56320 + 65536 : t.charCodeAt(e) : (
1067
1073
  // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
1068
1074
  (t, e) => t.codePointAt(e)
1069
1075
  )
1070
- ), qe = 1342177476;
1071
- function Qe(t) {
1076
+ ), tt = 1342177476;
1077
+ function Ke(t) {
1072
1078
  let e, n = 0;
1073
1079
  const { length: o } = t;
1074
- for (let s = 0; s < o; s++) {
1075
- const r = t.charCodeAt(s);
1076
- if (r < 128 && ((qe >>> r & 1) === 0 || r >= 64 || r < 32))
1080
+ for (let A = 0; A < o; A++) {
1081
+ const r = t.charCodeAt(A);
1082
+ if (r < 128 && ((tt >>> r & 1) === 0 || r >= 64 || r < 32))
1077
1083
  continue;
1078
- if (e === void 0 ? e = t.substring(0, s) : n !== s && (e += t.substring(n, s)), r < 64) {
1079
- e += Ve.get(r), n = s + 1;
1084
+ if (e === void 0 ? e = t.substring(0, A) : n !== A && (e += t.substring(n, A)), r < 64) {
1085
+ e += $e.get(r), n = A + 1;
1080
1086
  continue;
1081
1087
  }
1082
- const i = Xe(t, s);
1083
- e += `&#x${i.toString(16)};`, i !== r && s++, n = s + 1;
1088
+ const i = et(t, A);
1089
+ e += `&#x${i.toString(16)};`, i !== r && A++, n = A + 1;
1084
1090
  }
1085
1091
  return e === void 0 ? t : (n < o && (e += t.substr(n)), e);
1086
1092
  }
1087
1093
  function me(t, e) {
1088
1094
  return function(o) {
1089
- let s, r = 0, i = "";
1090
- for (; s = t.exec(o); )
1091
- r !== s.index && (i += o.substring(r, s.index)), i += e.get(s[0].charCodeAt(0)), r = s.index + 1;
1095
+ let A, r = 0, i = "";
1096
+ for (; A = t.exec(o); )
1097
+ r !== A.index && (i += o.substring(r, A.index)), i += e.get(A[0].charCodeAt(0)), r = A.index + 1;
1092
1098
  return i + o.substring(r);
1093
1099
  };
1094
1100
  }
1095
- const fn = /* @__PURE__ */ me(/["&'<>]/g, Ve), pn = /* @__PURE__ */ me(/["&\u00A0]/g, /* @__PURE__ */ new Map([
1101
+ const vn = /* @__PURE__ */ me(/["&'<>]/g, $e), In = /* @__PURE__ */ me(/["&\u00A0]/g, /* @__PURE__ */ new Map([
1096
1102
  [34, "&quot;"],
1097
1103
  [38, "&amp;"],
1098
1104
  [160, "&nbsp;"]
1099
- ])), mn = /* @__PURE__ */ me(/[&<>\u00A0]/g, /* @__PURE__ */ new Map([
1105
+ ])), Cn = /* @__PURE__ */ me(/[&<>\u00A0]/g, /* @__PURE__ */ new Map([
1100
1106
  [38, "&amp;"],
1101
1107
  [60, "&lt;"],
1102
1108
  [62, "&gt;"],
1103
1109
  [160, "&nbsp;"]
1104
1110
  ]));
1105
- function bn(t) {
1111
+ function wn(t) {
1106
1112
  const e = /* @__PURE__ */ new Map(), n = t.length;
1107
- let o = 0, s = -1;
1113
+ let o = 0, A = -1;
1108
1114
  function r() {
1109
- const A = o;
1115
+ const s = o;
1110
1116
  for (; o < n; ) {
1111
- const c = t.charAt(o);
1112
- if ((c < "0" || c > "9") && (c < "a" || c > "z"))
1117
+ const a = t.charAt(o);
1118
+ if ((a < "0" || a > "9") && (a < "a" || a > "z"))
1113
1119
  break;
1114
1120
  o++;
1115
1121
  }
1116
- return o === A ? 0 : Number.parseInt(t.slice(A, o), 36);
1122
+ return o === s ? 0 : Number.parseInt(t.slice(s, o), 36);
1117
1123
  }
1118
1124
  function i() {
1119
1125
  if (t[o] !== "&")
1120
1126
  throw new Error(`Child entry missing value near index ${o}`);
1121
- const A = o, c = t.indexOf(";", o + 1);
1122
- if (c === -1)
1123
- throw new Error(`Unterminated entity starting at index ${A}`);
1124
- return o = c + 1, t.slice(A, o);
1127
+ const s = o, a = t.indexOf(";", o + 1);
1128
+ if (a === -1)
1129
+ throw new Error(`Unterminated entity starting at index ${s}`);
1130
+ return o = a + 1, t.slice(s, o);
1125
1131
  }
1126
1132
  for (; o < n; ) {
1127
- const A = r(), c = s === -1 ? A : s + A + 1;
1128
- let a;
1129
- if (t[o] === "&" && (a = i()), t[o] === "{") {
1133
+ const s = r(), a = A === -1 ? s : A + s + 1;
1134
+ let c;
1135
+ if (t[o] === "&" && (c = i()), t[o] === "{") {
1130
1136
  o++;
1131
1137
  let l = r(), d = l;
1132
1138
  const u = i();
1133
1139
  if (t[o] === "{")
1134
1140
  throw new Error("Unexpected nested '{' beyond depth 2");
1135
1141
  if (t[o] === "}")
1136
- e.set(c, { value: a, next: d, nextValue: u }), o++;
1142
+ e.set(a, { value: c, next: d, nextValue: u }), o++;
1137
1143
  else {
1138
1144
  const g = /* @__PURE__ */ new Map();
1139
1145
  g.set(d, u);
@@ -1147,18 +1153,18 @@ function bn(t) {
1147
1153
  }
1148
1154
  if (t[o] !== "}")
1149
1155
  throw new Error("Unterminated child block");
1150
- o++, e.set(c, { value: a, next: g });
1156
+ o++, e.set(a, { value: c, next: g });
1151
1157
  }
1152
1158
  } else {
1153
- if (a === void 0)
1159
+ if (c === void 0)
1154
1160
  throw new Error(`Malformed encode trie: missing value at index ${o}`);
1155
- e.set(c, a);
1161
+ e.set(a, c);
1156
1162
  }
1157
- s = c;
1163
+ A = a;
1158
1164
  }
1159
1165
  return e;
1160
1166
  }
1161
- const vn = /* @__PURE__ */ bn("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;&amp;&apos;&lpar;&rpar;&ast;&plus;&comma;1&period;&sol;a&colon;&semi;&lt;{6he&nvlt;}&equals;{6hx&bne;}&gt;{6he&nvgt;}&quest;&commat;q&lbrack;&bsol;&rbrack;&Hat;&lowbar;&DiacriticalGrave;5{2y&fjlig;}k&lbrace;&verbar;&rbrace;y&nbsp;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&die;&copy;&ordf;&laquo;&not;&shy;&circledR;&macr;&deg;&PlusMinus;&sup2;&sup3;&acute;&micro;&para;&centerdot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&angst;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&div;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&Amacr;&amacr;&Abreve;&abreve;&Aogon;&aogon;&Cacute;&cacute;&Ccirc;&ccirc;&Cdot;&cdot;&Ccaron;&ccaron;&Dcaron;&dcaron;&Dstrok;&dstrok;&Emacr;&emacr;2&Edot;&edot;&Eogon;&eogon;&Ecaron;&ecaron;&Gcirc;&gcirc;&Gbreve;&gbreve;&Gdot;&gdot;&Gcedil;1&Hcirc;&hcirc;&Hstrok;&hstrok;&Itilde;&itilde;&Imacr;&imacr;2&Iogon;&iogon;&Idot;&imath;&IJlig;&ijlig;&Jcirc;&jcirc;&Kcedil;&kcedil;&kgreen;&Lacute;&lacute;&Lcedil;&lcedil;&Lcaron;&lcaron;&Lmidot;&lmidot;&Lstrok;&lstrok;&Nacute;&nacute;&Ncedil;&ncedil;&Ncaron;&ncaron;&napos;&ENG;&eng;&Omacr;&omacr;2&Odblac;&odblac;&OElig;&oelig;&Racute;&racute;&Rcedil;&rcedil;&Rcaron;&rcaron;&Sacute;&sacute;&Scirc;&scirc;&Scedil;&scedil;&Scaron;&scaron;&Tcedil;&tcedil;&Tcaron;&tcaron;&Tstrok;&tstrok;&Utilde;&utilde;&Umacr;&umacr;&Ubreve;&ubreve;&Uring;&uring;&Udblac;&udblac;&Uogon;&uogon;&Wcirc;&wcirc;&Ycirc;&ycirc;&Yuml;&Zacute;&zacute;&Zdot;&zdot;&Zcaron;&zcaron;j&fnof;y&imped;1r&gacute;1t&jmath;3y&circ;&caron;g&breve;&DiacriticalDot;&ring;&ogon;&DiacriticalTilde;&dblac;1f&DownBreve;3j&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;1&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&ohm;7&alpha;&beta;&gamma;&delta;&epsi;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsi;&phi;&chi;&psi;&omega;7&thetasym;&Upsi;2&phiv;&piv;5&Gammad;&digamma;i&kappav;&rhov;3&epsiv;&backepsilon;a&IOcy;&DJcy;&GJcy;&Jukcy;&DScy;&Iukcy;&YIcy;&Jsercy;&LJcy;&NJcy;&TSHcy;&KJcy;1&Ubrcy;&DZcy;&Acy;&Bcy;&Vcy;&Gcy;&Dcy;&IEcy;&ZHcy;&Zcy;&Icy;&Jcy;&Kcy;&Lcy;&Mcy;&Ncy;&Ocy;&Pcy;&Rcy;&Scy;&Tcy;&Ucy;&Fcy;&KHcy;&TScy;&CHcy;&SHcy;&SHCHcy;&HARDcy;&Ycy;&SOFTcy;&Ecy;&YUcy;&YAcy;&acy;&bcy;&vcy;&gcy;&dcy;&iecy;&zhcy;&zcy;&icy;&jcy;&kcy;&lcy;&mcy;&ncy;&ocy;&pcy;&rcy;&scy;&tcy;&ucy;&fcy;&khcy;&tscy;&chcy;&shcy;&shchcy;&hardcy;&ycy;&softcy;&ecy;&yucy;&yacy;1&iocy;&djcy;&gjcy;&jukcy;&dscy;&iukcy;&yicy;&jsercy;&ljcy;&njcy;&tshcy;&kjcy;1&ubrcy;&dzcy;5gi&ensp;&emsp;&emsp13;&emsp14;1&numsp;&puncsp;&ThinSpace;&hairsp;&NegativeMediumSpace;&zwnj;&zwj;&lrm;&rlm;&dash;2&ndash;&mdash;&horbar;&Verbar;1&lsquo;&CloseCurlyQuote;&lsquor;1&ldquo;&CloseCurlyDoubleQuote;&bdquo;1&dagger;&Dagger;&bull;2&nldr;&hellip;9&permil;&pertenk;&prime;&Prime;&tprime;&backprime;3&lsaquo;&rsaquo;3&oline;2&caret;1&hybull;&frasl;a&bsemi;7&qprime;7&MediumSpace;{6bu&ThickSpace;}&NoBreak;&af;&InvisibleTimes;&ic;20&euro;1a&tdot;&DotDot;11&complexes;2&incare;4&gscr;&hamilt;&Hfr;&Hopf;&planckh;&hbar;&imagline;&Ifr;&lagran;&ell;1&naturals;&numero;&copysr;&weierp;&Popf;&Qopf;&realine;&real;&reals;&rx;3&trade;1&integers;2&mho;&zeetrf;&iiota;2&bernou;&Cayleys;1&escr;&Escr;&Fouriertrf;1&Mellintrf;&order;&alefsym;&beth;&gimel;&daleth;c&CapitalDifferentialD;&dd;&ee;&ii;a&frac13;&frac23;&frac15;&frac25;&frac35;&frac45;&frac16;&frac56;&frac18;&frac38;&frac58;&frac78;1d&larr;&ShortUpArrow;&rarr;&darr;&harr;&updownarrow;&nwarr;&nearr;&LowerRightArrow;&LowerLeftArrow;&nlarr;&nrarr;1&rarrw;{mw&nrarrw;}&Larr;&Uarr;&Rarr;&Darr;&larrtl;&rarrtl;&LeftTeeArrow;&mapstoup;&map;&DownTeeArrow;1&hookleftarrow;&hookrightarrow;&larrlp;&looparrowright;&harrw;&nharr;1&lsh;&rsh;&ldsh;&rdsh;1&crarr;&cularr;&curarr;2&circlearrowleft;&circlearrowright;&leftharpoonup;&DownLeftVector;&RightUpVector;&LeftUpVector;&rharu;&DownRightVector;&dharr;&dharl;&RightArrowLeftArrow;&udarr;&LeftArrowRightArrow;&leftleftarrows;&upuparrows;&rightrightarrows;&ddarr;&leftrightharpoons;&Equilibrium;&nlArr;&nhArr;&nrArr;&DoubleLeftArrow;&DoubleUpArrow;&DoubleRightArrow;&dArr;&DoubleLeftRightArrow;&DoubleUpDownArrow;&nwArr;&neArr;&seArr;&swArr;&lAarr;&rAarr;1&zigrarr;6&larrb;&rarrb;f&DownArrowUpArrow;7&loarr;&roarr;&hoarr;&forall;&comp;&part;{mw&npart;}&exist;&nexist;&empty;1&Del;&Element;&NotElement;1&ni;&notni;2&prod;&coprod;&sum;&minus;&MinusPlus;&dotplus;1&Backslash;&lowast;&compfn;1&radic;2&prop;&infin;&angrt;&ang;{6he&nang;}&angmsd;&angsph;&mid;&nmid;&DoubleVerticalBar;&NotDoubleVerticalBar;&and;&or;&cap;{1e68&caps;}&cup;{1e68&cups;}&int;&Int;&iiint;&conint;&Conint;&Cconint;&cwint;&ClockwiseContourIntegral;&awconint;&there4;&becaus;&ratio;&Colon;&dotminus;1&mDDot;&homtht;&sim;{6he&nvsim;}&backsim;{mp&race;}&ac;{mr&acE;}&acd;&VerticalTilde;&NotTilde;&eqsim;{mw&nesim;}&sime;&NotTildeEqual;&cong;&simne;&ncong;&ap;&nap;&ape;&apid;{mw&napid;}&backcong;&asympeq;{6he&nvap;}&bump;{mw&nbump;}&bumpe;{mw&nbumpe;}&doteq;{mw&nedot;}&doteqdot;&efDot;&erDot;&Assign;&ecolon;&ecir;&circeq;1&wedgeq;&veeeq;1&triangleq;2&equest;&ne;&Congruent;{6hx&bnequiv;}&nequiv;1&le;{6he&nvle;}&ge;{6he&nvge;}&lE;{mw&nlE;}&gE;{mw&ngE;}&lnE;{1e68&lvertneqq;}&gnE;{1e68&gvertneqq;}&ll;{mw&nLtv;5uh&nLt;}&gg;{mw&nGtv;5uh&nGt;}&between;&NotCupCap;&nless;&ngt;&nle;&nge;&lesssim;&GreaterTilde;&nlsim;&ngsim;&LessGreater;&gl;&NotLessGreater;&NotGreaterLess;&pr;&sc;&prcue;&sccue;&PrecedesTilde;&scsim;{mw&NotSucceedsTilde;}&NotPrecedes;&NotSucceeds;&sub;{6he&NotSubset;}&sup;{6he&NotSuperset;}&nsub;&nsup;&sube;&supe;&NotSubsetEqual;&NotSupersetEqual;&subne;{1e68&varsubsetneq;}&supne;{1e68&varsupsetneq;}1&cupdot;&UnionPlus;&sqsub;{mw&NotSquareSubset;}&sqsup;{mw&NotSquareSuperset;}&sqsube;&sqsupe;&sqcap;{1e68&sqcaps;}&sqcup;{1e68&sqcups;}&CirclePlus;&CircleMinus;&CircleTimes;&osol;&CircleDot;&circledcirc;&circledast;1&circleddash;&boxplus;&boxminus;&boxtimes;&dotsquare;&RightTee;&dashv;&DownTee;&bot;1&models;&DoubleRightTee;&Vdash;&Vvdash;&VDash;&nvdash;&nvDash;&nVdash;&nVDash;&prurel;1&LeftTriangle;&RightTriangle;&LeftTriangleEqual;{6he&nvltrie;}&RightTriangleEqual;{6he&nvrtrie;}&origof;&imof;&multimap;&hercon;&intcal;&veebar;1&barvee;&angrtvb;&lrtri;&bigwedge;&bigvee;&bigcap;&bigcup;&diam;&sdot;&sstarf;&divideontimes;&bowtie;&ltimes;&rtimes;&leftthreetimes;&rightthreetimes;&backsimeq;&curlyvee;&curlywedge;&Sub;&Sup;&Cap;&Cup;&fork;&epar;&lessdot;&gtdot;&Ll;{mw&nLl;}&Gg;{mw&nGg;}&leg;{1e68&lesg;}&gel;{1e68&gesl;}2&cuepr;&cuesc;&NotPrecedesSlantEqual;&NotSucceedsSlantEqual;&NotSquareSubsetEqual;&NotSquareSupersetEqual;2&lnsim;&gnsim;&precnsim;&scnsim;&nltri;&NotRightTriangle;&nltrie;&NotRightTriangleEqual;&vellip;&ctdot;&utdot;&dtdot;&disin;&isinsv;&isins;&isindot;{mw&notindot;}&notinvc;&notinvb;1&isinE;{mw&notinE;}&nisd;&xnis;&nis;&notnivc;&notnivb;6&barwed;&Barwed;1&lceil;&rceil;&LeftFloor;&rfloor;&drcrop;&dlcrop;&urcrop;&ulcrop;&bnot;1&profline;&profsurf;1&telrec;&target;5&ulcorn;&urcorn;&dlcorn;&drcorn;2&frown;&smile;9&cylcty;&profalar;7&topbot;6&ovbar;1&solbar;1o&angzarr;1f&lmoustache;&rmoustache;2&OverBracket;&bbrk;&bbrktbrk;11&OverParenthesis;&UnderParenthesis;&OverBrace;&UnderBrace;2&trpezium;4&elinters;1n&blank;4k&circledS;1j&boxh;1&boxv;9&boxdr;3&boxdl;3&boxur;3&boxul;3&boxvr;7&boxvl;7&boxhd;7&boxhu;7&boxvh;j&boxH;&boxV;&boxdR;&boxDr;&boxDR;&boxdL;&boxDl;&boxDL;&boxuR;&boxUr;&boxUR;&boxuL;&boxUl;&boxUL;&boxvR;&boxVr;&boxVR;&boxvL;&boxVl;&boxVL;&boxHd;&boxhD;&boxHD;&boxHu;&boxhU;&boxHU;&boxvH;&boxVh;&boxVH;j&uhblk;3&lhblk;3&block;8&blk14;&blk12;&blk34;d&square;8&blacksquare;&EmptyVerySmallSquare;1&rect;&marker;2&fltns;1&bigtriangleup;&blacktriangle;&triangle;2&blacktriangleright;&rtri;3&bigtriangledown;&blacktriangledown;&dtri;2&blacktriangleleft;&ltri;6&loz;&cir;w&tridot;2&bigcirc;8&ultri;&urtri;&lltri;&EmptySmallSquare;&FilledSmallSquare;8&bigstar;&star;7&phone;1d&female;1&male;t&spades;2&clubs;1&hearts;&diamondsuit;3&sung;2&flat;&natural;&sharp;4j&check;3&cross;8&malt;l&sext;x&VerticalSeparator;p&lbbrk;&rbbrk;2c&bsolhsub;&suphsol;s&LeftDoubleBracket;&RightDoubleBracket;&lang;&rang;&Lang;&Rang;&loang;&roang;7&longleftarrow;&longrightarrow;&longleftrightarrow;&DoubleLongLeftArrow;&DoubleLongRightArrow;&DoubleLongLeftRightArrow;1&longmapsto;2&dzigrarr;76&nvlArr;&nvrArr;&nvHarr;&Map;6&lbarr;&bkarow;&lBarr;&dbkarow;&drbkarow;&DDotrahd;&UpArrowBar;&DownArrowBar;2&Rarrtl;2&latail;&ratail;&lAtail;&rAtail;&larrfs;&rarrfs;&larrbfs;&rarrbfs;2&nwarhk;&nearhk;&hksearow;&hkswarow;&nwnear;&nesear;&seswar;&swnwar;8&rarrc;{mw&nrarrc;}1&cudarrr;&ldca;&rdca;&cudarrl;&larrpl;2&curarrm;&cularrp;7&rarrpl;2&harrcir;&Uarrocir;&lurdshar;&ldrushar;2&LeftRightVector;&RightUpDownVector;&DownLeftRightVector;&LeftUpDownVector;&LeftVectorBar;&RightVectorBar;&RightUpVectorBar;&RightDownVectorBar;&DownLeftVectorBar;&DownRightVectorBar;&LeftUpVectorBar;&LeftDownVectorBar;&LeftTeeVector;&RightTeeVector;&RightUpTeeVector;&RightDownTeeVector;&DownLeftTeeVector;&DownRightTeeVector;&LeftUpTeeVector;&LeftDownTeeVector;&lHar;&uHar;&rHar;&dHar;&luruhar;&ldrdhar;&ruluhar;&rdldhar;&lharul;&llhard;&rharul;&lrhard;&udhar;&duhar;&RoundImplies;&erarr;&simrarr;&larrsim;&rarrsim;&rarrap;&ltlarr;1&gtrarr;&subrarr;1&suplarr;&lfisht;&rfisht;&ufisht;&dfisht;5&lopar;&ropar;4&lbrke;&rbrke;&lbrkslu;&rbrksld;&lbrksld;&rbrkslu;&langd;&rangd;&lparlt;&rpargt;&gtlPar;&ltrPar;3&vzigzag;1&vangrt;&angrtvbd;6&ange;&range;&dwangle;&uwangle;&angmsdaa;&angmsdab;&angmsdac;&angmsdad;&angmsdae;&angmsdaf;&angmsdag;&angmsdah;&bemptyv;&demptyv;&cemptyv;&raemptyv;&laemptyv;&ohbar;&omid;&opar;1&operp;1&olcross;&odsold;1&olcir;&ofcir;&olt;&ogt;&cirscir;&cirE;&solb;&bsolb;3&boxbox;3&trisb;&rtriltri;&LeftTriangleBar;{mw&NotLeftTriangleBar;}&RightTriangleBar;{mw&NotRightTriangleBar;}b&iinfin;&infintie;&nvinfin;4&eparsl;&smeparsl;&eqvparsl;5&blacklozenge;8&RuleDelayed;1&dsol;9&bigodot;&bigoplus;&bigotimes;1&biguplus;1&bigsqcup;5&iiiint;&fpartint;2&cirfnint;&awint;&rppolint;&scpolint;&npolint;&pointint;&quatint;&intlarhk;a&pluscir;&plusacir;&simplus;&plusdu;&plussim;&plustwo;1&mcomma;&minusdu;2&loplus;&roplus;&Cross;&timesd;&timesbar;1&smashp;&lotimes;&rotimes;&otimesas;&Otimes;&odiv;&triplus;&triminus;&tritime;&intprod;2&amalg;&capdot;1&ncup;&ncap;&capand;&cupor;&cupcap;&capcup;&cupbrcap;&capbrcup;&cupcup;&capcap;&ccups;&ccaps;2&ccupssm;2&And;&Or;&andand;&oror;&orslope;&andslope;1&andv;&orv;&andd;&ord;1&wedbar;6&sdote;3&simdot;2&congdot;{mw&ncongdot;}&easter;&apacir;&apE;{mw&napE;}&eplus;&pluse;&Esim;&Colone;&Equal;1&ddotseq;&equivDD;&ltcir;&gtcir;&ltquest;&gtquest;&leqslant;{mw&nleqslant;}&geqslant;{mw&ngeqslant;}&lesdot;&gesdot;&lesdoto;&gesdoto;&lesdotor;&gesdotol;&lap;&gap;&lne;&gne;&lnap;&gnap;&lEg;&gEl;&lsime;&gsime;&lsimg;&gsiml;&lgE;&glE;&lesges;&gesles;&els;&egs;&elsdot;&egsdot;&el;&eg;2&siml;&simg;&simlE;&simgE;&LessLess;{mw&NotNestedLessLess;}&GreaterGreater;{mw&NotNestedGreaterGreater;}1&glj;&gla;&ltcc;&gtcc;&lescc;&gescc;&smt;&lat;&smte;{1e68&smtes;}&late;{1e68&lates;}&bumpE;&PrecedesEqual;{mw&NotPrecedesEqual;}&sce;{mw&NotSucceedsEqual;}2&prE;&scE;&precneqq;&scnE;&prap;&scap;&precnapprox;&scnap;&Pr;&Sc;&subdot;&supdot;&subplus;&supplus;&submult;&supmult;&subedot;&supedot;&subE;{mw&nsubE;}&supE;{mw&nsupE;}&subsim;&supsim;2&subnE;{1e68&varsubsetneqq;}&supnE;{1e68&varsupsetneqq;}2&csub;&csup;&csube;&csupe;&subsup;&supsub;&subsub;&supsup;&suphsub;&supdsub;&forkv;&topfork;&mlcp;8&Dashv;1&Vdashl;&Barv;&vBar;&vBarv;1&Vbar;&Not;&bNot;&rnmid;&cirmid;&midcir;&topcir;&nhpar;&parsim;9&parsl;{6hx&nparsl;}y7r{17ks&Ascr;1&Cscr;&Dscr;2&Gscr;2&Jscr;&Kscr;2&Nscr;&Oscr;&Pscr;&Qscr;1&Sscr;&Tscr;&Uscr;&Vscr;&Wscr;&Xscr;&Yscr;&Zscr;&ascr;&bscr;&cscr;&dscr;1&fscr;1&hscr;&iscr;&jscr;&kscr;&lscr;&mscr;&nscr;1&pscr;&qscr;&rscr;&sscr;&tscr;&uscr;&vscr;&wscr;&xscr;&yscr;&zscr;1g&Afr;&Bfr;1&Dfr;&Efr;&Ffr;&Gfr;2&Jfr;&Kfr;&Lfr;&Mfr;&Nfr;&Ofr;&Pfr;&Qfr;1&Sfr;&Tfr;&Ufr;&Vfr;&Wfr;&Xfr;&Yfr;1&afr;&bfr;&cfr;&dfr;&efr;&ffr;&gfr;&hfr;&ifr;&jfr;&kfr;&lfr;&mfr;&nfr;&ofr;&pfr;&qfr;&rfr;&sfr;&tfr;&ufr;&vfr;&wfr;&xfr;&yfr;&zfr;&Aopf;&Bopf;1&Dopf;&Eopf;&Fopf;&Gopf;1&Iopf;&Jopf;&Kopf;&Lopf;&Mopf;1&Oopf;3&Sopf;&Topf;&Uopf;&Vopf;&Wopf;&Xopf;&Yopf;1&aopf;&bopf;&copf;&dopf;&eopf;&fopf;&gopf;&hopf;&iopf;&jopf;&kopf;&lopf;&mopf;&nopf;&oopf;&popf;&qopf;&ropf;&sopf;&topf;&uopf;&vopf;&wopf;&xopf;&yopf;&zopf;}6ve&fflig;&filig;&fllig;&ffilig;&ffllig;"), In = /* @__PURE__ */ new Uint32Array([
1167
+ const yn = /* @__PURE__ */ wn("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;&amp;&apos;&lpar;&rpar;&ast;&plus;&comma;1&period;&sol;a&colon;&semi;&lt;{6he&nvlt;}&equals;{6hx&bne;}&gt;{6he&nvgt;}&quest;&commat;q&lbrack;&bsol;&rbrack;&Hat;&lowbar;&DiacriticalGrave;5{2y&fjlig;}k&lbrace;&verbar;&rbrace;y&nbsp;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&die;&copy;&ordf;&laquo;&not;&shy;&circledR;&macr;&deg;&PlusMinus;&sup2;&sup3;&acute;&micro;&para;&centerdot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&angst;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&div;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&Amacr;&amacr;&Abreve;&abreve;&Aogon;&aogon;&Cacute;&cacute;&Ccirc;&ccirc;&Cdot;&cdot;&Ccaron;&ccaron;&Dcaron;&dcaron;&Dstrok;&dstrok;&Emacr;&emacr;2&Edot;&edot;&Eogon;&eogon;&Ecaron;&ecaron;&Gcirc;&gcirc;&Gbreve;&gbreve;&Gdot;&gdot;&Gcedil;1&Hcirc;&hcirc;&Hstrok;&hstrok;&Itilde;&itilde;&Imacr;&imacr;2&Iogon;&iogon;&Idot;&imath;&IJlig;&ijlig;&Jcirc;&jcirc;&Kcedil;&kcedil;&kgreen;&Lacute;&lacute;&Lcedil;&lcedil;&Lcaron;&lcaron;&Lmidot;&lmidot;&Lstrok;&lstrok;&Nacute;&nacute;&Ncedil;&ncedil;&Ncaron;&ncaron;&napos;&ENG;&eng;&Omacr;&omacr;2&Odblac;&odblac;&OElig;&oelig;&Racute;&racute;&Rcedil;&rcedil;&Rcaron;&rcaron;&Sacute;&sacute;&Scirc;&scirc;&Scedil;&scedil;&Scaron;&scaron;&Tcedil;&tcedil;&Tcaron;&tcaron;&Tstrok;&tstrok;&Utilde;&utilde;&Umacr;&umacr;&Ubreve;&ubreve;&Uring;&uring;&Udblac;&udblac;&Uogon;&uogon;&Wcirc;&wcirc;&Ycirc;&ycirc;&Yuml;&Zacute;&zacute;&Zdot;&zdot;&Zcaron;&zcaron;j&fnof;y&imped;1r&gacute;1t&jmath;3y&circ;&caron;g&breve;&DiacriticalDot;&ring;&ogon;&DiacriticalTilde;&dblac;1f&DownBreve;3j&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;1&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&ohm;7&alpha;&beta;&gamma;&delta;&epsi;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsi;&phi;&chi;&psi;&omega;7&thetasym;&Upsi;2&phiv;&piv;5&Gammad;&digamma;i&kappav;&rhov;3&epsiv;&backepsilon;a&IOcy;&DJcy;&GJcy;&Jukcy;&DScy;&Iukcy;&YIcy;&Jsercy;&LJcy;&NJcy;&TSHcy;&KJcy;1&Ubrcy;&DZcy;&Acy;&Bcy;&Vcy;&Gcy;&Dcy;&IEcy;&ZHcy;&Zcy;&Icy;&Jcy;&Kcy;&Lcy;&Mcy;&Ncy;&Ocy;&Pcy;&Rcy;&Scy;&Tcy;&Ucy;&Fcy;&KHcy;&TScy;&CHcy;&SHcy;&SHCHcy;&HARDcy;&Ycy;&SOFTcy;&Ecy;&YUcy;&YAcy;&acy;&bcy;&vcy;&gcy;&dcy;&iecy;&zhcy;&zcy;&icy;&jcy;&kcy;&lcy;&mcy;&ncy;&ocy;&pcy;&rcy;&scy;&tcy;&ucy;&fcy;&khcy;&tscy;&chcy;&shcy;&shchcy;&hardcy;&ycy;&softcy;&ecy;&yucy;&yacy;1&iocy;&djcy;&gjcy;&jukcy;&dscy;&iukcy;&yicy;&jsercy;&ljcy;&njcy;&tshcy;&kjcy;1&ubrcy;&dzcy;5gi&ensp;&emsp;&emsp13;&emsp14;1&numsp;&puncsp;&ThinSpace;&hairsp;&NegativeMediumSpace;&zwnj;&zwj;&lrm;&rlm;&dash;2&ndash;&mdash;&horbar;&Verbar;1&lsquo;&CloseCurlyQuote;&lsquor;1&ldquo;&CloseCurlyDoubleQuote;&bdquo;1&dagger;&Dagger;&bull;2&nldr;&hellip;9&permil;&pertenk;&prime;&Prime;&tprime;&backprime;3&lsaquo;&rsaquo;3&oline;2&caret;1&hybull;&frasl;a&bsemi;7&qprime;7&MediumSpace;{6bu&ThickSpace;}&NoBreak;&af;&InvisibleTimes;&ic;20&euro;1a&tdot;&DotDot;11&complexes;2&incare;4&gscr;&hamilt;&Hfr;&Hopf;&planckh;&hbar;&imagline;&Ifr;&lagran;&ell;1&naturals;&numero;&copysr;&weierp;&Popf;&Qopf;&realine;&real;&reals;&rx;3&trade;1&integers;2&mho;&zeetrf;&iiota;2&bernou;&Cayleys;1&escr;&Escr;&Fouriertrf;1&Mellintrf;&order;&alefsym;&beth;&gimel;&daleth;c&CapitalDifferentialD;&dd;&ee;&ii;a&frac13;&frac23;&frac15;&frac25;&frac35;&frac45;&frac16;&frac56;&frac18;&frac38;&frac58;&frac78;1d&larr;&ShortUpArrow;&rarr;&darr;&harr;&updownarrow;&nwarr;&nearr;&LowerRightArrow;&LowerLeftArrow;&nlarr;&nrarr;1&rarrw;{mw&nrarrw;}&Larr;&Uarr;&Rarr;&Darr;&larrtl;&rarrtl;&LeftTeeArrow;&mapstoup;&map;&DownTeeArrow;1&hookleftarrow;&hookrightarrow;&larrlp;&looparrowright;&harrw;&nharr;1&lsh;&rsh;&ldsh;&rdsh;1&crarr;&cularr;&curarr;2&circlearrowleft;&circlearrowright;&leftharpoonup;&DownLeftVector;&RightUpVector;&LeftUpVector;&rharu;&DownRightVector;&dharr;&dharl;&RightArrowLeftArrow;&udarr;&LeftArrowRightArrow;&leftleftarrows;&upuparrows;&rightrightarrows;&ddarr;&leftrightharpoons;&Equilibrium;&nlArr;&nhArr;&nrArr;&DoubleLeftArrow;&DoubleUpArrow;&DoubleRightArrow;&dArr;&DoubleLeftRightArrow;&DoubleUpDownArrow;&nwArr;&neArr;&seArr;&swArr;&lAarr;&rAarr;1&zigrarr;6&larrb;&rarrb;f&DownArrowUpArrow;7&loarr;&roarr;&hoarr;&forall;&comp;&part;{mw&npart;}&exist;&nexist;&empty;1&Del;&Element;&NotElement;1&ni;&notni;2&prod;&coprod;&sum;&minus;&MinusPlus;&dotplus;1&Backslash;&lowast;&compfn;1&radic;2&prop;&infin;&angrt;&ang;{6he&nang;}&angmsd;&angsph;&mid;&nmid;&DoubleVerticalBar;&NotDoubleVerticalBar;&and;&or;&cap;{1e68&caps;}&cup;{1e68&cups;}&int;&Int;&iiint;&conint;&Conint;&Cconint;&cwint;&ClockwiseContourIntegral;&awconint;&there4;&becaus;&ratio;&Colon;&dotminus;1&mDDot;&homtht;&sim;{6he&nvsim;}&backsim;{mp&race;}&ac;{mr&acE;}&acd;&VerticalTilde;&NotTilde;&eqsim;{mw&nesim;}&sime;&NotTildeEqual;&cong;&simne;&ncong;&ap;&nap;&ape;&apid;{mw&napid;}&backcong;&asympeq;{6he&nvap;}&bump;{mw&nbump;}&bumpe;{mw&nbumpe;}&doteq;{mw&nedot;}&doteqdot;&efDot;&erDot;&Assign;&ecolon;&ecir;&circeq;1&wedgeq;&veeeq;1&triangleq;2&equest;&ne;&Congruent;{6hx&bnequiv;}&nequiv;1&le;{6he&nvle;}&ge;{6he&nvge;}&lE;{mw&nlE;}&gE;{mw&ngE;}&lnE;{1e68&lvertneqq;}&gnE;{1e68&gvertneqq;}&ll;{mw&nLtv;5uh&nLt;}&gg;{mw&nGtv;5uh&nGt;}&between;&NotCupCap;&nless;&ngt;&nle;&nge;&lesssim;&GreaterTilde;&nlsim;&ngsim;&LessGreater;&gl;&NotLessGreater;&NotGreaterLess;&pr;&sc;&prcue;&sccue;&PrecedesTilde;&scsim;{mw&NotSucceedsTilde;}&NotPrecedes;&NotSucceeds;&sub;{6he&NotSubset;}&sup;{6he&NotSuperset;}&nsub;&nsup;&sube;&supe;&NotSubsetEqual;&NotSupersetEqual;&subne;{1e68&varsubsetneq;}&supne;{1e68&varsupsetneq;}1&cupdot;&UnionPlus;&sqsub;{mw&NotSquareSubset;}&sqsup;{mw&NotSquareSuperset;}&sqsube;&sqsupe;&sqcap;{1e68&sqcaps;}&sqcup;{1e68&sqcups;}&CirclePlus;&CircleMinus;&CircleTimes;&osol;&CircleDot;&circledcirc;&circledast;1&circleddash;&boxplus;&boxminus;&boxtimes;&dotsquare;&RightTee;&dashv;&DownTee;&bot;1&models;&DoubleRightTee;&Vdash;&Vvdash;&VDash;&nvdash;&nvDash;&nVdash;&nVDash;&prurel;1&LeftTriangle;&RightTriangle;&LeftTriangleEqual;{6he&nvltrie;}&RightTriangleEqual;{6he&nvrtrie;}&origof;&imof;&multimap;&hercon;&intcal;&veebar;1&barvee;&angrtvb;&lrtri;&bigwedge;&bigvee;&bigcap;&bigcup;&diam;&sdot;&sstarf;&divideontimes;&bowtie;&ltimes;&rtimes;&leftthreetimes;&rightthreetimes;&backsimeq;&curlyvee;&curlywedge;&Sub;&Sup;&Cap;&Cup;&fork;&epar;&lessdot;&gtdot;&Ll;{mw&nLl;}&Gg;{mw&nGg;}&leg;{1e68&lesg;}&gel;{1e68&gesl;}2&cuepr;&cuesc;&NotPrecedesSlantEqual;&NotSucceedsSlantEqual;&NotSquareSubsetEqual;&NotSquareSupersetEqual;2&lnsim;&gnsim;&precnsim;&scnsim;&nltri;&NotRightTriangle;&nltrie;&NotRightTriangleEqual;&vellip;&ctdot;&utdot;&dtdot;&disin;&isinsv;&isins;&isindot;{mw&notindot;}&notinvc;&notinvb;1&isinE;{mw&notinE;}&nisd;&xnis;&nis;&notnivc;&notnivb;6&barwed;&Barwed;1&lceil;&rceil;&LeftFloor;&rfloor;&drcrop;&dlcrop;&urcrop;&ulcrop;&bnot;1&profline;&profsurf;1&telrec;&target;5&ulcorn;&urcorn;&dlcorn;&drcorn;2&frown;&smile;9&cylcty;&profalar;7&topbot;6&ovbar;1&solbar;1o&angzarr;1f&lmoustache;&rmoustache;2&OverBracket;&bbrk;&bbrktbrk;11&OverParenthesis;&UnderParenthesis;&OverBrace;&UnderBrace;2&trpezium;4&elinters;1n&blank;4k&circledS;1j&boxh;1&boxv;9&boxdr;3&boxdl;3&boxur;3&boxul;3&boxvr;7&boxvl;7&boxhd;7&boxhu;7&boxvh;j&boxH;&boxV;&boxdR;&boxDr;&boxDR;&boxdL;&boxDl;&boxDL;&boxuR;&boxUr;&boxUR;&boxuL;&boxUl;&boxUL;&boxvR;&boxVr;&boxVR;&boxvL;&boxVl;&boxVL;&boxHd;&boxhD;&boxHD;&boxHu;&boxhU;&boxHU;&boxvH;&boxVh;&boxVH;j&uhblk;3&lhblk;3&block;8&blk14;&blk12;&blk34;d&square;8&blacksquare;&EmptyVerySmallSquare;1&rect;&marker;2&fltns;1&bigtriangleup;&blacktriangle;&triangle;2&blacktriangleright;&rtri;3&bigtriangledown;&blacktriangledown;&dtri;2&blacktriangleleft;&ltri;6&loz;&cir;w&tridot;2&bigcirc;8&ultri;&urtri;&lltri;&EmptySmallSquare;&FilledSmallSquare;8&bigstar;&star;7&phone;1d&female;1&male;t&spades;2&clubs;1&hearts;&diamondsuit;3&sung;2&flat;&natural;&sharp;4j&check;3&cross;8&malt;l&sext;x&VerticalSeparator;p&lbbrk;&rbbrk;2c&bsolhsub;&suphsol;s&LeftDoubleBracket;&RightDoubleBracket;&lang;&rang;&Lang;&Rang;&loang;&roang;7&longleftarrow;&longrightarrow;&longleftrightarrow;&DoubleLongLeftArrow;&DoubleLongRightArrow;&DoubleLongLeftRightArrow;1&longmapsto;2&dzigrarr;76&nvlArr;&nvrArr;&nvHarr;&Map;6&lbarr;&bkarow;&lBarr;&dbkarow;&drbkarow;&DDotrahd;&UpArrowBar;&DownArrowBar;2&Rarrtl;2&latail;&ratail;&lAtail;&rAtail;&larrfs;&rarrfs;&larrbfs;&rarrbfs;2&nwarhk;&nearhk;&hksearow;&hkswarow;&nwnear;&nesear;&seswar;&swnwar;8&rarrc;{mw&nrarrc;}1&cudarrr;&ldca;&rdca;&cudarrl;&larrpl;2&curarrm;&cularrp;7&rarrpl;2&harrcir;&Uarrocir;&lurdshar;&ldrushar;2&LeftRightVector;&RightUpDownVector;&DownLeftRightVector;&LeftUpDownVector;&LeftVectorBar;&RightVectorBar;&RightUpVectorBar;&RightDownVectorBar;&DownLeftVectorBar;&DownRightVectorBar;&LeftUpVectorBar;&LeftDownVectorBar;&LeftTeeVector;&RightTeeVector;&RightUpTeeVector;&RightDownTeeVector;&DownLeftTeeVector;&DownRightTeeVector;&LeftUpTeeVector;&LeftDownTeeVector;&lHar;&uHar;&rHar;&dHar;&luruhar;&ldrdhar;&ruluhar;&rdldhar;&lharul;&llhard;&rharul;&lrhard;&udhar;&duhar;&RoundImplies;&erarr;&simrarr;&larrsim;&rarrsim;&rarrap;&ltlarr;1&gtrarr;&subrarr;1&suplarr;&lfisht;&rfisht;&ufisht;&dfisht;5&lopar;&ropar;4&lbrke;&rbrke;&lbrkslu;&rbrksld;&lbrksld;&rbrkslu;&langd;&rangd;&lparlt;&rpargt;&gtlPar;&ltrPar;3&vzigzag;1&vangrt;&angrtvbd;6&ange;&range;&dwangle;&uwangle;&angmsdaa;&angmsdab;&angmsdac;&angmsdad;&angmsdae;&angmsdaf;&angmsdag;&angmsdah;&bemptyv;&demptyv;&cemptyv;&raemptyv;&laemptyv;&ohbar;&omid;&opar;1&operp;1&olcross;&odsold;1&olcir;&ofcir;&olt;&ogt;&cirscir;&cirE;&solb;&bsolb;3&boxbox;3&trisb;&rtriltri;&LeftTriangleBar;{mw&NotLeftTriangleBar;}&RightTriangleBar;{mw&NotRightTriangleBar;}b&iinfin;&infintie;&nvinfin;4&eparsl;&smeparsl;&eqvparsl;5&blacklozenge;8&RuleDelayed;1&dsol;9&bigodot;&bigoplus;&bigotimes;1&biguplus;1&bigsqcup;5&iiiint;&fpartint;2&cirfnint;&awint;&rppolint;&scpolint;&npolint;&pointint;&quatint;&intlarhk;a&pluscir;&plusacir;&simplus;&plusdu;&plussim;&plustwo;1&mcomma;&minusdu;2&loplus;&roplus;&Cross;&timesd;&timesbar;1&smashp;&lotimes;&rotimes;&otimesas;&Otimes;&odiv;&triplus;&triminus;&tritime;&intprod;2&amalg;&capdot;1&ncup;&ncap;&capand;&cupor;&cupcap;&capcup;&cupbrcap;&capbrcup;&cupcup;&capcap;&ccups;&ccaps;2&ccupssm;2&And;&Or;&andand;&oror;&orslope;&andslope;1&andv;&orv;&andd;&ord;1&wedbar;6&sdote;3&simdot;2&congdot;{mw&ncongdot;}&easter;&apacir;&apE;{mw&napE;}&eplus;&pluse;&Esim;&Colone;&Equal;1&ddotseq;&equivDD;&ltcir;&gtcir;&ltquest;&gtquest;&leqslant;{mw&nleqslant;}&geqslant;{mw&ngeqslant;}&lesdot;&gesdot;&lesdoto;&gesdoto;&lesdotor;&gesdotol;&lap;&gap;&lne;&gne;&lnap;&gnap;&lEg;&gEl;&lsime;&gsime;&lsimg;&gsiml;&lgE;&glE;&lesges;&gesles;&els;&egs;&elsdot;&egsdot;&el;&eg;2&siml;&simg;&simlE;&simgE;&LessLess;{mw&NotNestedLessLess;}&GreaterGreater;{mw&NotNestedGreaterGreater;}1&glj;&gla;&ltcc;&gtcc;&lescc;&gescc;&smt;&lat;&smte;{1e68&smtes;}&late;{1e68&lates;}&bumpE;&PrecedesEqual;{mw&NotPrecedesEqual;}&sce;{mw&NotSucceedsEqual;}2&prE;&scE;&precneqq;&scnE;&prap;&scap;&precnapprox;&scnap;&Pr;&Sc;&subdot;&supdot;&subplus;&supplus;&submult;&supmult;&subedot;&supedot;&subE;{mw&nsubE;}&supE;{mw&nsupE;}&subsim;&supsim;2&subnE;{1e68&varsubsetneqq;}&supnE;{1e68&varsupsetneqq;}2&csub;&csup;&csube;&csupe;&subsup;&supsub;&subsub;&supsup;&suphsub;&supdsub;&forkv;&topfork;&mlcp;8&Dashv;1&Vdashl;&Barv;&vBar;&vBarv;1&Vbar;&Not;&bNot;&rnmid;&cirmid;&midcir;&topcir;&nhpar;&parsim;9&parsl;{6hx&nparsl;}y7r{17ks&Ascr;1&Cscr;&Dscr;2&Gscr;2&Jscr;&Kscr;2&Nscr;&Oscr;&Pscr;&Qscr;1&Sscr;&Tscr;&Uscr;&Vscr;&Wscr;&Xscr;&Yscr;&Zscr;&ascr;&bscr;&cscr;&dscr;1&fscr;1&hscr;&iscr;&jscr;&kscr;&lscr;&mscr;&nscr;1&pscr;&qscr;&rscr;&sscr;&tscr;&uscr;&vscr;&wscr;&xscr;&yscr;&zscr;1g&Afr;&Bfr;1&Dfr;&Efr;&Ffr;&Gfr;2&Jfr;&Kfr;&Lfr;&Mfr;&Nfr;&Ofr;&Pfr;&Qfr;1&Sfr;&Tfr;&Ufr;&Vfr;&Wfr;&Xfr;&Yfr;1&afr;&bfr;&cfr;&dfr;&efr;&ffr;&gfr;&hfr;&ifr;&jfr;&kfr;&lfr;&mfr;&nfr;&ofr;&pfr;&qfr;&rfr;&sfr;&tfr;&ufr;&vfr;&wfr;&xfr;&yfr;&zfr;&Aopf;&Bopf;1&Dopf;&Eopf;&Fopf;&Gopf;1&Iopf;&Jopf;&Kopf;&Lopf;&Mopf;1&Oopf;3&Sopf;&Topf;&Uopf;&Vopf;&Wopf;&Xopf;&Yopf;1&aopf;&bopf;&copf;&dopf;&eopf;&fopf;&gopf;&hopf;&iopf;&jopf;&kopf;&lopf;&mopf;&nopf;&oopf;&popf;&qopf;&ropf;&sopf;&topf;&uopf;&vopf;&wopf;&xopf;&yopf;&zopf;}6ve&fflig;&filig;&fllig;&ffilig;&ffllig;"), En = /* @__PURE__ */ new Uint32Array([
1162
1168
  5632,
1163
1169
  // Bits for 09,0A,0C
1164
1170
  4227923966,
@@ -1167,39 +1173,39 @@ const vn = /* @__PURE__ */ bn("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;
1167
1173
  // 64..95 -> 40, 5B-5F
1168
1174
  939524097
1169
1175
  // 96..127-> 60, 7B-7D
1170
- ]), Cn = /* @__PURE__ */ new Uint32Array([0, qe, 0, 0]);
1171
- function wn(t) {
1172
- return _e(In, t);
1176
+ ]), kn = /* @__PURE__ */ new Uint32Array([0, tt, 0, 0]);
1177
+ function Bn(t) {
1178
+ return nt(En, t);
1173
1179
  }
1174
- function yn(t) {
1175
- return _e(Cn, t);
1180
+ function Sn(t) {
1181
+ return nt(kn, t);
1176
1182
  }
1177
- function _e(t, e) {
1183
+ function nt(t, e) {
1178
1184
  let n, o = 0;
1179
- const { length: s } = e;
1180
- for (let r = 0; r < s; r++) {
1185
+ const { length: A } = e;
1186
+ for (let r = 0; r < A; r++) {
1181
1187
  const i = e.charCodeAt(r);
1182
1188
  if (i < 128 && !(t[i >>> 5] >>> i & 1))
1183
1189
  continue;
1184
1190
  n === void 0 ? n = e.substring(0, r) : o !== r && (n += e.substring(o, r));
1185
- let A = vn.get(i);
1186
- if (typeof A == "object") {
1187
- if (r + 1 < s) {
1188
- const c = e.charCodeAt(r + 1), a = typeof A.next == "number" ? A.next === c ? A.nextValue : void 0 : A.next.get(c);
1189
- if (a !== void 0) {
1190
- n += a, r++, o = r + 1;
1191
+ let s = yn.get(i);
1192
+ if (typeof s == "object") {
1193
+ if (r + 1 < A) {
1194
+ const a = e.charCodeAt(r + 1), c = typeof s.next == "number" ? s.next === a ? s.nextValue : void 0 : s.next.get(a);
1195
+ if (c !== void 0) {
1196
+ n += c, r++, o = r + 1;
1191
1197
  continue;
1192
1198
  }
1193
1199
  }
1194
- A = A.value;
1200
+ s = s.value;
1195
1201
  }
1196
- if (A === void 0) {
1197
- const c = Xe(e, r);
1198
- n += `&#x${c.toString(16)};`, c !== i && r++, o = r + 1;
1202
+ if (s === void 0) {
1203
+ const a = et(e, r);
1204
+ n += `&#x${a.toString(16)};`, a !== i && r++, o = r + 1;
1199
1205
  } else
1200
- n += A, o = r + 1;
1206
+ n += s, o = r + 1;
1201
1207
  }
1202
- return n === void 0 ? e : (o < s && (n += e.substr(o)), n);
1208
+ return n === void 0 ? e : (o < A && (n += e.substr(o)), n);
1203
1209
  }
1204
1210
  var T;
1205
1211
  (function(t) {
@@ -1213,77 +1219,82 @@ function be(t, e = T.XML) {
1213
1219
  const { mode: n = Q.Extensive, level: o = T.XML } = typeof e == "number" ? { level: e } : e;
1214
1220
  switch (n) {
1215
1221
  case Q.UTF8:
1216
- return fn(t);
1222
+ return vn(t);
1217
1223
  case Q.Attribute:
1218
- return pn(t);
1224
+ return In(t);
1219
1225
  case Q.Text:
1220
- return mn(t);
1226
+ return Cn(t);
1221
1227
  case Q.ASCII:
1222
- return o === T.HTML ? yn(t) : Qe(t);
1228
+ return o === T.HTML ? Sn(t) : Ke(t);
1223
1229
  // biome-ignore lint/complexity/noUselessSwitchCase: we get an error for the switch not being exhaustive
1224
1230
  case Q.Extensive:
1225
1231
  // eslint-disable-line unicorn/no-useless-switch-case
1226
1232
  default:
1227
- return o === T.HTML ? wn(t) : Qe(t);
1233
+ return o === T.HTML ? Bn(t) : Ke(t);
1228
1234
  }
1229
1235
  }
1230
- const En = "<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\/script>", kn = "<style\\b[^<]*(?:(?!<\\/style>)<[^<]*)*</style>", Bn = "<([^>]+)>", Sn = "&.*?;", xn = [En, kn, Bn, Sn], Dn = "(" + xn.join("|") + ")", $e = fe(["BR", "P", "DIV"]), Rn = fe(["BR"]);
1231
- function Fn(t) {
1236
+ const xn = "<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\/script>", Dn = "<style\\b[^<]*(?:(?!<\\/style>)<[^<]*)*</style>", Rn = "<([^>]+)>", Fn = "&.*?;", Zn = [xn, Dn, Rn, Fn], Mn = "(" + Zn.join("|") + ")", rt = fe(["BR", "P", "DIV"]), Wn = fe(["BR"]);
1237
+ function Hn(t) {
1232
1238
  const [e = "", n = "", o = ""] = (/^<(\/?)(\w+)/i.exec(t.toUpperCase()) || []).slice(1);
1233
- return n && (Rn[n] || $e[n] && (e || o)) ? `
1239
+ return n && (Wn[n] || rt[n] && (e || o)) ? `
1234
1240
  ` : "";
1235
1241
  }
1236
- function Zn(t) {
1237
- const e = new RegExp(Dn, "ig"), n = [];
1242
+ function Qn(t) {
1243
+ const e = new RegExp(Mn, "ig"), n = [];
1238
1244
  let o = 0;
1239
- return [t.replace(e, (r, i, A, c) => {
1240
- const a = r.startsWith("&") ? hn(r) : Fn(r);
1241
- return o -= r.length - a.length, n.push({
1242
- oldPosition: c + r.length,
1245
+ return [t.replace(e, (r, i, s, a) => {
1246
+ const c = r.startsWith("&") ? bn(r) : Hn(r);
1247
+ return o -= r.length - c.length, n.push({
1248
+ oldPosition: a + r.length,
1243
1249
  diffOffset: o
1244
- }), a;
1250
+ }), c;
1245
1251
  }), n];
1246
1252
  }
1253
+ let ot = !1;
1247
1254
  function H(t, ...e) {
1255
+ ot && console.log(t, ...e);
1248
1256
  }
1249
- var Ae = { exports: {} }, Ke;
1250
- function Mn() {
1251
- return Ke || (Ke = 1, function(t) {
1257
+ function Xr() {
1258
+ ot = !0;
1259
+ }
1260
+ var Ae = { exports: {} }, Ne;
1261
+ function Kn() {
1262
+ return Ne || (Ne = 1, (function(t) {
1252
1263
  var e = function() {
1253
1264
  this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = 0.5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = 0.5, this.Patch_Margin = 4, this.Match_MaxBits = 32;
1254
- }, n = -1, o = 1, s = 0;
1265
+ }, n = -1, o = 1, A = 0;
1255
1266
  e.Diff = function(r, i) {
1256
1267
  return [r, i];
1257
- }, e.prototype.diff_main = function(r, i, A, c) {
1258
- typeof c > "u" && (this.Diff_Timeout <= 0 ? c = Number.MAX_VALUE : c = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
1259
- var a = c;
1268
+ }, e.prototype.diff_main = function(r, i, s, a) {
1269
+ typeof a > "u" && (this.Diff_Timeout <= 0 ? a = Number.MAX_VALUE : a = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
1270
+ var c = a;
1260
1271
  if (r == null || i == null)
1261
1272
  throw new Error("Null input. (diff_main)");
1262
1273
  if (r == i)
1263
- return r ? [new e.Diff(s, r)] : [];
1264
- typeof A > "u" && (A = !0);
1265
- var l = A, d = this.diff_commonPrefix(r, i), u = r.substring(0, d);
1274
+ return r ? [new e.Diff(A, r)] : [];
1275
+ typeof s > "u" && (s = !0);
1276
+ var l = s, d = this.diff_commonPrefix(r, i), u = r.substring(0, d);
1266
1277
  r = r.substring(d), i = i.substring(d), d = this.diff_commonSuffix(r, i);
1267
1278
  var g = r.substring(r.length - d);
1268
1279
  r = r.substring(0, r.length - d), i = i.substring(0, i.length - d);
1269
- var h = this.diff_compute_(r, i, l, a);
1270
- return u && h.unshift(new e.Diff(s, u)), g && h.push(new e.Diff(s, g)), this.diff_cleanupMerge(h), h;
1271
- }, e.prototype.diff_compute_ = function(r, i, A, c) {
1272
- var a;
1280
+ var h = this.diff_compute_(r, i, l, c);
1281
+ return u && h.unshift(new e.Diff(A, u)), g && h.push(new e.Diff(A, g)), this.diff_cleanupMerge(h), h;
1282
+ }, e.prototype.diff_compute_ = function(r, i, s, a) {
1283
+ var c;
1273
1284
  if (!r)
1274
1285
  return [new e.Diff(o, i)];
1275
1286
  if (!i)
1276
1287
  return [new e.Diff(n, r)];
1277
1288
  var l = r.length > i.length ? r : i, d = r.length > i.length ? i : r, u = l.indexOf(d);
1278
1289
  if (u != -1)
1279
- return a = [
1290
+ return c = [
1280
1291
  new e.Diff(o, l.substring(0, u)),
1281
- new e.Diff(s, d),
1292
+ new e.Diff(A, d),
1282
1293
  new e.Diff(
1283
1294
  o,
1284
1295
  l.substring(u + d.length)
1285
1296
  )
1286
- ], r.length > i.length && (a[0][0] = a[2][0] = n), a;
1297
+ ], r.length > i.length && (c[0][0] = c[2][0] = n), c;
1287
1298
  if (d.length == 1)
1288
1299
  return [
1289
1300
  new e.Diff(n, r),
@@ -1291,18 +1302,18 @@ function Mn() {
1291
1302
  ];
1292
1303
  var g = this.diff_halfMatch_(r, i);
1293
1304
  if (g) {
1294
- var h = g[0], f = g[1], p = g[2], m = g[3], v = g[4], I = this.diff_main(h, p, A, c), C = this.diff_main(f, m, A, c);
1305
+ var h = g[0], f = g[1], p = g[2], m = g[3], v = g[4], I = this.diff_main(h, p, s, a), C = this.diff_main(f, m, s, a);
1295
1306
  return I.concat(
1296
- [new e.Diff(s, v)],
1307
+ [new e.Diff(A, v)],
1297
1308
  C
1298
1309
  );
1299
1310
  }
1300
- return A && r.length > 100 && i.length > 100 ? this.diff_lineMode_(r, i, c) : this.diff_bisect_(r, i, c);
1301
- }, e.prototype.diff_lineMode_ = function(r, i, A) {
1302
- var c = this.diff_linesToChars_(r, i);
1303
- r = c.chars1, i = c.chars2;
1304
- var a = c.lineArray, l = this.diff_main(r, i, !1, A);
1305
- this.diff_charsToLines_(l, a), this.diff_cleanupSemantic(l), l.push(new e.Diff(s, ""));
1311
+ return s && r.length > 100 && i.length > 100 ? this.diff_lineMode_(r, i, a) : this.diff_bisect_(r, i, a);
1312
+ }, e.prototype.diff_lineMode_ = function(r, i, s) {
1313
+ var a = this.diff_linesToChars_(r, i);
1314
+ r = a.chars1, i = a.chars2;
1315
+ var c = a.lineArray, l = this.diff_main(r, i, !1, s);
1316
+ this.diff_charsToLines_(l, c), this.diff_cleanupSemantic(l), l.push(new e.Diff(A, ""));
1306
1317
  for (var d = 0, u = 0, g = 0, h = "", f = ""; d < l.length; ) {
1307
1318
  switch (l[d][0]) {
1308
1319
  case o:
@@ -1311,13 +1322,13 @@ function Mn() {
1311
1322
  case n:
1312
1323
  u++, h += l[d][1];
1313
1324
  break;
1314
- case s:
1325
+ case A:
1315
1326
  if (u >= 1 && g >= 1) {
1316
1327
  l.splice(
1317
1328
  d - u - g,
1318
1329
  u + g
1319
1330
  ), d = d - u - g;
1320
- for (var p = this.diff_main(h, f, !1, A), m = p.length - 1; m >= 0; m--)
1331
+ for (var p = this.diff_main(h, f, !1, s), m = p.length - 1; m >= 0; m--)
1321
1332
  l.splice(d, 0, p[m]);
1322
1333
  d = d + p.length;
1323
1334
  }
@@ -1327,44 +1338,44 @@ function Mn() {
1327
1338
  d++;
1328
1339
  }
1329
1340
  return l.pop(), l;
1330
- }, e.prototype.diff_bisect_ = function(r, i, A) {
1331
- for (var c = r.length, a = i.length, l = Math.ceil((c + a) / 2), d = l, u = 2 * l, g = new Array(u), h = new Array(u), f = 0; f < u; f++)
1341
+ }, e.prototype.diff_bisect_ = function(r, i, s) {
1342
+ for (var a = r.length, c = i.length, l = Math.ceil((a + c) / 2), d = l, u = 2 * l, g = new Array(u), h = new Array(u), f = 0; f < u; f++)
1332
1343
  g[f] = -1, h[f] = -1;
1333
1344
  g[d + 1] = 0, h[d + 1] = 0;
1334
- for (var p = c - a, m = p % 2 != 0, v = 0, I = 0, C = 0, E = 0, b = 0; b < l && !((/* @__PURE__ */ new Date()).getTime() > A); b++) {
1345
+ for (var p = a - c, m = p % 2 != 0, v = 0, I = 0, C = 0, E = 0, b = 0; b < l && !((/* @__PURE__ */ new Date()).getTime() > s); b++) {
1335
1346
  for (var w = -b + v; w <= b - I; w += 2) {
1336
1347
  var y = d + w, k;
1337
1348
  w == -b || w != b && g[y - 1] < g[y + 1] ? k = g[y + 1] : k = g[y - 1] + 1;
1338
- for (var R = k - w; k < c && R < a && r.charAt(k) == i.charAt(R); )
1349
+ for (var R = k - w; k < a && R < c && r.charAt(k) == i.charAt(R); )
1339
1350
  k++, R++;
1340
- if (g[y] = k, k > c)
1351
+ if (g[y] = k, k > a)
1341
1352
  I += 2;
1342
- else if (R > a)
1353
+ else if (R > c)
1343
1354
  v += 2;
1344
1355
  else if (m) {
1345
1356
  var x = d + p - w;
1346
1357
  if (x >= 0 && x < u && h[x] != -1) {
1347
- var S = c - h[x];
1358
+ var S = a - h[x];
1348
1359
  if (k >= S)
1349
- return this.diff_bisectSplit_(r, i, k, R, A);
1360
+ return this.diff_bisectSplit_(r, i, k, R, s);
1350
1361
  }
1351
1362
  }
1352
1363
  }
1353
1364
  for (var Z = -b + C; Z <= b - E; Z += 2) {
1354
1365
  var x = d + Z, S;
1355
1366
  Z == -b || Z != b && h[x - 1] < h[x + 1] ? S = h[x + 1] : S = h[x - 1] + 1;
1356
- for (var W = S - Z; S < c && W < a && r.charAt(c - S - 1) == i.charAt(a - W - 1); )
1367
+ for (var W = S - Z; S < a && W < c && r.charAt(a - S - 1) == i.charAt(c - W - 1); )
1357
1368
  S++, W++;
1358
- if (h[x] = S, S > c)
1369
+ if (h[x] = S, S > a)
1359
1370
  E += 2;
1360
- else if (W > a)
1371
+ else if (W > c)
1361
1372
  C += 2;
1362
1373
  else if (!m) {
1363
1374
  var y = d + p - Z;
1364
1375
  if (y >= 0 && y < u && g[y] != -1) {
1365
1376
  var k = g[y], R = d + k - y;
1366
- if (S = c - S, k >= S)
1367
- return this.diff_bisectSplit_(r, i, k, R, A);
1377
+ if (S = a - S, k >= S)
1378
+ return this.diff_bisectSplit_(r, i, k, R, s);
1368
1379
  }
1369
1380
  }
1370
1381
  }
@@ -1373,70 +1384,70 @@ function Mn() {
1373
1384
  new e.Diff(n, r),
1374
1385
  new e.Diff(o, i)
1375
1386
  ];
1376
- }, e.prototype.diff_bisectSplit_ = function(r, i, A, c, a) {
1377
- var l = r.substring(0, A), d = i.substring(0, c), u = r.substring(A), g = i.substring(c), h = this.diff_main(l, d, !1, a), f = this.diff_main(u, g, !1, a);
1387
+ }, e.prototype.diff_bisectSplit_ = function(r, i, s, a, c) {
1388
+ var l = r.substring(0, s), d = i.substring(0, a), u = r.substring(s), g = i.substring(a), h = this.diff_main(l, d, !1, c), f = this.diff_main(u, g, !1, c);
1378
1389
  return h.concat(f);
1379
1390
  }, e.prototype.diff_linesToChars_ = function(r, i) {
1380
- var A = [], c = {};
1381
- A[0] = "";
1382
- function a(g) {
1383
- for (var h = "", f = 0, p = -1, m = A.length; p < g.length - 1; ) {
1391
+ var s = [], a = {};
1392
+ s[0] = "";
1393
+ function c(g) {
1394
+ for (var h = "", f = 0, p = -1, m = s.length; p < g.length - 1; ) {
1384
1395
  p = g.indexOf(`
1385
1396
  `, f), p == -1 && (p = g.length - 1);
1386
1397
  var v = g.substring(f, p + 1);
1387
- (c.hasOwnProperty ? c.hasOwnProperty(v) : c[v] !== void 0) ? h += String.fromCharCode(c[v]) : (m == l && (v = g.substring(f), p = g.length), h += String.fromCharCode(m), c[v] = m, A[m++] = v), f = p + 1;
1398
+ (a.hasOwnProperty ? a.hasOwnProperty(v) : a[v] !== void 0) ? h += String.fromCharCode(a[v]) : (m == l && (v = g.substring(f), p = g.length), h += String.fromCharCode(m), a[v] = m, s[m++] = v), f = p + 1;
1388
1399
  }
1389
1400
  return h;
1390
1401
  }
1391
- var l = 4e4, d = a(r);
1402
+ var l = 4e4, d = c(r);
1392
1403
  l = 65535;
1393
- var u = a(i);
1394
- return { chars1: d, chars2: u, lineArray: A };
1404
+ var u = c(i);
1405
+ return { chars1: d, chars2: u, lineArray: s };
1395
1406
  }, e.prototype.diff_charsToLines_ = function(r, i) {
1396
- for (var A = 0; A < r.length; A++) {
1397
- for (var c = r[A][1], a = [], l = 0; l < c.length; l++)
1398
- a[l] = i[c.charCodeAt(l)];
1399
- r[A][1] = a.join("");
1407
+ for (var s = 0; s < r.length; s++) {
1408
+ for (var a = r[s][1], c = [], l = 0; l < a.length; l++)
1409
+ c[l] = i[a.charCodeAt(l)];
1410
+ r[s][1] = c.join("");
1400
1411
  }
1401
1412
  }, e.prototype.diff_commonPrefix = function(r, i) {
1402
1413
  if (!r || !i || r.charAt(0) != i.charAt(0))
1403
1414
  return 0;
1404
- for (var A = 0, c = Math.min(r.length, i.length), a = c, l = 0; A < a; )
1405
- r.substring(l, a) == i.substring(l, a) ? (A = a, l = A) : c = a, a = Math.floor((c - A) / 2 + A);
1406
- return a;
1415
+ for (var s = 0, a = Math.min(r.length, i.length), c = a, l = 0; s < c; )
1416
+ r.substring(l, c) == i.substring(l, c) ? (s = c, l = s) : a = c, c = Math.floor((a - s) / 2 + s);
1417
+ return c;
1407
1418
  }, e.prototype.diff_commonSuffix = function(r, i) {
1408
1419
  if (!r || !i || r.charAt(r.length - 1) != i.charAt(i.length - 1))
1409
1420
  return 0;
1410
- for (var A = 0, c = Math.min(r.length, i.length), a = c, l = 0; A < a; )
1411
- r.substring(r.length - a, r.length - l) == i.substring(i.length - a, i.length - l) ? (A = a, l = A) : c = a, a = Math.floor((c - A) / 2 + A);
1412
- return a;
1421
+ for (var s = 0, a = Math.min(r.length, i.length), c = a, l = 0; s < c; )
1422
+ r.substring(r.length - c, r.length - l) == i.substring(i.length - c, i.length - l) ? (s = c, l = s) : a = c, c = Math.floor((a - s) / 2 + s);
1423
+ return c;
1413
1424
  }, e.prototype.diff_commonOverlap_ = function(r, i) {
1414
- var A = r.length, c = i.length;
1415
- if (A == 0 || c == 0)
1425
+ var s = r.length, a = i.length;
1426
+ if (s == 0 || a == 0)
1416
1427
  return 0;
1417
- A > c ? r = r.substring(A - c) : A < c && (i = i.substring(0, A));
1418
- var a = Math.min(A, c);
1428
+ s > a ? r = r.substring(s - a) : s < a && (i = i.substring(0, s));
1429
+ var c = Math.min(s, a);
1419
1430
  if (r == i)
1420
- return a;
1431
+ return c;
1421
1432
  for (var l = 0, d = 1; ; ) {
1422
- var u = r.substring(a - d), g = i.indexOf(u);
1433
+ var u = r.substring(c - d), g = i.indexOf(u);
1423
1434
  if (g == -1)
1424
1435
  return l;
1425
- d += g, (g == 0 || r.substring(a - d) == i.substring(0, d)) && (l = d, d++);
1436
+ d += g, (g == 0 || r.substring(c - d) == i.substring(0, d)) && (l = d, d++);
1426
1437
  }
1427
1438
  }, e.prototype.diff_halfMatch_ = function(r, i) {
1428
1439
  if (this.Diff_Timeout <= 0)
1429
1440
  return null;
1430
- var A = r.length > i.length ? r : i, c = r.length > i.length ? i : r;
1431
- if (A.length < 4 || c.length * 2 < A.length)
1441
+ var s = r.length > i.length ? r : i, a = r.length > i.length ? i : r;
1442
+ if (s.length < 4 || a.length * 2 < s.length)
1432
1443
  return null;
1433
- var a = this;
1444
+ var c = this;
1434
1445
  function l(I, C, E) {
1435
1446
  for (var b = I.substring(E, E + Math.floor(I.length / 4)), w = -1, y = "", k, R, x, S; (w = C.indexOf(b, w + 1)) != -1; ) {
1436
- var Z = a.diff_commonPrefix(
1447
+ var Z = c.diff_commonPrefix(
1437
1448
  I.substring(E),
1438
1449
  C.substring(w)
1439
- ), W = a.diff_commonSuffix(
1450
+ ), W = c.diff_commonSuffix(
1440
1451
  I.substring(0, E),
1441
1452
  C.substring(0, w)
1442
1453
  );
@@ -1451,13 +1462,13 @@ function Mn() {
1451
1462
  ] : null;
1452
1463
  }
1453
1464
  var d = l(
1454
- A,
1455
- c,
1456
- Math.ceil(A.length / 4)
1465
+ s,
1466
+ a,
1467
+ Math.ceil(s.length / 4)
1457
1468
  ), u = l(
1458
- A,
1459
- c,
1460
- Math.ceil(A.length / 2)
1469
+ s,
1470
+ a,
1471
+ Math.ceil(s.length / 2)
1461
1472
  ), g;
1462
1473
  if (!d && !u)
1463
1474
  return null;
@@ -1467,23 +1478,23 @@ function Mn() {
1467
1478
  var v = g[4];
1468
1479
  return [h, f, p, m, v];
1469
1480
  }, e.prototype.diff_cleanupSemantic = function(r) {
1470
- for (var i = !1, A = [], c = 0, a = null, l = 0, d = 0, u = 0, g = 0, h = 0; l < r.length; )
1471
- r[l][0] == s ? (A[c++] = l, d = g, u = h, g = 0, h = 0, a = r[l][1]) : (r[l][0] == o ? g += r[l][1].length : h += r[l][1].length, a && a.length <= Math.max(d, u) && a.length <= Math.max(
1481
+ for (var i = !1, s = [], a = 0, c = null, l = 0, d = 0, u = 0, g = 0, h = 0; l < r.length; )
1482
+ r[l][0] == A ? (s[a++] = l, d = g, u = h, g = 0, h = 0, c = r[l][1]) : (r[l][0] == o ? g += r[l][1].length : h += r[l][1].length, c && c.length <= Math.max(d, u) && c.length <= Math.max(
1472
1483
  g,
1473
1484
  h
1474
1485
  ) && (r.splice(
1475
- A[c - 1],
1486
+ s[a - 1],
1476
1487
  0,
1477
- new e.Diff(n, a)
1478
- ), r[A[c - 1] + 1][0] = o, c--, c--, l = c > 0 ? A[c - 1] : -1, d = 0, u = 0, g = 0, h = 0, a = null, i = !0)), l++;
1488
+ new e.Diff(n, c)
1489
+ ), r[s[a - 1] + 1][0] = o, a--, a--, l = a > 0 ? s[a - 1] : -1, d = 0, u = 0, g = 0, h = 0, c = null, i = !0)), l++;
1479
1490
  for (i && this.diff_cleanupMerge(r), this.diff_cleanupSemanticLossless(r), l = 1; l < r.length; ) {
1480
1491
  if (r[l - 1][0] == n && r[l][0] == o) {
1481
1492
  var f = r[l - 1][1], p = r[l][1], m = this.diff_commonOverlap_(f, p), v = this.diff_commonOverlap_(p, f);
1482
1493
  m >= v ? (m >= f.length / 2 || m >= p.length / 2) && (r.splice(l, 0, new e.Diff(
1483
- s,
1494
+ A,
1484
1495
  p.substring(0, m)
1485
1496
  )), r[l - 1][1] = f.substring(0, f.length - m), r[l + 1][1] = p.substring(m), l++) : (v >= f.length / 2 || v >= p.length / 2) && (r.splice(l, 0, new e.Diff(
1486
- s,
1497
+ A,
1487
1498
  f.substring(0, v)
1488
1499
  )), r[l - 1][0] = o, r[l - 1][1] = p.substring(0, p.length - v), r[l + 1][0] = n, r[l + 1][1] = f.substring(v), l++), l++;
1489
1500
  }
@@ -1496,68 +1507,68 @@ function Mn() {
1496
1507
  var C = v.charAt(v.length - 1), E = I.charAt(0), b = C.match(e.nonAlphaNumericRegex_), w = E.match(e.nonAlphaNumericRegex_), y = b && C.match(e.whitespaceRegex_), k = w && E.match(e.whitespaceRegex_), R = y && C.match(e.linebreakRegex_), x = k && E.match(e.linebreakRegex_), S = R && v.match(e.blanklineEndRegex_), Z = x && I.match(e.blanklineStartRegex_);
1497
1508
  return S || Z ? 5 : R || x ? 4 : b && !y && k ? 3 : y || k ? 2 : b || w ? 1 : 0;
1498
1509
  }
1499
- for (var A = 1; A < r.length - 1; ) {
1500
- if (r[A - 1][0] == s && r[A + 1][0] == s) {
1501
- var c = r[A - 1][1], a = r[A][1], l = r[A + 1][1], d = this.diff_commonSuffix(c, a);
1510
+ for (var s = 1; s < r.length - 1; ) {
1511
+ if (r[s - 1][0] == A && r[s + 1][0] == A) {
1512
+ var a = r[s - 1][1], c = r[s][1], l = r[s + 1][1], d = this.diff_commonSuffix(a, c);
1502
1513
  if (d) {
1503
- var u = a.substring(a.length - d);
1504
- c = c.substring(0, c.length - d), a = u + a.substring(0, a.length - d), l = u + l;
1514
+ var u = c.substring(c.length - d);
1515
+ a = a.substring(0, a.length - d), c = u + c.substring(0, c.length - d), l = u + l;
1505
1516
  }
1506
- for (var g = c, h = a, f = l, p = i(c, a) + i(a, l); a.charAt(0) === l.charAt(0); ) {
1507
- c += a.charAt(0), a = a.substring(1) + l.charAt(0), l = l.substring(1);
1508
- var m = i(c, a) + i(a, l);
1509
- m >= p && (p = m, g = c, h = a, f = l);
1517
+ for (var g = a, h = c, f = l, p = i(a, c) + i(c, l); c.charAt(0) === l.charAt(0); ) {
1518
+ a += c.charAt(0), c = c.substring(1) + l.charAt(0), l = l.substring(1);
1519
+ var m = i(a, c) + i(c, l);
1520
+ m >= p && (p = m, g = a, h = c, f = l);
1510
1521
  }
1511
- r[A - 1][1] != g && (g ? r[A - 1][1] = g : (r.splice(A - 1, 1), A--), r[A][1] = h, f ? r[A + 1][1] = f : (r.splice(A + 1, 1), A--));
1522
+ r[s - 1][1] != g && (g ? r[s - 1][1] = g : (r.splice(s - 1, 1), s--), r[s][1] = h, f ? r[s + 1][1] = f : (r.splice(s + 1, 1), s--));
1512
1523
  }
1513
- A++;
1524
+ s++;
1514
1525
  }
1515
1526
  }, e.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/, e.whitespaceRegex_ = /\s/, e.linebreakRegex_ = /[\r\n]/, e.blanklineEndRegex_ = /\n\r?\n$/, e.blanklineStartRegex_ = /^\r?\n\r?\n/, e.prototype.diff_cleanupEfficiency = function(r) {
1516
- for (var i = !1, A = [], c = 0, a = null, l = 0, d = !1, u = !1, g = !1, h = !1; l < r.length; )
1517
- r[l][0] == s ? (r[l][1].length < this.Diff_EditCost && (g || h) ? (A[c++] = l, d = g, u = h, a = r[l][1]) : (c = 0, a = null), g = h = !1) : (r[l][0] == n ? h = !0 : g = !0, a && (d && u && g && h || a.length < this.Diff_EditCost / 2 && d + u + g + h == 3) && (r.splice(
1518
- A[c - 1],
1527
+ for (var i = !1, s = [], a = 0, c = null, l = 0, d = !1, u = !1, g = !1, h = !1; l < r.length; )
1528
+ r[l][0] == A ? (r[l][1].length < this.Diff_EditCost && (g || h) ? (s[a++] = l, d = g, u = h, c = r[l][1]) : (a = 0, c = null), g = h = !1) : (r[l][0] == n ? h = !0 : g = !0, c && (d && u && g && h || c.length < this.Diff_EditCost / 2 && d + u + g + h == 3) && (r.splice(
1529
+ s[a - 1],
1519
1530
  0,
1520
- new e.Diff(n, a)
1521
- ), r[A[c - 1] + 1][0] = o, c--, a = null, d && u ? (g = h = !0, c = 0) : (c--, l = c > 0 ? A[c - 1] : -1, g = h = !1), i = !0)), l++;
1531
+ new e.Diff(n, c)
1532
+ ), r[s[a - 1] + 1][0] = o, a--, c = null, d && u ? (g = h = !0, a = 0) : (a--, l = a > 0 ? s[a - 1] : -1, g = h = !1), i = !0)), l++;
1522
1533
  i && this.diff_cleanupMerge(r);
1523
1534
  }, e.prototype.diff_cleanupMerge = function(r) {
1524
- r.push(new e.Diff(s, ""));
1525
- for (var i = 0, A = 0, c = 0, a = "", l = "", d; i < r.length; )
1535
+ r.push(new e.Diff(A, ""));
1536
+ for (var i = 0, s = 0, a = 0, c = "", l = "", d; i < r.length; )
1526
1537
  switch (r[i][0]) {
1527
1538
  case o:
1528
- c++, l += r[i][1], i++;
1539
+ a++, l += r[i][1], i++;
1529
1540
  break;
1530
1541
  case n:
1531
- A++, a += r[i][1], i++;
1542
+ s++, c += r[i][1], i++;
1532
1543
  break;
1533
- case s:
1534
- A + c > 1 ? (A !== 0 && c !== 0 && (d = this.diff_commonPrefix(l, a), d !== 0 && (i - A - c > 0 && r[i - A - c - 1][0] == s ? r[i - A - c - 1][1] += l.substring(0, d) : (r.splice(0, 0, new e.Diff(
1535
- s,
1544
+ case A:
1545
+ s + a > 1 ? (s !== 0 && a !== 0 && (d = this.diff_commonPrefix(l, c), d !== 0 && (i - s - a > 0 && r[i - s - a - 1][0] == A ? r[i - s - a - 1][1] += l.substring(0, d) : (r.splice(0, 0, new e.Diff(
1546
+ A,
1536
1547
  l.substring(0, d)
1537
- )), i++), l = l.substring(d), a = a.substring(d)), d = this.diff_commonSuffix(l, a), d !== 0 && (r[i][1] = l.substring(l.length - d) + r[i][1], l = l.substring(0, l.length - d), a = a.substring(0, a.length - d))), i -= A + c, r.splice(i, A + c), a.length && (r.splice(
1548
+ )), i++), l = l.substring(d), c = c.substring(d)), d = this.diff_commonSuffix(l, c), d !== 0 && (r[i][1] = l.substring(l.length - d) + r[i][1], l = l.substring(0, l.length - d), c = c.substring(0, c.length - d))), i -= s + a, r.splice(i, s + a), c.length && (r.splice(
1538
1549
  i,
1539
1550
  0,
1540
- new e.Diff(n, a)
1551
+ new e.Diff(n, c)
1541
1552
  ), i++), l.length && (r.splice(
1542
1553
  i,
1543
1554
  0,
1544
1555
  new e.Diff(o, l)
1545
- ), i++), i++) : i !== 0 && r[i - 1][0] == s ? (r[i - 1][1] += r[i][1], r.splice(i, 1)) : i++, c = 0, A = 0, a = "", l = "";
1556
+ ), i++), i++) : i !== 0 && r[i - 1][0] == A ? (r[i - 1][1] += r[i][1], r.splice(i, 1)) : i++, a = 0, s = 0, c = "", l = "";
1546
1557
  break;
1547
1558
  }
1548
1559
  r[r.length - 1][1] === "" && r.pop();
1549
1560
  var u = !1;
1550
1561
  for (i = 1; i < r.length - 1; )
1551
- r[i - 1][0] == s && r[i + 1][0] == s && (r[i][1].substring(r[i][1].length - r[i - 1][1].length) == r[i - 1][1] ? (r[i][1] = r[i - 1][1] + r[i][1].substring(0, r[i][1].length - r[i - 1][1].length), r[i + 1][1] = r[i - 1][1] + r[i + 1][1], r.splice(i - 1, 1), u = !0) : r[i][1].substring(0, r[i + 1][1].length) == r[i + 1][1] && (r[i - 1][1] += r[i + 1][1], r[i][1] = r[i][1].substring(r[i + 1][1].length) + r[i + 1][1], r.splice(i + 1, 1), u = !0)), i++;
1562
+ r[i - 1][0] == A && r[i + 1][0] == A && (r[i][1].substring(r[i][1].length - r[i - 1][1].length) == r[i - 1][1] ? (r[i][1] = r[i - 1][1] + r[i][1].substring(0, r[i][1].length - r[i - 1][1].length), r[i + 1][1] = r[i - 1][1] + r[i + 1][1], r.splice(i - 1, 1), u = !0) : r[i][1].substring(0, r[i + 1][1].length) == r[i + 1][1] && (r[i - 1][1] += r[i + 1][1], r[i][1] = r[i][1].substring(r[i + 1][1].length) + r[i + 1][1], r.splice(i + 1, 1), u = !0)), i++;
1552
1563
  u && this.diff_cleanupMerge(r);
1553
1564
  }, e.prototype.diff_xIndex = function(r, i) {
1554
- var A = 0, c = 0, a = 0, l = 0, d;
1555
- for (d = 0; d < r.length && (r[d][0] !== o && (A += r[d][1].length), r[d][0] !== n && (c += r[d][1].length), !(A > i)); d++)
1556
- a = A, l = c;
1557
- return r.length != d && r[d][0] === n ? l : l + (i - a);
1565
+ var s = 0, a = 0, c = 0, l = 0, d;
1566
+ for (d = 0; d < r.length && (r[d][0] !== o && (s += r[d][1].length), r[d][0] !== n && (a += r[d][1].length), !(s > i)); d++)
1567
+ c = s, l = a;
1568
+ return r.length != d && r[d][0] === n ? l : l + (i - c);
1558
1569
  }, e.prototype.diff_prettyHtml = function(r) {
1559
- for (var i = [], A = /&/g, c = /</g, a = />/g, l = /\n/g, d = 0; d < r.length; d++) {
1560
- var u = r[d][0], g = r[d][1], h = g.replace(A, "&amp;").replace(c, "&lt;").replace(a, "&gt;").replace(l, "&para;<br>");
1570
+ for (var i = [], s = /&/g, a = /</g, c = />/g, l = /\n/g, d = 0; d < r.length; d++) {
1571
+ var u = r[d][0], g = r[d][1], h = g.replace(s, "&amp;").replace(a, "&lt;").replace(c, "&gt;").replace(l, "&para;<br>");
1561
1572
  switch (u) {
1562
1573
  case o:
1563
1574
  i[d] = '<ins style="background:#e6ffe6;">' + h + "</ins>";
@@ -1565,57 +1576,57 @@ function Mn() {
1565
1576
  case n:
1566
1577
  i[d] = '<del style="background:#ffe6e6;">' + h + "</del>";
1567
1578
  break;
1568
- case s:
1579
+ case A:
1569
1580
  i[d] = "<span>" + h + "</span>";
1570
1581
  break;
1571
1582
  }
1572
1583
  }
1573
1584
  return i.join("");
1574
1585
  }, e.prototype.diff_text1 = function(r) {
1575
- for (var i = [], A = 0; A < r.length; A++)
1576
- r[A][0] !== o && (i[A] = r[A][1]);
1586
+ for (var i = [], s = 0; s < r.length; s++)
1587
+ r[s][0] !== o && (i[s] = r[s][1]);
1577
1588
  return i.join("");
1578
1589
  }, e.prototype.diff_text2 = function(r) {
1579
- for (var i = [], A = 0; A < r.length; A++)
1580
- r[A][0] !== n && (i[A] = r[A][1]);
1590
+ for (var i = [], s = 0; s < r.length; s++)
1591
+ r[s][0] !== n && (i[s] = r[s][1]);
1581
1592
  return i.join("");
1582
1593
  }, e.prototype.diff_levenshtein = function(r) {
1583
- for (var i = 0, A = 0, c = 0, a = 0; a < r.length; a++) {
1584
- var l = r[a][0], d = r[a][1];
1594
+ for (var i = 0, s = 0, a = 0, c = 0; c < r.length; c++) {
1595
+ var l = r[c][0], d = r[c][1];
1585
1596
  switch (l) {
1586
1597
  case o:
1587
- A += d.length;
1598
+ s += d.length;
1588
1599
  break;
1589
1600
  case n:
1590
- c += d.length;
1601
+ a += d.length;
1591
1602
  break;
1592
- case s:
1593
- i += Math.max(A, c), A = 0, c = 0;
1603
+ case A:
1604
+ i += Math.max(s, a), s = 0, a = 0;
1594
1605
  break;
1595
1606
  }
1596
1607
  }
1597
- return i += Math.max(A, c), i;
1608
+ return i += Math.max(s, a), i;
1598
1609
  }, e.prototype.diff_toDelta = function(r) {
1599
- for (var i = [], A = 0; A < r.length; A++)
1600
- switch (r[A][0]) {
1610
+ for (var i = [], s = 0; s < r.length; s++)
1611
+ switch (r[s][0]) {
1601
1612
  case o:
1602
- i[A] = "+" + encodeURI(r[A][1]);
1613
+ i[s] = "+" + encodeURI(r[s][1]);
1603
1614
  break;
1604
1615
  case n:
1605
- i[A] = "-" + r[A][1].length;
1616
+ i[s] = "-" + r[s][1].length;
1606
1617
  break;
1607
- case s:
1608
- i[A] = "=" + r[A][1].length;
1618
+ case A:
1619
+ i[s] = "=" + r[s][1].length;
1609
1620
  break;
1610
1621
  }
1611
1622
  return i.join(" ").replace(/%20/g, " ");
1612
1623
  }, e.prototype.diff_fromDelta = function(r, i) {
1613
- for (var A = [], c = 0, a = 0, l = i.split(/\t/g), d = 0; d < l.length; d++) {
1624
+ for (var s = [], a = 0, c = 0, l = i.split(/\t/g), d = 0; d < l.length; d++) {
1614
1625
  var u = l[d].substring(1);
1615
1626
  switch (l[d].charAt(0)) {
1616
1627
  case "+":
1617
1628
  try {
1618
- A[c++] = new e.Diff(o, decodeURI(u));
1629
+ s[a++] = new e.Diff(o, decodeURI(u));
1619
1630
  } catch {
1620
1631
  throw new Error("Illegal escape in diff_fromDelta: " + u);
1621
1632
  }
@@ -1626,137 +1637,137 @@ function Mn() {
1626
1637
  var g = parseInt(u, 10);
1627
1638
  if (isNaN(g) || g < 0)
1628
1639
  throw new Error("Invalid number in diff_fromDelta: " + u);
1629
- var h = r.substring(a, a += g);
1630
- l[d].charAt(0) == "=" ? A[c++] = new e.Diff(s, h) : A[c++] = new e.Diff(n, h);
1640
+ var h = r.substring(c, c += g);
1641
+ l[d].charAt(0) == "=" ? s[a++] = new e.Diff(A, h) : s[a++] = new e.Diff(n, h);
1631
1642
  break;
1632
1643
  default:
1633
1644
  if (l[d])
1634
1645
  throw new Error("Invalid diff operation in diff_fromDelta: " + l[d]);
1635
1646
  }
1636
1647
  }
1637
- if (a != r.length)
1638
- throw new Error("Delta length (" + a + ") does not equal source text length (" + r.length + ").");
1639
- return A;
1640
- }, e.prototype.match_main = function(r, i, A) {
1641
- if (r == null || i == null || A == null)
1648
+ if (c != r.length)
1649
+ throw new Error("Delta length (" + c + ") does not equal source text length (" + r.length + ").");
1650
+ return s;
1651
+ }, e.prototype.match_main = function(r, i, s) {
1652
+ if (r == null || i == null || s == null)
1642
1653
  throw new Error("Null input. (match_main)");
1643
- return A = Math.max(0, Math.min(A, r.length)), r == i ? 0 : r.length ? r.substring(A, A + i.length) == i ? A : this.match_bitap_(r, i, A) : -1;
1644
- }, e.prototype.match_bitap_ = function(r, i, A) {
1654
+ return s = Math.max(0, Math.min(s, r.length)), r == i ? 0 : r.length ? r.substring(s, s + i.length) == i ? s : this.match_bitap_(r, i, s) : -1;
1655
+ }, e.prototype.match_bitap_ = function(r, i, s) {
1645
1656
  if (i.length > this.Match_MaxBits)
1646
1657
  throw new Error("Pattern too long for this browser.");
1647
- var c = this.match_alphabet_(i), a = this;
1658
+ var a = this.match_alphabet_(i), c = this;
1648
1659
  function l(k, R) {
1649
- var x = k / i.length, S = Math.abs(A - R);
1650
- return a.Match_Distance ? x + S / a.Match_Distance : S ? 1 : x;
1660
+ var x = k / i.length, S = Math.abs(s - R);
1661
+ return c.Match_Distance ? x + S / c.Match_Distance : S ? 1 : x;
1651
1662
  }
1652
- var d = this.Match_Threshold, u = r.indexOf(i, A);
1653
- u != -1 && (d = Math.min(l(0, u), d), u = r.lastIndexOf(i, A + i.length), u != -1 && (d = Math.min(l(0, u), d)));
1663
+ var d = this.Match_Threshold, u = r.indexOf(i, s);
1664
+ u != -1 && (d = Math.min(l(0, u), d), u = r.lastIndexOf(i, s + i.length), u != -1 && (d = Math.min(l(0, u), d)));
1654
1665
  var g = 1 << i.length - 1;
1655
1666
  u = -1;
1656
1667
  for (var h, f, p = i.length + r.length, m, v = 0; v < i.length; v++) {
1657
1668
  for (h = 0, f = p; h < f; )
1658
- l(v, A + f) <= d ? h = f : p = f, f = Math.floor((p - h) / 2 + h);
1669
+ l(v, s + f) <= d ? h = f : p = f, f = Math.floor((p - h) / 2 + h);
1659
1670
  p = f;
1660
- var I = Math.max(1, A - f + 1), C = Math.min(A + f, r.length) + i.length, E = Array(C + 2);
1671
+ var I = Math.max(1, s - f + 1), C = Math.min(s + f, r.length) + i.length, E = Array(C + 2);
1661
1672
  E[C + 1] = (1 << v) - 1;
1662
1673
  for (var b = C; b >= I; b--) {
1663
- var w = c[r.charAt(b - 1)];
1674
+ var w = a[r.charAt(b - 1)];
1664
1675
  if (v === 0 ? E[b] = (E[b + 1] << 1 | 1) & w : E[b] = (E[b + 1] << 1 | 1) & w | ((m[b + 1] | m[b]) << 1 | 1) | m[b + 1], E[b] & g) {
1665
1676
  var y = l(v, b - 1);
1666
1677
  if (y <= d)
1667
- if (d = y, u = b - 1, u > A)
1668
- I = Math.max(1, 2 * A - u);
1678
+ if (d = y, u = b - 1, u > s)
1679
+ I = Math.max(1, 2 * s - u);
1669
1680
  else
1670
1681
  break;
1671
1682
  }
1672
1683
  }
1673
- if (l(v + 1, A) > d)
1684
+ if (l(v + 1, s) > d)
1674
1685
  break;
1675
1686
  m = E;
1676
1687
  }
1677
1688
  return u;
1678
1689
  }, e.prototype.match_alphabet_ = function(r) {
1679
- for (var i = {}, A = 0; A < r.length; A++)
1680
- i[r.charAt(A)] = 0;
1681
- for (var A = 0; A < r.length; A++)
1682
- i[r.charAt(A)] |= 1 << r.length - A - 1;
1690
+ for (var i = {}, s = 0; s < r.length; s++)
1691
+ i[r.charAt(s)] = 0;
1692
+ for (var s = 0; s < r.length; s++)
1693
+ i[r.charAt(s)] |= 1 << r.length - s - 1;
1683
1694
  return i;
1684
1695
  }, e.prototype.patch_addContext_ = function(r, i) {
1685
1696
  if (i.length != 0) {
1686
1697
  if (r.start2 === null)
1687
1698
  throw Error("patch not initialized");
1688
- for (var A = i.substring(r.start2, r.start2 + r.length1), c = 0; i.indexOf(A) != i.lastIndexOf(A) && A.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; )
1689
- c += this.Patch_Margin, A = i.substring(
1690
- r.start2 - c,
1691
- r.start2 + r.length1 + c
1699
+ for (var s = i.substring(r.start2, r.start2 + r.length1), a = 0; i.indexOf(s) != i.lastIndexOf(s) && s.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; )
1700
+ a += this.Patch_Margin, s = i.substring(
1701
+ r.start2 - a,
1702
+ r.start2 + r.length1 + a
1692
1703
  );
1693
- c += this.Patch_Margin;
1694
- var a = i.substring(r.start2 - c, r.start2);
1695
- a && r.diffs.unshift(new e.Diff(s, a));
1704
+ a += this.Patch_Margin;
1705
+ var c = i.substring(r.start2 - a, r.start2);
1706
+ c && r.diffs.unshift(new e.Diff(A, c));
1696
1707
  var l = i.substring(
1697
1708
  r.start2 + r.length1,
1698
- r.start2 + r.length1 + c
1709
+ r.start2 + r.length1 + a
1699
1710
  );
1700
- l && r.diffs.push(new e.Diff(s, l)), r.start1 -= a.length, r.start2 -= a.length, r.length1 += a.length + l.length, r.length2 += a.length + l.length;
1711
+ l && r.diffs.push(new e.Diff(A, l)), r.start1 -= c.length, r.start2 -= c.length, r.length1 += c.length + l.length, r.length2 += c.length + l.length;
1701
1712
  }
1702
- }, e.prototype.patch_make = function(r, i, A) {
1703
- var c, a;
1704
- if (typeof r == "string" && typeof i == "string" && typeof A > "u")
1705
- c = /** @type {string} */
1706
- r, a = this.diff_main(
1707
- c,
1713
+ }, e.prototype.patch_make = function(r, i, s) {
1714
+ var a, c;
1715
+ if (typeof r == "string" && typeof i == "string" && typeof s > "u")
1716
+ a = /** @type {string} */
1717
+ r, c = this.diff_main(
1718
+ a,
1708
1719
  /** @type {string} */
1709
1720
  i,
1710
1721
  !0
1711
- ), a.length > 2 && (this.diff_cleanupSemantic(a), this.diff_cleanupEfficiency(a));
1712
- else if (r && typeof r == "object" && typeof i > "u" && typeof A > "u")
1713
- a = /** @type {!Array.<!diff_match_patch.Diff>} */
1714
- r, c = this.diff_text1(a);
1715
- else if (typeof r == "string" && i && typeof i == "object" && typeof A > "u")
1716
- c = /** @type {string} */
1717
- r, a = /** @type {!Array.<!diff_match_patch.Diff>} */
1722
+ ), c.length > 2 && (this.diff_cleanupSemantic(c), this.diff_cleanupEfficiency(c));
1723
+ else if (r && typeof r == "object" && typeof i > "u" && typeof s > "u")
1724
+ c = /** @type {!Array.<!diff_match_patch.Diff>} */
1725
+ r, a = this.diff_text1(c);
1726
+ else if (typeof r == "string" && i && typeof i == "object" && typeof s > "u")
1727
+ a = /** @type {string} */
1728
+ r, c = /** @type {!Array.<!diff_match_patch.Diff>} */
1718
1729
  i;
1719
- else if (typeof r == "string" && typeof i == "string" && A && typeof A == "object")
1720
- c = /** @type {string} */
1721
- r, a = /** @type {!Array.<!diff_match_patch.Diff>} */
1722
- A;
1730
+ else if (typeof r == "string" && typeof i == "string" && s && typeof s == "object")
1731
+ a = /** @type {string} */
1732
+ r, c = /** @type {!Array.<!diff_match_patch.Diff>} */
1733
+ s;
1723
1734
  else
1724
1735
  throw new Error("Unknown call format to patch_make.");
1725
- if (a.length === 0)
1736
+ if (c.length === 0)
1726
1737
  return [];
1727
- for (var l = [], d = new e.patch_obj(), u = 0, g = 0, h = 0, f = c, p = c, m = 0; m < a.length; m++) {
1728
- var v = a[m][0], I = a[m][1];
1729
- switch (!u && v !== s && (d.start1 = g, d.start2 = h), v) {
1738
+ for (var l = [], d = new e.patch_obj(), u = 0, g = 0, h = 0, f = a, p = a, m = 0; m < c.length; m++) {
1739
+ var v = c[m][0], I = c[m][1];
1740
+ switch (!u && v !== A && (d.start1 = g, d.start2 = h), v) {
1730
1741
  case o:
1731
- d.diffs[u++] = a[m], d.length2 += I.length, p = p.substring(0, h) + I + p.substring(h);
1742
+ d.diffs[u++] = c[m], d.length2 += I.length, p = p.substring(0, h) + I + p.substring(h);
1732
1743
  break;
1733
1744
  case n:
1734
- d.length1 += I.length, d.diffs[u++] = a[m], p = p.substring(0, h) + p.substring(h + I.length);
1745
+ d.length1 += I.length, d.diffs[u++] = c[m], p = p.substring(0, h) + p.substring(h + I.length);
1735
1746
  break;
1736
- case s:
1737
- I.length <= 2 * this.Patch_Margin && u && a.length != m + 1 ? (d.diffs[u++] = a[m], d.length1 += I.length, d.length2 += I.length) : I.length >= 2 * this.Patch_Margin && u && (this.patch_addContext_(d, f), l.push(d), d = new e.patch_obj(), u = 0, f = p, g = h);
1747
+ case A:
1748
+ I.length <= 2 * this.Patch_Margin && u && c.length != m + 1 ? (d.diffs[u++] = c[m], d.length1 += I.length, d.length2 += I.length) : I.length >= 2 * this.Patch_Margin && u && (this.patch_addContext_(d, f), l.push(d), d = new e.patch_obj(), u = 0, f = p, g = h);
1738
1749
  break;
1739
1750
  }
1740
1751
  v !== o && (g += I.length), v !== n && (h += I.length);
1741
1752
  }
1742
1753
  return u && (this.patch_addContext_(d, f), l.push(d)), l;
1743
1754
  }, e.prototype.patch_deepCopy = function(r) {
1744
- for (var i = [], A = 0; A < r.length; A++) {
1745
- var c = r[A], a = new e.patch_obj();
1746
- a.diffs = [];
1747
- for (var l = 0; l < c.diffs.length; l++)
1748
- a.diffs[l] = new e.Diff(c.diffs[l][0], c.diffs[l][1]);
1749
- a.start1 = c.start1, a.start2 = c.start2, a.length1 = c.length1, a.length2 = c.length2, i[A] = a;
1755
+ for (var i = [], s = 0; s < r.length; s++) {
1756
+ var a = r[s], c = new e.patch_obj();
1757
+ c.diffs = [];
1758
+ for (var l = 0; l < a.diffs.length; l++)
1759
+ c.diffs[l] = new e.Diff(a.diffs[l][0], a.diffs[l][1]);
1760
+ c.start1 = a.start1, c.start2 = a.start2, c.length1 = a.length1, c.length2 = a.length2, i[s] = c;
1750
1761
  }
1751
1762
  return i;
1752
1763
  }, e.prototype.patch_apply = function(r, i) {
1753
1764
  if (r.length == 0)
1754
1765
  return [i, []];
1755
1766
  r = this.patch_deepCopy(r);
1756
- var A = this.patch_addPadding(r);
1757
- i = A + i + A, this.patch_splitMax(r);
1758
- for (var c = 0, a = [], l = 0; l < r.length; l++) {
1759
- var d = r[l].start2 + c, u = this.diff_text1(r[l].diffs), g, h = -1;
1767
+ var s = this.patch_addPadding(r);
1768
+ i = s + i + s, this.patch_splitMax(r);
1769
+ for (var a = 0, c = [], l = 0; l < r.length; l++) {
1770
+ var d = r[l].start2 + a, u = this.diff_text1(r[l].diffs), g, h = -1;
1760
1771
  if (u.length > this.Match_MaxBits ? (g = this.match_main(
1761
1772
  i,
1762
1773
  u.substring(0, this.Match_MaxBits),
@@ -1766,21 +1777,21 @@ function Mn() {
1766
1777
  u.substring(u.length - this.Match_MaxBits),
1767
1778
  d + u.length - this.Match_MaxBits
1768
1779
  ), (h == -1 || g >= h) && (g = -1))) : g = this.match_main(i, u, d), g == -1)
1769
- a[l] = !1, c -= r[l].length2 - r[l].length1;
1780
+ c[l] = !1, a -= r[l].length2 - r[l].length1;
1770
1781
  else {
1771
- a[l] = !0, c = g - d;
1782
+ c[l] = !0, a = g - d;
1772
1783
  var f;
1773
1784
  if (h == -1 ? f = i.substring(g, g + u.length) : f = i.substring(g, h + this.Match_MaxBits), u == f)
1774
1785
  i = i.substring(0, g) + this.diff_text2(r[l].diffs) + i.substring(g + u.length);
1775
1786
  else {
1776
1787
  var p = this.diff_main(u, f, !1);
1777
1788
  if (u.length > this.Match_MaxBits && this.diff_levenshtein(p) / u.length > this.Patch_DeleteThreshold)
1778
- a[l] = !1;
1789
+ c[l] = !1;
1779
1790
  else {
1780
1791
  this.diff_cleanupSemanticLossless(p);
1781
1792
  for (var m = 0, v, I = 0; I < r[l].diffs.length; I++) {
1782
1793
  var C = r[l].diffs[I];
1783
- C[0] !== s && (v = this.diff_xIndex(p, m)), C[0] === o ? i = i.substring(0, g + v) + C[1] + i.substring(g + v) : C[0] === n && (i = i.substring(0, g + v) + i.substring(g + this.diff_xIndex(
1794
+ C[0] !== A && (v = this.diff_xIndex(p, m)), C[0] === o ? i = i.substring(0, g + v) + C[1] + i.substring(g + v) : C[0] === n && (i = i.substring(0, g + v) + i.substring(g + this.diff_xIndex(
1784
1795
  p,
1785
1796
  m + C[1].length
1786
1797
  ))), C[0] !== n && (m += C[1].length);
@@ -1789,63 +1800,63 @@ function Mn() {
1789
1800
  }
1790
1801
  }
1791
1802
  }
1792
- return i = i.substring(A.length, i.length - A.length), [i, a];
1803
+ return i = i.substring(s.length, i.length - s.length), [i, c];
1793
1804
  }, e.prototype.patch_addPadding = function(r) {
1794
- for (var i = this.Patch_Margin, A = "", c = 1; c <= i; c++)
1795
- A += String.fromCharCode(c);
1796
- for (var c = 0; c < r.length; c++)
1797
- r[c].start1 += i, r[c].start2 += i;
1798
- var a = r[0], l = a.diffs;
1799
- if (l.length == 0 || l[0][0] != s)
1800
- l.unshift(new e.Diff(s, A)), a.start1 -= i, a.start2 -= i, a.length1 += i, a.length2 += i;
1805
+ for (var i = this.Patch_Margin, s = "", a = 1; a <= i; a++)
1806
+ s += String.fromCharCode(a);
1807
+ for (var a = 0; a < r.length; a++)
1808
+ r[a].start1 += i, r[a].start2 += i;
1809
+ var c = r[0], l = c.diffs;
1810
+ if (l.length == 0 || l[0][0] != A)
1811
+ l.unshift(new e.Diff(A, s)), c.start1 -= i, c.start2 -= i, c.length1 += i, c.length2 += i;
1801
1812
  else if (i > l[0][1].length) {
1802
1813
  var d = i - l[0][1].length;
1803
- l[0][1] = A.substring(l[0][1].length) + l[0][1], a.start1 -= d, a.start2 -= d, a.length1 += d, a.length2 += d;
1814
+ l[0][1] = s.substring(l[0][1].length) + l[0][1], c.start1 -= d, c.start2 -= d, c.length1 += d, c.length2 += d;
1804
1815
  }
1805
- if (a = r[r.length - 1], l = a.diffs, l.length == 0 || l[l.length - 1][0] != s)
1806
- l.push(new e.Diff(s, A)), a.length1 += i, a.length2 += i;
1816
+ if (c = r[r.length - 1], l = c.diffs, l.length == 0 || l[l.length - 1][0] != A)
1817
+ l.push(new e.Diff(A, s)), c.length1 += i, c.length2 += i;
1807
1818
  else if (i > l[l.length - 1][1].length) {
1808
1819
  var d = i - l[l.length - 1][1].length;
1809
- l[l.length - 1][1] += A.substring(0, d), a.length1 += d, a.length2 += d;
1820
+ l[l.length - 1][1] += s.substring(0, d), c.length1 += d, c.length2 += d;
1810
1821
  }
1811
- return A;
1822
+ return s;
1812
1823
  }, e.prototype.patch_splitMax = function(r) {
1813
- for (var i = this.Match_MaxBits, A = 0; A < r.length; A++)
1814
- if (!(r[A].length1 <= i)) {
1815
- var c = r[A];
1816
- r.splice(A--, 1);
1817
- for (var a = c.start1, l = c.start2, d = ""; c.diffs.length !== 0; ) {
1824
+ for (var i = this.Match_MaxBits, s = 0; s < r.length; s++)
1825
+ if (!(r[s].length1 <= i)) {
1826
+ var a = r[s];
1827
+ r.splice(s--, 1);
1828
+ for (var c = a.start1, l = a.start2, d = ""; a.diffs.length !== 0; ) {
1818
1829
  var u = new e.patch_obj(), g = !0;
1819
- for (u.start1 = a - d.length, u.start2 = l - d.length, d !== "" && (u.length1 = u.length2 = d.length, u.diffs.push(new e.Diff(s, d))); c.diffs.length !== 0 && u.length1 < i - this.Patch_Margin; ) {
1820
- var h = c.diffs[0][0], f = c.diffs[0][1];
1821
- h === o ? (u.length2 += f.length, l += f.length, u.diffs.push(c.diffs.shift()), g = !1) : h === n && u.diffs.length == 1 && u.diffs[0][0] == s && f.length > 2 * i ? (u.length1 += f.length, a += f.length, g = !1, u.diffs.push(new e.Diff(h, f)), c.diffs.shift()) : (f = f.substring(
1830
+ for (u.start1 = c - d.length, u.start2 = l - d.length, d !== "" && (u.length1 = u.length2 = d.length, u.diffs.push(new e.Diff(A, d))); a.diffs.length !== 0 && u.length1 < i - this.Patch_Margin; ) {
1831
+ var h = a.diffs[0][0], f = a.diffs[0][1];
1832
+ h === o ? (u.length2 += f.length, l += f.length, u.diffs.push(a.diffs.shift()), g = !1) : h === n && u.diffs.length == 1 && u.diffs[0][0] == A && f.length > 2 * i ? (u.length1 += f.length, c += f.length, g = !1, u.diffs.push(new e.Diff(h, f)), a.diffs.shift()) : (f = f.substring(
1822
1833
  0,
1823
1834
  i - u.length1 - this.Patch_Margin
1824
- ), u.length1 += f.length, a += f.length, h === s ? (u.length2 += f.length, l += f.length) : g = !1, u.diffs.push(new e.Diff(h, f)), f == c.diffs[0][1] ? c.diffs.shift() : c.diffs[0][1] = c.diffs[0][1].substring(f.length));
1835
+ ), u.length1 += f.length, c += f.length, h === A ? (u.length2 += f.length, l += f.length) : g = !1, u.diffs.push(new e.Diff(h, f)), f == a.diffs[0][1] ? a.diffs.shift() : a.diffs[0][1] = a.diffs[0][1].substring(f.length));
1825
1836
  }
1826
1837
  d = this.diff_text2(u.diffs), d = d.substring(d.length - this.Patch_Margin);
1827
- var p = this.diff_text1(c.diffs).substring(0, this.Patch_Margin);
1828
- p !== "" && (u.length1 += p.length, u.length2 += p.length, u.diffs.length !== 0 && u.diffs[u.diffs.length - 1][0] === s ? u.diffs[u.diffs.length - 1][1] += p : u.diffs.push(new e.Diff(s, p))), g || r.splice(++A, 0, u);
1838
+ var p = this.diff_text1(a.diffs).substring(0, this.Patch_Margin);
1839
+ p !== "" && (u.length1 += p.length, u.length2 += p.length, u.diffs.length !== 0 && u.diffs[u.diffs.length - 1][0] === A ? u.diffs[u.diffs.length - 1][1] += p : u.diffs.push(new e.Diff(A, p))), g || r.splice(++s, 0, u);
1829
1840
  }
1830
1841
  }
1831
1842
  }, e.prototype.patch_toText = function(r) {
1832
- for (var i = [], A = 0; A < r.length; A++)
1833
- i[A] = r[A];
1843
+ for (var i = [], s = 0; s < r.length; s++)
1844
+ i[s] = r[s];
1834
1845
  return i.join("");
1835
1846
  }, e.prototype.patch_fromText = function(r) {
1836
1847
  var i = [];
1837
1848
  if (!r)
1838
1849
  return i;
1839
- for (var A = r.split(`
1840
- `), c = 0, a = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; c < A.length; ) {
1841
- var l = A[c].match(a);
1850
+ for (var s = r.split(`
1851
+ `), a = 0, c = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; a < s.length; ) {
1852
+ var l = s[a].match(c);
1842
1853
  if (!l)
1843
- throw new Error("Invalid patch string: " + A[c]);
1854
+ throw new Error("Invalid patch string: " + s[a]);
1844
1855
  var d = new e.patch_obj();
1845
- for (i.push(d), d.start1 = parseInt(l[1], 10), l[2] === "" ? (d.start1--, d.length1 = 1) : l[2] == "0" ? d.length1 = 0 : (d.start1--, d.length1 = parseInt(l[2], 10)), d.start2 = parseInt(l[3], 10), l[4] === "" ? (d.start2--, d.length2 = 1) : l[4] == "0" ? d.length2 = 0 : (d.start2--, d.length2 = parseInt(l[4], 10)), c++; c < A.length; ) {
1846
- var u = A[c].charAt(0);
1856
+ for (i.push(d), d.start1 = parseInt(l[1], 10), l[2] === "" ? (d.start1--, d.length1 = 1) : l[2] == "0" ? d.length1 = 0 : (d.start1--, d.length1 = parseInt(l[2], 10)), d.start2 = parseInt(l[3], 10), l[4] === "" ? (d.start2--, d.length2 = 1) : l[4] == "0" ? d.length2 = 0 : (d.start2--, d.length2 = parseInt(l[4], 10)), a++; a < s.length; ) {
1857
+ var u = s[a].charAt(0);
1847
1858
  try {
1848
- var g = decodeURI(A[c].substring(1));
1859
+ var g = decodeURI(s[a].substring(1));
1849
1860
  } catch {
1850
1861
  throw new Error("Illegal escape in patch_fromText: " + g);
1851
1862
  }
@@ -1854,13 +1865,13 @@ function Mn() {
1854
1865
  else if (u == "+")
1855
1866
  d.diffs.push(new e.Diff(o, g));
1856
1867
  else if (u == " ")
1857
- d.diffs.push(new e.Diff(s, g));
1868
+ d.diffs.push(new e.Diff(A, g));
1858
1869
  else {
1859
1870
  if (u == "@")
1860
1871
  break;
1861
1872
  if (u !== "") throw new Error('Invalid patch mode "' + u + '" in: ' + g);
1862
1873
  }
1863
- c++;
1874
+ a++;
1864
1875
  }
1865
1876
  }
1866
1877
  return i;
@@ -1869,28 +1880,28 @@ function Mn() {
1869
1880
  }, e.patch_obj.prototype.toString = function() {
1870
1881
  var r, i;
1871
1882
  this.length1 === 0 ? r = this.start1 + ",0" : this.length1 == 1 ? r = this.start1 + 1 : r = this.start1 + 1 + "," + this.length1, this.length2 === 0 ? i = this.start2 + ",0" : this.length2 == 1 ? i = this.start2 + 1 : i = this.start2 + 1 + "," + this.length2;
1872
- for (var A = ["@@ -" + r + " +" + i + ` @@
1873
- `], c, a = 0; a < this.diffs.length; a++) {
1874
- switch (this.diffs[a][0]) {
1883
+ for (var s = ["@@ -" + r + " +" + i + ` @@
1884
+ `], a, c = 0; c < this.diffs.length; c++) {
1885
+ switch (this.diffs[c][0]) {
1875
1886
  case o:
1876
- c = "+";
1887
+ a = "+";
1877
1888
  break;
1878
1889
  case n:
1879
- c = "-";
1890
+ a = "-";
1880
1891
  break;
1881
- case s:
1882
- c = " ";
1892
+ case A:
1893
+ a = " ";
1883
1894
  break;
1884
1895
  }
1885
- A[a + 1] = c + encodeURI(this.diffs[a][1]) + `
1896
+ s[c + 1] = a + encodeURI(this.diffs[c][1]) + `
1886
1897
  `;
1887
1898
  }
1888
- return A.join("").replace(/%20/g, " ");
1889
- }, t.exports = e, t.exports.diff_match_patch = e, t.exports.DIFF_DELETE = n, t.exports.DIFF_INSERT = o, t.exports.DIFF_EQUAL = s;
1890
- }(Ae)), Ae.exports;
1899
+ return s.join("").replace(/%20/g, " ");
1900
+ }, t.exports = e, t.exports.diff_match_patch = e, t.exports.DIFF_DELETE = n, t.exports.DIFF_INSERT = o, t.exports.DIFF_EQUAL = A;
1901
+ })(Ae)), Ae.exports;
1891
1902
  }
1892
- var $ = Mn();
1893
- function et(t) {
1903
+ var $ = Kn();
1904
+ function it(t) {
1894
1905
  return t[t.length - 1].range[1] - t[0].range[0];
1895
1906
  }
1896
1907
  function U(t, e) {
@@ -1899,13 +1910,13 @@ function U(t, e) {
1899
1910
  function ve(t, e) {
1900
1911
  return /^ *$/.test(e.content) && e.content != U(t, e);
1901
1912
  }
1902
- const tt = new $.diff_match_patch();
1903
- tt.Diff_Timeout = 5;
1904
- function Wn(t) {
1913
+ const At = new $.diff_match_patch();
1914
+ At.Diff_Timeout = 5;
1915
+ function Nn(t) {
1905
1916
  const e = [];
1906
1917
  let n = 0, o = 0;
1907
- return t.forEach((s) => {
1908
- const [r, i] = s;
1918
+ return t.forEach((A) => {
1919
+ const [r, i] = A;
1909
1920
  switch (r) {
1910
1921
  case $.DIFF_EQUAL:
1911
1922
  n += i.length;
@@ -1928,37 +1939,37 @@ function Wn(t) {
1928
1939
  function O(t, e, n, o = "HTML") {
1929
1940
  if (n.length === 0)
1930
1941
  return [];
1931
- const s = o === "HTML" ? Zn(t) : [t, []], [r, i] = s, A = tt.diff_main(r, e), c = Wn(A), a = n.map((d) => {
1932
- const u = G(i, d.range[0]), g = G(i, d.range[1]), h = G(c, u), f = g - 1, p = G(c, f) + 1;
1942
+ const A = o === "HTML" ? Qn(t) : [t, []], [r, i] = A, s = At.diff_main(r, e), a = Nn(s), c = n.map((d) => {
1943
+ const u = G(i, d.range[0]), g = G(i, d.range[1]), h = G(a, u), f = g - 1, p = G(a, f) + 1;
1933
1944
  return {
1934
1945
  originalMatch: d,
1935
1946
  range: [h, p]
1936
1947
  };
1937
- }), l = o === "HTML" ? a.some((d) => U(e, d) !== d.originalMatch.content) : a.some((d) => U(e, d) !== U(t, d.originalMatch));
1948
+ }), l = o === "HTML" ? c.some((d) => U(e, d) !== d.originalMatch.content) : c.some((d) => U(e, d) !== U(t, d.originalMatch));
1938
1949
  return H("cleanedCheckedDocument", r), H(
1939
1950
  "cleanedCheckedDocumentCodes",
1940
1951
  r.split("").map((d) => d.charCodeAt(0))
1941
1952
  ), H("currentDocument", e), H(
1942
1953
  "currentDocumentCodes",
1943
1954
  e.split("").map((d) => d.charCodeAt(0))
1944
- ), H("matches", n), H("diffs", A), H("alignedMatches", a), H(
1955
+ ), H("matches", n), H("diffs", s), H("alignedMatches", c), H(
1945
1956
  "alignedMatchesContent",
1946
- a.map((d) => U(e, d))
1947
- ), l ? [] : a;
1957
+ c.map((d) => U(e, d))
1958
+ ), l ? [] : c;
1948
1959
  }
1949
- function nt(t) {
1960
+ function st(t) {
1950
1961
  const e = {
1951
1962
  "original-id": t.id,
1952
1963
  "original-class": t.className,
1953
1964
  "original-name": t.name,
1954
1965
  "original-source": t.tagName.toLowerCase(),
1955
- "original-display": Oe(t) ? "" : "hidden"
1966
+ "original-display": Ue(t) ? "" : "hidden"
1956
1967
  };
1957
1968
  for (const n of t.getAttributeNames().filter((o) => o.startsWith("aria-")))
1958
1969
  e["original-" + n] = t.getAttribute(n);
1959
1970
  return Object.fromEntries(Object.entries(e).filter(([, n]) => n));
1960
1971
  }
1961
- const Ne = { name: "unknown", version: "0" }, Hn = [
1972
+ const Pe = { name: "unknown", version: "0" }, Pn = [
1962
1973
  ["edge", /Edge\/([0-9\._]+)/],
1963
1974
  ["yandexbrowser", /YaBrowser\/([0-9\._]+)/],
1964
1975
  ["vivaldi", /Vivaldi\/([0-9\.]+)/],
@@ -1978,108 +1989,108 @@ const Ne = { name: "unknown", version: "0" }, Hn = [
1978
1989
  ["ios", /Version\/([0-9\._]+).*Mobile.*Safari.*/],
1979
1990
  ["safari", /Version\/([0-9\._]+).*Safari/]
1980
1991
  ];
1981
- function Qn() {
1992
+ function Gn() {
1982
1993
  try {
1983
- return Kn(navigator.userAgent) || Ne;
1994
+ return Tn(navigator.userAgent) || Pe;
1984
1995
  } catch (t) {
1985
- return console.error("Error in detectBrowser:", t), Ne;
1996
+ return console.error("Error in detectBrowser:", t), Pe;
1986
1997
  }
1987
1998
  }
1988
- function Kn(t) {
1999
+ function Tn(t) {
1989
2000
  if (t)
1990
- return Hn.map(([e, n]) => {
2001
+ return Pn.map(([e, n]) => {
1991
2002
  const o = n.exec(t);
1992
- let s = o && o[1].split(/[._]/).slice(0, 3);
1993
- return s && s.length < 3 && (s = s.concat(s.length == 1 ? [0, 0] : [0])), o && {
2003
+ let A = o && o[1].split(/[._]/).slice(0, 3);
2004
+ return A && A.length < 3 && (A = A.concat(A.length == 1 ? [0, 0] : [0])), o && {
1994
2005
  name: e,
1995
- version: s.join(".")
2006
+ version: A.join(".")
1996
2007
  };
1997
2008
  }).filter(Boolean)[0] || void 0;
1998
2009
  }
1999
- const Nn = Qn();
2000
- function Pn() {
2001
- return Nn.name === "chrome";
2010
+ const Yn = Gn();
2011
+ function Ln() {
2012
+ return Yn.name === "chrome";
2002
2013
  }
2003
- function Gn(t) {
2014
+ function Jn(t) {
2004
2015
  return t.documentElement || t.body.parentNode || t.body;
2005
2016
  }
2006
- function Tn(t = window) {
2007
- return t.pageYOffset !== void 0 ? t.pageYOffset : Gn(t.document).scrollTop;
2017
+ function On(t = window) {
2018
+ return t.pageYOffset !== void 0 ? t.pageYOffset : Jn(t.document).scrollTop;
2008
2019
  }
2009
- function Yn(t) {
2020
+ function jn(t) {
2010
2021
  return t.clientHeight !== t.scrollHeight && t.tagName !== "BODY" && t.tagName !== "HTML";
2011
2022
  }
2012
- function Ln(t) {
2023
+ function Un(t) {
2013
2024
  const e = [];
2014
2025
  let n = t.parentElement;
2015
2026
  for (; n; )
2016
2027
  e.push(n), n = n.parentElement;
2017
2028
  return e;
2018
2029
  }
2019
- function Jn(t) {
2020
- return Ln(t).filter(Yn);
2030
+ function zn(t) {
2031
+ return Un(t).filter(jn);
2021
2032
  }
2022
- function rt(t, e = 0, n = 0) {
2023
- if (ot(t) || (t.scrollIntoView(), !e))
2033
+ function at(t, e = 0, n = 0) {
2034
+ if (ct(t) || (t.scrollIntoView(), !e))
2024
2035
  return;
2025
- const s = t.getBoundingClientRect(), r = Jn(t);
2026
- r.length <= 2 && r.forEach((A) => {
2027
- const c = A.getBoundingClientRect();
2028
- (s.top < c.top + n || s.bottom > c.bottom) && (A.scrollTop = s.top - c.top - n);
2036
+ const A = t.getBoundingClientRect(), r = zn(t);
2037
+ r.length <= 2 && r.forEach((s) => {
2038
+ const a = s.getBoundingClientRect();
2039
+ (A.top < a.top + n || A.bottom > a.bottom) && (s.scrollTop = A.top - a.top - n);
2029
2040
  });
2030
- const i = Tn();
2031
- (s.top < e || s.bottom > window.innerHeight) && window.scrollTo(0, i + s.top - e);
2041
+ const i = On();
2042
+ (A.top < e || A.bottom > window.innerHeight) && window.scrollTo(0, i + A.top - e);
2032
2043
  }
2033
- function ot(t) {
2044
+ function ct(t) {
2034
2045
  try {
2035
2046
  return t.scrollIntoView({ block: "center" }), !0;
2036
2047
  } catch {
2037
2048
  return !1;
2038
2049
  }
2039
2050
  }
2040
- function On(t) {
2041
- ot(t) || t.scrollIntoView();
2051
+ function Vn(t) {
2052
+ ct(t) || t.scrollIntoView();
2042
2053
  }
2043
- const se = Dt({
2054
+ const se = Ht({
2044
2055
  text: "",
2045
2056
  domPositions: []
2046
2057
  });
2047
- function jn(t, e) {
2058
+ function Xn(t, e) {
2048
2059
  return {
2049
2060
  text: t,
2050
2061
  domPositions: e
2051
2062
  };
2052
2063
  }
2053
- function Un(t) {
2064
+ function qn(t) {
2054
2065
  return {
2055
2066
  text: t.map((e) => e.text).join(""),
2056
2067
  domPositions: t.flatMap((e) => e.domPositions)
2057
2068
  };
2058
2069
  }
2059
- function zn(t, e) {
2070
+ function _n(t, e) {
2060
2071
  return {
2061
2072
  node: t,
2062
2073
  offset: e
2063
2074
  };
2064
2075
  }
2065
- const Vn = fe(["SCRIPT", "STYLE"]);
2076
+ const $n = fe(["SCRIPT", "STYLE"]);
2066
2077
  function Ie(t) {
2067
- return Un(
2078
+ return qn(
2068
2079
  Array.from(t.childNodes).map((e) => {
2069
2080
  switch (e.nodeType) {
2070
2081
  case Node.ELEMENT_NODE: {
2071
2082
  const n = e.nodeName;
2072
- if (Vn[n])
2083
+ if ($n[n])
2073
2084
  return se;
2074
2085
  const o = Ie(e);
2075
- if ($e[n]) {
2076
- const s = o.domPositions[o.domPositions.length - 1];
2086
+ if (rt[n]) {
2087
+ const A = o.domPositions[o.domPositions.length - 1];
2077
2088
  return {
2078
2089
  text: o.text + `
2079
2090
  `,
2080
2091
  domPositions: o.domPositions.concat({
2081
- node: s && s.node || e,
2082
- offset: s && s.offset || 0
2092
+ node: A && A.node || e,
2093
+ offset: A && A.offset || 0
2083
2094
  })
2084
2095
  };
2085
2096
  }
@@ -2087,9 +2098,9 @@ function Ie(t) {
2087
2098
  }
2088
2099
  case Node.TEXT_NODE: {
2089
2100
  const n = e.textContent;
2090
- return n ? jn(
2101
+ return n ? Xn(
2091
2102
  n,
2092
- Array.from({ length: n.length }, (o, s) => zn(e, s))
2103
+ Array.from({ length: n.length }, (o, A) => _n(e, A))
2093
2104
  ) : se;
2094
2105
  }
2095
2106
  default:
@@ -2098,7 +2109,7 @@ function Ie(t) {
2098
2109
  })
2099
2110
  );
2100
2111
  }
2101
- function Xn(t, e) {
2112
+ function er(t, e) {
2102
2113
  const n = e[Math.max(Math.min(t, e.length) - 1, 0)];
2103
2114
  return {
2104
2115
  node: n.node,
@@ -2132,8 +2143,8 @@ class N {
2132
2143
  scrollIntoView(e) {
2133
2144
  const n = e.getRangeAt(0), o = n.cloneRange();
2134
2145
  o.collapse(!0);
2135
- const s = document.createElement("span");
2136
- o.insertNode(s), e.removeAllRanges(), e.addRange(n), s.focus(), this.scrollElementIntoView(s), z(s), _(o);
2146
+ const A = document.createElement("span");
2147
+ o.insertNode(A), e.removeAllRanges(), e.addRange(n), A.focus(), this.scrollElementIntoView(A), z(A), _(o);
2137
2148
  }
2138
2149
  scrollToCurrentSelection() {
2139
2150
  const e = this.getEditorDocument().getSelection();
@@ -2145,12 +2156,12 @@ class N {
2145
2156
  }
2146
2157
  }
2147
2158
  scrollElementIntoView(e) {
2148
- rt(e, this.config.scrollOffsetY);
2159
+ at(e, this.config.scrollOffsetY);
2149
2160
  }
2150
2161
  selectRanges(e, n) {
2151
2162
  if (V(this.getEditorElement()), this.selectMatches(e, n), this.isQuillEditor() || this.isCkEditor5()) {
2152
2163
  const o = this.getEditorDocument().getSelection();
2153
- o && o.anchorNode && o.anchorNode.parentElement && On(o.anchorNode.parentElement);
2164
+ o && o.anchorNode && o.anchorNode.parentElement && Vn(o.anchorNode.parentElement);
2154
2165
  } else
2155
2166
  this.scrollToCurrentSelection();
2156
2167
  }
@@ -2162,107 +2173,107 @@ class N {
2162
2173
  return e || n;
2163
2174
  }
2164
2175
  selectMatches(e, n) {
2165
- const o = this.getTextDomMapping(), s = O(this.lastContentChecked, o.text, n);
2166
- if (s.length === 0)
2176
+ const o = this.getTextDomMapping(), A = O(this.lastContentChecked, o.text, n);
2177
+ if (A.length === 0)
2167
2178
  throw new Error("Selected flagged content is modified.");
2168
- return this.selectAlignedMatches(s, o), [s, o];
2179
+ return this.selectAlignedMatches(A, o), [A, o];
2169
2180
  }
2170
2181
  selectAlignedMatches(e, n) {
2171
- const o = e[0].range[0], s = et(e);
2172
- this.selectText(o, s, n);
2182
+ const o = e[0].range[0], A = it(e);
2183
+ this.selectText(o, A, n);
2173
2184
  }
2174
2185
  selectText(e, n, o) {
2175
2186
  if (!o.text)
2176
2187
  return;
2177
- const s = this.getEditorDocument().getSelection();
2178
- if (!s) {
2188
+ const A = this.getEditorDocument().getSelection();
2189
+ if (!A) {
2179
2190
  console.warn("AbstractRichtextEditorAdapter.selectText: Missing selection");
2180
2191
  return;
2181
2192
  }
2182
- s.removeAllRanges(), s.addRange(this.createRange(e, n, o));
2193
+ A.removeAllRanges(), A.addRange(this.createRange(e, n, o));
2183
2194
  }
2184
2195
  createRange(e, n, o) {
2185
- const r = this.getEditorDocument().createRange(), i = o.domPositions[e], A = Xn(e + n, o.domPositions);
2196
+ const r = this.getEditorDocument().createRange(), i = o.domPositions[e], s = er(e + n, o.domPositions);
2186
2197
  return i.offset <= i.node.textContent.length ? r.setStart(i.node, i.offset) : console.warn(
2187
2198
  `Offset of range begin (${i.offset}) > node text length (${i.node.textContent.length})`
2188
- ), A.offset <= A.node.textContent.length ? r.setEnd(A.node, A.offset) : console.warn(
2189
- `Offset of range end (${A.offset}) > node text length (${A.node.textContent.length})`
2199
+ ), s.offset <= s.node.textContent.length ? r.setEnd(s.node, s.offset) : console.warn(
2200
+ `Offset of range end (${s.offset}) > node text length (${s.node.textContent.length})`
2190
2201
  ), r;
2191
2202
  }
2192
2203
  replaceAlignedMatches(e) {
2193
2204
  const n = this.getEditorDocument(), o = structuredClone(e).reverse();
2194
- for (const s of o) {
2195
- const r = this.getTextDomMapping(), i = s.range[1] - s.range[0];
2205
+ for (const A of o) {
2206
+ const r = this.getTextDomMapping(), i = A.range[1] - A.range[0];
2196
2207
  if (i > 1) {
2197
- const A = this.createRange(s.range[0] + 1, i - 1, r), c = this.createRange(s.range[0], 1, r), a = this.createRange(s.range[0], i, r);
2208
+ const s = this.createRange(A.range[0] + 1, i - 1, r), a = this.createRange(A.range[0], 1, r), c = this.createRange(A.range[0], i, r);
2198
2209
  X({
2199
- startNode: a.startContainer,
2200
- endNode: a.endContainer,
2210
+ startNode: c.startContainer,
2211
+ endNode: c.endContainer,
2201
2212
  eventType: "beforeinput",
2202
- replacement: s.originalMatch.replacement,
2203
- startOffset: a.startOffset,
2204
- endOffset: a.endOffset,
2213
+ replacement: A.originalMatch.replacement,
2214
+ startOffset: c.startOffset,
2215
+ endOffset: c.endOffset,
2205
2216
  disableSimulation: this.config.disableInputEventSimulation
2206
- }), A.deleteContents(), c.deleteContents(), s.originalMatch.replacement.length !== 0 && c.insertNode(n.createTextNode(s.originalMatch.replacement)), X({
2207
- startNode: a.startContainer,
2208
- endNode: a.endContainer,
2217
+ }), s.deleteContents(), a.deleteContents(), A.originalMatch.replacement.length !== 0 && a.insertNode(n.createTextNode(A.originalMatch.replacement)), X({
2218
+ startNode: c.startContainer,
2219
+ endNode: c.endContainer,
2209
2220
  eventType: "input",
2210
- replacement: s.originalMatch.replacement,
2211
- startOffset: a.startOffset,
2212
- endOffset: a.endOffset,
2221
+ replacement: A.originalMatch.replacement,
2222
+ startOffset: c.startOffset,
2223
+ endOffset: c.endOffset,
2213
2224
  disableSimulation: this.config.disableInputEventSimulation
2214
- }), _(A), (A.startContainer !== c.startContainer || A.endContainer !== c.endContainer) && _(c);
2225
+ }), _(s), (s.startContainer !== a.startContainer || s.endContainer !== a.endContainer) && _(a);
2215
2226
  } else {
2216
- const A = this.createRange(s.range[0], i, r);
2227
+ const s = this.createRange(A.range[0], i, r);
2217
2228
  X({
2218
- startNode: A.startContainer,
2219
- endNode: A.endContainer,
2229
+ startNode: s.startContainer,
2230
+ endNode: s.endContainer,
2220
2231
  eventType: "beforeinput",
2221
- replacement: s.originalMatch.replacement,
2222
- startOffset: A.startOffset,
2223
- endOffset: A.endOffset,
2232
+ replacement: A.originalMatch.replacement,
2233
+ startOffset: s.startOffset,
2234
+ endOffset: s.endOffset,
2224
2235
  disableSimulation: this.config.disableInputEventSimulation
2225
- }), A.deleteContents(), s.originalMatch.replacement.length !== 0 && A.insertNode(n.createTextNode(s.originalMatch.replacement)), X({
2226
- startNode: A.startContainer,
2227
- endNode: A.endContainer,
2236
+ }), s.deleteContents(), A.originalMatch.replacement.length !== 0 && s.insertNode(n.createTextNode(A.originalMatch.replacement)), X({
2237
+ startNode: s.startContainer,
2238
+ endNode: s.endContainer,
2228
2239
  eventType: "input",
2229
- replacement: s.originalMatch.replacement,
2230
- startOffset: A.startOffset,
2231
- endOffset: A.endOffset,
2240
+ replacement: A.originalMatch.replacement,
2241
+ startOffset: s.startOffset,
2242
+ endOffset: s.endOffset,
2232
2243
  disableSimulation: this.config.disableInputEventSimulation
2233
- }), _(A);
2244
+ }), _(s);
2234
2245
  }
2235
2246
  }
2236
2247
  }
2237
2248
  replaceRanges(e, n) {
2238
2249
  V(this.getEditorElement());
2239
- const [o] = this.selectMatches(e, n), s = o.map((r) => r.originalMatch.replacement).join("");
2240
- this.replaceAlignedMatches(o), this.selectText(o[0].range[0], s.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2250
+ const [o] = this.selectMatches(e, n), A = o.map((r) => r.originalMatch.replacement).join("");
2251
+ this.replaceAlignedMatches(o), this.selectText(o[0].range[0], A.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2241
2252
  }
2242
2253
  getTextDomMapping() {
2243
2254
  return Ie(this.getEditorElement());
2244
2255
  }
2245
2256
  getAutobindWrapperAttributes() {
2246
- return nt(this.getEditorElement());
2257
+ return st(this.getEditorElement());
2247
2258
  }
2248
2259
  }
2249
2260
  function _(t) {
2250
2261
  try {
2251
- Pn() && qn(t);
2262
+ Ln() && tr(t);
2252
2263
  } catch (e) {
2253
2264
  console.error("Error in removeEmptyTextNodesIfNeeded:", e);
2254
2265
  }
2255
2266
  }
2256
- function qn(t) {
2267
+ function tr(t) {
2257
2268
  const e = document.createNodeIterator(t.commonAncestorContainer);
2258
2269
  let n, o = !1;
2259
- for (; (n = e.nextNode()) && (n === t.startContainer && (o = !0), !(o && (_n(n), n === t.endContainer))); )
2270
+ for (; (n = e.nextNode()) && (n === t.startContainer && (o = !0), !(o && (nr(n), n === t.endContainer))); )
2260
2271
  ;
2261
2272
  }
2262
- function _n(t) {
2273
+ function nr(t) {
2263
2274
  t.nodeType === Node.TEXT_NODE && t.textContent === "" && z(t);
2264
2275
  }
2265
- class it extends N {
2276
+ class Ce extends N {
2266
2277
  element;
2267
2278
  constructor(e) {
2268
2279
  super(e), this.element = ee(e);
@@ -2286,18 +2297,18 @@ class it extends N {
2286
2297
  }
2287
2298
  async replaceRanges(e, n) {
2288
2299
  V(this.getEditorElement());
2289
- const [o] = this.selectMatches(e, n), s = o.map((r) => r.originalMatch.replacement).join("");
2290
- this.replaceAlignedMatches(o), await this.selectText(o[0].range[0], s.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2300
+ const [o] = this.selectMatches(e, n), A = o.map((r) => r.originalMatch.replacement).join("");
2301
+ this.replaceAlignedMatches(o), await this.selectText(o[0].range[0], A.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2291
2302
  }
2292
2303
  async selectText(e, n, o) {
2293
2304
  if (!o.text)
2294
2305
  return;
2295
- const s = this.createRange(e, n, o), r = this.getEditorDocument().getSelection();
2306
+ const A = this.createRange(e, n, o), r = this.getEditorDocument().getSelection();
2296
2307
  if (!r) {
2297
2308
  console.warn("AsyncContentEditableAdapter.selectText: Missing selection");
2298
2309
  return;
2299
2310
  }
2300
- return r.removeAllRanges(), await this.addSelectionRange(r, s);
2311
+ return r.removeAllRanges(), await this.addSelectionRange(r, A);
2301
2312
  }
2302
2313
  async addSelectionRange(e, n) {
2303
2314
  return new Promise((o) => o(e.addRange(n)));
@@ -2305,14 +2316,14 @@ class it extends N {
2305
2316
  async scrollIntoView(e) {
2306
2317
  const n = e.getRangeAt(0);
2307
2318
  n.cloneRange().collapse(!0);
2308
- const s = n.startContainer.parentElement;
2309
- s && (s.focus(), this.scrollElementIntoView(s));
2319
+ const A = n.startContainer.parentElement;
2320
+ A && (A.focus(), this.scrollElementIntoView(A));
2310
2321
  }
2311
2322
  }
2312
- function $n(t) {
2323
+ function rr(t) {
2313
2324
  return t.closest(".DraftEditor-editorContainer, .akEditor");
2314
2325
  }
2315
- class At extends N {
2326
+ class lt extends N {
2316
2327
  element;
2317
2328
  constructor(e) {
2318
2329
  super(e), this.element = ee(e);
@@ -2330,7 +2341,109 @@ class At extends N {
2330
2341
  return this.element.ownerDocument;
2331
2342
  }
2332
2343
  }
2333
- class st {
2344
+ const or = 50, Ge = "heretto.com";
2345
+ function ir(t) {
2346
+ const e = t.toLowerCase();
2347
+ return !e || e.startsWith(".") ? !1 : !!(e === Ge || e.endsWith("." + Ge));
2348
+ }
2349
+ const Ar = "gwt-debug-PreviewViewImpl.previewFrame";
2350
+ class dt extends Ce {
2351
+ constructor(e) {
2352
+ super(e);
2353
+ }
2354
+ /**
2355
+ * Override selectRanges to add Heretto-specific event dispatching.
2356
+ *
2357
+ * @param checkId - The check ID
2358
+ * @param matches - Array of matches to select
2359
+ * @returns Promise that resolves when selection is complete
2360
+ */
2361
+ async selectRanges(e, n) {
2362
+ await super.selectRanges(e, n), this.dispatchHerettoSelectionEvents();
2363
+ }
2364
+ /**
2365
+ * Dispatch mouseup and selectionchange events to notify Heretto's GWT editor
2366
+ * about the selection change.
2367
+ */
2368
+ dispatchHerettoSelectionEvents() {
2369
+ const e = this.getEditorElement(), n = this.getEditorDocument();
2370
+ e.dispatchEvent(
2371
+ new MouseEvent("mouseup", {
2372
+ bubbles: !0,
2373
+ cancelable: !0
2374
+ })
2375
+ ), n.dispatchEvent(
2376
+ new Event("selectionchange", {
2377
+ bubbles: !0
2378
+ })
2379
+ ), console.log("HerettoContentEditableAdapter: Selection events dispatched");
2380
+ }
2381
+ /**
2382
+ * Override replaceRanges with custom implementation for Heretto.com.
2383
+ * Uses paste event to apply replacements in the Heretto editor.
2384
+ *
2385
+ * The replacement is done asynchronously:
2386
+ * 1. First select the text
2387
+ * 2. Wait for selection events to propagate
2388
+ * 3. Apply replacement via paste event
2389
+ *
2390
+ * @param checkId - The check ID
2391
+ * @param matchesWithReplacement - Array of matches with replacement suggestions
2392
+ * @returns Promise that resolves when replacement is complete, rejects on error
2393
+ */
2394
+ async replaceRanges(e, n) {
2395
+ console.log("HerettoContentEditableAdapter.replaceRanges called", {
2396
+ checkId: e,
2397
+ matchesCount: n.length,
2398
+ matches: n
2399
+ }), await this.selectRanges(e, n), await ze(or);
2400
+ const o = n.map((A) => A.replacement).join("");
2401
+ this.applyReplacementViaPaste(o);
2402
+ }
2403
+ /**
2404
+ * Apply replacement text using the paste event.
2405
+ *
2406
+ * @param replacementText - The text to insert in place of the selection
2407
+ * @throws Error if editor is not found or not editable
2408
+ */
2409
+ applyReplacementViaPaste(e) {
2410
+ const n = this.getEditorElement();
2411
+ if (!n) {
2412
+ const r = "HerettoContentEditableAdapter: Editor element not found";
2413
+ throw console.error(r), new Error(r);
2414
+ }
2415
+ if (!n.isContentEditable) {
2416
+ const r = "HerettoContentEditableAdapter: Editor is not content editable";
2417
+ throw console.error(r), new Error(r);
2418
+ }
2419
+ const o = new DataTransfer();
2420
+ o.setData("text/plain", e);
2421
+ const A = new ClipboardEvent("paste", {
2422
+ clipboardData: o,
2423
+ bubbles: !0,
2424
+ cancelable: !0
2425
+ });
2426
+ n.dispatchEvent(A), console.log("HerettoContentEditableAdapter: Paste event dispatched with replacement:", e);
2427
+ }
2428
+ }
2429
+ function sr(t) {
2430
+ if (!ir(document.location.hostname))
2431
+ return !1;
2432
+ const e = t.ownerDocument;
2433
+ if (!e || e === document)
2434
+ return !1;
2435
+ const n = document.getElementById(Ar);
2436
+ if (!n)
2437
+ return !1;
2438
+ try {
2439
+ if (n.contentDocument !== e && n.contentWindow?.document !== e)
2440
+ return !1;
2441
+ } catch {
2442
+ return !1;
2443
+ }
2444
+ return !!e.body?.classList.contains("heretto");
2445
+ }
2446
+ class ut {
2334
2447
  element;
2335
2448
  config;
2336
2449
  currentContentChecking;
@@ -2368,14 +2481,14 @@ class st {
2368
2481
  registerCheckCall(e) {
2369
2482
  }
2370
2483
  scrollAndSelect(e) {
2371
- const n = e[0].range[0], o = et(e), s = this.element;
2372
- if (s.clientHeight < s.scrollHeight) {
2484
+ const n = e[0].range[0], o = it(e), A = this.element;
2485
+ if (A.clientHeight < A.scrollHeight) {
2373
2486
  const r = this.element.value;
2374
- s.value = r.slice(0, n), s.focus(), s.scrollTop = 1e9;
2375
- const i = s.scrollTop;
2376
- s.value = r, i > 0 && (s.scrollTop = i + s.clientHeight / 2);
2487
+ A.value = r.slice(0, n), A.focus(), A.scrollTop = 1e9;
2488
+ const i = A.scrollTop;
2489
+ A.value = r, i > 0 && (A.scrollTop = i + A.clientHeight / 2);
2377
2490
  }
2378
- s.setSelectionRange(n, n + o), s.focus(), rt(s, this.config.scrollOffsetY);
2491
+ A.setSelectionRange(n, n + o), A.focus(), at(A, this.config.scrollOffsetY);
2379
2492
  }
2380
2493
  selectRanges(e, n) {
2381
2494
  this.selectMatches(e, n);
@@ -2389,22 +2502,22 @@ class st {
2389
2502
  }
2390
2503
  replaceAlignedMatches(e) {
2391
2504
  const n = structuredClone(e).reverse(), o = this.element;
2392
- let s = o.value;
2505
+ let A = o.value;
2393
2506
  for (const r of n)
2394
- ve(this.lastContentChecked, r.originalMatch) || (s = s.slice(0, r.range[0]) + r.originalMatch.replacement + s.slice(r.range[1]));
2395
- o.value = s;
2507
+ ve(this.lastContentChecked, r.originalMatch) || (A = A.slice(0, r.range[0]) + r.originalMatch.replacement + A.slice(r.range[1]));
2508
+ o.value = A;
2396
2509
  }
2397
2510
  replaceRanges(e, n) {
2398
2511
  const o = this.selectMatches(e, n);
2399
2512
  this.scrollAndSelect(o), this.replaceAlignedMatches(o);
2400
- const s = o[0].range[0], r = o.map((i) => i.originalMatch.replacement).join("");
2401
- this.element.setSelectionRange(s, s + r.length);
2513
+ const A = o[0].range[0], r = o.map((i) => i.originalMatch.replacement).join("");
2514
+ this.element.setSelectionRange(A, A + r.length);
2402
2515
  }
2403
2516
  getAutobindWrapperAttributes() {
2404
- return nt(this.element);
2517
+ return st(this.element);
2405
2518
  }
2406
2519
  }
2407
- class er extends N {
2520
+ class gt extends N {
2408
2521
  element;
2409
2522
  constructor(e) {
2410
2523
  super(e), this.element = ee(e), console.warn("QuipAdapter", this.element);
@@ -2423,23 +2536,23 @@ class er extends N {
2423
2536
  }
2424
2537
  async replaceRanges(e, n) {
2425
2538
  super.replaceRanges(e, n);
2426
- const o = this.getEditorDocument().getSelection(), s = o && o.focusNode;
2427
- if (!s) {
2539
+ const o = this.getEditorDocument().getSelection(), A = o && o.focusNode;
2540
+ if (!A) {
2428
2541
  console.warn("No selection after replacement.");
2429
2542
  return;
2430
2543
  }
2431
- const r = tr(s);
2432
- switch (or(r)) {
2544
+ const r = ar(A);
2545
+ switch (dr(r)) {
2433
2546
  case "cell": {
2434
2547
  console.log("Found cell");
2435
- const A = r.closest("." + de), c = A.innerText;
2436
- nr(r), await Ft(100);
2437
- const a = document.activeElement;
2438
- if (!a || !a.classList.contains("spreadsheet-cell-editor")) {
2439
- console.warn("Found no cell editor", r, a);
2548
+ const s = r.closest("." + de), a = s.innerText;
2549
+ cr(r), await ze(100);
2550
+ const c = document.activeElement;
2551
+ if (!c || !c.classList.contains("spreadsheet-cell-editor")) {
2552
+ console.warn("Found no cell editor", r, c);
2440
2553
  return;
2441
2554
  }
2442
- o.selectAllChildren(a), document.execCommand("InsertHTML", !1, c), A.innerText = c, rr(a, "keydown", "Enter", 13);
2555
+ o.selectAllChildren(c), document.execCommand("InsertHTML", !1, a), s.innerText = a, lr(c, "keydown", "Enter", 13);
2443
2556
  break;
2444
2557
  }
2445
2558
  case "content":
@@ -2451,10 +2564,10 @@ class er extends N {
2451
2564
  }
2452
2565
  }
2453
2566
  }
2454
- function tr(t) {
2567
+ function ar(t) {
2455
2568
  return t instanceof HTMLElement ? t : t.parentElement;
2456
2569
  }
2457
- function nr(t) {
2570
+ function cr(t) {
2458
2571
  t.dispatchEvent(
2459
2572
  new MouseEvent("dblclick", {
2460
2573
  view: window,
@@ -2463,8 +2576,8 @@ function nr(t) {
2463
2576
  })
2464
2577
  );
2465
2578
  }
2466
- function rr(t, e, n, o) {
2467
- const s = {
2579
+ function lr(t, e, n, o) {
2580
+ const A = {
2468
2581
  key: n,
2469
2582
  code: n,
2470
2583
  keyCode: o,
@@ -2473,17 +2586,17 @@ function rr(t, e, n, o) {
2473
2586
  bubbles: !0,
2474
2587
  cancelable: !0
2475
2588
  };
2476
- t.dispatchEvent(new KeyboardEvent(e, s));
2589
+ t.dispatchEvent(new KeyboardEvent(e, A));
2477
2590
  }
2478
2591
  const de = "spreadsheet-cell";
2479
- function or(t) {
2592
+ function dr(t) {
2480
2593
  const e = t.closest(`.${de}, .content`);
2481
2594
  return e ? e.classList.contains(de) ? "cell" : "content" : "none";
2482
2595
  }
2483
- function ir(t) {
2596
+ function ur(t) {
2484
2597
  return document.location.host.endsWith(".quip.com") && t.classList.contains("document-content");
2485
2598
  }
2486
- const Ar = [
2599
+ const gr = [
2487
2600
  "input:not([type])",
2488
2601
  // type attribute not present in markup
2489
2602
  'input[type=""]',
@@ -2496,61 +2609,61 @@ const Ar = [
2496
2609
  "textarea",
2497
2610
  "iframe"
2498
2611
  ].join(", ");
2499
- function sr(t) {
2612
+ function hr(t) {
2500
2613
  return t.readOnly;
2501
2614
  }
2502
- function at(t) {
2615
+ function ht(t) {
2503
2616
  const e = t.getAttribute("autocomplete");
2504
2617
  return e === "off" || e === "false";
2505
2618
  }
2506
- function ar(t) {
2507
- return t.getAttribute("role") === "combobox" && at(t);
2619
+ function fr(t) {
2620
+ return t.getAttribute("role") === "combobox" && ht(t);
2508
2621
  }
2509
- const cr = ["search_query", "q"];
2510
- function lr(t) {
2622
+ const pr = ["search_query", "q"];
2623
+ function mr(t) {
2511
2624
  if (t.nodeName !== "INPUT")
2512
2625
  return !1;
2513
2626
  if (t.getAttribute("role") === "search")
2514
2627
  return !0;
2515
2628
  const e = t.getAttribute("name");
2516
- return e && cr.includes(e) && at(t);
2629
+ return e && pr.includes(e) && ht(t);
2517
2630
  }
2518
- const dr = ["username", "login", "user[login]", "authenticity_token"];
2519
- function ur(t) {
2520
- return dr.includes(t.getAttribute("name"));
2631
+ const br = ["username", "login", "user[login]", "authenticity_token"];
2632
+ function vr(t) {
2633
+ return br.includes(t.getAttribute("name"));
2521
2634
  }
2522
- function gr(t) {
2523
- if (Bt(t))
2635
+ function Ir(t) {
2636
+ if (Zt(t))
2524
2637
  try {
2525
- return t.contentDocument ? Ce(t.contentDocument) : [];
2638
+ return t.contentDocument ? we(t.contentDocument) : [];
2526
2639
  } catch {
2527
2640
  return [];
2528
2641
  }
2529
2642
  else
2530
2643
  return [t];
2531
2644
  }
2532
- function hr(t) {
2645
+ function Cr(t) {
2533
2646
  const e = [], n = (t.ownerDocument || t).createNodeIterator(t, NodeFilter.SHOW_ELEMENT);
2534
2647
  let o;
2535
2648
  for (; o = n.nextNode(); ) {
2536
- const s = o.shadowRoot;
2537
- s && e.push(...Ce(s));
2649
+ const A = o.shadowRoot;
2650
+ A && e.push(...we(A));
2538
2651
  }
2539
2652
  return e;
2540
2653
  }
2541
- function Ce(t = document) {
2542
- const e = Array.from(t.querySelectorAll(Ar)), n = hr(t);
2543
- return [...e, ...n].flatMap(gr).filter(
2544
- (i) => !sr(i) && !ar(i) && !lr(i) && !ur(i)
2654
+ function we(t = document) {
2655
+ const e = Array.from(t.querySelectorAll(gr)), n = Cr(t);
2656
+ return [...e, ...n].flatMap(Ir).filter(
2657
+ (i) => !hr(i) && !fr(i) && !mr(i) && !vr(i)
2545
2658
  );
2546
2659
  }
2547
- function ct(t = {}) {
2548
- return Ce().map(function(e) {
2660
+ function ft(t = {}) {
2661
+ return we().map(function(e) {
2549
2662
  const n = te(t, { element: e });
2550
- return t.enableQuipAdapter && ir(e) ? new er(n) : e.nodeName === "INPUT" || e.nodeName === "TEXTAREA" ? new st(n) : $n(e) ? new it(n) : new At(n);
2663
+ return t.enableHerettoAdapter && sr(e) ? new dt(n) : t.enableQuipAdapter && ur(e) ? new gt(n) : e.nodeName === "INPUT" || e.nodeName === "TEXTAREA" ? (console.log("InputAdapter", e), new ut(n)) : rr(e) ? new Ce(n) : (console.log("ContentEditableAdapter", e), new lt(n));
2551
2664
  });
2552
2665
  }
2553
- const fr = {
2666
+ const wr = {
2554
2667
  "&": "&amp;",
2555
2668
  "<": "&lt;",
2556
2669
  ">": "&gt;",
@@ -2558,15 +2671,15 @@ const fr = {
2558
2671
  "'": "&#39;",
2559
2672
  "`": "&#96;"
2560
2673
  };
2561
- function pr(t) {
2674
+ function yr(t) {
2562
2675
  let e = "";
2563
2676
  const n = [];
2564
2677
  let o = 0;
2565
- for (let s = 0; s < t.length; s++) {
2566
- const r = t[s], i = fr[r];
2678
+ for (let A = 0; A < t.length; A++) {
2679
+ const r = t[A], i = wr[r];
2567
2680
  if (i) {
2568
- const A = i.length - 1;
2569
- o = o - A, n.push({
2681
+ const s = i.length - 1;
2682
+ o = o - s, n.push({
2570
2683
  oldPosition: e.length + i.length,
2571
2684
  diffOffset: o
2572
2685
  });
@@ -2575,47 +2688,47 @@ function pr(t) {
2575
2688
  }
2576
2689
  return { escapedText: e, backwardAlignment: n };
2577
2690
  }
2578
- function lt(t, e) {
2691
+ function pt(t, e) {
2579
2692
  const n = structuredClone(t.attributes);
2580
2693
  e && Object.assign(n, { id: e });
2581
- const o = Object.entries(n).map(([s, r]) => ` ${s}="${be(r)}"`).join("");
2694
+ const o = Object.entries(n).map(([A, r]) => ` ${A}="${be(r)}"`).join("");
2582
2695
  return `<${t.tagName}${o}>`;
2583
2696
  }
2584
- function dt(t) {
2697
+ function mt(t) {
2585
2698
  return `</${t}>`;
2586
2699
  }
2587
- function mr(t, e) {
2700
+ function Er(t, e) {
2588
2701
  return [
2589
2702
  G(t.backwardAlignment, e[0]),
2590
2703
  G(t.backwardAlignment, e[1])
2591
2704
  ];
2592
2705
  }
2593
- function Pe(t, e = "div") {
2706
+ function Te(t, e = "div") {
2594
2707
  const n = t.tagName || e;
2595
2708
  return n.includes(" ") && console.info(`tagName "${n}" contains whitespaces which may lead to unexpected results.`), { tagName: n, attributes: t.attributes || {} };
2596
2709
  }
2597
- function br(t, e) {
2598
- const n = e.content, o = t.wrapper.tagName, s = lt(t.wrapper, t.id), r = t.adapter.getFormat ? t.adapter.getFormat() === "TEXT" : !1;
2710
+ function kr(t, e) {
2711
+ const n = e.content, o = t.wrapper.tagName, A = pt(t.wrapper, t.id), r = t.adapter.getFormat ? t.adapter.getFormat() === "TEXT" : !1;
2599
2712
  let i;
2600
- return r ? (t.escapeResult = pr(n), i = t.escapeResult.escapedText) : i = n, {
2601
- completeHtml: s + i + dt(o),
2602
- contentStart: s.length,
2603
- contentEnd: s.length + i.length
2713
+ return r ? (t.escapeResult = yr(n), i = t.escapeResult.escapedText) : i = n, {
2714
+ completeHtml: A + i + mt(o),
2715
+ contentStart: A.length,
2716
+ contentEnd: A.length + i.length
2604
2717
  };
2605
2718
  }
2606
- class we {
2719
+ class ye {
2607
2720
  config;
2608
2721
  rootElementWrapper;
2609
2722
  adapters;
2610
2723
  adaptersOfLastSuccessfulCheck;
2611
2724
  constructor(e = {}) {
2612
- this.config = e, e.rootElement && (this.rootElementWrapper = Pe(e.rootElement, "html")), this.adapters = [];
2725
+ this.config = e, e.rootElement && (this.rootElementWrapper = Te(e.rootElement, "html")), this.adapters = [];
2613
2726
  }
2614
2727
  getFormat() {
2615
2728
  return this.config.aggregateFormat || "HTML";
2616
2729
  }
2617
2730
  addSingleAdapterInternal(e, n = {}, o = "acrolinx_integration" + this.adapters.length) {
2618
- this.adapters.push({ id: o, adapter: e, wrapper: Pe(n) });
2731
+ this.adapters.push({ id: o, adapter: e, wrapper: Te(n) });
2619
2732
  }
2620
2733
  addSingleAdapter(e, n = {}, o) {
2621
2734
  this.addSingleAdapterInternal(e, n, o);
@@ -2627,25 +2740,25 @@ class we {
2627
2740
  this.config.beforeCheck && this.config.beforeCheck(this);
2628
2741
  const n = this.adapters.map((o) => o.adapter.extractContentForCheck(e));
2629
2742
  return Promise.all(n).then((o) => {
2630
- let s = this.config.documentHeader || "";
2743
+ let A = this.config.documentHeader || "";
2631
2744
  const r = [];
2632
- this.rootElementWrapper && (s += lt(this.rootElementWrapper));
2745
+ this.rootElementWrapper && (A += pt(this.rootElementWrapper));
2633
2746
  for (let i = 0; i < this.adapters.length; i++) {
2634
- const A = o[i], c = this.adapters[i];
2635
- if (Ye(A)) {
2636
- c.checkedRange = void 0;
2747
+ const s = o[i], a = this.adapters[i];
2748
+ if (Je(s)) {
2749
+ a.checkedRange = void 0;
2637
2750
  continue;
2638
2751
  }
2639
- const { completeHtml: a, contentStart: l, contentEnd: d } = br(c, A);
2640
- if (c.checkedRange = [s.length + l, s.length + d], A.selection)
2641
- for (const u of A.selection.ranges)
2752
+ const { completeHtml: c, contentStart: l, contentEnd: d } = kr(a, s);
2753
+ if (a.checkedRange = [A.length + l, A.length + d], s.selection)
2754
+ for (const u of s.selection.ranges)
2642
2755
  r.push([
2643
- u[0] + c.checkedRange[0],
2644
- u[1] + c.checkedRange[0]
2756
+ u[0] + a.checkedRange[0],
2757
+ u[1] + a.checkedRange[0]
2645
2758
  ]);
2646
- s += a;
2759
+ A += c;
2647
2760
  }
2648
- return this.rootElementWrapper && (s += dt(this.rootElementWrapper.tagName)), { content: s, selection: { ranges: r } };
2761
+ return this.rootElementWrapper && (A += mt(this.rootElementWrapper.tagName)), { content: A, selection: { ranges: r } };
2649
2762
  });
2650
2763
  }
2651
2764
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -2658,19 +2771,19 @@ class we {
2658
2771
  }
2659
2772
  selectRanges(e, n) {
2660
2773
  const o = this.remapMatches(n);
2661
- for (const s in o)
2662
- o[s].adapter.selectRanges(e, o[s].matches);
2774
+ for (const A in o)
2775
+ o[A].adapter.selectRanges(e, o[A].matches);
2663
2776
  }
2664
2777
  remapMatches(e) {
2665
2778
  const n = {};
2666
2779
  for (const o of e) {
2667
- const s = this.getAdapterForMatch(o);
2668
- n.hasOwnProperty(s.id) || (n[s.id] = { matches: [], adapter: s.adapter });
2669
- const r = s.checkedRange[0], i = [
2780
+ const A = this.getAdapterForMatch(o);
2781
+ n.hasOwnProperty(A.id) || (n[A.id] = { matches: [], adapter: A.adapter });
2782
+ const r = A.checkedRange[0], i = [
2670
2783
  o.range[0] - r,
2671
2784
  o.range[1] - r
2672
- ], A = structuredClone(o);
2673
- A.range = s.escapeResult ? mr(s.escapeResult, i) : i, n[s.id].matches.push(A);
2785
+ ], s = structuredClone(o);
2786
+ s.range = A.escapeResult ? Er(A.escapeResult, i) : i, n[A.id].matches.push(s);
2674
2787
  }
2675
2788
  return n;
2676
2789
  }
@@ -2684,11 +2797,11 @@ class we {
2684
2797
  }
2685
2798
  replaceRanges(e, n) {
2686
2799
  const o = this.remapMatches(n);
2687
- for (const s in o)
2688
- o[s].adapter.replaceRanges(e, o[s].matches);
2800
+ for (const A in o)
2801
+ o[A].adapter.replaceRanges(e, o[A].matches);
2689
2802
  }
2690
2803
  }
2691
- class ut extends we {
2804
+ class bt extends ye {
2692
2805
  isAsync = !0;
2693
2806
  requiresSynchronization = !0;
2694
2807
  addSingleAdapter(e, n = {}, o) {
@@ -2696,16 +2809,16 @@ class ut extends we {
2696
2809
  }
2697
2810
  async selectRanges(e, n) {
2698
2811
  const o = this.remapMatches(n);
2699
- for (const s in o)
2700
- await o[s].adapter.selectRanges(e, o[s].matches);
2812
+ for (const A in o)
2813
+ await o[A].adapter.selectRanges(e, o[A].matches);
2701
2814
  }
2702
2815
  async replaceRanges(e, n) {
2703
2816
  const o = this.remapMatches(n);
2704
- for (const s in o)
2705
- await o[s].adapter.replaceRanges(e, o[s].matches);
2817
+ for (const A in o)
2818
+ await o[A].adapter.replaceRanges(e, o[A].matches);
2706
2819
  }
2707
2820
  }
2708
- class gt {
2821
+ class vt {
2709
2822
  constructor(e) {
2710
2823
  this.conf = e, this.initMultiAdapter();
2711
2824
  }
@@ -2713,13 +2826,13 @@ class gt {
2713
2826
  requiresSynchronization = !0;
2714
2827
  asyncMultiAdapter;
2715
2828
  initMultiAdapter() {
2716
- this.asyncMultiAdapter = new ut(this.conf);
2829
+ this.asyncMultiAdapter = new bt(this.conf);
2717
2830
  }
2718
2831
  getFormat() {
2719
2832
  return this.asyncMultiAdapter.getFormat();
2720
2833
  }
2721
2834
  extractContentForCheck(e) {
2722
- return this.initMultiAdapter(), ct(this.conf).forEach((n) => {
2835
+ return this.initMultiAdapter(), ft(this.conf).forEach((n) => {
2723
2836
  const o = n.getAutobindWrapperAttributes ? n.getAutobindWrapperAttributes() : {};
2724
2837
  this.asyncMultiAdapter.addSingleAdapter(n, { attributes: o });
2725
2838
  }), this.asyncMultiAdapter.extractContentForCheck(e);
@@ -2737,19 +2850,19 @@ class gt {
2737
2850
  await this.asyncMultiAdapter.replaceRanges(e, n);
2738
2851
  }
2739
2852
  }
2740
- class ht {
2853
+ class It {
2741
2854
  constructor(e) {
2742
2855
  this.conf = e, this.initMultiAdapter();
2743
2856
  }
2744
2857
  multiAdapter;
2745
2858
  initMultiAdapter() {
2746
- this.multiAdapter = new we(this.conf);
2859
+ this.multiAdapter = new ye(this.conf);
2747
2860
  }
2748
2861
  getFormat() {
2749
2862
  return this.multiAdapter.getFormat();
2750
2863
  }
2751
2864
  extractContentForCheck(e) {
2752
- return this.initMultiAdapter(), ct(this.conf).forEach((n) => {
2865
+ return this.initMultiAdapter(), ft(this.conf).forEach((n) => {
2753
2866
  const o = n.getAutobindWrapperAttributes ? n.getAutobindWrapperAttributes() : {};
2754
2867
  this.multiAdapter.addSingleAdapter(n, { attributes: o });
2755
2868
  }), this.multiAdapter.extractContentForCheck(e);
@@ -2767,54 +2880,54 @@ class ht {
2767
2880
  this.multiAdapter.replaceRanges(e, n);
2768
2881
  }
2769
2882
  }
2770
- class ye {
2883
+ class Ee {
2771
2884
  get(e) {
2772
2885
  return new Promise((n) => {
2773
- n(vr(e));
2886
+ n(Br(e));
2774
2887
  });
2775
2888
  }
2776
2889
  set(e, n) {
2777
2890
  return new Promise((o) => {
2778
- Ir(e, n), o(void 0);
2891
+ Sr(e, n), o(void 0);
2779
2892
  });
2780
2893
  }
2781
2894
  }
2782
- function vr(t) {
2895
+ function Br(t) {
2783
2896
  const e = localStorage.getItem(t);
2784
2897
  return e === null ? null : JSON.parse(e);
2785
2898
  }
2786
- function Ir(t, e) {
2899
+ function Sr(t, e) {
2787
2900
  localStorage.setItem(t, JSON.stringify(e));
2788
2901
  }
2789
- const M = "acrolinxFloatingSidebar", ft = "acrolinxFloatingSidebarTitleBar", Ee = "acrolinxFloatingSidebarCloseIcon";
2902
+ const M = "acrolinxFloatingSidebar", Ct = "acrolinxFloatingSidebarTitleBar", ke = "acrolinxFloatingSidebarCloseIcon";
2790
2903
  let J = "acrolinxSidebarContainer";
2791
- const ke = "acrolinxDragOverlay", ue = "acrolinxFloatingSidebarGlassPane", pt = "acrolinxFloatingSidebarFooter", Be = "acrolinxFloatingSidebarResizeIcon", Y = "acrolinxFloatingSidebarIsResizing", ge = "acrolinxFloatingSidebarIsDragged", Ge = 34, Cr = "PHN2ZyBmaWxsPSIjZmZmZmZmIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+", wr = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkwOTA5MDt9Cgkuc3Qxe2ZpbGw6bm9uZTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjMsMjFoOS41di0ySDcuM1YyMXogTTcuMywxN2g5LjV2LTJINy4zVjE3eiBNNy4zLDEzaDkuNXYtMkg3LjNWMTN6IE03LjMsOWg5LjVWN0g3LjNWOXogTTcuMywzdjJoOS41VjNINy4zCgl6Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0wLDBoMjR2MjRIMFYweiIvPgo8L3N2Zz4K", ae = 2e9, yr = 900, Er = 400, mt = 400, L = Object.freeze({
2904
+ const Be = "acrolinxDragOverlay", ue = "acrolinxFloatingSidebarGlassPane", wt = "acrolinxFloatingSidebarFooter", Se = "acrolinxFloatingSidebarResizeIcon", Y = "acrolinxFloatingSidebarIsResizing", ge = "acrolinxFloatingSidebarIsDragged", Ye = 34, xr = "PHN2ZyBmaWxsPSIjZmZmZmZmIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+", Dr = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkwOTA5MDt9Cgkuc3Qxe2ZpbGw6bm9uZTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjMsMjFoOS41di0ySDcuM1YyMXogTTcuMywxN2g5LjV2LTJINy4zVjE3eiBNNy4zLDEzaDkuNXYtMkg3LjNWMTN6IE03LjMsOWg5LjVWN0g3LjNWOXogTTcuMywzdjJoOS41VjNINy4zCgl6Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0wLDBoMjR2MjRIMFYweiIvPgo8L3N2Zz4K", ae = 2e9, Rr = 900, Fr = 400, yt = 400, L = Object.freeze({
2792
2905
  top: 20,
2793
2906
  left: 20,
2794
- height: Er
2795
- }), bt = "acrolinx.plugins.floatingSidebar.position";
2796
- function kr(t) {
2907
+ height: Fr
2908
+ }), Et = "acrolinx.plugins.floatingSidebar.position";
2909
+ function Zr(t) {
2797
2910
  const e = {
2798
2911
  top: L.top,
2799
2912
  left: L.left,
2800
- height: vt(window.innerHeight - L.top - 40)
2913
+ height: kt(window.innerHeight - L.top - 40)
2801
2914
  };
2802
- return t.get(bt).then(
2915
+ return t.get(Et).then(
2803
2916
  (n) => ({ ...e, ...n }),
2804
2917
  (n) => (console.error("Can't load saved sidebar position.", n), e)
2805
2918
  );
2806
2919
  }
2807
- function vt(t) {
2808
- return Math.max(mt, Math.min(yr, t));
2920
+ function kt(t) {
2921
+ return Math.max(yt, Math.min(Rr, t));
2809
2922
  }
2810
- function Te({ left: t, top: e, height: n }, o = window.innerWidth, s = window.innerHeight) {
2923
+ function Le({ left: t, top: e, height: n }, o = window.innerWidth, A = window.innerHeight) {
2811
2924
  return e <= 0 && (e = 20), t <= 0 && (t = 20), {
2812
2925
  left: t > o - 150 ? o - 150 : t,
2813
- top: e > s - 30 ? s - 30 : e,
2814
- height: n > s ? vt(s - 10) : n
2926
+ top: e > A - 30 ? A - 30 : e,
2927
+ height: n > A ? kt(A - 10) : n
2815
2928
  };
2816
2929
  }
2817
- function Br() {
2930
+ function Mr() {
2818
2931
  const t = document.createElement("style"), e = document.querySelector("head");
2819
2932
  t.textContent = `
2820
2933
  #${M} {
@@ -2842,7 +2955,7 @@ function Br() {
2842
2955
  transition: none;
2843
2956
  }
2844
2957
 
2845
- #${M} .${ft} {
2958
+ #${M} .${Ct} {
2846
2959
  position: relative;
2847
2960
  font-family: AcrolinxRoboto, Roboto, sans-serif;
2848
2961
  font-weight: 500;
@@ -2853,7 +2966,7 @@ function Br() {
2853
2966
  color: white;
2854
2967
  }
2855
2968
 
2856
- #${M} .${Ee} {
2969
+ #${M} .${ke} {
2857
2970
  position: absolute;
2858
2971
  cursor: pointer;
2859
2972
  margin-right: 4px;
@@ -2862,7 +2975,7 @@ function Br() {
2862
2975
  width: 18px;
2863
2976
  height: 18px;
2864
2977
  background-repeat: no-repeat;
2865
- background-image: url("data:image/svg+xml;base64,${Cr}");
2978
+ background-image: url("data:image/svg+xml;base64,${xr}");
2866
2979
  -webkit-background-size: cover;
2867
2980
  -moz-background-size: cover;
2868
2981
  -o-background-size: cover;
@@ -2874,7 +2987,7 @@ function Br() {
2874
2987
  position: absolute;
2875
2988
  top: 30px;
2876
2989
  left: 0;
2877
- bottom: ${Ge}px;
2990
+ bottom: ${Ye}px;
2878
2991
  background: white;
2879
2992
  }
2880
2993
 
@@ -2884,7 +2997,7 @@ function Br() {
2884
2997
  border: none;
2885
2998
  }
2886
2999
 
2887
- #${M} #${ke} {
3000
+ #${M} #${Be} {
2888
3001
  position: absolute;
2889
3002
  top: 20px;
2890
3003
  left: 0;
@@ -2907,16 +3020,16 @@ function Br() {
2907
3020
  z-index: ${ae - 100};
2908
3021
  }
2909
3022
 
2910
- #${M} .${pt} {
3023
+ #${M} .${wt} {
2911
3024
  position: absolute;
2912
3025
  bottom: 0;
2913
3026
  background: white;
2914
3027
  width: 100%;
2915
- height: ${Ge}px;
3028
+ height: ${Ye}px;
2916
3029
  border-top: 1px solid #dadada;
2917
3030
  }
2918
3031
 
2919
- #${M} .${Be} {
3032
+ #${M} .${Se} {
2920
3033
  position: absolute;
2921
3034
  right: 3px;
2922
3035
  bottom: 5px;
@@ -2927,7 +3040,7 @@ function Br() {
2927
3040
  width: 24px;
2928
3041
  height: 24px;
2929
3042
  background-repeat: no-repeat;
2930
- background-image: url("data:image/svg+xml;base64,${wr}");
3043
+ background-image: url("data:image/svg+xml;base64,${Dr}");
2931
3044
  -webkit-background-size: cover;
2932
3045
  -moz-background-size: cover;
2933
3046
  -o-background-size: cover;
@@ -2940,17 +3053,17 @@ function Br() {
2940
3053
  }
2941
3054
  `, e.appendChild(t);
2942
3055
  }
2943
- function Sr() {
3056
+ function Wr() {
2944
3057
  return `
2945
3058
  <div id="${M}">
2946
- <div class="${ft}">Acrolinx <span class="${Ee}" title="Hide"></span></div>
3059
+ <div class="${Ct}">Acrolinx <span class="${ke}" title="Hide"></span></div>
2947
3060
  <div id="${J}"></div>
2948
- <div id="${ke}"></div>
2949
- <div class="${pt}"><div class="${Be}" title="Drag to resize"></div></div>
3061
+ <div id="${Be}"></div>
3062
+ <div class="${wt}"><div class="${Se}" title="Drag to resize"></div></div>
2950
3063
  </div>
2951
3064
  `;
2952
3065
  }
2953
- function It(t) {
3066
+ function Bt(t) {
2954
3067
  const e = document.createElement("div");
2955
3068
  return Object.assign(e, t), e;
2956
3069
  }
@@ -2960,22 +3073,22 @@ function j(t) {
2960
3073
  function P(t) {
2961
3074
  t.style.display = "block";
2962
3075
  }
2963
- function xr(t) {
2964
- return It({ innerHTML: t.trim() }).firstChild;
3076
+ function Hr(t) {
3077
+ return Bt({ innerHTML: t.trim() }).firstChild;
2965
3078
  }
2966
- function Se(t) {
3079
+ function xe(t) {
2967
3080
  t.sidebarContainerId && (J = t.sidebarContainerId);
2968
3081
  let e = L;
2969
- const n = Sr(), o = xr(n), s = o.querySelector("#" + ke), r = o.querySelector("." + Ee), i = o.querySelector("." + Be), A = It({ id: ue }), c = document.querySelector("body");
2970
- let a = !1, l = !1, d = 0, u = 0, g = !0;
3082
+ const n = Wr(), o = Hr(n), A = o.querySelector("#" + Be), r = o.querySelector("." + ke), i = o.querySelector("." + Se), s = Bt({ id: ue }), a = document.querySelector("body");
3083
+ let c = !1, l = !1, d = 0, u = 0, g = !0;
2971
3084
  function h(b) {
2972
3085
  e = te(e, b), o.style.left = e.left + "px", o.style.top = e.top + "px", o.style.height = e.height + "px";
2973
3086
  }
2974
3087
  function f() {
2975
- j(s), j(A), a = !1, l = !1, o.classList.remove(Y), o.classList.remove(ge), A.classList.remove(Y), p();
3088
+ j(A), j(s), c = !1, l = !1, o.classList.remove(Y), o.classList.remove(ge), s.classList.remove(Y), p();
2976
3089
  }
2977
3090
  function p() {
2978
- t.asyncStorage.set(bt, e).catch((b) => {
3091
+ t.asyncStorage.set(Et, e).catch((b) => {
2979
3092
  console.error("Error in FloatingSidebar.savePosition:", b);
2980
3093
  });
2981
3094
  }
@@ -2986,53 +3099,53 @@ function Se(t) {
2986
3099
  g ? m() : (P(o), g = !0, C());
2987
3100
  }
2988
3101
  document.addEventListener("mousemove", (b) => {
2989
- if (a && h({
3102
+ if (c && h({
2990
3103
  left: Math.max(b.clientX - d, 0),
2991
3104
  top: Math.max(b.clientY - u, 0)
2992
3105
  }), l) {
2993
3106
  const w = o.getBoundingClientRect().top;
2994
3107
  h({
2995
- height: Math.max(b.clientY - u + 30 - w, mt)
3108
+ height: Math.max(b.clientY - u + 30 - w, yt)
2996
3109
  });
2997
3110
  }
2998
3111
  }), o.addEventListener("mousedown", (b) => {
2999
3112
  const { top: w, left: y } = o.getBoundingClientRect();
3000
- d = b.clientX - y, u = b.clientY - w, a = !0, P(s), P(A), o.classList.add(ge);
3113
+ d = b.clientX - y, u = b.clientY - w, c = !0, P(A), P(s), o.classList.add(ge);
3001
3114
  }), i.addEventListener("mousedown", (b) => {
3002
- u = b.clientY - i.getBoundingClientRect().top, l = !0, o.classList.add(Y), A.classList.add(Y), P(s), P(A), b.stopPropagation();
3115
+ u = b.clientY - i.getBoundingClientRect().top, l = !0, o.classList.add(Y), s.classList.add(Y), P(A), P(s), b.stopPropagation();
3003
3116
  });
3004
3117
  function I() {
3005
- g && h(Te(e));
3118
+ g && h(Le(e));
3006
3119
  }
3007
3120
  function C() {
3008
3121
  setTimeout(() => {
3009
- h(Te(e));
3122
+ h(Le(e));
3010
3123
  }, 1);
3011
3124
  }
3012
3125
  function E() {
3013
- z(o), z(A), z(s), window.removeEventListener("resize", I), document.removeEventListener("mouseup", f);
3126
+ z(o), z(s), z(A), window.removeEventListener("resize", I), document.removeEventListener("mouseup", f);
3014
3127
  }
3015
- return document.addEventListener("mouseup", f), window.addEventListener("resize", I), r.addEventListener("click", m), j(s), j(A), Br(), kr(t.asyncStorage).then((b) => {
3128
+ return document.addEventListener("mouseup", f), window.addEventListener("resize", I), r.addEventListener("click", m), j(A), j(s), Mr(), Zr(t.asyncStorage).then((b) => {
3016
3129
  P(o), h(b), C();
3017
3130
  }).catch((b) => {
3018
3131
  console.error("Error while trying to set initial position of FloatingSidebar:", b);
3019
- }), c.appendChild(o), c.appendChild(A), { toggleVisibility: v, remove: E };
3132
+ }), a.appendChild(o), a.appendChild(s), { toggleVisibility: v, remove: E };
3020
3133
  }
3021
- async function Dr(t) {
3134
+ async function Qr(t) {
3022
3135
  const e = te(t, {
3023
3136
  sidebarContainerId: J,
3024
- asyncStorage: t.asyncStorage || new ye()
3025
- }), n = Se(e), o = new pe(e);
3026
- return o.registerAdapter(new ht(e)), await o.init(), n;
3137
+ asyncStorage: t.asyncStorage || new Ee()
3138
+ }), n = xe(e), o = new pe(e);
3139
+ return o.registerAdapter(new It(e)), await o.init(), n;
3027
3140
  }
3028
- async function Rr(t) {
3141
+ async function Kr(t) {
3029
3142
  const e = te(t, {
3030
3143
  sidebarContainerId: J,
3031
- asyncStorage: t.asyncStorage || new ye()
3032
- }), n = Se(e), o = new pe(e);
3033
- return o.registerAdapter(new gt(e)), await o.init(), n;
3144
+ asyncStorage: t.asyncStorage || new Ee()
3145
+ }), n = xe(e), o = new pe(e);
3146
+ return o.registerAdapter(new vt(e)), await o.init(), n;
3034
3147
  }
3035
- class Fr extends N {
3148
+ class Nr extends N {
3036
3149
  editorId;
3037
3150
  constructor(e) {
3038
3151
  super(e), this.editorId = e.editorId;
@@ -3070,7 +3183,7 @@ class Fr extends N {
3070
3183
  return o.isEnabled && o.isSourceEditingMode;
3071
3184
  }
3072
3185
  }
3073
- class Zr extends N {
3186
+ class Pr extends N {
3074
3187
  editorId;
3075
3188
  constructor(e) {
3076
3189
  super(e), this.editorId = e.editorId;
@@ -3100,7 +3213,7 @@ class Zr extends N {
3100
3213
  return this.getEditor().mode === "wysiwyg";
3101
3214
  }
3102
3215
  }
3103
- class Mr extends N {
3216
+ class Gr extends N {
3104
3217
  editorId;
3105
3218
  constructor(e) {
3106
3219
  super(e), this.config.disableInputEventSimulation = !0, this.editorId = e.editorId;
@@ -3119,7 +3232,7 @@ class Mr extends N {
3119
3232
  return this.getEditor().getDoc();
3120
3233
  }
3121
3234
  }
3122
- class Wr {
3235
+ class Tr {
3123
3236
  config;
3124
3237
  currentContentChecking;
3125
3238
  lastContentChecked;
@@ -3171,18 +3284,18 @@ class Wr {
3171
3284
  this.selectRangeAndScroll([o[0].range[0], o[o.length - 1].range[1]]);
3172
3285
  }
3173
3286
  replaceRanges(e, n) {
3174
- const o = this.lookupMatchesOrThrow(n), s = this.getEscapeFunction();
3287
+ const o = this.lookupMatchesOrThrow(n), A = this.getEscapeFunction();
3175
3288
  let r = 0;
3176
3289
  o.slice().reverse().forEach((i) => {
3177
3290
  if (!ve(this.lastContentChecked, i.originalMatch)) {
3178
- const A = s(i.originalMatch.replacement);
3291
+ const s = A(i.originalMatch.replacement);
3179
3292
  this.config.editor.dispatch({
3180
3293
  changes: {
3181
3294
  from: i.range[0],
3182
3295
  to: i.range[1],
3183
- insert: A
3296
+ insert: s
3184
3297
  }
3185
- }), r += A.length;
3298
+ }), r += s.length;
3186
3299
  }
3187
3300
  }), this.selectRangeAndScroll([o[0].range[0], o[0].range[0] + r]);
3188
3301
  }
@@ -3204,21 +3317,21 @@ class Wr {
3204
3317
  }
3205
3318
  cmSelectionToRange = (e) => {
3206
3319
  const n = [e.from, e.to];
3207
- return n.sort((o, s) => o - s), n;
3320
+ return n.sort((o, A) => o - A), n;
3208
3321
  };
3209
3322
  }
3210
- const Hr = {
3323
+ const Yr = {
3211
3324
  "text/html": "HTML",
3212
3325
  "text/xml": "HTML",
3213
3326
  "application/xml": "XML",
3214
3327
  "text/x-markdown": "MARKDOWN",
3215
3328
  "text/plain": "TEXT"
3216
- }, Qr = {
3329
+ }, Lr = {
3217
3330
  htmlmixed: "HTML",
3218
3331
  xml: "XML",
3219
3332
  markdown: "MARKDOWN"
3220
3333
  };
3221
- class Kr {
3334
+ class Jr {
3222
3335
  config;
3223
3336
  currentContentChecking;
3224
3337
  lastContentChecked;
@@ -3243,7 +3356,7 @@ class Kr {
3243
3356
  return this.config.format || this.getFormatFromCodeMirror() || "AUTO";
3244
3357
  }
3245
3358
  getFormatFromCodeMirror() {
3246
- return Qr[this.config.editor.getDoc().getMode().name || ""] || Hr[this.config.editor.getOption("mode")];
3359
+ return Lr[this.config.editor.getDoc().getMode().name || ""] || Yr[this.config.editor.getOption("mode")];
3247
3360
  }
3248
3361
  extractContentForCheck(e) {
3249
3362
  return this.currentContentChecking = this.getContent(), {
@@ -3272,14 +3385,14 @@ class Kr {
3272
3385
  this.selectRangeAndScroll([o[0].range[0], o[o.length - 1].range[1]]);
3273
3386
  }
3274
3387
  replaceRanges(e, n) {
3275
- const o = this.getDoc(), s = this.lookupMatchesOrThrow(n), r = this.getEscapeFunction();
3388
+ const o = this.getDoc(), A = this.lookupMatchesOrThrow(n), r = this.getEscapeFunction();
3276
3389
  let i = 0;
3277
- for (const A of [...s].reverse())
3278
- if (!ve(this.lastContentChecked, A.originalMatch)) {
3279
- const [c, a] = this.selectRange(A.range), l = r(A.originalMatch.replacement);
3280
- o.replaceRange(l, c, a), i += l.length;
3390
+ for (const s of [...A].reverse())
3391
+ if (!ve(this.lastContentChecked, s.originalMatch)) {
3392
+ const [a, c] = this.selectRange(s.range), l = r(s.originalMatch.replacement);
3393
+ o.replaceRange(l, a, c), i += l.length;
3281
3394
  }
3282
- this.selectRangeAndScroll([s[0].range[0], s[0].range[0] + i]);
3395
+ this.selectRangeAndScroll([A[0].range[0], A[0].range[0] + i]);
3283
3396
  }
3284
3397
  getEscapeFunction() {
3285
3398
  const e = this.getFormat();
@@ -3295,8 +3408,8 @@ class Kr {
3295
3408
  return this.config.editor.getDoc();
3296
3409
  }
3297
3410
  selectRange(e) {
3298
- const n = this.getDoc(), o = n.posFromIndex(e[0]), s = n.posFromIndex(e[1]);
3299
- return n.setSelection(o, s), [o, s];
3411
+ const n = this.getDoc(), o = n.posFromIndex(e[0]), A = n.posFromIndex(e[1]);
3412
+ return n.setSelection(o, A), [o, A];
3300
3413
  }
3301
3414
  selectRangeAndScroll(e) {
3302
3415
  const n = this.selectRange(e), o = this.config.editor;
@@ -3304,10 +3417,10 @@ class Kr {
3304
3417
  }
3305
3418
  cmSelectionToRange = (e) => {
3306
3419
  const n = this.getDoc(), o = [n.indexFromPos(e.anchor), n.indexFromPos(e.head)];
3307
- return o.sort((s, r) => s - r), o;
3420
+ return o.sort((A, r) => A - r), o;
3308
3421
  };
3309
3422
  }
3310
- class Nr {
3423
+ class Or {
3311
3424
  /**
3312
3425
  * Editor of this adapter
3313
3426
  *
@@ -3381,8 +3494,8 @@ class Nr {
3381
3494
  * @inheritdoc
3382
3495
  */
3383
3496
  replaceRanges(e, n) {
3384
- const o = this.selectMatches(n), s = o.map((r) => r.originalMatch.replacement).join("");
3385
- this.replaceAlignedMatches(o), this.selectText(o[0].range[0], s.length);
3497
+ const o = this.selectMatches(n), A = o.map((r) => r.originalMatch.replacement).join("");
3498
+ this.replaceAlignedMatches(o), this.selectText(o[0].range[0], A.length);
3386
3499
  }
3387
3500
  /**
3388
3501
  * @inheritdoc
@@ -3448,15 +3561,15 @@ class Nr {
3448
3561
  * @protected
3449
3562
  */
3450
3563
  selectText(e, n) {
3451
- const o = this.document.findTextNodeByOffset(e), s = this.document.findTextNodeByOffset(n), r = this.selectionManager.getActive();
3564
+ const o = this.document.findTextNodeByOffset(e), A = this.document.findTextNodeByOffset(n), r = this.selectionManager.getActive();
3452
3565
  r.startNode = o.textNode, r.startOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3453
3566
  this.editor,
3454
3567
  o.textNode,
3455
3568
  o.offset
3456
- ), r.endNode = s.textNode, r.endOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3569
+ ), r.endNode = A.textNode, r.endOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3457
3570
  this.editor,
3458
- s.textNode,
3459
- s.offset
3571
+ A.textNode,
3572
+ A.offset
3460
3573
  ), this.editor.updateState(), this.selectionManager.sync(), this.editor.contentFrame.scrollToSelection("middle", !0).selectionCorrected && (this.editor.updateState(), this.selectionManager.sync());
3461
3574
  }
3462
3575
  /**
@@ -3471,29 +3584,29 @@ class Nr {
3471
3584
  html: "",
3472
3585
  text: ""
3473
3586
  }, n = this.editor.getVersion().major >= 6, o = this;
3474
- function s(r, i) {
3587
+ function A(r, i) {
3475
3588
  if (r.isRemoved(!0))
3476
3589
  return;
3477
- const A = r.getType() === "text";
3478
- let c = !1;
3479
- r.eachChildNode(function(a, l, d) {
3480
- const u = o.editor.document.getNodeType(a);
3481
- if (A && u === "#text") {
3482
- let g = o.editor.document.getTextNodeValue(a);
3590
+ const s = r.getType() === "text";
3591
+ let a = !1;
3592
+ r.eachChildNode(function(c, l, d) {
3593
+ const u = o.editor.document.getNodeType(c);
3594
+ if (s && u === "#text") {
3595
+ let g = o.editor.document.getTextNodeValue(c);
3483
3596
  g = Ext.ux.xeditor.Util.trimPlaceHolderChar(o.editor, g);
3484
3597
  const h = document.createTextNode(g);
3485
3598
  i.appendChild(h);
3486
3599
  } else if (o.editor.configObj.isElementType(u)) {
3487
- const g = o.editor.document.getNode(a), h = o.editor.configObj.getRoleByType(u), f = o.getAcrolinxElement(g, h, i);
3488
- if (c && !n) {
3600
+ const g = o.editor.document.getNode(c), h = o.editor.configObj.getRoleByType(u), f = o.getAcrolinxElement(g, h, i);
3601
+ if (a && !n) {
3489
3602
  const p = document.createTextNode(" ");
3490
3603
  f.appendChild(p);
3491
3604
  }
3492
- s(g, f), c = h.insertSpaceAfter;
3605
+ A(g, f), a = h.insertSpaceAfter;
3493
3606
  }
3494
3607
  });
3495
3608
  }
3496
- return s(this.document.root, e.dom), e.html = e.dom.outerHTML, e.text = e.dom.innerText, e;
3609
+ return A(this.document.root, e.dom), e.html = e.dom.outerHTML, e.text = e.dom.innerText, e;
3497
3610
  }
3498
3611
  /**
3499
3612
  * Returns the specific element that should be used for the acrolinx check.
@@ -3509,66 +3622,148 @@ class Nr {
3509
3622
  getAcrolinxElement(e, n, o) {
3510
3623
  if (n.isInline)
3511
3624
  return o;
3512
- const s = document.createElement(n.tag);
3513
- return o.appendChild(s), s;
3625
+ const A = document.createElement(n.tag);
3626
+ return o.appendChild(A), A;
3514
3627
  }
3515
3628
  }
3516
- const he = window;
3629
+ const he = globalThis;
3517
3630
  he.acrolinx = he.acrolinx || {};
3518
- const Pr = {
3631
+ const jr = {
3519
3632
  AcrolinxPlugin: pe,
3520
- autoBindFloatingSidebar: Dr,
3521
- autoBindFloatingSidebarAsync: Rr,
3522
- createPluginMessageAdapter: Ht,
3523
- initFloatingSidebar: Se,
3524
- AsyncLocalStorage: ye,
3525
- loadSidebarCode: Gt,
3633
+ autoBindFloatingSidebar: Qr,
3634
+ autoBindFloatingSidebarAsync: Kr,
3635
+ createPluginMessageAdapter: Gt,
3636
+ initFloatingSidebar: xe,
3637
+ AsyncLocalStorage: Ee,
3638
+ loadSidebarCode: Ot,
3526
3639
  getSelectionHtmlRanges: ne,
3640
+ extractTextDomMapping: Ie,
3527
3641
  adapter: {
3528
3642
  AbstractRichtextEditorAdapter: N,
3529
- AutoBindAdapter: ht,
3530
- AsyncAutoBindAdapter: gt,
3531
- CKEditor5Adapter: Fr,
3532
- CKEditorAdapter: Zr,
3533
- CodeMirror6Adapter: Wr,
3534
- CodeMirrorAdapter: Kr,
3535
- ContentEditableAdapter: At,
3536
- AsyncContentEditableAdapter: it,
3537
- InputAdapter: st,
3538
- MultiEditorAdapter: we,
3539
- AsyncMultiEditorAdapter: ut,
3540
- TinyMCEAdapter: Mr,
3541
- XeditorAdapter: Nr
3643
+ AutoBindAdapter: It,
3644
+ AsyncAutoBindAdapter: vt,
3645
+ CKEditor5Adapter: Nr,
3646
+ CKEditorAdapter: Pr,
3647
+ CodeMirror6Adapter: Tr,
3648
+ CodeMirrorAdapter: Jr,
3649
+ ContentEditableAdapter: lt,
3650
+ HerettoContentEditableAdapter: dt,
3651
+ AsyncContentEditableAdapter: Ce,
3652
+ InputAdapter: ut,
3653
+ MultiEditorAdapter: ye,
3654
+ AsyncMultiEditorAdapter: bt,
3655
+ TinyMCEAdapter: Gr,
3656
+ XeditorAdapter: Or,
3657
+ QuipAdapter: gt,
3658
+ SynchronizeAsyncAdapter: _e
3542
3659
  },
3543
3660
  lookup: {
3544
3661
  lookupMatches: O
3545
- },
3546
- extractTextDomMapping: Ie
3662
+ }
3547
3663
  };
3548
- he.acrolinx.plugins = Pr;
3664
+ he.acrolinx.plugins = jr;
3549
3665
  export {
3666
+ Wn as AUTO_SELF_CLOSING_LINE_TAGS,
3550
3667
  N as AbstractRichtextEditorAdapter,
3551
3668
  pe as AcrolinxPlugin,
3552
- gt as AsyncAutoBindAdapter,
3553
- ye as AsyncLocalStorage,
3554
- ut as AsyncMultiEditorAdapter,
3555
- ht as AutoBindAdapter,
3556
- Fr as CKEditor5Adapter,
3557
- Zr as CKEditorAdapter,
3558
- Wr as CodeMirror6Adapter,
3559
- Kr as CodeMirrorAdapter,
3560
- At as ContentEditableAdapter,
3561
- st as InputAdapter,
3562
- we as MultiEditorAdapter,
3563
- it as StateBasedContentEditableAdapter,
3564
- Mr as TinyMCEAdapter,
3565
- Nr as XeditorAdapter,
3566
- Dr as autoBindFloatingSidebar,
3567
- Rr as autoBindFloatingSidebarAsync,
3568
- Ht as createPluginMessageAdapter,
3669
+ vt as AsyncAutoBindAdapter,
3670
+ Ee as AsyncLocalStorage,
3671
+ bt as AsyncMultiEditorAdapter,
3672
+ It as AutoBindAdapter,
3673
+ Nr as CKEditor5Adapter,
3674
+ Pr as CKEditorAdapter,
3675
+ Rt as CLIENT_COMPONENT_MAIN_FALLBACK,
3676
+ ke as CLOSE_ICON_CLASS,
3677
+ Tr as CodeMirror6Adapter,
3678
+ Jr as CodeMirrorAdapter,
3679
+ lt as ContentEditableAdapter,
3680
+ L as DEFAULT_POS,
3681
+ Qt as Deferred,
3682
+ gr as EDITABLE_ELEMENTS_SELECTOR,
3683
+ wt as FOOTER,
3684
+ Ye as FOOTER_HEIGHT,
3685
+ dt as HerettoContentEditableAdapter,
3686
+ ge as IS_DRAGGED_CLASS,
3687
+ Y as IS_RESIZING_CLASS,
3688
+ ut as InputAdapter,
3689
+ ye as MultiEditorAdapter,
3690
+ rt as NEW_LINE_TAGS,
3691
+ Et as POSITION_KEY,
3692
+ gt as QuipAdapter,
3693
+ Se as RESIZE_ICON_CLASS,
3694
+ J as SIDEBAR_CONTAINER_ID,
3695
+ Be as SIDEBAR_DRAG_OVERLAY_ID,
3696
+ ue as SIDEBAR_GLASS_PANE_ID,
3697
+ M as SIDEBAR_ID,
3698
+ Ft as SIDEBAR_SDK_COMPONENT,
3699
+ Xe as SidebarURLInvalidError,
3700
+ Ce as StateBasedContentEditableAdapter,
3701
+ _e as SynchronizeAsyncAdapter,
3702
+ Ct as TITLE_BAR_CLASS,
3703
+ Gr as TinyMCEAdapter,
3704
+ qt as WorkQueue,
3705
+ Or as XeditorAdapter,
3706
+ V as assertElementIsDisplayed,
3707
+ te as assign,
3708
+ Qr as autoBindFloatingSidebar,
3709
+ Kr as autoBindFloatingSidebarAsync,
3710
+ ft as bindAdaptersForCurrentPage,
3711
+ Yn as browser,
3712
+ qn as concatTextMappings,
3713
+ Pt as connectAcrolinxPluginToMessages,
3714
+ Vr as containsText,
3715
+ Nn as createOffsetMappingArray,
3716
+ Gt as createPluginMessageAdapter,
3717
+ ce as deepCloneWithHTMLElement,
3718
+ Ht as deepFreezed,
3719
+ _n as domPosition,
3720
+ Xr as enableLogging,
3721
+ yr as escapeHtmlCharacters,
3722
+ Qn as extractText,
3569
3723
  Ie as extractTextDomMapping,
3724
+ rn as findDisplacement,
3725
+ G as findNewIndex,
3726
+ st as getAutobindWrapperAttributes,
3727
+ it as getCompleteFlagLength,
3728
+ we as getEditableElements,
3729
+ ee as getElementFromAdapterConf,
3730
+ er as getEndDomPos,
3570
3731
  ne as getSelectionHtmlRanges,
3571
- Se as initFloatingSidebar,
3572
- Gt as loadSidebarCode,
3573
- O as lookupMatches
3732
+ Fe as grepAttributeValues,
3733
+ xt as hasEditorID,
3734
+ Dt as hasElement,
3735
+ Je as hasError,
3736
+ xe as initFloatingSidebar,
3737
+ Oe as internalFetch,
3738
+ St as isAsyncAdapterInterface,
3739
+ Ln as isChrome,
3740
+ ve as isDangerousToReplace,
3741
+ Ue as isDisplayed,
3742
+ Wt as isFromSameOrigin,
3743
+ sr as isHeretto,
3744
+ Zt as isIFrame,
3745
+ vr as isProbablyUndesiredField,
3746
+ De as isPromise,
3747
+ Ur as isSuccessfulContentExtractionResult,
3748
+ Le as keepVisible,
3749
+ Br as loadFromLocalStorage,
3750
+ Zr as loadInitialPos,
3751
+ Ot as loadSidebarCode,
3752
+ H as log,
3753
+ zr as logTime,
3754
+ O as lookupMatches,
3755
+ Mt as parseUrl,
3756
+ U as rangeContent,
3757
+ jt as rebaseRelativeUrl,
3758
+ Ut as rebaseRelativeUrls,
3759
+ z as removeNode,
3760
+ Sr as saveToLocalStorage,
3761
+ at as scrollIntoView,
3762
+ ct as scrollIntoViewCenteredIfPossible,
3763
+ Vn as scrollIntoViewCenteredWithFallback,
3764
+ X as simulateInputEvent,
3765
+ on as sortedIndexBy,
3766
+ Xn as textMapping,
3767
+ fe as toSet,
3768
+ ze as waitMs
3574
3769
  };