@enegelai/bot-widget 1.4.5 → 1.4.6

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.es.js CHANGED
@@ -2,7 +2,7 @@ var Ea = Object.defineProperty;
2
2
  var Aa = (a, t, c) => t in a ? Ea(a, t, { enumerable: !0, configurable: !0, writable: !0, value: c }) : a[t] = c;
3
3
  var se = (a, t, c) => (Aa(a, typeof t != "symbol" ? t + "" : t, c), c);
4
4
  import { css as U, LitElement as rt, html as w, svg as Qe } from "lit";
5
- import { property as k, customElement as W, queryAll as Nt, query as qe, eventOptions as Ft } from "lit/decorators.js";
5
+ import { property as k, customElement as Y, queryAll as Nt, query as Re, eventOptions as Ft } from "lit/decorators.js";
6
6
  import { unsafeHTML as Ee } from "lit-html/directives/unsafe-html.js";
7
7
  import { when as ue } from "lit/directives/when.js";
8
8
  import "@shoelace-style/shoelace/dist/themes/light.css";
@@ -25,10 +25,10 @@ import "@shoelace-style/shoelace/dist/components/switch/switch.js";
25
25
  import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
26
26
  import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
27
27
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
28
- import { repeat as Ze } from "lit/directives/repeat.js";
28
+ import { repeat as Ge } from "lit/directives/repeat.js";
29
29
  import { until as Pt } from "lit-html/directives/until.js";
30
- import Ma from "markdown-it";
31
- import $a from "markdown-it-link-attributes";
30
+ import $a from "markdown-it";
31
+ import Ma from "markdown-it-link-attributes";
32
32
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
33
33
  function Ut(a) {
34
34
  return typeof a == "function" ? a() : a;
@@ -51,7 +51,7 @@ const ot = class ot extends Event {
51
51
  se(ot, "eventName", "lit-state-changed");
52
52
  let Ae = ot;
53
53
  const Ia = (a, t) => t !== a && (t === t || a === a);
54
- class Ge extends EventTarget {
54
+ class Ke extends EventTarget {
55
55
  constructor() {
56
56
  super();
57
57
  // hold a reference to hooks
@@ -126,7 +126,7 @@ class Ge extends EventTarget {
126
126
  }
127
127
  }
128
128
  // a map holding decorators definition.
129
- se(Ge, "propertyMap"), se(Ge, "properties"), se(Ge, "finalized", !1);
129
+ se(Ke, "propertyMap"), se(Ke, "properties"), se(Ke, "finalized", !1);
130
130
  class Wt {
131
131
  constructor(t, c, i) {
132
132
  se(this, "host");
@@ -159,7 +159,7 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
159
159
  t !== void 0 && Object.defineProperty(c, i, t(i)), a == null || a(f, i);
160
160
  }
161
161
  };
162
- function Z(a) {
162
+ function X(a) {
163
163
  return Yt({
164
164
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
165
165
  finisher: (t, c) => {
@@ -222,14 +222,14 @@ var Gt = { exports: {} };
222
222
  "error"
223
223
  ];
224
224
  function f(A, P) {
225
- var D = A[P];
226
- if (typeof D.bind == "function")
227
- return D.bind(A);
225
+ var R = A[P];
226
+ if (typeof R.bind == "function")
227
+ return R.bind(A);
228
228
  try {
229
- return Function.prototype.bind.call(D, A);
229
+ return Function.prototype.bind.call(R, A);
230
230
  } catch {
231
231
  return function() {
232
- return Function.prototype.apply.apply(D, [A, arguments]);
232
+ return Function.prototype.apply.apply(R, [A, arguments]);
233
233
  };
234
234
  }
235
235
  }
@@ -240,22 +240,22 @@ var Gt = { exports: {} };
240
240
  return A === "debug" && (A = "log"), typeof console === c ? !1 : A === "trace" && i ? b : console[A] !== void 0 ? f(console, A) : console.log !== void 0 ? f(console, "log") : t;
241
241
  }
242
242
  function _(A, P) {
243
- for (var D = 0; D < s.length; D++) {
244
- var $ = s[D];
245
- this[$] = D < A ? t : this.methodFactory($, A, P);
243
+ for (var R = 0; R < s.length; R++) {
244
+ var M = s[R];
245
+ this[M] = R < A ? t : this.methodFactory(M, A, P);
246
246
  }
247
247
  this.log = this.debug;
248
248
  }
249
- function V(A, P, D) {
249
+ function V(A, P, R) {
250
250
  return function() {
251
- typeof console !== c && (_.call(this, P, D), this[A].apply(this, arguments));
251
+ typeof console !== c && (_.call(this, P, R), this[A].apply(this, arguments));
252
252
  };
253
253
  }
254
- function j(A, P, D) {
254
+ function j(A, P, R) {
255
255
  return x(A) || V.apply(this, arguments);
256
256
  }
257
- function T(A, P, D) {
258
- var $ = this, de;
257
+ function T(A, P, R) {
258
+ var M = this, de;
259
259
  P = P ?? "WARN";
260
260
  var ee = "loglevel";
261
261
  typeof A == "string" ? ee += ":" + A : typeof A == "symbol" && (ee = void 0);
@@ -273,7 +273,7 @@ var Gt = { exports: {} };
273
273
  }
274
274
  }
275
275
  }
276
- function $e() {
276
+ function Me() {
277
277
  var y;
278
278
  if (!(typeof window === c || !ee)) {
279
279
  try {
@@ -288,10 +288,10 @@ var Gt = { exports: {} };
288
288
  te !== -1 && (y = /^([^;]+)/.exec(ie.slice(te))[1]);
289
289
  } catch {
290
290
  }
291
- return $.levels[y] === void 0 && (y = void 0), y;
291
+ return M.levels[y] === void 0 && (y = void 0), y;
292
292
  }
293
293
  }
294
- function Re() {
294
+ function Ve() {
295
295
  if (!(typeof window === c || !ee)) {
296
296
  try {
297
297
  window.localStorage.removeItem(ee);
@@ -304,50 +304,50 @@ var Gt = { exports: {} };
304
304
  }
305
305
  }
306
306
  }
307
- $.name = A, $.levels = {
307
+ M.name = A, M.levels = {
308
308
  TRACE: 0,
309
309
  DEBUG: 1,
310
310
  INFO: 2,
311
311
  WARN: 3,
312
312
  ERROR: 4,
313
313
  SILENT: 5
314
- }, $.methodFactory = D || j, $.getLevel = function() {
314
+ }, M.methodFactory = R || j, M.getLevel = function() {
315
315
  return de;
316
- }, $.setLevel = function(y, ie) {
317
- if (typeof y == "string" && $.levels[y.toUpperCase()] !== void 0 && (y = $.levels[y.toUpperCase()]), typeof y == "number" && y >= 0 && y <= $.levels.SILENT) {
318
- if (de = y, ie !== !1 && lt(y), _.call($, y, A), typeof console === c && y < $.levels.SILENT)
316
+ }, M.setLevel = function(y, ie) {
317
+ if (typeof y == "string" && M.levels[y.toUpperCase()] !== void 0 && (y = M.levels[y.toUpperCase()]), typeof y == "number" && y >= 0 && y <= M.levels.SILENT) {
318
+ if (de = y, ie !== !1 && lt(y), _.call(M, y, A), typeof console === c && y < M.levels.SILENT)
319
319
  return "No console available for logging";
320
320
  } else
321
321
  throw "log.setLevel() called with invalid level: " + y;
322
- }, $.setDefaultLevel = function(y) {
323
- P = y, $e() || $.setLevel(y, !1);
324
- }, $.resetLevel = function() {
325
- $.setLevel(P, !1), Re();
326
- }, $.enableAll = function(y) {
327
- $.setLevel($.levels.TRACE, y);
328
- }, $.disableAll = function(y) {
329
- $.setLevel($.levels.SILENT, y);
322
+ }, M.setDefaultLevel = function(y) {
323
+ P = y, Me() || M.setLevel(y, !1);
324
+ }, M.resetLevel = function() {
325
+ M.setLevel(P, !1), Ve();
326
+ }, M.enableAll = function(y) {
327
+ M.setLevel(M.levels.TRACE, y);
328
+ }, M.disableAll = function(y) {
329
+ M.setLevel(M.levels.SILENT, y);
330
330
  };
331
- var ke = $e();
332
- ke == null && (ke = P), $.setLevel(ke, !1);
331
+ var ke = Me();
332
+ ke == null && (ke = P), M.setLevel(ke, !1);
333
333
  }
334
- var M = new T(), N = {};
335
- M.getLogger = function(P) {
334
+ var $ = new T(), N = {};
335
+ $.getLogger = function(P) {
336
336
  if (typeof P != "symbol" && typeof P != "string" || P === "")
337
337
  throw new TypeError("You must supply a name when creating a logger.");
338
- var D = N[P];
339
- return D || (D = N[P] = new T(
338
+ var R = N[P];
339
+ return R || (R = N[P] = new T(
340
340
  P,
341
- M.getLevel(),
342
- M.methodFactory
343
- )), D;
341
+ $.getLevel(),
342
+ $.methodFactory
343
+ )), R;
344
344
  };
345
345
  var ce = typeof window !== c ? window.log : void 0;
346
- return M.noConflict = function() {
347
- return typeof window !== c && window.log === M && (window.log = ce), M;
348
- }, M.getLoggers = function() {
346
+ return $.noConflict = function() {
347
+ return typeof window !== c && window.log === $ && (window.log = ce), $;
348
+ }, $.getLoggers = function() {
349
349
  return N;
350
- }, M.default = M, M;
350
+ }, $.default = $, $;
351
351
  });
352
352
  })(Gt);
353
353
  var La = Gt.exports;
@@ -513,7 +513,7 @@ var za = Object.defineProperty, Ha = Object.getOwnPropertyDescriptor, xt = (a, t
513
513
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
514
514
  return i && s && za(t, c, s), s;
515
515
  };
516
- let ze = class extends rt {
516
+ let He = class extends rt {
517
517
  constructor() {
518
518
  super(...arguments), this.color = "primary", this.svg = "";
519
519
  }
@@ -521,16 +521,16 @@ let ze = class extends rt {
521
521
  return w`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
522
522
  }
523
523
  };
524
- ze.styles = Kt;
524
+ He.styles = Kt;
525
525
  xt([
526
526
  k({ type: String })
527
- ], ze.prototype, "color", 2);
527
+ ], He.prototype, "color", 2);
528
528
  xt([
529
529
  k({ type: String })
530
- ], ze.prototype, "svg", 2);
531
- ze = xt([
532
- W("cb-icon")
533
- ], ze);
530
+ ], He.prototype, "svg", 2);
531
+ He = xt([
532
+ Y("cb-icon")
533
+ ], He);
534
534
  let Ba = (a) => crypto.getRandomValues(new Uint8Array(a)), qa = (a, t, c) => {
535
535
  let i = (2 << Math.log(a.length - 1) / Math.LN2) - 1, s = -~(1.6 * i * t / a.length);
536
536
  return (f = t) => {
@@ -542,10 +542,10 @@ let Ba = (a) => crypto.getRandomValues(new Uint8Array(a)), qa = (a, t, c) => {
542
542
  return b;
543
543
  }
544
544
  };
545
- }, Da = (a, t = 21) => qa(a, t, Ba);
546
- const Ra = Da("1234567890abcdefghijklmnopqrstuvwxyz", 10);
545
+ }, Ra = (a, t = 21) => qa(a, t, Ba);
546
+ const Da = Ra("1234567890abcdefghijklmnopqrstuvwxyz", 10);
547
547
  function gt(a = 10) {
548
- return Ra(a);
548
+ return Da(a);
549
549
  }
550
550
  function Va(a) {
551
551
  return new Promise((t, c) => {
@@ -567,22 +567,22 @@ function Na(a = !0) {
567
567
  }), c.click();
568
568
  });
569
569
  }
570
- const X = ft.noConflict();
571
- X.setLevel("info");
570
+ const G = ft.noConflict();
571
+ G.setLevel("info");
572
572
  class Fa {
573
573
  constructor(t = {}) {
574
- this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), X.info(`WSC: Created, url: ${this.url}`);
574
+ this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), G.info(`WSC: Created, url: ${this.url}`);
575
575
  }
576
576
  connect(t = {}) {
577
577
  if (this.url = (t == null ? void 0 : t.url) || this.url, this.connected = !1, !this.url)
578
- return X.error("WSC: URL must be provided to connect"), null;
578
+ return G.error("WSC: URL must be provided to connect"), null;
579
579
  const c = this.url;
580
- X.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
580
+ G.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
581
581
  let i = setTimeout(() => {
582
- X.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
582
+ G.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
583
583
  }, 15e3);
584
584
  this._ws.onopen = () => {
585
- X.info(`WSC: Connection to ${c} opened`);
585
+ G.info(`WSC: Connection to ${c} opened`);
586
586
  }, this._ws.onmessage = (s) => {
587
587
  let f = (s == null ? void 0 : s.data) || null;
588
588
  if (!f)
@@ -591,14 +591,14 @@ class Fa {
591
591
  try {
592
592
  b = JSON.parse(f);
593
593
  } catch {
594
- X.error(`Failed to parse message: ${f}`);
594
+ G.error(`Failed to parse message: ${f}`);
595
595
  return;
596
596
  }
597
- (b == null ? void 0 : b.type) === "connected" && (X.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
597
+ (b == null ? void 0 : b.type) === "connected" && (G.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
598
598
  }, this._ws.onerror = (s) => {
599
- X.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
599
+ G.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
600
600
  }, this._ws.onclose = (s) => {
601
- X.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
601
+ G.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
602
602
  };
603
603
  }
604
604
  reconnect() {
@@ -608,10 +608,10 @@ class Fa {
608
608
  }
609
609
  disconnect() {
610
610
  if (!this._ws) {
611
- X.info("WSC: already disconnected");
611
+ G.info("WSC: already disconnected");
612
612
  return;
613
613
  }
614
- X.info("WSC: disconnect"), this._ws.close();
614
+ G.info("WSC: disconnect"), this._ws.close();
615
615
  }
616
616
  async start() {
617
617
  this.started = !0, this.connect();
@@ -623,11 +623,11 @@ class Fa {
623
623
  async startOld() {
624
624
  let t = 1, c = !0;
625
625
  for (; c; ) {
626
- if (X.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
- return X.info("WSC: connected"), !0;
626
+ if (G.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
+ return G.info("WSC: connected"), !0;
628
628
  t++, c = t <= 4, c && await this.pause(1e3);
629
629
  }
630
- return X.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
630
+ return G.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
631
631
  }
632
632
  handleWscMessage(t) {
633
633
  this.onMessage && typeof this.onMessage == "function" && this.onMessage(t);
@@ -642,7 +642,7 @@ class Fa {
642
642
  sendQueuedMessages() {
643
643
  if (Array.isArray(this.queue) && this.queue.length > 0)
644
644
  for (let t = 0; t < this.queue.length; t++)
645
- X.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
645
+ G.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
646
646
  this.queue = [];
647
647
  }
648
648
  // Request assumes that response will be received.
@@ -677,12 +677,12 @@ class Fa {
677
677
  });
678
678
  }*/
679
679
  }
680
- function H(a) {
680
+ function B(a) {
681
681
  return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
682
682
  }
683
683
  function Te(a) {
684
684
  return function t(c) {
685
- return arguments.length === 0 || H(c) ? t : a.apply(this, arguments);
685
+ return arguments.length === 0 || B(c) ? t : a.apply(this, arguments);
686
686
  };
687
687
  }
688
688
  function le(a) {
@@ -691,13 +691,13 @@ function le(a) {
691
691
  case 0:
692
692
  return t;
693
693
  case 1:
694
- return H(c) ? t : Te(function(s) {
694
+ return B(c) ? t : Te(function(s) {
695
695
  return a(c, s);
696
696
  });
697
697
  default:
698
- return H(c) && H(i) ? t : H(c) ? Te(function(s) {
698
+ return B(c) && B(i) ? t : B(c) ? Te(function(s) {
699
699
  return a(s, i);
700
- }) : H(i) ? Te(function(s) {
700
+ }) : B(i) ? Te(function(s) {
701
701
  return a(c, s);
702
702
  }) : a(c, i);
703
703
  }
@@ -709,29 +709,29 @@ function Ua(a) {
709
709
  case 0:
710
710
  return t;
711
711
  case 1:
712
- return H(c) ? t : le(function(f, b) {
712
+ return B(c) ? t : le(function(f, b) {
713
713
  return a(c, f, b);
714
714
  });
715
715
  case 2:
716
- return H(c) && H(i) ? t : H(c) ? le(function(f, b) {
716
+ return B(c) && B(i) ? t : B(c) ? le(function(f, b) {
717
717
  return a(f, i, b);
718
- }) : H(i) ? le(function(f, b) {
718
+ }) : B(i) ? le(function(f, b) {
719
719
  return a(c, f, b);
720
720
  }) : Te(function(f) {
721
721
  return a(c, i, f);
722
722
  });
723
723
  default:
724
- return H(c) && H(i) && H(s) ? t : H(c) && H(i) ? le(function(f, b) {
724
+ return B(c) && B(i) && B(s) ? t : B(c) && B(i) ? le(function(f, b) {
725
725
  return a(f, b, s);
726
- }) : H(c) && H(s) ? le(function(f, b) {
726
+ }) : B(c) && B(s) ? le(function(f, b) {
727
727
  return a(f, i, b);
728
- }) : H(i) && H(s) ? le(function(f, b) {
728
+ }) : B(i) && B(s) ? le(function(f, b) {
729
729
  return a(c, f, b);
730
- }) : H(c) ? Te(function(f) {
730
+ }) : B(c) ? Te(function(f) {
731
731
  return a(f, i, s);
732
- }) : H(i) ? Te(function(f) {
732
+ }) : B(i) ? Te(function(f) {
733
733
  return a(c, f, s);
734
- }) : H(s) ? Te(function(f) {
734
+ }) : B(s) ? Te(function(f) {
735
735
  return a(c, i, f);
736
736
  }) : a(c, i, s);
737
737
  }
@@ -771,22 +771,22 @@ var ac = /* @__PURE__ */ Ua(function(t, c, i) {
771
771
  return Ka(t, tc(c, i));
772
772
  });
773
773
  const ut = ac, cc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
774
- var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, G = (a, t, c, i) => {
774
+ var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, Z = (a, t, c, i) => {
775
775
  for (var s = i > 1 ? void 0 : i ? nc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
776
776
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
777
777
  return i && s && ic(t, c, s), s;
778
778
  };
779
- const q = ft.noConflict();
780
- q.setLevel("info");
779
+ const H = ft.noConflict();
780
+ H.setLevel("info");
781
781
  const re = "cb_";
782
- class Y extends Ge {
782
+ class W extends Ke {
783
783
  constructor() {
784
784
  super(...arguments), this.actionIdCounter = 0, this.wsClient = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
785
785
  }
786
786
  // this is called at startup
787
787
  setSetting(t) {
788
- q.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
- q.info(`Exception during bot initialization: ${c.message}`);
788
+ H.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
+ H.info(`Exception during bot initialization: ${c.message}`);
790
790
  });
791
791
  }
792
792
  // set language
@@ -800,7 +800,7 @@ class Y extends Ge {
800
800
  async initBot() {
801
801
  if (!this.botSettingsInitialized) {
802
802
  const c = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
803
- q.info(`Getting bot settings at ${c} ...`);
803
+ H.info(`Getting bot settings at ${c} ...`);
804
804
  let i = null, s = null;
805
805
  try {
806
806
  i = await fetch(c, {
@@ -808,20 +808,26 @@ class Y extends Ge {
808
808
  "Access-Control-Allow-Origin": "null",
809
809
  "X-Enegel-Signature": this.setting.botId
810
810
  }
811
- }), !i.ok || i.status !== 200 ? q.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
811
+ }), !i.ok || i.status !== 200 ? H.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
812
812
  } catch (f) {
813
- q.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
813
+ H.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
814
814
  }
815
815
  if (this.botSettingsInitialized = !0, this.botSettings = s, !s) {
816
- q.error("No bot settings available - bot disabled"), this.disabled = !0;
816
+ if (H.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
817
+ H.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
818
+ return;
819
+ }
820
+ this.botSettingsInitialized = !1, setTimeout(async () => {
821
+ await this.initBot();
822
+ }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
817
823
  return;
818
824
  }
819
- q.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
825
+ H.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
820
826
  this.showEngagePopup();
821
827
  }, this.setting.engageTimeout * 1e3);
822
828
  }
823
- this.connectWs === "true" && (q.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
- q.error(`Exception during ws client startup: ${t.message}`);
829
+ this.connectWs === "true" && (H.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
830
+ H.error(`Exception during ws client startup: ${t.message}`);
825
831
  }));
826
832
  }
827
833
  initConversation() {
@@ -844,7 +850,7 @@ class Y extends Ge {
844
850
  initStartupForm() {
845
851
  const t = ut(null, ["startupForm"], this.botSettings);
846
852
  if (!t || !(t != null && t.name)) {
847
- q.info("Startup form not present");
853
+ H.info("Startup form not present");
848
854
  return;
849
855
  }
850
856
  this.initForm(t);
@@ -855,7 +861,7 @@ class Y extends Ge {
855
861
  return;
856
862
  const s = ut(null, ["fields"], t);
857
863
  if (!Array.isArray(s) || s.length <= 0) {
858
- q.info("form has no fields", t);
864
+ H.info("form has no fields", t);
859
865
  return;
860
866
  }
861
867
  const f = `${re}${this.setting.botId}.${this.conversationId}.form.${i}`, b = localStorage.getItem(f);
@@ -864,11 +870,11 @@ class Y extends Ge {
864
870
  try {
865
871
  x = JSON.parse(b);
866
872
  } catch (_) {
867
- q.error(`Failed to parse stored form data: ${_.message}`), x = null;
873
+ H.error(`Failed to parse stored form data: ${_.message}`), x = null;
868
874
  }
869
875
  if (x) {
870
876
  this.sendFormData(i, x).catch((_) => {
871
- q.error(`Error when submitting form: ${_.message}`);
877
+ H.error(`Error when submitting form: ${_.message}`);
872
878
  });
873
879
  return;
874
880
  }
@@ -881,7 +887,7 @@ class Y extends Ge {
881
887
  showEngagePopup() {
882
888
  if (this.open)
883
889
  return;
884
- q.info("Engaging User !"), this.engage = !0;
890
+ H.info("Engaging User !"), this.engage = !0;
885
891
  const t = (f) => {
886
892
  const b = new Uint8Array(f.length / 2);
887
893
  for (let x = 0; x < b.length; x++)
@@ -899,7 +905,7 @@ class Y extends Ge {
899
905
  if (this.wsClient)
900
906
  return this.wsClient;
901
907
  const c = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
902
- return q.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
908
+ return H.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
903
909
  url: c,
904
910
  orgId: this.setting.orgId,
905
911
  botId: this.setting.botId,
@@ -944,7 +950,7 @@ class Y extends Ge {
944
950
  break;
945
951
  }
946
952
  case "form": {
947
- if (q.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
953
+ if (H.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
948
954
  const i = ((c = this.replyMessage.data) == null ? void 0 : c.text) || "";
949
955
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
950
956
  }
@@ -972,7 +978,7 @@ class Y extends Ge {
972
978
  if (i !== -1) {
973
979
  if (this.setting.splitMessagesAtBreak) {
974
980
  const s = this.streamingResponseBuffer.substring(0, i).trim(), f = this.streamingResponseBuffer.substring(i + 4).trim();
975
- q.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
981
+ H.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
976
982
  } else
977
983
  c = this.streamingResponseBuffer;
978
984
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
@@ -1008,10 +1014,10 @@ class Y extends Ge {
1008
1014
  }
1009
1015
  }
1010
1016
  async sendMessage(t) {
1011
- t = this.formatMessage(t), q.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1017
+ t = this.formatMessage(t), H.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1012
1018
  const c = await this.getWsClient();
1013
1019
  if (!c) {
1014
- q.error("Error - failed to obtain ws client"), this.replyMessage = null;
1020
+ H.error("Error - failed to obtain ws client"), this.replyMessage = null;
1015
1021
  return;
1016
1022
  }
1017
1023
  c.sendMessage({
@@ -1054,7 +1060,7 @@ class Y extends Ge {
1054
1060
  // Submit current form data
1055
1061
  async submitForm(t) {
1056
1062
  if (!this.form) {
1057
- q.info("submitForm: No form is active - ignored");
1063
+ H.info("submitForm: No form is active - ignored");
1058
1064
  return;
1059
1065
  }
1060
1066
  const c = `${re}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -1063,7 +1069,7 @@ class Y extends Ge {
1063
1069
  async sendFormData(t, c) {
1064
1070
  const i = await this.getWsClient();
1065
1071
  if (!i) {
1066
- q.error("Error - failed to obtain ws client");
1072
+ H.error("Error - failed to obtain ws client");
1067
1073
  return;
1068
1074
  }
1069
1075
  i.sendMessage({
@@ -1073,39 +1079,39 @@ class Y extends Ge {
1073
1079
  });
1074
1080
  }
1075
1081
  }
1076
- G([
1082
+ Z([
1077
1083
  pe({ prefix: re }),
1078
- Z({ value: "en" })
1079
- ], Y.prototype, "language", 2);
1080
- G([
1084
+ X({ value: "en" })
1085
+ ], W.prototype, "language", 2);
1086
+ Z([
1081
1087
  pe({ prefix: re }),
1082
- Z({ value: "light" })
1083
- ], Y.prototype, "theme", 2);
1084
- G([
1088
+ X({ value: "light" })
1089
+ ], W.prototype, "theme", 2);
1090
+ Z([
1085
1091
  pe({ prefix: re }),
1086
- Z({ type: Boolean, value: !1 })
1087
- ], Y.prototype, "open", 2);
1088
- G([
1089
- Z({ type: Boolean, value: !1 })
1090
- ], Y.prototype, "alwaysOpen", 2);
1091
- G([
1092
+ X({ type: Boolean, value: !1 })
1093
+ ], W.prototype, "open", 2);
1094
+ Z([
1095
+ X({ type: Boolean, value: !1 })
1096
+ ], W.prototype, "alwaysOpen", 2);
1097
+ Z([
1092
1098
  pe({ prefix: re }),
1093
- Z({ value: "false" })
1094
- ], Y.prototype, "connectWs", 2);
1095
- G([
1099
+ X({ value: "false" })
1100
+ ], W.prototype, "connectWs", 2);
1101
+ Z([
1096
1102
  pe({ prefix: re }),
1097
- Z({ value: gt() })
1098
- ], Y.prototype, "conversationId", 2);
1099
- G([
1103
+ X({ value: gt() })
1104
+ ], W.prototype, "conversationId", 2);
1105
+ Z([
1100
1106
  pe({ prefix: re }),
1101
- Z({ value: 0 })
1102
- ], Y.prototype, "lastConversationUpdate", 2);
1103
- G([
1107
+ X({ value: 0 })
1108
+ ], W.prototype, "lastConversationUpdate", 2);
1109
+ Z([
1104
1110
  pe({ prefix: re }),
1105
- Z({ type: Array, value: [] })
1106
- ], Y.prototype, "messages", 2);
1107
- G([
1108
- Z({
1111
+ X({ type: Array, value: [] })
1112
+ ], W.prototype, "messages", 2);
1113
+ Z([
1114
+ X({
1109
1115
  type: Array,
1110
1116
  value: []
1111
1117
  /*
@@ -1147,29 +1153,32 @@ G([
1147
1153
  },
1148
1154
  ],*/
1149
1155
  })
1150
- ], Y.prototype, "actions", 2);
1151
- G([
1152
- Z({ type: Object, value: null })
1153
- ], Y.prototype, "form", 2);
1154
- G([
1155
- Z({ type: Boolean, value: !1 })
1156
- ], Y.prototype, "botSettingsInitialized", 2);
1157
- G([
1158
- Z({ type: Object, value: null })
1159
- ], Y.prototype, "botSettings", 2);
1160
- G([
1161
- Z({ type: Boolean, value: !0 })
1162
- ], Y.prototype, "disabled", 2);
1163
- G([
1156
+ ], W.prototype, "actions", 2);
1157
+ Z([
1158
+ X({ type: Object, value: null })
1159
+ ], W.prototype, "form", 2);
1160
+ Z([
1161
+ X({ type: Boolean, value: !1 })
1162
+ ], W.prototype, "botSettingsInitialized", 2);
1163
+ Z([
1164
+ X({ type: Number, value: 5 })
1165
+ ], W.prototype, "botSettingsRetryTimeout", 2);
1166
+ Z([
1167
+ X({ type: Object, value: null })
1168
+ ], W.prototype, "botSettings", 2);
1169
+ Z([
1170
+ X({ type: Boolean, value: !0 })
1171
+ ], W.prototype, "disabled", 2);
1172
+ Z([
1164
1173
  pe({ prefix: re }),
1165
- Z({ value: "true" })
1166
- ], Y.prototype, "shouldEngage", 2);
1167
- G([
1168
- Z({ type: Boolean, value: !1 })
1169
- ], Y.prototype, "engage", 2);
1170
- G([
1174
+ X({ value: "true" })
1175
+ ], W.prototype, "shouldEngage", 2);
1176
+ Z([
1177
+ X({ type: Boolean, value: !1 })
1178
+ ], W.prototype, "engage", 2);
1179
+ Z([
1171
1180
  pe({ prefix: re }),
1172
- Z({
1181
+ X({
1173
1182
  type: Object,
1174
1183
  value: {
1175
1184
  orgId: null,
@@ -1179,8 +1188,8 @@ G([
1179
1188
  splitMessagesAtBreak: !1
1180
1189
  }
1181
1190
  })
1182
- ], Y.prototype, "setting", 2);
1183
- const S = new Y(), sc = U`
1191
+ ], W.prototype, "setting", 2);
1192
+ const S = new W(), sc = U`
1184
1193
  ${he}
1185
1194
  :host {
1186
1195
  position: relative;
@@ -1313,7 +1322,7 @@ Jt([
1313
1322
  k({ type: String, attribute: "title" })
1314
1323
  ], tt.prototype, "title", 2);
1315
1324
  tt = Jt([
1316
- W("cb-header")
1325
+ Y("cb-header")
1317
1326
  ], tt);
1318
1327
  const bc = U`
1319
1328
  ${he}
@@ -1372,7 +1381,7 @@ let mt = class extends Q {
1372
1381
  };
1373
1382
  mt.styles = bc;
1374
1383
  mt = pc([
1375
- W("cb-footer")
1384
+ Y("cb-footer")
1376
1385
  ], mt);
1377
1386
  const gc = U`
1378
1387
  ${he}
@@ -1578,7 +1587,7 @@ var Qt = { exports: {} };
1578
1587
  return r.classList.add(n);
1579
1588
  });
1580
1589
  }
1581
- function M(r, e) {
1590
+ function $(r, e) {
1582
1591
  _(e.split(" "), function(n) {
1583
1592
  return r.classList.remove(n);
1584
1593
  });
@@ -1605,7 +1614,7 @@ var Qt = { exports: {} };
1605
1614
  T(r, "g" + l);
1606
1615
  }), j(o, { onElement: r, avoidDuplicate: !1, once: !0, withCallback: function(l, h) {
1607
1616
  _(d, function(u) {
1608
- M(h, "g" + u);
1617
+ $(h, "g" + u);
1609
1618
  }), y(n) && n();
1610
1619
  } });
1611
1620
  }
@@ -1615,10 +1624,10 @@ var Qt = { exports: {} };
1615
1624
  return r.style.webkitTransform = "", r.style.MozTransform = "", r.style.msTransform = "", r.style.OTransform = "", r.style.transform = "", !1;
1616
1625
  r.style.webkitTransform = e, r.style.MozTransform = e, r.style.msTransform = e, r.style.OTransform = e, r.style.transform = e;
1617
1626
  }
1618
- function D(r) {
1627
+ function R(r) {
1619
1628
  r.style.display = "block";
1620
1629
  }
1621
- function $(r) {
1630
+ function M(r) {
1622
1631
  r.style.display = "none";
1623
1632
  }
1624
1633
  function de(r) {
@@ -1636,7 +1645,7 @@ var Qt = { exports: {} };
1636
1645
  if (e.style[r] !== void 0)
1637
1646
  return n[r];
1638
1647
  }
1639
- function $e(r, e, n, o) {
1648
+ function Me(r, e, n, o) {
1640
1649
  if (r())
1641
1650
  e();
1642
1651
  else {
@@ -1650,7 +1659,7 @@ var Qt = { exports: {} };
1650
1659
  }, o));
1651
1660
  }
1652
1661
  }
1653
- function Re(r, e, n) {
1662
+ function Ve(r, e, n) {
1654
1663
  if (ne(r))
1655
1664
  console.error("Inject assets error");
1656
1665
  else if (y(e) && (n = e, e = !1), ie(e) && e in window)
@@ -1666,7 +1675,7 @@ var Qt = { exports: {} };
1666
1675
  if ((o = document.querySelectorAll('script[src="' + r + '"]')) && o.length > 0) {
1667
1676
  if (y(n)) {
1668
1677
  if (ie(e))
1669
- return $e(function() {
1678
+ return Me(function() {
1670
1679
  return window[e] !== void 0;
1671
1680
  }, function() {
1672
1681
  n();
@@ -1678,7 +1687,7 @@ var Qt = { exports: {} };
1678
1687
  u.type = "text/javascript", u.src = r, u.onload = function() {
1679
1688
  if (y(n)) {
1680
1689
  if (ie(e))
1681
- return $e(function() {
1690
+ return Me(function() {
1682
1691
  return window[e] !== void 0;
1683
1692
  }, function() {
1684
1693
  n();
@@ -1701,14 +1710,14 @@ var Qt = { exports: {} };
1701
1710
  function te(r) {
1702
1711
  return !(!r || !r.nodeType || r.nodeType != 1);
1703
1712
  }
1704
- function Ve(r) {
1713
+ function Ne(r) {
1705
1714
  return Array.isArray(r);
1706
1715
  }
1707
1716
  function Ct(r) {
1708
1717
  return r && r.length && isFinite(r.length);
1709
1718
  }
1710
1719
  function Ie(r) {
1711
- return c(r) === "object" && r != null && !y(r) && !Ve(r);
1720
+ return c(r) === "object" && r != null && !y(r) && !Ne(r);
1712
1721
  }
1713
1722
  function ne(r) {
1714
1723
  return r == null;
@@ -1727,7 +1736,7 @@ var Qt = { exports: {} };
1727
1736
  }
1728
1737
  return r.length;
1729
1738
  }
1730
- function Ne(r) {
1739
+ function Fe(r) {
1731
1740
  return !isNaN(parseFloat(r)) && isFinite(r);
1732
1741
  }
1733
1742
  function Et() {
@@ -1771,17 +1780,17 @@ var Qt = { exports: {} };
1771
1780
  return void (u && (u.focus(), T(u, "focused")));
1772
1781
  }
1773
1782
  var p = Et(d.getAttribute("data-taborder"));
1774
- M(d, "focused"), p && (p.focus(), T(p, "focused"));
1783
+ $(d, "focused"), p && (p.focus(), T(p, "focused"));
1775
1784
  }
1776
1785
  o == 39 && r.nextSlide(), o == 37 && r.prevSlide(), o == 27 && r.close();
1777
1786
  } });
1778
1787
  }
1779
- function Fe(r) {
1788
+ function Ue(r) {
1780
1789
  return Math.sqrt(r.x * r.x + r.y * r.y);
1781
1790
  }
1782
1791
  function da(r, e) {
1783
1792
  var n = function(o, d) {
1784
- var l = Fe(o) * Fe(d);
1793
+ var l = Ue(o) * Ue(d);
1785
1794
  if (l === 0)
1786
1795
  return 0;
1787
1796
  var h = function(u, p) {
@@ -1831,7 +1840,7 @@ var Qt = { exports: {} };
1831
1840
  if (e.touches.length > 1) {
1832
1841
  this._cancelLongTap(), this._cancelSingleTap();
1833
1842
  var o = { x: e.touches[1].pageX - this.x1, y: e.touches[1].pageY - this.y1 };
1834
- n.x = o.x, n.y = o.y, this.pinchStartLen = Fe(n), this.multipointStart.dispatch(e, this.element);
1843
+ n.x = o.x, n.y = o.y, this.pinchStartLen = Ue(n), this.multipointStart.dispatch(e, this.element);
1835
1844
  }
1836
1845
  this._preventTap = !1, this.longTapTimeout = setTimeout((function() {
1837
1846
  this.longTap.dispatch(e, this.element), this._preventTap = !0;
@@ -1842,7 +1851,7 @@ var Qt = { exports: {} };
1842
1851
  var n = this.preV, o = e.touches.length, d = e.touches[0].pageX, l = e.touches[0].pageY;
1843
1852
  if (this.isDoubleTap = !1, o > 1) {
1844
1853
  var h = e.touches[1].pageX, u = e.touches[1].pageY, p = { x: e.touches[1].pageX - d, y: e.touches[1].pageY - l };
1845
- n.x !== null && (this.pinchStartLen > 0 && (e.zoom = Fe(p) / this.pinchStartLen, this.pinch.dispatch(e, this.element)), e.angle = da(p, n), this.rotate.dispatch(e, this.element)), n.x = p.x, n.y = p.y, this.x2 !== null && this.sx2 !== null ? (e.deltaX = (d - this.x2 + h - this.sx2) / 2, e.deltaY = (l - this.y2 + u - this.sy2) / 2) : (e.deltaX = 0, e.deltaY = 0), this.twoFingerPressMove.dispatch(e, this.element), this.sx2 = h, this.sy2 = u;
1854
+ n.x !== null && (this.pinchStartLen > 0 && (e.zoom = Ue(p) / this.pinchStartLen, this.pinch.dispatch(e, this.element)), e.angle = da(p, n), this.rotate.dispatch(e, this.element)), n.x = p.x, n.y = p.y, this.x2 !== null && this.sx2 !== null ? (e.deltaX = (d - this.x2 + h - this.sx2) / 2, e.deltaY = (l - this.y2 + u - this.sy2) / 2) : (e.deltaX = 0, e.deltaY = 0), this.twoFingerPressMove.dispatch(e, this.element), this.sx2 = h, this.sy2 = u;
1846
1855
  } else {
1847
1856
  if (this.x2 !== null) {
1848
1857
  e.deltaX = d - this.x2, e.deltaY = l - this.y2;
@@ -1892,15 +1901,15 @@ var Qt = { exports: {} };
1892
1901
  return p[h];
1893
1902
  }(), n = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, o = N(r, "gslide-media") ? r : r.querySelector(".gslide-media"), d = ce(o, ".ginner-container"), l = r.querySelector(".gslide-description");
1894
1903
  n > 769 && (o = d), T(o, "greset"), P(o, "translate3d(0, 0, 0)"), j(e, { onElement: o, once: !0, withCallback: function(h, u) {
1895
- M(o, "greset");
1904
+ $(o, "greset");
1896
1905
  } }), o.style.opacity = "", l && (l.style.opacity = "");
1897
1906
  }
1898
1907
  function ha(r) {
1899
1908
  if (r.events.hasOwnProperty("touch"))
1900
1909
  return !1;
1901
- var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, C = 1, O = !1, z = !1, I = null, oe = null, ae = null, me = null, ye = 0, _e = 0, je = !1, ht = !1, Se = {}, Ce = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), We = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1910
+ var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, C = 1, O = !1, z = !1, I = null, oe = null, ae = null, me = null, ye = 0, _e = 0, je = !1, ht = !1, Se = {}, Ce = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), Ye = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1902
1911
  if (u = !0, (N(L.targetTouches[0].target, "ginner-container") || ce(L.targetTouches[0].target, ".gslide-desc") || L.targetTouches[0].target.nodeName.toLowerCase() == "a") && (u = !1), ce(L.targetTouches[0].target, ".gslide-inline") && !N(L.targetTouches[0].target.parentNode, "gslide-inline") && (u = !1), u) {
1903
- if (Ce = L.targetTouches[0], Se.pageX = L.targetTouches[0].pageX, Se.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, N(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), M(We, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1912
+ if (Ce = L.targetTouches[0], Se.pageX = L.targetTouches[0].pageX, Se.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, N(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), $(Ye, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1904
1913
  return;
1905
1914
  L.preventDefault();
1906
1915
  }
@@ -1912,8 +1921,8 @@ var Qt = { exports: {} };
1912
1921
  return !1;
1913
1922
  }
1914
1923
  m = !0;
1915
- var ve, Ye = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Ye, Ta = Lt - Sa;
1916
- if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, ye = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ve = 1 - Math.abs(n) / h, We.style.opacity = ve, r.settings.touchFollowAxis && (ye = 0)), ht && (ve = 1 - Math.abs(e) / l, v.style.opacity = ve, r.settings.touchFollowAxis && (_e = 0)), !g)
1924
+ var ve, Xe = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Xe, Ta = Lt - Sa;
1925
+ if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, ye = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ve = 1 - Math.abs(n) / h, Ye.style.opacity = ve, r.settings.touchFollowAxis && (ye = 0)), ht && (ve = 1 - Math.abs(e) / l, v.style.opacity = ve, r.settings.touchFollowAxis && (_e = 0)), !g)
1917
1926
  return P(v, "translate3d(".concat(ye, "%, 0, 0)"));
1918
1927
  P(v, "translate3d(".concat(ye, "%, ").concat(_e, "%, 0)"));
1919
1928
  }
@@ -1923,7 +1932,7 @@ var Qt = { exports: {} };
1923
1932
  return ae = I, void (me = oe);
1924
1933
  var L = Math.abs(parseInt(_e)), J = Math.abs(parseInt(ye));
1925
1934
  if (!(L > 29 && g))
1926
- return L < 29 && J < 25 ? (T(We, "greset"), We.style.opacity = 1, bt(v)) : void 0;
1935
+ return L < 29 && J < 25 ? (T(Ye, "greset"), Ye.style.opacity = 1, bt(v)) : void 0;
1927
1936
  r.close();
1928
1937
  }
1929
1938
  }, multipointEnd: function() {
@@ -1944,8 +1953,8 @@ var Qt = { exports: {} };
1944
1953
  if (z && !O) {
1945
1954
  var J = Ce.pageX - Se.pageX, ve = Ce.pageY - Se.pageY;
1946
1955
  ae && (J += ae), me && (ve += me), I = J, oe = ve;
1947
- var Ye = "translate3d(".concat(J, "px, ").concat(ve, "px, 0)");
1948
- C && (Ye += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Ye);
1956
+ var Xe = "translate3d(".concat(J, "px, ").concat(ve, "px, 0)");
1957
+ C && (Xe += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Xe);
1949
1958
  }
1950
1959
  }, swipe: function(L) {
1951
1960
  if (!z)
@@ -2079,9 +2088,9 @@ var Qt = { exports: {} };
2079
2088
  var d = this, l = r.querySelector(".ginner-container"), h = "gvideo" + n, u = r.querySelector(".gslide-media"), p = this.getAllPlayers();
2080
2089
  T(l, "gvideo-container"), u.insertBefore(de('<div class="gvideo-wrapper"></div>'), u.firstChild);
2081
2090
  var v = r.querySelector(".gvideo-wrapper");
2082
- Re(this.settings.plyr.css, "Plyr");
2091
+ Ve(this.settings.plyr.css, "Plyr");
2083
2092
  var g = e.href, m = e == null ? void 0 : e.videoProvider, E = !1;
2084
- u.style.maxWidth = e.width, Re(this.settings.plyr.js, "Plyr", function() {
2093
+ u.style.maxWidth = e.width, Ve(this.settings.plyr.js, "Plyr", function() {
2085
2094
  if (!m && g.match(/vimeo\.com\/([0-9]*)/) && (m = "vimeo"), !m && (g.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || g.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || g.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)) && (m = "youtube"), m === "local" || !m) {
2086
2095
  m = "local";
2087
2096
  var C = '<video id="' + h + '" ';
@@ -2092,16 +2101,16 @@ var Qt = { exports: {} };
2092
2101
  var z = F(d.settings.plyr, "config") ? d.settings.plyr.config : {}, I = new Plyr("#" + h, z);
2093
2102
  I.on("ready", function(oe) {
2094
2103
  p[h] = oe.detail.plyr, y(o) && o();
2095
- }), $e(function() {
2104
+ }), Me(function() {
2096
2105
  return r.querySelector("iframe") && r.querySelector("iframe").dataset.ready == "true";
2097
2106
  }, function() {
2098
2107
  d.resize(r);
2099
- }), I.on("enterfullscreen", Mt), I.on("exitfullscreen", Mt);
2108
+ }), I.on("enterfullscreen", $t), I.on("exitfullscreen", $t);
2100
2109
  });
2101
2110
  }
2102
- function Mt(r) {
2111
+ function $t(r) {
2103
2112
  var e = ce(r.target, ".gslide-media");
2104
- r.type === "enterfullscreen" && T(e, "fullscreen"), r.type === "exitfullscreen" && M(e, "fullscreen");
2113
+ r.type === "enterfullscreen" && T(e, "fullscreen"), r.type === "exitfullscreen" && $(e, "fullscreen");
2105
2114
  }
2106
2115
  function ma(r, e, n, o) {
2107
2116
  var d, l = this, h = r.querySelector(".gslide-media"), u = !(!F(e, "href") || !e.href) && e.href.split("#").pop().trim(), p = !(!F(e, "content") || !e.content) && e.content;
@@ -2192,11 +2201,11 @@ var Qt = { exports: {} };
2192
2201
  var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = e.type == "video" ? this.checkSize(n.videosWidth) : this.checkSize(n.width), l = this.checkSize(n.height);
2193
2202
  return e.width = F(e, "width") && e.width !== "" ? this.checkSize(e.width) : d, e.height = F(e, "height") && e.height !== "" ? this.checkSize(e.height) : l, o && e.type == "image" && (e._hasCustomWidth = !!o.dataset.width, e._hasCustomHeight = !!o.dataset.height), e;
2194
2203
  } }, { key: "checkSize", value: function(e) {
2195
- return Ne(e) ? "".concat(e, "px") : e;
2204
+ return Fe(e) ? "".concat(e, "px") : e;
2196
2205
  } }, { key: "sanitizeValue", value: function(e) {
2197
2206
  return e !== "true" && e !== "false" ? e : e === "true";
2198
2207
  } }]), r;
2199
- }(), Ue = function() {
2208
+ }(), We = function() {
2200
2209
  function r(e, n, o) {
2201
2210
  i(this, r), this.element = e, this.instance = n, this.index = o;
2202
2211
  }
@@ -2239,8 +2248,8 @@ var Qt = { exports: {} };
2239
2248
  return !1;
2240
2249
  p.innerHTML = n.description, T(u, "gdesc-open");
2241
2250
  var v = j("click", { onElement: [u, ce(p, ".gslide-description")], withCallback: function(g, m) {
2242
- g.target.nodeName.toLowerCase() !== "a" && (M(u, "gdesc-open"), T(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2243
- M(u, "gdesc-closed");
2251
+ g.target.nodeName.toLowerCase() !== "a" && ($(u, "gdesc-open"), T(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2252
+ $(u, "gdesc-closed");
2244
2253
  }, 400), v.destroy());
2245
2254
  } });
2246
2255
  } });
@@ -2251,7 +2260,7 @@ var Qt = { exports: {} };
2251
2260
  var e = new va(this.instance.settings.slideExtraAttributes);
2252
2261
  return this.slideConfig = e.parseConfig(this.element, this.instance.settings), this.slideConfig;
2253
2262
  } }]), r;
2254
- }(), $t = ke(), It = ke() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
2263
+ }(), Mt = ke(), It = ke() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
2255
2264
  <div class="gslide-inner-content">
2256
2265
  <div class="ginner-container">
2257
2266
  <div class="gslide-media">
@@ -2288,34 +2297,34 @@ var Qt = { exports: {} };
2288
2297
  if (this.elements.length === 0)
2289
2298
  return !1;
2290
2299
  this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
2291
- var o = Ne(n) ? n : this.settings.startAt;
2300
+ var o = Fe(n) ? n : this.settings.startAt;
2292
2301
  if (te(e)) {
2293
2302
  var d = e.getAttribute("data-gallery");
2294
2303
  d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), ne(o) && (o = this.getElementIndex(e)) < 0 && (o = 0);
2295
2304
  }
2296
- Ne(o) || (o = 0), this.build(), A(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
2305
+ Fe(o) || (o = 0), this.build(), A(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
2297
2306
  var l = document.body, h = window.innerWidth - document.documentElement.clientWidth;
2298
2307
  if (h > 0) {
2299
2308
  var u = document.createElement("style");
2300
2309
  u.type = "text/css", u.className = "gcss-styles", u.innerText = ".gscrollbar-fixer {margin-right: ".concat(h, "px}"), document.head.appendChild(u), T(l, "gscrollbar-fixer");
2301
2310
  }
2302
- T(l, "glightbox-open"), T(jt, "glightbox-open"), $t && (T(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (T(this.prevButton, "glightbox-button-hidden"), T(this.nextButton, "glightbox-button-hidden")) : (M(this.prevButton, "glightbox-button-hidden"), M(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2311
+ T(l, "glightbox-open"), T(jt, "glightbox-open"), Mt && (T(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (T(this.prevButton, "glightbox-button-hidden"), T(this.nextButton, "glightbox-button-hidden")) : ($(this.prevButton, "glightbox-button-hidden"), $(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2303
2312
  } }, { key: "openAt", value: function() {
2304
2313
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
2305
2314
  this.open(null, e);
2306
2315
  } }, { key: "showSlide", value: function() {
2307
2316
  var e = this, n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2308
- D(this.loader), this.index = parseInt(n);
2317
+ R(this.loader), this.index = parseInt(n);
2309
2318
  var d = this.slidesContainer.querySelector(".current");
2310
- d && M(d, "current"), this.slideAnimateOut();
2319
+ d && $(d, "current"), this.slideAnimateOut();
2311
2320
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
2312
2321
  if (N(l, "loaded"))
2313
- this.slideAnimateIn(l, o), $(this.loader);
2322
+ this.slideAnimateIn(l, o), M(this.loader);
2314
2323
  else {
2315
- D(this.loader);
2324
+ R(this.loader);
2316
2325
  var h = this.elements[n], u = { index: this.index, slide: l, slideNode: l, slideConfig: h.slideConfig, slideIndex: this.index, trigger: h.node, player: null };
2317
2326
  this.trigger("slide_before_load", u), h.instance.setContent(l, function() {
2318
- $(e.loader), e.resize(), e.slideAnimateIn(l, o), e.trigger("slide_after_load", u);
2327
+ M(e.loader), e.resize(), e.slideAnimateIn(l, o), e.trigger("slide_after_load", u);
2319
2328
  });
2320
2329
  }
2321
2330
  this.slideDescription = l.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && N(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(n + 1), this.preloadSlide(n - 1)), this.updateNavigationClasses(), this.activeSlide = l;
@@ -2346,7 +2355,7 @@ var Qt = { exports: {} };
2346
2355
  } }, { key: "insertSlide", value: function() {
2347
2356
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
2348
2357
  n < 0 && (n = this.elements.length);
2349
- var o = new Ue(e, this, n), d = o.getConfig(), l = x({}, d), h = o.create(), u = this.elements.length - 1;
2358
+ var o = new We(e, this, n), d = o.getConfig(), l = x({}, d), h = o.create(), u = this.elements.length - 1;
2350
2359
  l.index = n, l.node = !1, l.instance = o, l.slideConfig = d, this.elements.splice(n, 0, l);
2351
2360
  var p = null, v = null;
2352
2361
  if (this.slidesContainer) {
@@ -2367,7 +2376,7 @@ var Qt = { exports: {} };
2367
2376
  n && (this.getActiveSlideIndex() == e && (e == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), n.parentNode.removeChild(n)), this.elements.splice(e, 1), this.trigger("slide_removed", e), y(this.settings.slideRemoved) && this.settings.slideRemoved(e);
2368
2377
  } }, { key: "slideAnimateIn", value: function(e, n) {
2369
2378
  var o = this, d = e.querySelector(".gslide-media"), l = e.querySelector(".gslide-description"), h = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, u = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
2370
- if (d.offsetWidth > 0 && l && ($(l), l.style.display = ""), M(e, this.effectsClasses), n)
2379
+ if (d.offsetWidth > 0 && l && (M(l), l.style.display = ""), $(e, this.effectsClasses), n)
2371
2380
  A(e, this.settings.cssEfects[this.settings.openEffect].in, function() {
2372
2381
  o.settings.autoplayVideos && o.slidePlayerPlay(e), o.trigger("slide_changed", { prev: h, current: u }), y(o.settings.afterSlideChange) && o.settings.afterSlideChange.apply(o, [h, u]);
2373
2382
  });
@@ -2384,11 +2393,11 @@ var Qt = { exports: {} };
2384
2393
  if (!this.prevActiveSlide)
2385
2394
  return !1;
2386
2395
  var e = this.prevActiveSlide;
2387
- M(e, this.effectsClasses), T(e, "prev");
2396
+ $(e, this.effectsClasses), T(e, "prev");
2388
2397
  var n = this.settings.slideEffect, o = n !== "none" ? this.settings.cssEfects[n].out : n;
2389
2398
  this.slidePlayerPause(e), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), y(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (o = this.settings.cssEfects.slideBack.out), A(e, o, function() {
2390
2399
  var d = e.querySelector(".ginner-container"), l = e.querySelector(".gslide-media"), h = e.querySelector(".gslide-description");
2391
- d.style.transform = "", l.style.transform = "", M(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), M(e, "prev");
2400
+ d.style.transform = "", l.style.transform = "", $(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), $(e, "prev");
2392
2401
  });
2393
2402
  } }, { key: "getAllPlayers", value: function() {
2394
2403
  return this.videoPlayers;
@@ -2420,7 +2429,7 @@ var Qt = { exports: {} };
2420
2429
  o && !o.playing && o.play();
2421
2430
  } }, { key: "slidePlayerPlay", value: function(e) {
2422
2431
  var n;
2423
- if (!$t || (n = this.settings.plyr.config) !== null && n !== void 0 && n.muted) {
2432
+ if (!Mt || (n = this.settings.plyr.config) !== null && n !== void 0 && n.muted) {
2424
2433
  if (te(e)) {
2425
2434
  var o = e.querySelector(".gvideo-wrapper");
2426
2435
  o && (e = o.getAttribute("data-index"));
@@ -2433,7 +2442,7 @@ var Qt = { exports: {} };
2433
2442
  this.settings.elements = !1;
2434
2443
  var o = [];
2435
2444
  e && e.length && _(e, function(d, l) {
2436
- var h = new Ue(d, n, l), u = h.getConfig(), p = x({}, u);
2445
+ var h = new We(d, n, l), u = h.getConfig(), p = x({}, u);
2437
2446
  p.slideConfig = u, p.instance = h, p.index = l, o.push(p);
2438
2447
  }), this.elements = o, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (_(this.elements, function() {
2439
2448
  var d = de(n.settings.slideHTML);
@@ -2447,13 +2456,13 @@ var Qt = { exports: {} };
2447
2456
  }), n;
2448
2457
  } }, { key: "getElements", value: function() {
2449
2458
  var e = this, n = [];
2450
- this.elements = this.elements ? this.elements : [], !ne(this.settings.elements) && Ve(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2451
- var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2459
+ this.elements = this.elements ? this.elements : [], !ne(this.settings.elements) && Ne(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2460
+ var h = new We(d, e, l), u = h.getConfig(), p = x({}, u);
2452
2461
  p.node = !1, p.index = l, p.instance = h, p.slideConfig = u, n.push(p);
2453
2462
  });
2454
2463
  var o = !1;
2455
2464
  return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(d, l) {
2456
- var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2465
+ var h = new We(d, e, l), u = h.getConfig(), p = x({}, u);
2457
2466
  p.node = d, p.index = l, p.instance = h, p.slideConfig = u, p.gallery = d.getAttribute("data-gallery"), n.push(p);
2458
2467
  }), n;
2459
2468
  } }, { key: "getGalleryElements", value: function(e, n) {
@@ -2504,7 +2513,7 @@ var Qt = { exports: {} };
2504
2513
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
2505
2514
  if ((e = e || this.activeSlide) && !N(e, "zoomed")) {
2506
2515
  var n = ee(), o = e.querySelector(".gvideo-wrapper"), d = e.querySelector(".gslide-image"), l = this.slideDescription, h = n.width, u = n.height;
2507
- if (h <= 768 ? T(document.body, "glightbox-mobile") : M(document.body, "glightbox-mobile"), o || d) {
2516
+ if (h <= 768 ? T(document.body, "glightbox-mobile") : $(document.body, "glightbox-mobile"), o || d) {
2508
2517
  var p = !1;
2509
2518
  if (l && (N(l, "description-bottom") || N(l, "description-top")) && !N(l, "gabsolute") && (p = !0), d) {
2510
2519
  if (h <= 768)
@@ -2520,7 +2529,7 @@ var Qt = { exports: {} };
2520
2529
  var E = o.clientWidth, C = o.clientHeight, O = E / C;
2521
2530
  m = "".concat(E / O, ":").concat(C / O);
2522
2531
  }
2523
- var z = m.split(":"), I = this.settings.videosWidth, oe = this.settings.videosWidth, ae = (oe = Ne(I) || I.indexOf("px") !== -1 ? parseInt(I) : I.indexOf("vw") !== -1 ? h * parseInt(I) / 100 : I.indexOf("vh") !== -1 ? u * parseInt(I) / 100 : I.indexOf("%") !== -1 ? h * parseInt(I) / 100 : parseInt(o.clientWidth)) / (parseInt(z[0]) / parseInt(z[1]));
2532
+ var z = m.split(":"), I = this.settings.videosWidth, oe = this.settings.videosWidth, ae = (oe = Fe(I) || I.indexOf("px") !== -1 ? parseInt(I) : I.indexOf("vw") !== -1 ? h * parseInt(I) / 100 : I.indexOf("vh") !== -1 ? u * parseInt(I) / 100 : I.indexOf("%") !== -1 ? h * parseInt(I) / 100 : parseInt(o.clientWidth)) / (parseInt(z[0]) / parseInt(z[1]));
2524
2533
  if (ae = Math.floor(ae), p && (u -= l.offsetHeight), oe > h || ae > u || u < ae && h > oe) {
2525
2534
  var me = o.offsetWidth, ye = o.offsetHeight, _e = u / ye, je = { width: me * _e, height: ye * _e };
2526
2535
  o.parentNode.setAttribute("style", "max-width: ".concat(je.width, "px")), p && l.setAttribute("style", "max-width: ".concat(je.width, "px;"));
@@ -2533,7 +2542,7 @@ var Qt = { exports: {} };
2533
2542
  this.init();
2534
2543
  } }, { key: "updateNavigationClasses", value: function() {
2535
2544
  var e = this.loop();
2536
- M(this.nextButton, "disabled"), M(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2545
+ $(this.nextButton, "disabled"), $(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2537
2546
  } }, { key: "loop", value: function() {
2538
2547
  var e = F(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2539
2548
  return e = F(this.settings, "loop") ? this.settings.loop : e, e;
@@ -2558,7 +2567,7 @@ var Qt = { exports: {} };
2558
2567
  e.events = null;
2559
2568
  }
2560
2569
  var d = document.body;
2561
- M(jt, "glightbox-open"), M(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), e.modal.parentNode.removeChild(e.modal), e.trigger("close"), y(e.settings.onClose) && e.settings.onClose();
2570
+ $(jt, "glightbox-open"), $(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), e.modal.parentNode.removeChild(e.modal), e.trigger("close"), y(e.settings.onClose) && e.settings.onClose();
2562
2571
  var l = document.querySelector(".gcss-styles");
2563
2572
  l && l.parentNode.removeChild(l), e.lightboxOpen = !1, e.closing = null;
2564
2573
  });
@@ -2642,7 +2651,7 @@ yt.styles = U`
2642
2651
  }
2643
2652
  `;
2644
2653
  yt = xc([
2645
- W("cb-thinking")
2654
+ Y("cb-thinking")
2646
2655
  ], yt);
2647
2656
  var kc = Object.defineProperty, _c = Object.getOwnPropertyDescriptor, ea = (a, t, c, i) => {
2648
2657
  for (var s = i > 1 ? void 0 : i ? _c(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -2687,7 +2696,7 @@ ea([
2687
2696
  k({ type: Array })
2688
2697
  ], at.prototype, "files", 2);
2689
2698
  at = ea([
2690
- W("cb-uploading")
2699
+ Y("cb-uploading")
2691
2700
  ], at);
2692
2701
  const Sc = U`
2693
2702
  ${he}
@@ -2715,7 +2724,7 @@ var Cc = Object.defineProperty, Tc = Object.getOwnPropertyDescriptor, kt = (a, t
2715
2724
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
2716
2725
  return i && s && Cc(t, c, s), s;
2717
2726
  };
2718
- let He = class extends rt {
2727
+ let Be = class extends rt {
2719
2728
  constructor() {
2720
2729
  super(...arguments), this.url = "", this.inverse = !1;
2721
2730
  }
@@ -2735,7 +2744,7 @@ let He = class extends rt {
2735
2744
  `;
2736
2745
  }
2737
2746
  };
2738
- He.styles = U`
2747
+ Be.styles = U`
2739
2748
  :host {
2740
2749
  --primary-color: var(--sl-color-primary-600);
2741
2750
  }
@@ -2762,14 +2771,14 @@ He.styles = U`
2762
2771
  `;
2763
2772
  kt([
2764
2773
  k({ type: String })
2765
- ], He.prototype, "url", 2);
2774
+ ], Be.prototype, "url", 2);
2766
2775
  kt([
2767
2776
  k({ type: Boolean })
2768
- ], He.prototype, "inverse", 2);
2769
- He = kt([
2770
- W("cb-external-link")
2771
- ], He);
2772
- const Ec = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', Ac = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', Mc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', $c = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', Ic = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', jc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', Oc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972M1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035l.823-1.439Z"/></svg>';
2777
+ ], Be.prototype, "inverse", 2);
2778
+ Be = kt([
2779
+ Y("cb-external-link")
2780
+ ], Be);
2781
+ const Ec = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', Ac = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', $c = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', Mc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', Ic = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', jc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', Oc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972M1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035l.823-1.439Z"/></svg>';
2773
2782
  var Lc = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, _t = (a, t, c, i) => {
2774
2783
  for (var s = i > 1 ? void 0 : i ? Pc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
2775
2784
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
@@ -2778,13 +2787,13 @@ var Lc = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, _t = (a, t
2778
2787
  const zt = {
2779
2788
  pdf: Ac,
2780
2789
  txt: Ec,
2781
- md: Mc,
2782
- csv: $c,
2790
+ md: $c,
2791
+ csv: Mc,
2783
2792
  ppd: Ic,
2784
2793
  doc: jc,
2785
2794
  docx: Oc
2786
2795
  };
2787
- let Be = class extends Q {
2796
+ let qe = class extends Q {
2788
2797
  constructor() {
2789
2798
  super(...arguments), this.filename = "", this.url = "";
2790
2799
  }
@@ -2814,16 +2823,16 @@ let Be = class extends Q {
2814
2823
  `;
2815
2824
  }
2816
2825
  };
2817
- Be.styles = Sc;
2826
+ qe.styles = Sc;
2818
2827
  _t([
2819
2828
  k({ type: String })
2820
- ], Be.prototype, "filename", 2);
2829
+ ], qe.prototype, "filename", 2);
2821
2830
  _t([
2822
2831
  k({ type: String })
2823
- ], Be.prototype, "url", 2);
2824
- Be = _t([
2825
- W("cb-file")
2826
- ], Be);
2832
+ ], qe.prototype, "url", 2);
2833
+ qe = _t([
2834
+ Y("cb-file")
2835
+ ], qe);
2827
2836
  const zc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z"/></g></svg>', Hc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', Bc = U`
2828
2837
  pre code.hljs {
2829
2838
  display: block;
@@ -4161,24 +4170,24 @@ const zc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
4161
4170
  font-size: 1em;
4162
4171
  }
4163
4172
  `;
4164
- function Dc() {
4165
- const a = new Ma({
4173
+ function Rc() {
4174
+ const a = new $a({
4166
4175
  html: !0,
4167
4176
  breaks: !0,
4168
4177
  linkify: !0
4169
4178
  });
4170
- return a.use($a, { attrs: { target: "_blank", rel: "noopener" } }), a;
4179
+ return a.use(Ma, { attrs: { target: "_blank", rel: "noopener" } }), a;
4171
4180
  }
4172
4181
  async function Ht(a) {
4173
- const c = Dc().render(a);
4182
+ const c = Rc().render(a);
4174
4183
  return w`${Ee(c)}`;
4175
4184
  }
4176
- var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4185
+ var Dc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4177
4186
  for (var s = i > 1 ? void 0 : i ? Vc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4178
4187
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4179
- return i && s && Rc(t, c, s), s;
4188
+ return i && s && Dc(t, c, s), s;
4180
4189
  };
4181
- let Me = class extends Q {
4190
+ let $e = class extends Q {
4182
4191
  constructor() {
4183
4192
  super(...arguments), this.type = "assistant", this.lightbox = yc({
4184
4193
  touchNavigation: !0,
@@ -4204,7 +4213,7 @@ let Me = class extends Q {
4204
4213
  });
4205
4214
  }
4206
4215
  connectedCallback() {
4207
- super.connectedCallback(), console.log(`Message: connectedCallback called: ${this.message.data.text}`);
4216
+ super.connectedCallback();
4208
4217
  }
4209
4218
  disconnectedCallback() {
4210
4219
  super.disconnectedCallback(), this._removeCopyEvents();
@@ -4215,7 +4224,7 @@ let Me = class extends Q {
4215
4224
  */
4216
4225
  updated(a) {
4217
4226
  super.updated(a), a.has("message") && requestIdleCallback(() => {
4218
- this._addCopyEvents(), console.log("Message updated hook: updating lightbox"), this._configureLightbox();
4227
+ this._addCopyEvents(), this._configureLightbox();
4219
4228
  });
4220
4229
  }
4221
4230
  _configureLightbox() {
@@ -4308,7 +4317,7 @@ let Me = class extends Q {
4308
4317
  ${Pt(
4309
4318
  this._getMessageText(a).then((c) => w`${c}`)
4310
4319
  )}
4311
- </div>` : a.type === "file" ? w`${Ze(
4320
+ </div>` : a.type === "file" ? w`${Ge(
4312
4321
  a.data.files || [],
4313
4322
  (c) => c.id,
4314
4323
  (c) => w`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
@@ -4345,22 +4354,22 @@ let Me = class extends Q {
4345
4354
  `;
4346
4355
  }
4347
4356
  };
4348
- Me.styles = qc;
4357
+ $e.styles = qc;
4349
4358
  De([
4350
4359
  k({ type: Object })
4351
- ], Me.prototype, "message", 2);
4360
+ ], $e.prototype, "message", 2);
4352
4361
  De([
4353
4362
  k({ type: String })
4354
- ], Me.prototype, "type", 2);
4363
+ ], $e.prototype, "type", 2);
4355
4364
  De([
4356
4365
  Nt(".code-block-header__copy")
4357
- ], Me.prototype, "copyBtns", 2);
4366
+ ], $e.prototype, "copyBtns", 2);
4358
4367
  De([
4359
4368
  Nt("img")
4360
- ], Me.prototype, "glightboxImages", 2);
4361
- Me = De([
4362
- W("cb-message")
4363
- ], Me);
4369
+ ], $e.prototype, "glightboxImages", 2);
4370
+ $e = De([
4371
+ Y("cb-message")
4372
+ ], $e);
4364
4373
  var Nc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, xe = (a, t, c, i) => {
4365
4374
  for (var s = i > 1 ? void 0 : i ? Fc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4366
4375
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
@@ -4382,7 +4391,7 @@ let be = class extends Q {
4382
4391
  render() {
4383
4392
  return w`
4384
4393
  <div class="cb-message-list" part="cb-message-list">
4385
- ${Ze(
4394
+ ${Ge(
4386
4395
  this.messages,
4387
4396
  (a) => a.id + JSON.stringify(a.data),
4388
4397
  (a) => w`<cb-message .message="${a}"></cb-message>`
@@ -4395,7 +4404,7 @@ let be = class extends Q {
4395
4404
  renderForm() {
4396
4405
  return this.form ? w` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4397
4406
  <div class="cb-input-form-title">${this.form.title}</div>
4398
- ${Ze(
4407
+ ${Ge(
4399
4408
  this.form.fields,
4400
4409
  (a, t) => t,
4401
4410
  (a) => {
@@ -4448,7 +4457,7 @@ let be = class extends Q {
4448
4457
  renderActions() {
4449
4458
  return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : w`
4450
4459
  <div class="cb-actions-list">
4451
- ${Ze(
4460
+ ${Ge(
4452
4461
  this.actions,
4453
4462
  (a) => a,
4454
4463
  (a) => this.renderAction(a)
@@ -4533,10 +4542,10 @@ xe([
4533
4542
  k({ type: Object })
4534
4543
  ], be.prototype, "form", 2);
4535
4544
  xe([
4536
- qe("#cb-message-list-bottom-anchor")
4545
+ Re("#cb-message-list-bottom-anchor")
4537
4546
  ], be.prototype, "_messageListBottomAnchor", 2);
4538
4547
  xe([
4539
- qe(".cb-input-form")
4548
+ Re(".cb-input-form")
4540
4549
  ], be.prototype, "_inputForm", 2);
4541
4550
  xe([
4542
4551
  Ft({ capture: !1, passive: !0 })
@@ -4545,7 +4554,7 @@ xe([
4545
4554
  Ft({ capture: !1, passive: !0 })
4546
4555
  ], be.prototype, "invokeCalendlyAction", 1);
4547
4556
  be = xe([
4548
- W("cb-message-list")
4557
+ Y("cb-message-list")
4549
4558
  ], be);
4550
4559
  const Uc = U`
4551
4560
  ${he}
@@ -4697,10 +4706,10 @@ ge([
4697
4706
  k({ type: String })
4698
4707
  ], fe.prototype, "currentKey", 2);
4699
4708
  ge([
4700
- qe("sl-textarea")
4709
+ Re("sl-textarea")
4701
4710
  ], fe.prototype, "inputElement", 2);
4702
4711
  fe = ge([
4703
- W("cb-user-input")
4712
+ Y("cb-user-input")
4704
4713
  ], fe);
4705
4714
  const Gc = U`
4706
4715
  ${he}
@@ -4797,7 +4806,7 @@ dt([
4797
4806
  k({ type: Number })
4798
4807
  ], Le.prototype, "zindex", 2);
4799
4808
  Le = dt([
4800
- W("cb-dialog")
4809
+ Y("cb-dialog")
4801
4810
  ], Le);
4802
4811
  var Qc = Object.defineProperty, ei = Object.getOwnPropertyDescriptor, ta = (a, t, c, i) => {
4803
4812
  for (var s = i > 1 ? void 0 : i ? ei(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -4850,7 +4859,7 @@ ta([
4850
4859
  k({ type: Boolean })
4851
4860
  ], ct.prototype, "open", 2);
4852
4861
  ct = ta([
4853
- W("cb-clear-message-dialog")
4862
+ Y("cb-clear-message-dialog")
4854
4863
  ], ct);
4855
4864
  const ti = U`
4856
4865
  :host {
@@ -5091,13 +5100,13 @@ Pe([
5091
5100
  k({ type: Boolean })
5092
5101
  ], we.prototype, "clearMessageDialogOpen", 2);
5093
5102
  Pe([
5094
- qe("sl-dialog")
5103
+ Re("sl-dialog")
5095
5104
  ], we.prototype, "dialog", 2);
5096
5105
  Pe([
5097
5106
  k({ type: Boolean })
5098
5107
  ], we.prototype, "customRequest", 2);
5099
5108
  we = Pe([
5100
- W("cb-setting")
5109
+ Y("cb-setting")
5101
5110
  ], we);
5102
5111
  const ii = U`
5103
5112
  ${he}
@@ -5249,7 +5258,7 @@ aa([
5249
5258
  k({ type: Boolean })
5250
5259
  ], it.prototype, "open", 2);
5251
5260
  it = aa([
5252
- W("cb-anchor")
5261
+ Y("cb-anchor")
5253
5262
  ], it);
5254
5263
  const ri = U`
5255
5264
  ${he}
@@ -5295,7 +5304,7 @@ ca([
5295
5304
  k({ type: String })
5296
5305
  ], nt.prototype, "status", 2);
5297
5306
  nt = ca([
5298
- W("cb-status-icon")
5307
+ Y("cb-status-icon")
5299
5308
  ], nt);
5300
5309
  var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t, c, i) => {
5301
5310
  for (var s = i > 1 ? void 0 : i ? pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -5320,9 +5329,9 @@ let vt = class extends Q {
5320
5329
  };
5321
5330
  vt.styles = ri;
5322
5331
  vt = gi([
5323
- W("cb-auth-alert")
5332
+ Y("cb-auth-alert")
5324
5333
  ], vt);
5325
- class Dt extends Error {
5334
+ class Rt extends Error {
5326
5335
  constructor(t, c, i) {
5327
5336
  const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), x = b ? `status code ${b}` : "an unknown error";
5328
5337
  super(`Request failed with ${x}`), Object.defineProperty(this, "response", {
@@ -5353,9 +5362,9 @@ class ia extends Error {
5353
5362
  }), this.name = "TimeoutError", this.request = t;
5354
5363
  }
5355
5364
  }
5356
- const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5365
+ const Je = (a) => a !== null && typeof a == "object", Ze = (...a) => {
5357
5366
  for (const t of a)
5358
- if ((!Ke(t) || Array.isArray(t)) && typeof t < "u")
5367
+ if ((!Je(t) || Array.isArray(t)) && typeof t < "u")
5359
5368
  throw new TypeError("The `options` argument must be an object");
5360
5369
  return St({}, ...a);
5361
5370
  }, na = (a = {}, t = {}) => {
@@ -5368,10 +5377,10 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5368
5377
  for (const i of a)
5369
5378
  if (Array.isArray(i))
5370
5379
  Array.isArray(t) || (t = []), t = [...t, ...i];
5371
- else if (Ke(i)) {
5380
+ else if (Je(i)) {
5372
5381
  for (let [s, f] of Object.entries(i))
5373
- Ke(f) && s in t && (f = St(t[s], f)), t = { ...t, [s]: f };
5374
- Ke(i.headers) && (c = na(c, i.headers), t.headers = c);
5382
+ Je(f) && s in t && (f = St(t[s], f)), t = { ...t, [s]: f };
5383
+ Je(i.headers) && (c = na(c, i.headers), t.headers = c);
5375
5384
  }
5376
5385
  return t;
5377
5386
  }, mi = (() => {
@@ -5391,7 +5400,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5391
5400
  formData: "multipart/form-data",
5392
5401
  arrayBuffer: "*/*",
5393
5402
  blob: "*/*"
5394
- }, pt = 2147483647, oa = Symbol("stop"), ki = (a) => sa.includes(a) ? a.toUpperCase() : a, _i = ["get", "put", "head", "delete", "options", "trace"], Si = [408, 413, 429, 500, 502, 503, 504], ra = [413, 429, 503], Rt = {
5403
+ }, pt = 2147483647, oa = Symbol("stop"), ki = (a) => sa.includes(a) ? a.toUpperCase() : a, _i = ["get", "put", "head", "delete", "options", "trace"], Si = [408, 413, 429, 500, 502, 503, 504], ra = [413, 429, 503], Dt = {
5395
5404
  limit: 2,
5396
5405
  methods: _i,
5397
5406
  statusCodes: Si,
@@ -5401,7 +5410,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5401
5410
  }, Ci = (a = {}) => {
5402
5411
  if (typeof a == "number")
5403
5412
  return {
5404
- ...Rt,
5413
+ ...Dt,
5405
5414
  limit: a
5406
5415
  };
5407
5416
  if (a.methods && !Array.isArray(a.methods))
@@ -5409,7 +5418,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5409
5418
  if (a.statusCodes && !Array.isArray(a.statusCodes))
5410
5419
  throw new Error("retry.statusCodes must be an array");
5411
5420
  return {
5412
- ...Rt,
5421
+ ...Dt,
5413
5422
  ...a,
5414
5423
  afterStatusCodes: ra
5415
5424
  };
@@ -5461,7 +5470,7 @@ class st {
5461
5470
  V instanceof globalThis.Response && (x = V);
5462
5471
  }
5463
5472
  if (i._decorateResponse(x), !x.ok && i._options.throwHttpErrors) {
5464
- let _ = new Dt(x, i.request, i._options);
5473
+ let _ = new Rt(x, i.request, i._options);
5465
5474
  for (const V of i._options.hooks.beforeError)
5466
5475
  _ = await V(_);
5467
5476
  throw _;
@@ -5558,7 +5567,7 @@ class st {
5558
5567
  }
5559
5568
  _calculateRetryDelay(t) {
5560
5569
  if (this._retryCount++, this._retryCount < this._options.retry.limit && !(t instanceof ia)) {
5561
- if (t instanceof Dt) {
5570
+ if (t instanceof Rt) {
5562
5571
  if (!this._options.retry.statusCodes.includes(t.response.status))
5563
5572
  return 0;
5564
5573
  const i = t.response.headers.get("Retry-After");
@@ -5645,11 +5654,11 @@ class st {
5645
5654
  }
5646
5655
  /*! MIT License © Sindre Sorhus */
5647
5656
  const wt = (a) => {
5648
- const t = (c, i) => st.create(c, Xe(a, i));
5657
+ const t = (c, i) => st.create(c, Ze(a, i));
5649
5658
  for (const c of sa)
5650
- t[c] = (i, s) => st.create(i, Xe(a, s, { method: c }));
5651
- return t.create = (c) => wt(Xe(c)), t.extend = (c) => wt(Xe(a, c)), t.stop = oa, t;
5652
- }, Mi = wt(), $i = Mi, Ii = $i.extend({
5659
+ t[c] = (i, s) => st.create(i, Ze(a, s, { method: c }));
5660
+ return t.create = (c) => wt(Ze(c)), t.extend = (c) => wt(Ze(a, c)), t.stop = oa, t;
5661
+ }, $i = wt(), Mi = $i, Ii = Mi.extend({
5653
5662
  hooks: {
5654
5663
  beforeRequest: [
5655
5664
  () => {
@@ -5695,14 +5704,14 @@ async function Oi(a, t) {
5695
5704
  };
5696
5705
  }
5697
5706
  }
5698
- var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, R = (a, t, c, i) => {
5707
+ var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, D = (a, t, c, i) => {
5699
5708
  for (var s = i > 1 ? void 0 : i ? Pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
5700
5709
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
5701
5710
  return i && s && Li(t, c, s), s;
5702
5711
  };
5703
- const Je = ft.noConflict();
5704
- Je.setLevel("info");
5705
- let B = class extends Q {
5712
+ const ze = ft.noConflict();
5713
+ ze.setLevel("info");
5714
+ let q = class extends Q {
5706
5715
  constructor() {
5707
5716
  super(...arguments), this.store = new Wt(this, S), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
5708
5717
  <path
@@ -5740,7 +5749,7 @@ let B = class extends Q {
5740
5749
  return S.addMessage(c), c;
5741
5750
  }
5742
5751
  render() {
5743
- return S.disabled ? (Je.error("Bot is disabled"), null) : w`
5752
+ return S.disabled && !this.alwaysOpen ? (ze.error("Bot is disabled"), null) : w`
5744
5753
  <div class="cb-wrapper" style="${S.open ? "display:flex" : "display:none"}">
5745
5754
  <cb-header title="${this.name}" exportparts="header"></cb-header>
5746
5755
  <cb-message-list .messages=${S.messages} .actions=${S.actions} .form=${S.form} exportparts="form"></cb-message-list>
@@ -5750,10 +5759,10 @@ let B = class extends Q {
5750
5759
  `;
5751
5760
  }
5752
5761
  renderUserInput() {
5753
- return S.form ? null : w`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5762
+ return S.form || S.disabled && this.alwaysOpen ? null : w`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5754
5763
  }
5755
5764
  connectedCallback() {
5756
- super.connectedCallback(), Je.info("connectedCallback"), addEventListener("setting:show", () => {
5765
+ super.connectedCallback(), ze.info("connectedCallback"), addEventListener("setting:show", () => {
5757
5766
  this.showSetting = !0;
5758
5767
  }), addEventListener("message:send", this._addMessageHandler.bind(this)), addEventListener("message:remove", this._deleteMessageHandler.bind(this)), addEventListener("setting:confirm", this._settingConfirmHandler.bind(this)), addEventListener("setting:hide", () => {
5759
5768
  this.showSetting = !1;
@@ -5770,12 +5779,13 @@ let B = class extends Q {
5770
5779
  // Use to initialize
5771
5780
  // This is also called when state changes - ??? - i.e. when message added to the array
5772
5781
  updated(a) {
5773
- super.updated(a), a.size > 0 && (Je.info("updated,_changedProperties:", a), this._initSetting()), setTimeout(() => {
5782
+ super.updated(a), a.size > 0 && (ze.info("updated,_changedProperties:", a), this._initSetting()), setTimeout(() => {
5774
5783
  this._scrollToBottom();
5775
5784
  }, 0);
5776
5785
  }
5777
5786
  // initialize setting
5778
5787
  _initSetting() {
5788
+ ze.info("_initSetting");
5779
5789
  const a = S.setting;
5780
5790
  a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, S.setSetting(a), this.open && (S.open = !0), this.alwaysOpen && (S.open = !0, S.alwaysOpen = !0);
5781
5791
  }
@@ -5791,75 +5801,6 @@ let B = class extends Q {
5791
5801
  // check auth
5792
5802
  _checkAuth() {
5793
5803
  }
5794
- /*
5795
- private async _sendToOpenai(newMsg: Chatbot.NewMessage, messages: Chatbot.OpenaiMessage[]) {
5796
- let text = '';
5797
- const apiBase = appState.setting.openai.apiBase || 'https://api.openai.com/v1';
5798
- const data = await openai.chat({
5799
- url: `${apiBase}/chat/completions`,
5800
- apiKey: appState.setting.openai.apiKey,
5801
- messages: messages,
5802
- options: {
5803
- stream: appState.setting.stream,
5804
- model: appState.setting.openai.model,
5805
- // temperature: 0.9,
5806
- },
5807
- onMessage: (err, data) => {
5808
- if (err) {
5809
- console.error(err);
5810
- return;
5811
- }
5812
- if (data && data.choices[0].delta?.content) {
5813
- requestIdleCallback(() => {
5814
- // handle openai response
5815
- text += data.choices[0].delta.content;
5816
- // update message
5817
- appState.updateMessage(newMsg, text);
5818
- });
5819
- }
5820
- },
5821
- });
5822
- if (!appState.setting.stream && data) {
5823
- // update message
5824
- appState.updateMessage(newMsg, data.choices[0].message.content);
5825
- }
5826
- }
5827
- */
5828
- /*
5829
- private async _sendHandler(messages: Chatbot.OpenaiMessage[]) {
5830
- this.setLoading(true);
5831
-
5832
- const newMsg: Chatbot.NewMessage = {
5833
- author: 'assistant',
5834
- type: 'text',
5835
- isThinking: true,
5836
- data: {},
5837
- };
5838
-
5839
- // add message to store
5840
- appState.addMessage(newMsg);
5841
-
5842
- if (this.customRequest) {
5843
- await this.emit('chatbot:send', {
5844
- detail: {
5845
- newMessage: newMsg,
5846
- messages,
5847
- },
5848
- bubbles: true,
5849
- composed: true,
5850
- });
5851
- } else {
5852
- try {
5853
- await this._sendToOpenai(newMsg, messages);
5854
- } catch (err) {
5855
- notify('error', (err as Error).message);
5856
- console.error(err);
5857
- }
5858
- }
5859
-
5860
- this.setLoading(false);
5861
- }
5862
- */
5863
5804
  _addMessageHandler(a) {
5864
5805
  const t = a.detail;
5865
5806
  S.sendMessage(t);
@@ -5909,70 +5850,70 @@ let B = class extends Q {
5909
5850
  (t = this._messageList) == null || t.scrollToBottom();
5910
5851
  }
5911
5852
  };
5912
- B.styles = Pa;
5913
- R([
5853
+ q.styles = Pa;
5854
+ D([
5914
5855
  k({ type: Boolean, attribute: "display-license" })
5915
- ], B.prototype, "displayLicense", 2);
5916
- R([
5856
+ ], q.prototype, "displayLicense", 2);
5857
+ D([
5917
5858
  k({ type: String, attribute: "name" })
5918
- ], B.prototype, "name", 2);
5919
- R([
5859
+ ], q.prototype, "name", 2);
5860
+ D([
5920
5861
  k({ type: String, attribute: "org-id" })
5921
- ], B.prototype, "orgId", 2);
5922
- R([
5862
+ ], q.prototype, "orgId", 2);
5863
+ D([
5923
5864
  k({ type: String, attribute: "bot-id" })
5924
- ], B.prototype, "botId", 2);
5925
- R([
5865
+ ], q.prototype, "botId", 2);
5866
+ D([
5926
5867
  k({ type: String, attribute: "url" })
5927
- ], B.prototype, "url", 2);
5928
- R([
5868
+ ], q.prototype, "url", 2);
5869
+ D([
5929
5870
  k({ type: String, attribute: "logo-url" })
5930
- ], B.prototype, "logoUrl", 2);
5931
- R([
5871
+ ], q.prototype, "logoUrl", 2);
5872
+ D([
5932
5873
  k({ type: String, attribute: "logo-svg" })
5933
- ], B.prototype, "logoSvg", 2);
5934
- R([
5874
+ ], q.prototype, "logoSvg", 2);
5875
+ D([
5935
5876
  k({ type: String, attribute: "bot-icon-svg" })
5936
- ], B.prototype, "botIconSvg", 2);
5937
- R([
5877
+ ], q.prototype, "botIconSvg", 2);
5878
+ D([
5938
5879
  k({ type: String, attribute: "user-icon-svg" })
5939
- ], B.prototype, "userIconSvg", 2);
5940
- R([
5880
+ ], q.prototype, "userIconSvg", 2);
5881
+ D([
5941
5882
  k({ type: String, attribute: "system-icon-svg" })
5942
- ], B.prototype, "systemIconSvg", 2);
5943
- R([
5883
+ ], q.prototype, "systemIconSvg", 2);
5884
+ D([
5944
5885
  k({ type: Boolean, attribute: "stream" })
5945
- ], B.prototype, "stream", 2);
5946
- R([
5886
+ ], q.prototype, "stream", 2);
5887
+ D([
5947
5888
  k({ type: Boolean, attribute: "custom-request" })
5948
- ], B.prototype, "customRequest", 2);
5949
- R([
5889
+ ], q.prototype, "customRequest", 2);
5890
+ D([
5950
5891
  k({ type: Boolean, attribute: "enable-file-upload" })
5951
- ], B.prototype, "enableFileUpload", 2);
5952
- R([
5892
+ ], q.prototype, "enableFileUpload", 2);
5893
+ D([
5953
5894
  k({ type: String, attribute: "upload-file-url" })
5954
- ], B.prototype, "uploadFileUrl", 2);
5955
- R([
5895
+ ], q.prototype, "uploadFileUrl", 2);
5896
+ D([
5956
5897
  k({ type: Boolean, attribute: "open" })
5957
- ], B.prototype, "open", 2);
5958
- R([
5898
+ ], q.prototype, "open", 2);
5899
+ D([
5959
5900
  k({ type: Boolean, attribute: "always-open" })
5960
- ], B.prototype, "alwaysOpen", 2);
5961
- R([
5901
+ ], q.prototype, "alwaysOpen", 2);
5902
+ D([
5962
5903
  k({ type: Boolean })
5963
- ], B.prototype, "loading", 2);
5964
- R([
5904
+ ], q.prototype, "loading", 2);
5905
+ D([
5965
5906
  k({ type: Boolean })
5966
- ], B.prototype, "showSetting", 2);
5967
- R([
5907
+ ], q.prototype, "showSetting", 2);
5908
+ D([
5968
5909
  k({ type: Boolean })
5969
- ], B.prototype, "showAuthAlert", 2);
5970
- R([
5971
- qe("cb-message-list")
5972
- ], B.prototype, "_messageList", 2);
5973
- B = R([
5974
- W("enegelai-bot")
5975
- ], B);
5910
+ ], q.prototype, "showAuthAlert", 2);
5911
+ D([
5912
+ Re("cb-message-list")
5913
+ ], q.prototype, "_messageList", 2);
5914
+ q = D([
5915
+ Y("enegelai-bot")
5916
+ ], q);
5976
5917
  export {
5977
- B as default
5918
+ q as default
5978
5919
  };