@enegelai/bot-widget 1.4.4 → 1.4.5

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
@@ -1,10 +1,10 @@
1
1
  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
- import { css as U, LitElement as rt, html as x, svg as Qe } from "lit";
4
+ import { css as U, LitElement as rt, html as w, svg as Qe } from "lit";
5
5
  import { property as k, customElement as W, queryAll as Nt, query as qe, eventOptions as Ft } from "lit/decorators.js";
6
6
  import { unsafeHTML as Ee } from "lit-html/directives/unsafe-html.js";
7
- import { when as ve } from "lit/directives/when.js";
7
+ import { when as ue } from "lit/directives/when.js";
8
8
  import "@shoelace-style/shoelace/dist/themes/light.css";
9
9
  import "@shoelace-style/shoelace/dist/themes/dark.css";
10
10
  import "@shoelace-style/shoelace/dist/components/button/button.js";
@@ -90,8 +90,8 @@ class Ge extends EventTarget {
90
90
  return this[i];
91
91
  },
92
92
  set(b) {
93
- const w = this[c];
94
- this[i] = b, f(b, w) === !0 && this.dispatchStateEvent(c, b, this);
93
+ const x = this[c];
94
+ this[i] = b, f(b, x) === !0 && this.dispatchStateEvent(c, b, this);
95
95
  },
96
96
  configurable: !0,
97
97
  enumerable: !0
@@ -150,8 +150,8 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
150
150
  var s;
151
151
  if (i === void 0) {
152
152
  const f = (s = c.originalKey) !== null && s !== void 0 ? s : c.key, b = t != null ? { kind: "method", placement: "prototype", key: f, descriptor: t(c.key) } : { ...c, key: f };
153
- return a != null && (b.finisher = function(w) {
154
- a(w, f);
153
+ return a != null && (b.finisher = function(x) {
154
+ a(x, f);
155
155
  }), b;
156
156
  }
157
157
  {
@@ -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 K(a) {
162
+ function Z(a) {
163
163
  return Yt({
164
164
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
165
165
  finisher: (t, c) => {
@@ -182,7 +182,7 @@ new URL(window.location.href);
182
182
  const Oa = {
183
183
  prefix: "_ls"
184
184
  };
185
- function ue(a) {
185
+ function pe(a) {
186
186
  return a = { ...Oa, ...a }, Yt({
187
187
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
188
188
  finisher: (t, c) => {
@@ -194,13 +194,13 @@ function ue(a) {
194
194
  const j = f.initialValue;
195
195
  f.initialValue = () => ja(localStorage.getItem(s), b) ?? Ut(j), t.propertyMap.set(c, { ...f, ...a });
196
196
  }
197
- const w = i == null ? void 0 : i.set, R = {
197
+ const x = i == null ? void 0 : i.set, V = {
198
198
  ...i,
199
199
  set: function(j) {
200
- j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), w && w.call(this, j);
200
+ j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), x && x.call(this, j);
201
201
  }
202
202
  };
203
- Object.defineProperty(t.prototype, c, R);
203
+ Object.defineProperty(t.prototype, c, V);
204
204
  }
205
205
  });
206
206
  }
@@ -236,7 +236,7 @@ var Gt = { exports: {} };
236
236
  function b() {
237
237
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
238
238
  }
239
- function w(A) {
239
+ function x(A) {
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) {
@@ -246,13 +246,13 @@ var Gt = { exports: {} };
246
246
  }
247
247
  this.log = this.debug;
248
248
  }
249
- function R(A, P, D) {
249
+ function V(A, P, D) {
250
250
  return function() {
251
251
  typeof console !== c && (_.call(this, P, D), this[A].apply(this, arguments));
252
252
  };
253
253
  }
254
254
  function j(A, P, D) {
255
- return w(A) || R.apply(this, arguments);
255
+ return x(A) || V.apply(this, arguments);
256
256
  }
257
257
  function T(A, P, D) {
258
258
  var $ = this, de;
@@ -518,7 +518,7 @@ let ze = class extends rt {
518
518
  super(...arguments), this.color = "primary", this.svg = "";
519
519
  }
520
520
  render() {
521
- return x`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
521
+ return w`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
522
522
  }
523
523
  };
524
524
  ze.styles = Kt;
@@ -536,9 +536,9 @@ let Ba = (a) => crypto.getRandomValues(new Uint8Array(a)), qa = (a, t, c) => {
536
536
  return (f = t) => {
537
537
  let b = "";
538
538
  for (; ; ) {
539
- let w = c(s), _ = s;
539
+ let x = c(s), _ = s;
540
540
  for (; _--; )
541
- if (b += a[w[_] & i] || "", b.length === f)
541
+ if (b += a[x[_] & i] || "", b.length === f)
542
542
  return b;
543
543
  }
544
544
  };
@@ -567,22 +567,22 @@ function Na(a = !0) {
567
567
  }), c.click();
568
568
  });
569
569
  }
570
- const Y = ft.noConflict();
571
- Y.setLevel("info");
570
+ const X = ft.noConflict();
571
+ X.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)), Y.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)), X.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 Y.error("WSC: URL must be provided to connect"), null;
578
+ return X.error("WSC: URL must be provided to connect"), null;
579
579
  const c = this.url;
580
- Y.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
580
+ X.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
581
581
  let i = setTimeout(() => {
582
- Y.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
582
+ X.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
- Y.info(`WSC: Connection to ${c} opened`);
585
+ X.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
- Y.error(`Failed to parse message: ${f}`);
594
+ X.error(`Failed to parse message: ${f}`);
595
595
  return;
596
596
  }
597
- (b == null ? void 0 : b.type) === "connected" && (Y.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
597
+ (b == null ? void 0 : b.type) === "connected" && (X.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
598
598
  }, this._ws.onerror = (s) => {
599
- Y.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
599
+ X.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
600
600
  }, this._ws.onclose = (s) => {
601
- Y.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
601
+ X.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
- Y.info("WSC: already disconnected");
611
+ X.info("WSC: already disconnected");
612
612
  return;
613
613
  }
614
- Y.info("WSC: disconnect"), this._ws.close();
614
+ X.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 (Y.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
- return Y.info("WSC: connected"), !0;
626
+ if (X.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
+ return X.info("WSC: connected"), !0;
628
628
  t++, c = t <= 4, c && await this.pause(1e3);
629
629
  }
630
- return Y.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
630
+ return X.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
- Y.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
645
+ X.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.
@@ -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, J = (a, t, c, i) => {
774
+ var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, G = (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 B = ft.noConflict();
780
- B.setLevel("info");
779
+ const q = ft.noConflict();
780
+ q.setLevel("info");
781
781
  const re = "cb_";
782
- class X extends Ge {
782
+ class Y extends Ge {
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
- B.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
- B.info(`Exception during bot initialization: ${c.message}`);
788
+ q.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
+ q.info(`Exception during bot initialization: ${c.message}`);
790
790
  });
791
791
  }
792
792
  // set language
@@ -800,7 +800,7 @@ class X 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
- B.info(`Getting bot settings at ${c} ...`);
803
+ q.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,20 @@ class X 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 ? B.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
811
+ }), !i.ok || i.status !== 200 ? q.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
812
812
  } catch (f) {
813
- B.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
813
+ q.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
- B.error("No bot settings available - bot disabled"), this.disabled = !0;
816
+ q.error("No bot settings available - bot disabled"), this.disabled = !0;
817
817
  return;
818
818
  }
819
- B.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(() => {
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(() => {
820
820
  this.showEngagePopup();
821
821
  }, this.setting.engageTimeout * 1e3);
822
822
  }
823
- this.connectWs === "true" && (B.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
- B.error(`Exception during ws client startup: ${t.message}`);
823
+ this.connectWs === "true" && (q.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
+ q.error(`Exception during ws client startup: ${t.message}`);
825
825
  }));
826
826
  }
827
827
  initConversation() {
@@ -844,7 +844,7 @@ class X extends Ge {
844
844
  initStartupForm() {
845
845
  const t = ut(null, ["startupForm"], this.botSettings);
846
846
  if (!t || !(t != null && t.name)) {
847
- B.info("Startup form not present");
847
+ q.info("Startup form not present");
848
848
  return;
849
849
  }
850
850
  this.initForm(t);
@@ -855,20 +855,20 @@ class X extends Ge {
855
855
  return;
856
856
  const s = ut(null, ["fields"], t);
857
857
  if (!Array.isArray(s) || s.length <= 0) {
858
- B.info("form has no fields", t);
858
+ q.info("form has no fields", t);
859
859
  return;
860
860
  }
861
861
  const f = `${re}${this.setting.botId}.${this.conversationId}.form.${i}`, b = localStorage.getItem(f);
862
862
  if (b) {
863
- let w = null;
863
+ let x = null;
864
864
  try {
865
- w = JSON.parse(b);
865
+ x = JSON.parse(b);
866
866
  } catch (_) {
867
- B.error(`Failed to parse stored form data: ${_.message}`), w = null;
867
+ q.error(`Failed to parse stored form data: ${_.message}`), x = null;
868
868
  }
869
- if (w) {
870
- this.sendFormData(i, w).catch((_) => {
871
- B.error(`Error when submitting form: ${_.message}`);
869
+ if (x) {
870
+ this.sendFormData(i, x).catch((_) => {
871
+ q.error(`Error when submitting form: ${_.message}`);
872
872
  });
873
873
  return;
874
874
  }
@@ -881,11 +881,11 @@ class X extends Ge {
881
881
  showEngagePopup() {
882
882
  if (this.open)
883
883
  return;
884
- B.info("Engaging User !"), this.engage = !0;
884
+ q.info("Engaging User !"), this.engage = !0;
885
885
  const t = (f) => {
886
886
  const b = new Uint8Array(f.length / 2);
887
- for (let w = 0; w < b.length; w++)
888
- b[w] = parseInt(f.substr(w * 2, 2), 16);
887
+ for (let x = 0; x < b.length; x++)
888
+ b[x] = parseInt(f.substr(x * 2, 2), 16);
889
889
  return b;
890
890
  };
891
891
  let c = new Blob([t(cc)], { type: "application/octet-stream" });
@@ -899,7 +899,7 @@ class X extends Ge {
899
899
  if (this.wsClient)
900
900
  return this.wsClient;
901
901
  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 B.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
902
+ return q.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
903
903
  url: c,
904
904
  orgId: this.setting.orgId,
905
905
  botId: this.setting.botId,
@@ -944,7 +944,7 @@ class X extends Ge {
944
944
  break;
945
945
  }
946
946
  case "form": {
947
- if (B.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
947
+ if (q.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
948
948
  const i = ((c = this.replyMessage.data) == null ? void 0 : c.text) || "";
949
949
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
950
950
  }
@@ -972,7 +972,7 @@ class X extends Ge {
972
972
  if (i !== -1) {
973
973
  if (this.setting.splitMessagesAtBreak) {
974
974
  const s = this.streamingResponseBuffer.substring(0, i).trim(), f = this.streamingResponseBuffer.substring(i + 4).trim();
975
- B.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;
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;
976
976
  } else
977
977
  c = this.streamingResponseBuffer;
978
978
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
@@ -1008,10 +1008,10 @@ class X extends Ge {
1008
1008
  }
1009
1009
  }
1010
1010
  async sendMessage(t) {
1011
- t = this.formatMessage(t), B.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1011
+ t = this.formatMessage(t), q.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1012
1012
  const c = await this.getWsClient();
1013
1013
  if (!c) {
1014
- B.error("Error - failed to obtain ws client"), this.replyMessage = null;
1014
+ q.error("Error - failed to obtain ws client"), this.replyMessage = null;
1015
1015
  return;
1016
1016
  }
1017
1017
  c.sendMessage({
@@ -1054,7 +1054,7 @@ class X extends Ge {
1054
1054
  // Submit current form data
1055
1055
  async submitForm(t) {
1056
1056
  if (!this.form) {
1057
- B.info("submitForm: No form is active - ignored");
1057
+ q.info("submitForm: No form is active - ignored");
1058
1058
  return;
1059
1059
  }
1060
1060
  const c = `${re}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -1063,7 +1063,7 @@ class X extends Ge {
1063
1063
  async sendFormData(t, c) {
1064
1064
  const i = await this.getWsClient();
1065
1065
  if (!i) {
1066
- B.error("Error - failed to obtain ws client");
1066
+ q.error("Error - failed to obtain ws client");
1067
1067
  return;
1068
1068
  }
1069
1069
  i.sendMessage({
@@ -1073,36 +1073,39 @@ class X extends Ge {
1073
1073
  });
1074
1074
  }
1075
1075
  }
1076
- J([
1077
- ue({ prefix: re }),
1078
- K({ value: "en" })
1079
- ], X.prototype, "language", 2);
1080
- J([
1081
- ue({ prefix: re }),
1082
- K({ value: "light" })
1083
- ], X.prototype, "theme", 2);
1084
- J([
1085
- ue({ prefix: re }),
1086
- K({ type: Boolean, value: !1 })
1087
- ], X.prototype, "open", 2);
1088
- J([
1089
- ue({ prefix: re }),
1090
- K({ value: "false" })
1091
- ], X.prototype, "connectWs", 2);
1092
- J([
1093
- ue({ prefix: re }),
1094
- K({ value: gt() })
1095
- ], X.prototype, "conversationId", 2);
1096
- J([
1097
- ue({ prefix: re }),
1098
- K({ value: 0 })
1099
- ], X.prototype, "lastConversationUpdate", 2);
1100
- J([
1101
- ue({ prefix: re }),
1102
- K({ type: Array, value: [] })
1103
- ], X.prototype, "messages", 2);
1104
- J([
1105
- K({
1076
+ G([
1077
+ pe({ prefix: re }),
1078
+ Z({ value: "en" })
1079
+ ], Y.prototype, "language", 2);
1080
+ G([
1081
+ pe({ prefix: re }),
1082
+ Z({ value: "light" })
1083
+ ], Y.prototype, "theme", 2);
1084
+ G([
1085
+ 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
+ pe({ prefix: re }),
1093
+ Z({ value: "false" })
1094
+ ], Y.prototype, "connectWs", 2);
1095
+ G([
1096
+ pe({ prefix: re }),
1097
+ Z({ value: gt() })
1098
+ ], Y.prototype, "conversationId", 2);
1099
+ G([
1100
+ pe({ prefix: re }),
1101
+ Z({ value: 0 })
1102
+ ], Y.prototype, "lastConversationUpdate", 2);
1103
+ G([
1104
+ pe({ prefix: re }),
1105
+ Z({ type: Array, value: [] })
1106
+ ], Y.prototype, "messages", 2);
1107
+ G([
1108
+ Z({
1106
1109
  type: Array,
1107
1110
  value: []
1108
1111
  /*
@@ -1144,29 +1147,29 @@ J([
1144
1147
  },
1145
1148
  ],*/
1146
1149
  })
1147
- ], X.prototype, "actions", 2);
1148
- J([
1149
- K({ type: Object, value: null })
1150
- ], X.prototype, "form", 2);
1151
- J([
1152
- K({ type: Boolean, value: !1 })
1153
- ], X.prototype, "botSettingsInitialized", 2);
1154
- J([
1155
- K({ type: Object, value: null })
1156
- ], X.prototype, "botSettings", 2);
1157
- J([
1158
- K({ type: Boolean, value: !0 })
1159
- ], X.prototype, "disabled", 2);
1160
- J([
1161
- ue({ prefix: re }),
1162
- K({ value: "true" })
1163
- ], X.prototype, "shouldEngage", 2);
1164
- J([
1165
- K({ type: Boolean, value: !1 })
1166
- ], X.prototype, "engage", 2);
1167
- J([
1168
- ue({ prefix: re }),
1169
- K({
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([
1164
+ 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([
1171
+ pe({ prefix: re }),
1172
+ Z({
1170
1173
  type: Object,
1171
1174
  value: {
1172
1175
  orgId: null,
@@ -1176,8 +1179,8 @@ J([
1176
1179
  splitMessagesAtBreak: !1
1177
1180
  }
1178
1181
  })
1179
- ], X.prototype, "setting", 2);
1180
- const S = new X(), sc = U`
1182
+ ], Y.prototype, "setting", 2);
1183
+ const S = new Y(), sc = U`
1181
1184
  ${he}
1182
1185
  :host {
1183
1186
  position: relative;
@@ -1274,20 +1277,24 @@ let tt = class extends Q {
1274
1277
  }
1275
1278
  */
1276
1279
  render() {
1277
- return x` <header class="cb-header" part="header">
1278
- ${ve(
1280
+ return w` <header class="cb-header" part="header">
1281
+ ${ue(
1279
1282
  S.setting.logoUrl !== "",
1280
- () => x`<img class="cb-header-img" src="${S.setting.logoUrl}" />`,
1281
- () => x`<sl-button class="cb-setting-button" variant="text" circle>
1283
+ () => w`<img class="cb-header-img" src="${S.setting.logoUrl}" />`,
1284
+ () => w`<sl-button class="cb-setting-button" variant="text" circle>
1282
1285
  <cb-icon class="cb-header-logo" svg="${S.setting.logoSvg}"></cb-icon>
1283
1286
  </sl-button>`
1284
1287
  )}
1285
1288
  <span class="center title">${this.title}</span>
1286
- <span class="right">
1287
- <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1288
- <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1289
- </sl-button>
1290
- </span>
1289
+ ${ue(
1290
+ S.alwaysOpen,
1291
+ () => w``,
1292
+ () => w`<span class="right">
1293
+ <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1294
+ <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1295
+ </sl-button>
1296
+ </span>`
1297
+ )}
1291
1298
  </header>`;
1292
1299
  }
1293
1300
  _clickHandler() {
@@ -1333,7 +1340,7 @@ let mt = class extends Q {
1333
1340
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1334
1341
  }
1335
1342
  render() {
1336
- return x`
1343
+ return w`
1337
1344
  <div class="cb-footer" part="footer">
1338
1345
  yugasun@${this.year}
1339
1346
  <a
@@ -1520,12 +1527,12 @@ var Qt = { exports: {} };
1520
1527
  return e && s(r.prototype, e), n && s(r, n), r;
1521
1528
  }
1522
1529
  var b = Date.now();
1523
- function w() {
1530
+ function x() {
1524
1531
  var r = {}, e = !0, n = 0, o = arguments.length;
1525
1532
  Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (e = arguments[0], n++);
1526
1533
  for (var d = function(h) {
1527
1534
  for (var u in h)
1528
- Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = w(!0, r[u], h[u]) : r[u] = h[u]);
1535
+ Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = x(!0, r[u], h[u]) : r[u] = h[u]);
1529
1536
  }; n < o; n++) {
1530
1537
  var l = arguments[n];
1531
1538
  d(l);
@@ -1544,7 +1551,7 @@ var Qt = { exports: {} };
1544
1551
  }
1545
1552
  }
1546
1553
  }
1547
- function R(r) {
1554
+ function V(r) {
1548
1555
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, o = r[b] = r[b] || [], d = { all: o, evt: null, found: null };
1549
1556
  return e && n && Tt(o) > 0 && _(o, function(l, h) {
1550
1557
  if (l.eventName == e && l.fn.toString() == n.toString())
@@ -1558,11 +1565,11 @@ var Qt = { exports: {} };
1558
1565
  }
1559
1566
  return ie(m) && (m = document.querySelectorAll(m)), E.destroy = function() {
1560
1567
  _(m, function(C) {
1561
- var O = R(C, r, E);
1568
+ var O = V(C, r, E);
1562
1569
  O.found && O.all.splice(O.evt, 1), C.removeEventListener && C.removeEventListener(r, E, v);
1563
1570
  });
1564
1571
  }, _(m, function(C) {
1565
- var O = R(C, r, E);
1572
+ var O = V(C, r, E);
1566
1573
  (C.addEventListener && l && !O.found || !l) && (C.addEventListener(r, E, v), O.all.push({ eventName: r, fn: E }));
1567
1574
  }), E;
1568
1575
  }
@@ -1803,7 +1810,7 @@ var Qt = { exports: {} };
1803
1810
  }
1804
1811
  } }]), r;
1805
1812
  }();
1806
- function Z(r, e) {
1813
+ function K(r, e) {
1807
1814
  var n = new la(r);
1808
1815
  return n.add(e), n;
1809
1816
  }
@@ -1812,7 +1819,7 @@ var Qt = { exports: {} };
1812
1819
  i(this, r), this.element = typeof e == "string" ? document.querySelector(e) : e, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), this.preV = { x: null, y: null }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = !1;
1813
1820
  var o = function() {
1814
1821
  };
1815
- this.rotate = Z(this.element, n.rotate || o), this.touchStart = Z(this.element, n.touchStart || o), this.multipointStart = Z(this.element, n.multipointStart || o), this.multipointEnd = Z(this.element, n.multipointEnd || o), this.pinch = Z(this.element, n.pinch || o), this.swipe = Z(this.element, n.swipe || o), this.tap = Z(this.element, n.tap || o), this.doubleTap = Z(this.element, n.doubleTap || o), this.longTap = Z(this.element, n.longTap || o), this.singleTap = Z(this.element, n.singleTap || o), this.pressMove = Z(this.element, n.pressMove || o), this.twoFingerPressMove = Z(this.element, n.twoFingerPressMove || o), this.touchMove = Z(this.element, n.touchMove || o), this.touchEnd = Z(this.element, n.touchEnd || o), this.touchCancel = Z(this.element, n.touchCancel || o), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
1822
+ this.rotate = K(this.element, n.rotate || o), this.touchStart = K(this.element, n.touchStart || o), this.multipointStart = K(this.element, n.multipointStart || o), this.multipointEnd = K(this.element, n.multipointEnd || o), this.pinch = K(this.element, n.pinch || o), this.swipe = K(this.element, n.swipe || o), this.tap = K(this.element, n.tap || o), this.doubleTap = K(this.element, n.doubleTap || o), this.longTap = K(this.element, n.longTap || o), this.singleTap = K(this.element, n.singleTap || o), this.pressMove = K(this.element, n.pressMove || o), this.twoFingerPressMove = K(this.element, n.twoFingerPressMove || o), this.touchMove = K(this.element, n.touchMove || o), this.touchEnd = K(this.element, n.touchEnd || o), this.touchCancel = K(this.element, n.touchCancel || o), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
1816
1823
  }
1817
1824
  return f(r, [{ key: "start", value: function(e) {
1818
1825
  if (e.touches)
@@ -1891,7 +1898,7 @@ var Qt = { exports: {} };
1891
1898
  function ha(r) {
1892
1899
  if (r.events.hasOwnProperty("touch"))
1893
1900
  return !1;
1894
- 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, ge = null, me = 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) {
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) {
1895
1902
  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) {
1896
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)
1897
1904
  return;
@@ -1900,23 +1907,23 @@ var Qt = { exports: {} };
1900
1907
  }, touchMove: function(L) {
1901
1908
  if (u && (Ce = L.targetTouches[0], !O && !z)) {
1902
1909
  if (o && o.offsetHeight > h) {
1903
- var G = Se.pageX - Ce.pageX;
1904
- if (Math.abs(G) <= 13)
1910
+ var J = Se.pageX - Ce.pageX;
1911
+ if (Math.abs(J) <= 13)
1905
1912
  return !1;
1906
1913
  }
1907
1914
  m = !0;
1908
- var ye, Ye = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Ye, Ta = Lt - Sa;
1909
- if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, me = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ye = 1 - Math.abs(n) / h, We.style.opacity = ye, r.settings.touchFollowAxis && (me = 0)), ht && (ye = 1 - Math.abs(e) / l, v.style.opacity = ye, r.settings.touchFollowAxis && (_e = 0)), !g)
1910
- return P(v, "translate3d(".concat(me, "%, 0, 0)"));
1911
- P(v, "translate3d(".concat(me, "%, ").concat(_e, "%, 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)
1917
+ return P(v, "translate3d(".concat(ye, "%, 0, 0)"));
1918
+ P(v, "translate3d(".concat(ye, "%, ").concat(_e, "%, 0)"));
1912
1919
  }
1913
1920
  }, touchEnd: function() {
1914
1921
  if (u) {
1915
1922
  if (m = !1, z || O)
1916
- return ae = I, void (ge = oe);
1917
- var L = Math.abs(parseInt(_e)), G = Math.abs(parseInt(me));
1923
+ return ae = I, void (me = oe);
1924
+ var L = Math.abs(parseInt(_e)), J = Math.abs(parseInt(ye));
1918
1925
  if (!(L > 29 && g))
1919
- return L < 29 && G < 25 ? (T(We, "greset"), We.style.opacity = 1, bt(v)) : void 0;
1926
+ return L < 29 && J < 25 ? (T(We, "greset"), We.style.opacity = 1, bt(v)) : void 0;
1920
1927
  r.close();
1921
1928
  }
1922
1929
  }, multipointEnd: function() {
@@ -1929,15 +1936,15 @@ var Qt = { exports: {} };
1929
1936
  if (!g || m)
1930
1937
  return !1;
1931
1938
  O = !0, g.scaleX = g.scaleY = E * L.zoom;
1932
- var G = E * L.zoom;
1933
- if (z = !0, G <= 1)
1934
- return z = !1, G = 1, ge = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1935
- G > 4.5 && (G = 4.5), g.style.transform = "scale3d(".concat(G, ", ").concat(G, ", 1)"), C = G;
1939
+ var J = E * L.zoom;
1940
+ if (z = !0, J <= 1)
1941
+ return z = !1, J = 1, me = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1942
+ J > 4.5 && (J = 4.5), g.style.transform = "scale3d(".concat(J, ", ").concat(J, ", 1)"), C = J;
1936
1943
  }, pressMove: function(L) {
1937
1944
  if (z && !O) {
1938
- var G = Ce.pageX - Se.pageX, ye = Ce.pageY - Se.pageY;
1939
- ae && (G += ae), ge && (ye += ge), I = G, oe = ye;
1940
- var Ye = "translate3d(".concat(G, "px, ").concat(ye, "px, 0)");
1945
+ var J = Ce.pageX - Se.pageX, ve = Ce.pageY - Se.pageY;
1946
+ ae && (J += ae), me && (ve += me), I = J, oe = ve;
1947
+ var Ye = "translate3d(".concat(J, "px, ").concat(ve, "px, 0)");
1941
1948
  C && (Ye += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Ye);
1942
1949
  }
1943
1950
  }, swipe: function(L) {
@@ -2128,16 +2135,16 @@ var Qt = { exports: {} };
2128
2135
  var va = function() {
2129
2136
  function r() {
2130
2137
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2131
- i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ie(e) && (this.defaults = w(this.defaults, e));
2138
+ i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ie(e) && (this.defaults = x(this.defaults, e));
2132
2139
  }
2133
2140
  return f(r, [{ key: "sourceType", value: function(e) {
2134
2141
  var n = e;
2135
2142
  return (e = e.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) !== null ? "image" : e.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || e.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || e.match(/vimeo\.com\/([0-9]*)/) || e.match(/\.(mp4|ogg|webm|mov)/) !== null ? "video" : e.match(/\.(mp3|wav|wma|aac|ogg)/) !== null ? "audio" : e.indexOf("#") > -1 && n.split("#").pop().trim() !== "" ? "inline" : e.indexOf("goajax=true") > -1 ? "ajax" : "external";
2136
2143
  } }, { key: "parseConfig", value: function(e, n) {
2137
- var o = this, d = w({ descPosition: n.descPosition }, this.defaults);
2144
+ var o = this, d = x({ descPosition: n.descPosition }, this.defaults);
2138
2145
  if (Ie(e) && !te(e)) {
2139
2146
  F(e, "type") || (F(e, "content") && e.content ? e.type = "inline" : F(e, "href") && (e.type = this.sourceType(e.href)));
2140
- var l = w(d, e);
2147
+ var l = x(d, e);
2141
2148
  return this.setSize(l, n), l;
2142
2149
  }
2143
2150
  var h = "", u = e.getAttribute("data-glightbox"), p = e.nodeName.toLowerCase();
@@ -2161,8 +2168,8 @@ var Qt = { exports: {} };
2161
2168
  }), m = m.join("\\s?:|"), u.trim() !== "" && _(d, function(O, z) {
2162
2169
  var I = u, oe = new RegExp("s?" + z + "s?:s?(.*?)(" + m + "s?:|$)"), ae = I.match(oe);
2163
2170
  if (ae && ae.length && ae[1]) {
2164
- var ge = ae[1].trim().replace(/;\s*$/, "");
2165
- d[z] = o.sanitizeValue(ge);
2171
+ var me = ae[1].trim().replace(/;\s*$/, "");
2172
+ d[z] = o.sanitizeValue(me);
2166
2173
  }
2167
2174
  });
2168
2175
  }
@@ -2269,7 +2276,7 @@ var Qt = { exports: {} };
2269
2276
  </div>` }, xa = function() {
2270
2277
  function r() {
2271
2278
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2272
- i(this, r), this.customOptions = e, this.settings = w(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2279
+ i(this, r), this.customOptions = e, this.settings = x(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2273
2280
  }
2274
2281
  return f(r, [{ key: "init", value: function() {
2275
2282
  var e = this, n = this.getSelector();
@@ -2339,7 +2346,7 @@ var Qt = { exports: {} };
2339
2346
  } }, { key: "insertSlide", value: function() {
2340
2347
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
2341
2348
  n < 0 && (n = this.elements.length);
2342
- var o = new Ue(e, this, n), d = o.getConfig(), l = w({}, d), h = o.create(), u = this.elements.length - 1;
2349
+ var o = new Ue(e, this, n), d = o.getConfig(), l = x({}, d), h = o.create(), u = this.elements.length - 1;
2343
2350
  l.index = n, l.node = !1, l.instance = o, l.slideConfig = d, this.elements.splice(n, 0, l);
2344
2351
  var p = null, v = null;
2345
2352
  if (this.slidesContainer) {
@@ -2426,7 +2433,7 @@ var Qt = { exports: {} };
2426
2433
  this.settings.elements = !1;
2427
2434
  var o = [];
2428
2435
  e && e.length && _(e, function(d, l) {
2429
- var h = new Ue(d, n, l), u = h.getConfig(), p = w({}, u);
2436
+ var h = new Ue(d, n, l), u = h.getConfig(), p = x({}, u);
2430
2437
  p.slideConfig = u, p.instance = h, p.index = l, o.push(p);
2431
2438
  }), this.elements = o, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (_(this.elements, function() {
2432
2439
  var d = de(n.settings.slideHTML);
@@ -2441,12 +2448,12 @@ var Qt = { exports: {} };
2441
2448
  } }, { key: "getElements", value: function() {
2442
2449
  var e = this, n = [];
2443
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) {
2444
- var h = new Ue(d, e, l), u = h.getConfig(), p = w({}, u);
2451
+ var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2445
2452
  p.node = !1, p.index = l, p.instance = h, p.slideConfig = u, n.push(p);
2446
2453
  });
2447
2454
  var o = !1;
2448
2455
  return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(d, l) {
2449
- var h = new Ue(d, e, l), u = h.getConfig(), p = w({}, u);
2456
+ var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2450
2457
  p.node = d, p.index = l, p.instance = h, p.slideConfig = u, p.gallery = d.getAttribute("data-gallery"), n.push(p);
2451
2458
  }), n;
2452
2459
  } }, { key: "getGalleryElements", value: function(e, n) {
@@ -2515,7 +2522,7 @@ var Qt = { exports: {} };
2515
2522
  }
2516
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]));
2517
2524
  if (ae = Math.floor(ae), p && (u -= l.offsetHeight), oe > h || ae > u || u < ae && h > oe) {
2518
- var ge = o.offsetWidth, me = o.offsetHeight, _e = u / me, je = { width: ge * _e, height: me * _e };
2525
+ var me = o.offsetWidth, ye = o.offsetHeight, _e = u / ye, je = { width: me * _e, height: ye * _e };
2519
2526
  o.parentNode.setAttribute("style", "max-width: ".concat(je.width, "px")), p && l.setAttribute("style", "max-width: ".concat(je.width, "px;"));
2520
2527
  } else
2521
2528
  o.parentNode.style.maxWidth = "".concat(I), p && l.setAttribute("style", "max-width: ".concat(I, ";"));
@@ -2593,7 +2600,7 @@ var vc = Object.defineProperty, wc = Object.getOwnPropertyDescriptor, xc = (a, t
2593
2600
  };
2594
2601
  let yt = class extends rt {
2595
2602
  render() {
2596
- return x` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2603
+ return w` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2597
2604
  }
2598
2605
  };
2599
2606
  yt.styles = U`
@@ -2647,13 +2654,13 @@ let at = class extends Q {
2647
2654
  super(...arguments), this.files = [];
2648
2655
  }
2649
2656
  render() {
2650
- return x` <div class="cb-uploading">
2657
+ return w` <div class="cb-uploading">
2651
2658
  <div class="cb-uploading__title">
2652
2659
  <sl-spinner class="cb-spinner"></sl-spinner>
2653
2660
  <span>Uploading...</span>
2654
2661
  </div>
2655
2662
  <div class="cb-uploading__filelist">
2656
- ${this.files.map((a) => x`${a.name}<br />`)}
2663
+ ${this.files.map((a) => w`${a.name}<br />`)}
2657
2664
  </div>
2658
2665
  </div>`;
2659
2666
  }
@@ -2713,7 +2720,7 @@ let He = class extends rt {
2713
2720
  super(...arguments), this.url = "", this.inverse = !1;
2714
2721
  }
2715
2722
  render() {
2716
- return x`
2723
+ return w`
2717
2724
  <a
2718
2725
  class="
2719
2726
  cb-external-link link__item
@@ -2789,7 +2796,7 @@ let Be = class extends Q {
2789
2796
  return t ? t.toLowerCase() : a;
2790
2797
  }
2791
2798
  render() {
2792
- return x`
2799
+ return w`
2793
2800
  <cb-external-link url="${this.url}" inverse>
2794
2801
  <div class="cb-file">
2795
2802
  ${this.renderFileIcon()}
@@ -2799,7 +2806,7 @@ let Be = class extends Q {
2799
2806
  `;
2800
2807
  }
2801
2808
  renderFileIcon() {
2802
- return x`
2809
+ return w`
2803
2810
  <cb-icon
2804
2811
  class="cb-file-icon"
2805
2812
  svg="${zt[this.type] || zt.txt}"
@@ -4164,7 +4171,7 @@ function Dc() {
4164
4171
  }
4165
4172
  async function Ht(a) {
4166
4173
  const c = Dc().render(a);
4167
- return x`${Ee(c)}`;
4174
+ return w`${Ee(c)}`;
4168
4175
  }
4169
4176
  var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4170
4177
  for (var s = i > 1 ? void 0 : i ? Vc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -4251,12 +4258,12 @@ let Me = class extends Q {
4251
4258
  });
4252
4259
  }
4253
4260
  render() {
4254
- return ve(
4261
+ return ue(
4255
4262
  this.message.data || this.message.isThinking,
4256
- () => x`
4263
+ () => w`
4257
4264
  <div class="cb-message-row" part="cb-message-row">
4258
4265
  <!-- message -->
4259
- ${ve(
4266
+ ${ue(
4260
4267
  this._isBot,
4261
4268
  () => this.renderBotMessage(this.message),
4262
4269
  () => this.renderUserMessage(this.message)
@@ -4267,7 +4274,7 @@ let Me = class extends Q {
4267
4274
  );
4268
4275
  }
4269
4276
  renderButtons(a = "left") {
4270
- return x`<div class="cb-message__buttons ${a}">
4277
+ return w`<div class="cb-message__buttons ${a}">
4271
4278
  <!-- delete button -->
4272
4279
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
4273
4280
  <cb-icon svg="${zc}" style="font-size: 1em !important;"></cb-icon>
@@ -4275,7 +4282,7 @@ let Me = class extends Q {
4275
4282
  </div>`;
4276
4283
  }
4277
4284
  renderMessage(a) {
4278
- return x`
4285
+ return w`
4279
4286
  <div
4280
4287
  class="cb-message__content
4281
4288
  ${a.author}-message
@@ -4292,34 +4299,34 @@ let Me = class extends Q {
4292
4299
  }
4293
4300
  renderMessageContent(a) {
4294
4301
  var t;
4295
- return a.isThinking ? x`<cb-thinking></cb-thinking>` : a.isUploading ? x`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? x`<div class="cb-message-text">
4296
- ${ve(
4302
+ return a.isThinking ? w`<cb-thinking></cb-thinking>` : a.isUploading ? w`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? w`<div class="cb-message-text">
4303
+ ${ue(
4297
4304
  a.data.userName,
4298
- () => x`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4305
+ () => w`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4299
4306
  () => null
4300
4307
  )}
4301
4308
  ${Pt(
4302
- this._getMessageText(a).then((c) => x`${c}`)
4309
+ this._getMessageText(a).then((c) => w`${c}`)
4303
4310
  )}
4304
- </div>` : a.type === "file" ? x`${Ze(
4311
+ </div>` : a.type === "file" ? w`${Ze(
4305
4312
  a.data.files || [],
4306
4313
  (c) => c.id,
4307
- (c) => x`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4308
- )}` : x`<div class="cb-message-text">
4314
+ (c) => w`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4315
+ )}` : w`<div class="cb-message-text">
4309
4316
  ${Pt(
4310
- Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => x`${c}`)
4317
+ Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => w`${c}`)
4311
4318
  )}
4312
4319
  </div>`;
4313
4320
  }
4314
4321
  renderBotMessageAvatar(a) {
4315
4322
  if (a.data.userName && a.data.userName !== "") {
4316
4323
  const t = a.data.userAvatar || "";
4317
- return x` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4324
+ return w` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4318
4325
  }
4319
4326
  return a.author === "system" ? Qe`${Ee(S.setting.systemIconSvg)}` : Qe`${Ee(S.setting.botIconSvg)}`;
4320
4327
  }
4321
4328
  renderBotMessage(a) {
4322
- return x`
4329
+ return w`
4323
4330
  <div class="cb-message cb-bot-message-wrapper" part="cb-message">
4324
4331
  <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
4325
4332
  <div style="margin-left: 4px;width: 100%">${this.renderMessage(a)}</div>
@@ -4327,7 +4334,7 @@ let Me = class extends Q {
4327
4334
  `;
4328
4335
  }
4329
4336
  renderUserMessage(a) {
4330
- return x`
4337
+ return w`
4331
4338
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
4332
4339
  <!--<sl-avatar class="avatar user-avatar small" label="User">
4333
4340
  <cb-icon slot="icon" svg="${Hc}" color="white"></cb-icon>
@@ -4373,12 +4380,12 @@ let be = class extends Q {
4373
4380
  autoplayVideos: true,
4374
4381
  });*/
4375
4382
  render() {
4376
- return x`
4383
+ return w`
4377
4384
  <div class="cb-message-list" part="cb-message-list">
4378
4385
  ${Ze(
4379
4386
  this.messages,
4380
4387
  (a) => a.id + JSON.stringify(a.data),
4381
- (a) => x`<cb-message .message="${a}"></cb-message>`
4388
+ (a) => w`<cb-message .message="${a}"></cb-message>`
4382
4389
  )}
4383
4390
  ${this.renderActions()} ${this.renderForm()}
4384
4391
  <div id="cb-message-list-bottom-anchor"></div>
@@ -4386,7 +4393,7 @@ let be = class extends Q {
4386
4393
  `;
4387
4394
  }
4388
4395
  renderForm() {
4389
- return this.form ? x` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4396
+ return this.form ? w` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4390
4397
  <div class="cb-input-form-title">${this.form.title}</div>
4391
4398
  ${Ze(
4392
4399
  this.form.fields,
@@ -4394,9 +4401,9 @@ let be = class extends Q {
4394
4401
  (a) => {
4395
4402
  switch (a.type) {
4396
4403
  case "string":
4397
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4404
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4398
4405
  case "email":
4399
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4406
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4400
4407
  }
4401
4408
  }
4402
4409
  )}
@@ -4439,7 +4446,7 @@ let be = class extends Q {
4439
4446
  <br /><br />
4440
4447
  */
4441
4448
  renderActions() {
4442
- return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : x`
4449
+ return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : w`
4443
4450
  <div class="cb-actions-list">
4444
4451
  ${Ze(
4445
4452
  this.actions,
@@ -4484,7 +4491,7 @@ let be = class extends Q {
4484
4491
  i.origin === "https://calendly.com" && i.data.event && i.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(i);
4485
4492
  }), this.calendlyInjected = !0;
4486
4493
  }
4487
- return x`
4494
+ return w`
4488
4495
  <div class="cb-actions-list">
4489
4496
  <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, a)}">
4490
4497
  <div class="cb-action-icon">
@@ -4501,7 +4508,7 @@ let be = class extends Q {
4501
4508
  `;
4502
4509
  }
4503
4510
  renderLinkAction(a) {
4504
- return x`
4511
+ return w`
4505
4512
  <div class="cb-actions-list">
4506
4513
  <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, a)}">
4507
4514
  <div class="cb-action-icon">
@@ -4584,7 +4591,7 @@ const Uc = U`
4584
4591
  padding: 0 5px;
4585
4592
  }
4586
4593
  `, Wc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', Yc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>';
4587
- var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, pe = (a, t, c, i) => {
4594
+ var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, ge = (a, t, c, i) => {
4588
4595
  for (var s = i > 1 ? void 0 : i ? Zc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4589
4596
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4590
4597
  return i && s && Xc(t, c, s), s;
@@ -4628,7 +4635,7 @@ let fe = class extends Q {
4628
4635
  });
4629
4636
  }
4630
4637
  render() {
4631
- return x`
4638
+ return w`
4632
4639
  <div class="cb-user-input-wrapper" part="user-input-wrapper">
4633
4640
  <sl-textarea
4634
4641
  @sl-input=${this._inputChangeHandler}
@@ -4645,16 +4652,16 @@ let fe = class extends Q {
4645
4652
  ></sl-textarea>
4646
4653
 
4647
4654
  <span class="cb-input-buttons">
4648
- ${ve(
4655
+ ${ue(
4649
4656
  this.enableFileUpload,
4650
- () => x`
4657
+ () => w`
4651
4658
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
4652
4659
  <cb-icon svg="${Yc}"></cb-icon>
4653
4660
  <!-- select file input -->
4654
4661
  <input type="file" id="file" name="file" class="file-input" />
4655
4662
  </sl-button>
4656
4663
  `,
4657
- () => x``
4664
+ () => w``
4658
4665
  )}
4659
4666
  <sl-button @click=${this._sendHandler} name="send" label="Send" size="small" class="send-button" variant="text" ?disabled=${this.value.length === 0} ?loading=${this.loading} circle>
4660
4667
  <cb-icon svg="${Wc}"></cb-icon>
@@ -4668,31 +4675,31 @@ let fe = class extends Q {
4668
4675
  }
4669
4676
  };
4670
4677
  fe.styles = Uc;
4671
- pe([
4678
+ ge([
4672
4679
  k({ type: String, attribute: "placeholder" })
4673
4680
  ], fe.prototype, "placeholder", 2);
4674
- pe([
4681
+ ge([
4675
4682
  k({ type: String, attribute: "send-button-label" })
4676
4683
  ], fe.prototype, "sendButtonLabel", 2);
4677
- pe([
4684
+ ge([
4678
4685
  k({ type: Boolean, attribute: "enable-file-upload" })
4679
4686
  ], fe.prototype, "enableFileUpload", 2);
4680
- pe([
4687
+ ge([
4681
4688
  k({ type: String })
4682
4689
  ], fe.prototype, "value", 2);
4683
- pe([
4690
+ ge([
4684
4691
  k({ type: Boolean })
4685
4692
  ], fe.prototype, "loading", 2);
4686
- pe([
4693
+ ge([
4687
4694
  k({ type: Boolean })
4688
4695
  ], fe.prototype, "disabled", 2);
4689
- pe([
4696
+ ge([
4690
4697
  k({ type: String })
4691
4698
  ], fe.prototype, "currentKey", 2);
4692
- pe([
4699
+ ge([
4693
4700
  qe("sl-textarea")
4694
4701
  ], fe.prototype, "inputElement", 2);
4695
- fe = pe([
4702
+ fe = ge([
4696
4703
  W("cb-user-input")
4697
4704
  ], fe);
4698
4705
  const Gc = U`
@@ -4743,7 +4750,7 @@ let Le = class extends Q {
4743
4750
  this.emit("cancel");
4744
4751
  }
4745
4752
  render() {
4746
- return x` <sl-dialog
4753
+ return w` <sl-dialog
4747
4754
  label="Setting"
4748
4755
  class="cb-dialog"
4749
4756
  style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
@@ -4753,7 +4760,7 @@ let Le = class extends Q {
4753
4760
  >
4754
4761
  <header class="cb-header">
4755
4762
  <div class="cb-header__left">
4756
- ${this.label ? x`<span class="title">${this.label}</span>` : ""}
4763
+ ${this.label ? w`<span class="title">${this.label}</span>` : ""}
4757
4764
  </div>
4758
4765
  <sl-button
4759
4766
  @click=${this._settingCancelHandler}
@@ -4802,7 +4809,7 @@ let ct = class extends Q {
4802
4809
  super(...arguments), this.open = !1;
4803
4810
  }
4804
4811
  render() {
4805
- return x` <cb-dialog
4812
+ return w` <cb-dialog
4806
4813
  label="Confirm"
4807
4814
  class="cb-clear-message-dialog"
4808
4815
  ?open=${this.open}
@@ -4915,7 +4922,7 @@ let we = class extends Q {
4915
4922
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
4916
4923
  }
4917
4924
  render() {
4918
- return this.customRequest = this.setting.customRequest, x`
4925
+ return this.customRequest = this.setting.customRequest, w`
4919
4926
  <cb-dialog
4920
4927
  label="Setting"
4921
4928
  class="cb-dialog"
@@ -4949,7 +4956,7 @@ let we = class extends Q {
4949
4956
  Enable it for your own backend.
4950
4957
  </sl-switch>
4951
4958
  </div> -->
4952
- ${ve(
4959
+ ${ue(
4953
4960
  this.customRequest,
4954
4961
  () => null,
4955
4962
  () => this.renderInternalServices()
@@ -5008,7 +5015,7 @@ let we = class extends Q {
5008
5015
  `;
5009
5016
  }
5010
5017
  renderInternalServices() {
5011
- return x`
5018
+ return w`
5012
5019
  <div class="form-item">
5013
5020
  <label class="label">Service</label>
5014
5021
  <sl-radio-group name="openai" value="openai" size="small">
@@ -5210,23 +5217,23 @@ let it = class extends Q {
5210
5217
  console.log("engage close clicked!"), S.suppressEngagePopup(), a.stopPropagation();
5211
5218
  }
5212
5219
  render() {
5213
- return x`
5220
+ return w`
5214
5221
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
5215
5222
  <sl-popup placement="top-end" distance="16" ?active="${S.engage && !S.open}">
5216
5223
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
5217
- ${ve(
5224
+ ${ue(
5218
5225
  this.open,
5219
- () => x`<cb-icon color="white" svg="${et}"></cb-icon>`,
5220
- () => x`<cb-icon color="white" svg="${ni}"></cb-icon>`
5226
+ () => w`<cb-icon color="white" svg="${et}"></cb-icon>`,
5227
+ () => w`<cb-icon color="white" svg="${ni}"></cb-icon>`
5221
5228
  )}
5222
5229
  </sl-button>
5223
5230
  <div class="cb-engage-popup">
5224
5231
  <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${Qe`${Ee(et)}`}</div>
5225
5232
  <div class="cb-engage-popup-content">
5226
- ${ve(
5233
+ ${ue(
5227
5234
  S.setting.logoUrl !== "",
5228
- () => x`<img class="cb-engage-popup-img" src="${S.setting.logoUrl}" />`,
5229
- () => x`<div class="cb-engage-popup-logo">${Qe`${Ee(S.setting.logoSvg)}`}</div>`
5235
+ () => w`<img class="cb-engage-popup-img" src="${S.setting.logoUrl}" />`,
5236
+ () => w`<div class="cb-engage-popup-logo">${Qe`${Ee(S.setting.logoSvg)}`}</div>`
5230
5237
  )}
5231
5238
  <!--<cb-icon class="cb-engage-popup-logo" svg="${S.setting.logoSvg}"></cb-icon>-->
5232
5239
  <div>${S.setting.engageMessage}</div>
@@ -5280,7 +5287,7 @@ let nt = class extends Q {
5280
5287
  }
5281
5288
  render() {
5282
5289
  const { variant: a, icon: t } = qt[this.status] || qt.info;
5283
- return x`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5290
+ return w`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5284
5291
  }
5285
5292
  };
5286
5293
  nt.styles = Kt;
@@ -5297,7 +5304,7 @@ var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t
5297
5304
  };
5298
5305
  let vt = class extends Q {
5299
5306
  render() {
5300
- return x` <sl-alert variant="danger" open>
5307
+ return w` <sl-alert variant="danger" open>
5301
5308
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
5302
5309
  Please config openai api key in the settings.
5303
5310
  <span
@@ -5317,8 +5324,8 @@ vt = gi([
5317
5324
  ], vt);
5318
5325
  class Dt extends Error {
5319
5326
  constructor(t, c, i) {
5320
- const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), w = b ? `status code ${b}` : "an unknown error";
5321
- super(`Request failed with ${w}`), Object.defineProperty(this, "response", {
5327
+ 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
+ super(`Request failed with ${x}`), Object.defineProperty(this, "response", {
5322
5329
  enumerable: !0,
5323
5330
  configurable: !0,
5324
5331
  writable: !0,
@@ -5448,15 +5455,15 @@ class st {
5448
5455
  if (i._options.timeout > pt)
5449
5456
  throw new RangeError(`The \`timeout\` option cannot be greater than ${pt}`);
5450
5457
  await Promise.resolve();
5451
- let w = await i._fetch();
5458
+ let x = await i._fetch();
5452
5459
  for (const _ of i._options.hooks.afterResponse) {
5453
- const R = await _(i.request, i._options, i._decorateResponse(w.clone()));
5454
- R instanceof globalThis.Response && (w = R);
5460
+ const V = await _(i.request, i._options, i._decorateResponse(x.clone()));
5461
+ V instanceof globalThis.Response && (x = V);
5455
5462
  }
5456
- if (i._decorateResponse(w), !w.ok && i._options.throwHttpErrors) {
5457
- let _ = new Dt(w, i.request, i._options);
5458
- for (const R of i._options.hooks.beforeError)
5459
- _ = await R(_);
5463
+ if (i._decorateResponse(x), !x.ok && i._options.throwHttpErrors) {
5464
+ let _ = new Dt(x, i.request, i._options);
5465
+ for (const V of i._options.hooks.beforeError)
5466
+ _ = await V(_);
5460
5467
  throw _;
5461
5468
  }
5462
5469
  if (i._options.onDownloadProgress) {
@@ -5464,21 +5471,21 @@ class st {
5464
5471
  throw new TypeError("The `onDownloadProgress` option must be a function");
5465
5472
  if (!vi)
5466
5473
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
5467
- return i._stream(w.clone(), i._options.onDownloadProgress);
5474
+ return i._stream(x.clone(), i._options.onDownloadProgress);
5468
5475
  }
5469
- return w;
5476
+ return x;
5470
5477
  }, b = i._options.retry.methods.includes(i.request.method.toLowerCase()) ? i._retry(s) : s();
5471
- for (const [w, _] of Object.entries(xi))
5472
- b[w] = async () => {
5478
+ for (const [x, _] of Object.entries(xi))
5479
+ b[x] = async () => {
5473
5480
  i.request.headers.set("accept", i.request.headers.get("accept") || _);
5474
5481
  const j = (await b).clone();
5475
- if (w === "json") {
5482
+ if (x === "json") {
5476
5483
  if (j.status === 204 || (await j.clone().arrayBuffer()).byteLength === 0)
5477
5484
  return "";
5478
5485
  if (c.parseJson)
5479
5486
  return c.parseJson(await j.text());
5480
5487
  }
5481
- return j[w]();
5488
+ return j[x]();
5482
5489
  };
5483
5490
  return b;
5484
5491
  }
@@ -5614,20 +5621,20 @@ class st {
5614
5621
  async start(f) {
5615
5622
  const b = t.body.getReader();
5616
5623
  c && c({ percent: 0, transferredBytes: 0, totalBytes: i }, new Uint8Array());
5617
- async function w() {
5618
- const { done: _, value: R } = await b.read();
5624
+ async function x() {
5625
+ const { done: _, value: V } = await b.read();
5619
5626
  if (_) {
5620
5627
  f.close();
5621
5628
  return;
5622
5629
  }
5623
5630
  if (c) {
5624
- s += R.byteLength;
5631
+ s += V.byteLength;
5625
5632
  const j = i === 0 ? 0 : s / i;
5626
- c({ percent: j, transferredBytes: s, totalBytes: i }, R);
5633
+ c({ percent: j, transferredBytes: s, totalBytes: i }, V);
5627
5634
  }
5628
- f.enqueue(R), await w();
5635
+ f.enqueue(V), await x();
5629
5636
  }
5630
- await w();
5637
+ await x();
5631
5638
  }
5632
5639
  }), {
5633
5640
  status: t.status,
@@ -5651,17 +5658,17 @@ const wt = (a) => {
5651
5658
  }
5652
5659
  });
5653
5660
  async function ji(a, t) {
5654
- const { onmessage: c, onclose: i, ...s } = t, f = async (b, w) => {
5655
- const { value: _, done: R } = await w.read();
5656
- R ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, w));
5661
+ const { onmessage: c, onclose: i, ...s } = t, f = async (b, x) => {
5662
+ const { value: _, done: V } = await x.read();
5663
+ V ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, x));
5657
5664
  };
5658
5665
  return s.body && typeof s.body == "object" && (s.body = JSON.stringify(s.body)), console.log("Fetching:", s), fetch(a, s).then((b) => {
5659
- const w = b.body.getReader();
5666
+ const x = b.body.getReader();
5660
5667
  return new ReadableStream({
5661
- start(R) {
5668
+ start(V) {
5662
5669
  f(
5663
- R,
5664
- w
5670
+ V,
5671
+ x
5665
5672
  );
5666
5673
  }
5667
5674
  });
@@ -5688,14 +5695,14 @@ async function Oi(a, t) {
5688
5695
  };
5689
5696
  }
5690
5697
  }
5691
- var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, V = (a, t, c, i) => {
5698
+ var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, R = (a, t, c, i) => {
5692
5699
  for (var s = i > 1 ? void 0 : i ? Pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
5693
5700
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
5694
5701
  return i && s && Li(t, c, s), s;
5695
5702
  };
5696
5703
  const Je = ft.noConflict();
5697
5704
  Je.setLevel("info");
5698
- let q = class extends Q {
5705
+ let B = class extends Q {
5699
5706
  constructor() {
5700
5707
  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">
5701
5708
  <path
@@ -5703,7 +5710,7 @@ let q = class extends Q {
5703
5710
  fill="#E24D42"
5704
5711
  ></path>
5705
5712
  </svg>
5706
- `, this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5713
+ `, this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5707
5714
  }
5708
5715
  //HTMLElement;
5709
5716
  /**
@@ -5733,7 +5740,7 @@ let q = class extends Q {
5733
5740
  return S.addMessage(c), c;
5734
5741
  }
5735
5742
  render() {
5736
- return S.disabled ? (Je.error("Bot is disabled"), null) : x`
5743
+ return S.disabled ? (Je.error("Bot is disabled"), null) : w`
5737
5744
  <div class="cb-wrapper" style="${S.open ? "display:flex" : "display:none"}">
5738
5745
  <cb-header title="${this.name}" exportparts="header"></cb-header>
5739
5746
  <cb-message-list .messages=${S.messages} .actions=${S.actions} .form=${S.form} exportparts="form"></cb-message-list>
@@ -5743,7 +5750,7 @@ let q = class extends Q {
5743
5750
  `;
5744
5751
  }
5745
5752
  renderUserInput() {
5746
- return S.form ? null : x`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
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>`;
5747
5754
  }
5748
5755
  connectedCallback() {
5749
5756
  super.connectedCallback(), Je.info("connectedCallback"), addEventListener("setting:show", () => {
@@ -5770,7 +5777,7 @@ let q = class extends Q {
5770
5777
  // initialize setting
5771
5778
  _initSetting() {
5772
5779
  const a = S.setting;
5773
- 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);
5780
+ 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);
5774
5781
  }
5775
5782
  setLoading(a) {
5776
5783
  this.loading = a;
@@ -5778,6 +5785,9 @@ let q = class extends Q {
5778
5785
  clearConversation() {
5779
5786
  S.clearConversation();
5780
5787
  }
5788
+ setOpen(a = !1) {
5789
+ S.open = a;
5790
+ }
5781
5791
  // check auth
5782
5792
  _checkAuth() {
5783
5793
  }
@@ -5899,67 +5909,70 @@ let q = class extends Q {
5899
5909
  (t = this._messageList) == null || t.scrollToBottom();
5900
5910
  }
5901
5911
  };
5902
- q.styles = Pa;
5903
- V([
5912
+ B.styles = Pa;
5913
+ R([
5904
5914
  k({ type: Boolean, attribute: "display-license" })
5905
- ], q.prototype, "displayLicense", 2);
5906
- V([
5915
+ ], B.prototype, "displayLicense", 2);
5916
+ R([
5907
5917
  k({ type: String, attribute: "name" })
5908
- ], q.prototype, "name", 2);
5909
- V([
5918
+ ], B.prototype, "name", 2);
5919
+ R([
5910
5920
  k({ type: String, attribute: "org-id" })
5911
- ], q.prototype, "orgId", 2);
5912
- V([
5921
+ ], B.prototype, "orgId", 2);
5922
+ R([
5913
5923
  k({ type: String, attribute: "bot-id" })
5914
- ], q.prototype, "botId", 2);
5915
- V([
5924
+ ], B.prototype, "botId", 2);
5925
+ R([
5916
5926
  k({ type: String, attribute: "url" })
5917
- ], q.prototype, "url", 2);
5918
- V([
5927
+ ], B.prototype, "url", 2);
5928
+ R([
5919
5929
  k({ type: String, attribute: "logo-url" })
5920
- ], q.prototype, "logoUrl", 2);
5921
- V([
5930
+ ], B.prototype, "logoUrl", 2);
5931
+ R([
5922
5932
  k({ type: String, attribute: "logo-svg" })
5923
- ], q.prototype, "logoSvg", 2);
5924
- V([
5933
+ ], B.prototype, "logoSvg", 2);
5934
+ R([
5925
5935
  k({ type: String, attribute: "bot-icon-svg" })
5926
- ], q.prototype, "botIconSvg", 2);
5927
- V([
5936
+ ], B.prototype, "botIconSvg", 2);
5937
+ R([
5928
5938
  k({ type: String, attribute: "user-icon-svg" })
5929
- ], q.prototype, "userIconSvg", 2);
5930
- V([
5939
+ ], B.prototype, "userIconSvg", 2);
5940
+ R([
5931
5941
  k({ type: String, attribute: "system-icon-svg" })
5932
- ], q.prototype, "systemIconSvg", 2);
5933
- V([
5942
+ ], B.prototype, "systemIconSvg", 2);
5943
+ R([
5934
5944
  k({ type: Boolean, attribute: "stream" })
5935
- ], q.prototype, "stream", 2);
5936
- V([
5945
+ ], B.prototype, "stream", 2);
5946
+ R([
5937
5947
  k({ type: Boolean, attribute: "custom-request" })
5938
- ], q.prototype, "customRequest", 2);
5939
- V([
5948
+ ], B.prototype, "customRequest", 2);
5949
+ R([
5940
5950
  k({ type: Boolean, attribute: "enable-file-upload" })
5941
- ], q.prototype, "enableFileUpload", 2);
5942
- V([
5951
+ ], B.prototype, "enableFileUpload", 2);
5952
+ R([
5943
5953
  k({ type: String, attribute: "upload-file-url" })
5944
- ], q.prototype, "uploadFileUrl", 2);
5945
- V([
5954
+ ], B.prototype, "uploadFileUrl", 2);
5955
+ R([
5946
5956
  k({ type: Boolean, attribute: "open" })
5947
- ], q.prototype, "open", 2);
5948
- V([
5957
+ ], B.prototype, "open", 2);
5958
+ R([
5959
+ k({ type: Boolean, attribute: "always-open" })
5960
+ ], B.prototype, "alwaysOpen", 2);
5961
+ R([
5949
5962
  k({ type: Boolean })
5950
- ], q.prototype, "loading", 2);
5951
- V([
5963
+ ], B.prototype, "loading", 2);
5964
+ R([
5952
5965
  k({ type: Boolean })
5953
- ], q.prototype, "showSetting", 2);
5954
- V([
5966
+ ], B.prototype, "showSetting", 2);
5967
+ R([
5955
5968
  k({ type: Boolean })
5956
- ], q.prototype, "showAuthAlert", 2);
5957
- V([
5969
+ ], B.prototype, "showAuthAlert", 2);
5970
+ R([
5958
5971
  qe("cb-message-list")
5959
- ], q.prototype, "_messageList", 2);
5960
- q = V([
5972
+ ], B.prototype, "_messageList", 2);
5973
+ B = R([
5961
5974
  W("enegelai-bot")
5962
- ], q);
5975
+ ], B);
5963
5976
  export {
5964
- q as default
5977
+ B as default
5965
5978
  };