@enegelai/bot-widget 1.18.2 → 1.19.1
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/enegelaibot.umd.js +71 -67
- package/dist/index.es.js +563 -494
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { css as K, LitElement as Fe, html as b, nothing as Ae, svg as pe } from "lit";
|
|
2
|
-
import { property as x, customElement as J, query as xe, state as Va, queryAll as Ua, eventOptions as
|
|
2
|
+
import { property as x, customElement as J, query as xe, state as Va, queryAll as Ua, eventOptions as ra } from "lit/decorators.js";
|
|
3
3
|
import { when as W } from "lit/directives/when.js";
|
|
4
4
|
import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
|
|
5
5
|
import { registerIconLibrary as qi } from "@shoelace-style/shoelace";
|
|
@@ -28,7 +28,7 @@ import Fi from "markdown-it-link-attributes";
|
|
|
28
28
|
import Gt from "highlight.js";
|
|
29
29
|
import "@shoelace-style/shoelace/dist/components/popup/popup.js";
|
|
30
30
|
import "@shoelace-style/shoelace/dist/components/rating/rating.js";
|
|
31
|
-
import { createRef as
|
|
31
|
+
import { createRef as Hi, ref as Tt } from "lit/directives/ref.js";
|
|
32
32
|
function Na(a) {
|
|
33
33
|
return typeof a == "function" ? a() : a;
|
|
34
34
|
}
|
|
@@ -45,7 +45,7 @@ const Ut = class Ut extends Event {
|
|
|
45
45
|
};
|
|
46
46
|
Ut.eventName = "lit-state-changed";
|
|
47
47
|
let at = Ut;
|
|
48
|
-
const
|
|
48
|
+
const ji = (a, e) => e !== a && (e === e || a === a), ba = class ba extends EventTarget {
|
|
49
49
|
static initPropertyMap() {
|
|
50
50
|
this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
|
|
51
51
|
}
|
|
@@ -78,7 +78,7 @@ const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends Even
|
|
|
78
78
|
Object.defineProperty(this.prototype, e, s);
|
|
79
79
|
}
|
|
80
80
|
static getPropertyDescriptor(e, t, i) {
|
|
81
|
-
const s = i?.hasChanged ||
|
|
81
|
+
const s = i?.hasChanged || ji;
|
|
82
82
|
return {
|
|
83
83
|
get() {
|
|
84
84
|
return this[t];
|
|
@@ -119,8 +119,8 @@ const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends Even
|
|
|
119
119
|
this.dispatchEvent(new at(e, t, i));
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
|
-
|
|
123
|
-
let
|
|
122
|
+
ba.finalized = !1;
|
|
123
|
+
let Zt = ba;
|
|
124
124
|
class it {
|
|
125
125
|
constructor(e, t, i) {
|
|
126
126
|
this.host = e, this.state = t, this.callback = i || (() => this.host.requestUpdate()), this.host.addController(this);
|
|
@@ -159,7 +159,7 @@ new URL(location.href);
|
|
|
159
159
|
const Ui = {
|
|
160
160
|
prefix: "_ls"
|
|
161
161
|
};
|
|
162
|
-
function
|
|
162
|
+
function le(a) {
|
|
163
163
|
return a = { ...Ui, ...a }, (e, t) => {
|
|
164
164
|
const i = Object.getOwnPropertyDescriptor(e, t);
|
|
165
165
|
if (!i)
|
|
@@ -181,9 +181,9 @@ function ce(a) {
|
|
|
181
181
|
function Wa(a) {
|
|
182
182
|
return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
|
|
183
183
|
}
|
|
184
|
-
var Rt = { exports: {} }, Ni = Rt.exports,
|
|
184
|
+
var Rt = { exports: {} }, Ni = Rt.exports, Sa;
|
|
185
185
|
function Wi() {
|
|
186
|
-
return
|
|
186
|
+
return Sa || (Sa = 1, (function(a) {
|
|
187
187
|
(function(e, t) {
|
|
188
188
|
a.exports ? a.exports = t() : e.log = t();
|
|
189
189
|
})(Ni, function() {
|
|
@@ -232,7 +232,7 @@ function Wi() {
|
|
|
232
232
|
function P(M, L) {
|
|
233
233
|
var C = this, Z, N, X, te = "loglevel";
|
|
234
234
|
typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
|
|
235
|
-
function
|
|
235
|
+
function je(V) {
|
|
236
236
|
var U = (s[V] || "silent").toUpperCase();
|
|
237
237
|
if (!(typeof window === t || !te)) {
|
|
238
238
|
try {
|
|
@@ -292,7 +292,7 @@ function Wi() {
|
|
|
292
292
|
}, C.methodFactory = L || _, C.getLevel = function() {
|
|
293
293
|
return X ?? N ?? Z;
|
|
294
294
|
}, C.setLevel = function(V, U) {
|
|
295
|
-
return X = ge(V), U !== !1 &&
|
|
295
|
+
return X = ge(V), U !== !1 && je(X), k.call(C);
|
|
296
296
|
}, C.setDefaultLevel = function(V) {
|
|
297
297
|
N = ge(V), ae() || C.setLevel(V, !1);
|
|
298
298
|
}, C.resetLevel = function() {
|
|
@@ -308,8 +308,8 @@ function Wi() {
|
|
|
308
308
|
}, Z = ge(
|
|
309
309
|
o ? o.getLevel() : "WARN"
|
|
310
310
|
);
|
|
311
|
-
var
|
|
312
|
-
|
|
311
|
+
var j = ae();
|
|
312
|
+
j != null && (X = ge(j)), k.call(C);
|
|
313
313
|
}
|
|
314
314
|
o = new P(), o.getLogger = function(L) {
|
|
315
315
|
if (typeof L != "symbol" && typeof L != "string" || L === "")
|
|
@@ -406,12 +406,16 @@ const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
|
|
|
406
406
|
@media (max-width: 640px) {
|
|
407
407
|
.cb-wrapper {
|
|
408
408
|
width: 100%;
|
|
409
|
-
height: calc(100% - var(--enegelai-bot-height-top-margin-sm, 100px));
|
|
409
|
+
height: calc(var(--c7o-vv-height, 100%) - var(--enegelai-bot-height-top-margin-sm, 100px));
|
|
410
410
|
max-height: var(--enegelai-bot-max-height, 100%);
|
|
411
411
|
right: 0;
|
|
412
|
-
bottom:
|
|
412
|
+
bottom: var(--c7o-vv-offset, 0px);
|
|
413
413
|
border-radius: 0;
|
|
414
414
|
}
|
|
415
|
+
|
|
416
|
+
cb-anchor.cb-anchor-hidden-mobile {
|
|
417
|
+
display: none;
|
|
418
|
+
}
|
|
415
419
|
}
|
|
416
420
|
`, ke = K`
|
|
417
421
|
:host {
|
|
@@ -662,7 +666,7 @@ const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
|
|
|
662
666
|
color: white;
|
|
663
667
|
}
|
|
664
668
|
`;
|
|
665
|
-
var Yi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor,
|
|
669
|
+
var Yi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor, oa = (a, e, t, i) => {
|
|
666
670
|
for (var s = i > 1 ? void 0 : i ? Ki(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
667
671
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
668
672
|
return i && s && Yi(e, t, s), s;
|
|
@@ -676,13 +680,13 @@ let pt = class extends Fe {
|
|
|
676
680
|
}
|
|
677
681
|
};
|
|
678
682
|
pt.styles = Ga;
|
|
679
|
-
|
|
683
|
+
oa([
|
|
680
684
|
x({ type: String })
|
|
681
685
|
], pt.prototype, "color", 2);
|
|
682
|
-
|
|
686
|
+
oa([
|
|
683
687
|
x({ type: String })
|
|
684
688
|
], pt.prototype, "svg", 2);
|
|
685
|
-
pt =
|
|
689
|
+
pt = oa([
|
|
686
690
|
J("cb-icon")
|
|
687
691
|
], pt);
|
|
688
692
|
let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
|
|
@@ -697,7 +701,7 @@ let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
|
|
|
697
701
|
};
|
|
698
702
|
}, Qi = (a, e = 21) => Zi(a, e | 0, Ji);
|
|
699
703
|
const es = Qi("1234567890abcdefghijklmnopqrstuvwxyz", 10);
|
|
700
|
-
function
|
|
704
|
+
function ce(a = 10) {
|
|
701
705
|
return es(a);
|
|
702
706
|
}
|
|
703
707
|
function ts(a) {
|
|
@@ -729,7 +733,7 @@ function xt(a) {
|
|
|
729
733
|
}
|
|
730
734
|
const ne = Ke.noConflict();
|
|
731
735
|
ne.setLevel("info");
|
|
732
|
-
const
|
|
736
|
+
const Xt = 3e4;
|
|
733
737
|
class as {
|
|
734
738
|
constructor(e = {}) {
|
|
735
739
|
this.id = 0, this.url = e?.url || null, this.orgId = e?.orgId || null, this.botId = e?.botId || null, this.convId = e?.convId || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = e?.onMessage || null, this.onConnecting = e?.onConnecting || null, this.onConnectError = e?.onConnectError || null, this.onClose = e?.onClose || null, this.queue = e?.queue || [], this.pause = (t) => new Promise((i) => setTimeout(i, t)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, ne.info(`WSC: Created, url: ${this.url}`);
|
|
@@ -790,7 +794,7 @@ class as {
|
|
|
790
794
|
this.connecting !== e && (this.connecting = e, this.onConnecting && typeof this.onConnecting == "function" && this.onConnecting(this.connecting));
|
|
791
795
|
}
|
|
792
796
|
pingConnection() {
|
|
793
|
-
this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id:
|
|
797
|
+
this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id: ce() }));
|
|
794
798
|
}
|
|
795
799
|
tick() {
|
|
796
800
|
this.pingConnection(), this.lastTickTs = Date.now();
|
|
@@ -798,7 +802,7 @@ class as {
|
|
|
798
802
|
async start() {
|
|
799
803
|
this.started = !0, this.connect(), this.lastTickTs = Date.now(), this.tickInterval = setInterval(() => {
|
|
800
804
|
this.tick();
|
|
801
|
-
},
|
|
805
|
+
}, Xt);
|
|
802
806
|
}
|
|
803
807
|
async stop() {
|
|
804
808
|
this.started = !1, this.disconnect(), this.tickInterval && (clearInterval(this.tickInterval), this.tickInterval = null);
|
|
@@ -825,7 +829,7 @@ class as {
|
|
|
825
829
|
sendClientInfoMessage() {
|
|
826
830
|
const e = {
|
|
827
831
|
type: "clientInfo",
|
|
828
|
-
id:
|
|
832
|
+
id: ce(),
|
|
829
833
|
data: {
|
|
830
834
|
referrer: window.location.href,
|
|
831
835
|
userAgent: window.navigator.userAgent
|
|
@@ -841,7 +845,20 @@ class as {
|
|
|
841
845
|
const e = Date.now();
|
|
842
846
|
let t = !1;
|
|
843
847
|
const i = e - this.lastAckTs;
|
|
844
|
-
i >
|
|
848
|
+
i > Xt + 5e3 && (t = !0, ne.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
|
|
849
|
+
}
|
|
850
|
+
checkConnectionOnLifecycleResume() {
|
|
851
|
+
if (!this.connecting)
|
|
852
|
+
if (this._ws && this._ws.readyState === WebSocket.OPEN)
|
|
853
|
+
try {
|
|
854
|
+
this._ws.send(JSON.stringify({ type: "heartbeat", id: ce() })), this.lastTickTs = Date.now(), this.tickInterval && clearInterval(this.tickInterval), this.tickInterval = setInterval(() => {
|
|
855
|
+
this.tick();
|
|
856
|
+
}, Xt);
|
|
857
|
+
} catch {
|
|
858
|
+
this.disconnect();
|
|
859
|
+
}
|
|
860
|
+
else
|
|
861
|
+
this.disconnect();
|
|
845
862
|
}
|
|
846
863
|
sendMessage(e) {
|
|
847
864
|
if (this.checkConnection(), !this.connected) {
|
|
@@ -1051,13 +1068,13 @@ const Ca = [
|
|
|
1051
1068
|
"A",
|
|
1052
1069
|
"A#",
|
|
1053
1070
|
"B"
|
|
1054
|
-
], We = [],
|
|
1071
|
+
], We = [], ca = [];
|
|
1055
1072
|
for (let a = 1; a <= 8; a++)
|
|
1056
1073
|
for (let e = 0; e < Ca.length; e++) {
|
|
1057
1074
|
const t = Ca[e];
|
|
1058
|
-
We.push(t / Math.pow(2, 8 - a)),
|
|
1075
|
+
We.push(t / Math.pow(2, 8 - a)), ca.push(ss[e] + a);
|
|
1059
1076
|
}
|
|
1060
|
-
const Ot = [32, 2e3], Aa = We.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]), ns =
|
|
1077
|
+
const Ot = [32, 2e3], Aa = We.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]), ns = ca.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]);
|
|
1061
1078
|
class lt {
|
|
1062
1079
|
/**
|
|
1063
1080
|
* Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
|
|
@@ -1084,7 +1101,7 @@ class lt {
|
|
|
1084
1101
|
break;
|
|
1085
1102
|
}
|
|
1086
1103
|
}
|
|
1087
|
-
v = M, k = s === "voice" ? Aa : We, w = s === "voice" ? ns :
|
|
1104
|
+
v = M, k = s === "voice" ? Aa : We, w = s === "voice" ? ns : ca;
|
|
1088
1105
|
} else
|
|
1089
1106
|
v = Array.from(i), k = v.map((E, M) => p * M), w = k.map((E) => `${E.toFixed(2)} Hz`);
|
|
1090
1107
|
const _ = v.map((E) => Math.max(
|
|
@@ -2704,17 +2721,17 @@ class vs {
|
|
|
2704
2721
|
let N = 0, X = k;
|
|
2705
2722
|
C > 0 && (N = Math.max(0, Math.min(k, C - Z)), X = Math.max(N, Math.min(k, C + Z)));
|
|
2706
2723
|
const te = Math.max(1, Math.floor(this.hop / this.ds));
|
|
2707
|
-
let
|
|
2724
|
+
let je = -1;
|
|
2708
2725
|
for (let ae = N; ae <= X; ae += te) {
|
|
2709
2726
|
let he = 0, ge = 0;
|
|
2710
2727
|
for (let U = 0; U < o; U++) {
|
|
2711
2728
|
const $e = _[U], Pe = P[ae + U];
|
|
2712
2729
|
he += $e * Pe, ge += Pe * Pe;
|
|
2713
2730
|
}
|
|
2714
|
-
const
|
|
2715
|
-
if (V >
|
|
2731
|
+
const j = E * (Math.sqrt(ge) + 1e-12), V = j > 0 ? he / j : 0;
|
|
2732
|
+
if (V > je && (je = V), je > Math.min(0.98, this.threshold + 0.25)) break;
|
|
2716
2733
|
}
|
|
2717
|
-
if (
|
|
2734
|
+
if (je >= this.threshold) {
|
|
2718
2735
|
if (this._holdRemain = Math.max(this._holdRemain, Math.round(this.holdMs * this.sr / 1e3)), this.mode === "drop") return null;
|
|
2719
2736
|
for (let ae = 0; ae < i; ae++) t[ae] *= this.attenGain;
|
|
2720
2737
|
return this._float32ToInt16(t);
|
|
@@ -3466,7 +3483,7 @@ function Is(a, e) {
|
|
|
3466
3483
|
}
|
|
3467
3484
|
return t;
|
|
3468
3485
|
}
|
|
3469
|
-
var
|
|
3486
|
+
var Yt = /* @__PURE__ */ Cs(function(e, t, i) {
|
|
3470
3487
|
return Ts(e, Is(t, i));
|
|
3471
3488
|
});
|
|
3472
3489
|
const Es = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
|
|
@@ -3478,9 +3495,9 @@ var $s = Object.defineProperty, O = (a, e, t, i) => {
|
|
|
3478
3495
|
const T = Ke.noConflict();
|
|
3479
3496
|
T.setLevel("info");
|
|
3480
3497
|
const ie = "cb_", Ps = (a) => new Promise((e) => setTimeout(e, a));
|
|
3481
|
-
class R extends
|
|
3498
|
+
class R extends Zt {
|
|
3482
3499
|
constructor() {
|
|
3483
|
-
super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.
|
|
3500
|
+
super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.checkConnectionOnLifecycleResumePromise = null, this.webAudioProcessor = null, this.webAudioTrackId = null, this.webAudioCurrentMark = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null, this.tabsBroadcastChannel = new BroadcastChannel("c7o-bot-tabs"), this.tabId = "c7o-bot-tab-" + (self.crypto?.randomUUID?.() || Math.random().toString(36).slice(2)), this.tabsBroadcastChannel.addEventListener("message", this.handleBroadcastMessage.bind(this)), console.log(`c7o: AppState: created, tabId=${this.tabId}`);
|
|
3484
3501
|
}
|
|
3485
3502
|
// this is called at startup
|
|
3486
3503
|
setSetting(e) {
|
|
@@ -3526,7 +3543,7 @@ class R extends Jt {
|
|
|
3526
3543
|
}, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
|
|
3527
3544
|
return;
|
|
3528
3545
|
}
|
|
3529
|
-
T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.engagePopupSuppressPermanently = this.setting.botAdvancedSettings?.engagePopupSuppressPermanently || 0, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
|
|
3546
|
+
T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.enableTicketCreatedMessage = this.setting.botAdvancedSettings?.enableTicketCreatedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.engagePopupSuppressPermanently = this.setting.botAdvancedSettings?.engagePopupSuppressPermanently || 0, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
|
|
3530
3547
|
this.showEngagePopup();
|
|
3531
3548
|
}, this.setting.engageTimeout * 1e3);
|
|
3532
3549
|
}
|
|
@@ -3559,7 +3576,7 @@ class R extends Jt {
|
|
|
3559
3576
|
this.initStartupForm();
|
|
3560
3577
|
}
|
|
3561
3578
|
async clearConversation(e = !0) {
|
|
3562
|
-
await this.stopAudio(), this.mediaStartedAudio = !1, this.wsClient && e && (await this.wsClient.stop(), this.wsClient = null), this.connected = !1, this.conversationId =
|
|
3579
|
+
await this.stopAudio(), this.mediaStartedAudio = !1, this.wsClient && e && (await this.wsClient.stop(), this.wsClient = null), this.connected = !1, this.conversationId = ce(), this.lastConversationUpdate = Date.now(), e && (this.connectWs = "false", this.shouldEngage = "true"), this.messages = [], this.unreadMessages = 0, this.actions = [], this.showNewConversation = !1, this.context = this.currentLoadContext, this.form = null, this.addMessage({
|
|
3563
3580
|
author: "assistant",
|
|
3564
3581
|
type: "text",
|
|
3565
3582
|
data: {
|
|
@@ -3597,6 +3614,19 @@ class R extends Jt {
|
|
|
3597
3614
|
}
|
|
3598
3615
|
}), this.setting.showNewConversationOnAgentDisconnected && (this.showNewConversation = !0);
|
|
3599
3616
|
}
|
|
3617
|
+
async handleTicketCreated(e) {
|
|
3618
|
+
if (!this.setting.enableTicketCreatedMessage)
|
|
3619
|
+
return;
|
|
3620
|
+
const t = e?.text || e?.content || "Ticket was created";
|
|
3621
|
+
this.lastConversationUpdate = Date.now(), this.addMessage({
|
|
3622
|
+
id: e?.id || null,
|
|
3623
|
+
author: "system",
|
|
3624
|
+
type: "info",
|
|
3625
|
+
data: {
|
|
3626
|
+
text: t
|
|
3627
|
+
}
|
|
3628
|
+
});
|
|
3629
|
+
}
|
|
3600
3630
|
// BROADCAST // ///////////////////////////////////////////////////
|
|
3601
3631
|
async handleBroadcastMessage(e) {
|
|
3602
3632
|
const t = e?.data || null;
|
|
@@ -3616,7 +3646,7 @@ class R extends Jt {
|
|
|
3616
3646
|
// we will start actual audio capture only after we receive mediaStarted confirmation from server
|
|
3617
3647
|
async startAudio() {
|
|
3618
3648
|
this.mediaStartAudioRequested || (this.webAudioProcessor || (this.webAudioProcessor = new gt(), this.webAudioProcessor.on("audio", this.onAudioChunkCaptured.bind(this)), this.webAudioProcessor.on("playbackEnded", this.onPlaybackEnded.bind(this)), this.webAudioProcessor.on("terminate", this.onWebAudioTerminate.bind(this))), await this.sendEvent({
|
|
3619
|
-
id:
|
|
3649
|
+
id: ce(),
|
|
3620
3650
|
type: "mediaStart",
|
|
3621
3651
|
mediaType: "audio",
|
|
3622
3652
|
mimeType: "audio/L16",
|
|
@@ -3630,7 +3660,7 @@ class R extends Jt {
|
|
|
3630
3660
|
}
|
|
3631
3661
|
async stopAudio() {
|
|
3632
3662
|
this.webAudioProcessor && (this.webAudioProcessor.removeAllListeners(), await this.stopWebAudio(), this.webAudioProcessor = null, await this.sendEvent({
|
|
3633
|
-
id:
|
|
3663
|
+
id: ce(),
|
|
3634
3664
|
type: "mediaStop",
|
|
3635
3665
|
mediaType: "audio"
|
|
3636
3666
|
}), this.postBroadcastMessage({
|
|
@@ -3654,7 +3684,7 @@ class R extends Jt {
|
|
|
3654
3684
|
}
|
|
3655
3685
|
async onAudioChunkCaptured(e) {
|
|
3656
3686
|
!e || !e.audio || await this.sendEvent({
|
|
3657
|
-
id:
|
|
3687
|
+
id: ce(),
|
|
3658
3688
|
type: "media",
|
|
3659
3689
|
mediaType: "audio",
|
|
3660
3690
|
media: {
|
|
@@ -3665,7 +3695,7 @@ class R extends Jt {
|
|
|
3665
3695
|
// When finished playing audio, clear trackId and send mark message
|
|
3666
3696
|
async onPlaybackEnded() {
|
|
3667
3697
|
this.webAudioCurrentMark && (T.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
|
|
3668
|
-
id:
|
|
3698
|
+
id: ce(),
|
|
3669
3699
|
type: "mediaMark",
|
|
3670
3700
|
mark: {
|
|
3671
3701
|
name: this.webAudioCurrentMark
|
|
@@ -3692,7 +3722,7 @@ class R extends Jt {
|
|
|
3692
3722
|
if (!e || e?.type !== "media" || !e?.media || e?.mediaType !== "audio" || !e?.media?.payload || !this.webAudioProcessor || !this.webAudioStarted)
|
|
3693
3723
|
return;
|
|
3694
3724
|
const t = e.media.payload;
|
|
3695
|
-
this.webAudioTrackId || (this.webAudioTrackId =
|
|
3725
|
+
this.webAudioTrackId || (this.webAudioTrackId = ce()), T.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
|
|
3696
3726
|
}
|
|
3697
3727
|
// {"type": "mediaMark","mark": {"name": "1757277902935"}}
|
|
3698
3728
|
async handleMediaMark(e) {
|
|
@@ -3728,7 +3758,7 @@ class R extends Jt {
|
|
|
3728
3758
|
return;
|
|
3729
3759
|
}
|
|
3730
3760
|
const t = {
|
|
3731
|
-
id:
|
|
3761
|
+
id: ce(),
|
|
3732
3762
|
type: "setContext",
|
|
3733
3763
|
contextData: this.context
|
|
3734
3764
|
};
|
|
@@ -3749,7 +3779,7 @@ class R extends Jt {
|
|
|
3749
3779
|
T.info("Startup form not suppressed by widget settings.");
|
|
3750
3780
|
return;
|
|
3751
3781
|
}
|
|
3752
|
-
const e =
|
|
3782
|
+
const e = Yt(null, ["startupForm"], this.botSettings);
|
|
3753
3783
|
if (!e || !e?.name) {
|
|
3754
3784
|
T.info("Startup form not present");
|
|
3755
3785
|
return;
|
|
@@ -3757,10 +3787,10 @@ class R extends Jt {
|
|
|
3757
3787
|
this.initForm(e);
|
|
3758
3788
|
}
|
|
3759
3789
|
initForm(e = null) {
|
|
3760
|
-
const t = e, i =
|
|
3790
|
+
const t = e, i = Yt(null, ["name"], e);
|
|
3761
3791
|
if (!t || !i)
|
|
3762
3792
|
return;
|
|
3763
|
-
const s =
|
|
3793
|
+
const s = Yt(null, ["fields"], e);
|
|
3764
3794
|
if (!Array.isArray(s) || s.length <= 0) {
|
|
3765
3795
|
T.info("form has no fields", e);
|
|
3766
3796
|
return;
|
|
@@ -3854,23 +3884,24 @@ class R extends Jt {
|
|
|
3854
3884
|
T.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
|
|
3855
3885
|
}), this.connected = !1;
|
|
3856
3886
|
}
|
|
3857
|
-
async
|
|
3887
|
+
async _checkConnectionOnLifecycleResume() {
|
|
3858
3888
|
try {
|
|
3859
3889
|
const e = await this.getWsClient();
|
|
3860
3890
|
if (!e) {
|
|
3861
3891
|
T.error("Error - failed to obtain ws client for check connection");
|
|
3862
3892
|
return;
|
|
3863
3893
|
}
|
|
3864
|
-
e.
|
|
3894
|
+
e.checkConnectionOnLifecycleResume();
|
|
3865
3895
|
} catch (e) {
|
|
3866
|
-
T.error(`Check connection failed: ${e.message}`);
|
|
3896
|
+
T.error(`Check connection on lifecycle resume failed: ${e.message}`);
|
|
3867
3897
|
}
|
|
3868
3898
|
}
|
|
3869
3899
|
// Check connection for parallel calls - if there is already a check in progress, wait for it instead of starting a new one
|
|
3870
|
-
async
|
|
3871
|
-
return this.
|
|
3872
|
-
|
|
3873
|
-
|
|
3900
|
+
async checkConnectionOnLifecycleResume() {
|
|
3901
|
+
return this.checkConnectionOnLifecycleResumePromise || (this.checkConnectionOnLifecycleResumePromise = this._checkConnectionOnLifecycleResume().catch(() => {
|
|
3902
|
+
}).finally(() => {
|
|
3903
|
+
this.checkConnectionOnLifecycleResumePromise = null;
|
|
3904
|
+
})), this.checkConnectionOnLifecycleResumePromise;
|
|
3874
3905
|
}
|
|
3875
3906
|
// Called on browser/app lifecycle resume events to quickly recover stale socket state.
|
|
3876
3907
|
handleLifecycleResume(e = "unknown", t = () => {
|
|
@@ -3883,7 +3914,8 @@ class R extends Jt {
|
|
|
3883
3914
|
T.info("WSC: lifecycle resume - conversation just started, skipping connection check");
|
|
3884
3915
|
return;
|
|
3885
3916
|
}
|
|
3886
|
-
T.info(`WSC: lifecycle resume (${e})`), this.
|
|
3917
|
+
T.info(`WSC: lifecycle resume (${e})`), this.checkConnectionOnLifecycleResume().catch(() => {
|
|
3918
|
+
}).finally(() => {
|
|
3887
3919
|
t();
|
|
3888
3920
|
});
|
|
3889
3921
|
}
|
|
@@ -3922,7 +3954,7 @@ class R extends Jt {
|
|
|
3922
3954
|
handleWscConnecting(e) {
|
|
3923
3955
|
T.info(`WSC: on connecting(${e}), connected: ${this.wsClient?.connected}`), this.connecting = e, !this.connecting && this.wsClient?.connected ? (this.connected = !0, this.context && typeof this.context == "object" && Object.keys(this.context).length > 0 && this.wsClient.queueMessage(
|
|
3924
3956
|
{
|
|
3925
|
-
id:
|
|
3957
|
+
id: ce(),
|
|
3926
3958
|
type: "setContext",
|
|
3927
3959
|
contextData: this.context
|
|
3928
3960
|
},
|
|
@@ -4006,6 +4038,11 @@ class R extends Jt {
|
|
|
4006
4038
|
});
|
|
4007
4039
|
break;
|
|
4008
4040
|
}
|
|
4041
|
+
case "ticket-created": {
|
|
4042
|
+
this.handleTicketCreated(e).catch((i) => {
|
|
4043
|
+
});
|
|
4044
|
+
break;
|
|
4045
|
+
}
|
|
4009
4046
|
//{"type":"agent-connected","author":"assistant","userName":"SF DEV ADMIN"}
|
|
4010
4047
|
//{"type":"agent-disconnected","author":"assistant","userName":"SF DEV ADMIN"}
|
|
4011
4048
|
case "form": {
|
|
@@ -4176,7 +4213,7 @@ class R extends Jt {
|
|
|
4176
4213
|
}
|
|
4177
4214
|
// TODO revisit below
|
|
4178
4215
|
formatMessage(e) {
|
|
4179
|
-
return e.id || (e.id =
|
|
4216
|
+
return e.id || (e.id = ce()), e.timestamp || (e.timestamp = Date.now()), e.author === "assistant" && !e.replyId && (e.replyId = this.messages.findLast((t) => t.author === "user")?.id || void 0), e;
|
|
4180
4217
|
}
|
|
4181
4218
|
// add message
|
|
4182
4219
|
addMessage(e) {
|
|
@@ -4263,7 +4300,7 @@ class R extends Jt {
|
|
|
4263
4300
|
return;
|
|
4264
4301
|
}
|
|
4265
4302
|
s.sendMessage({
|
|
4266
|
-
id:
|
|
4303
|
+
id: ce(),
|
|
4267
4304
|
type: "feedback",
|
|
4268
4305
|
score: this.feedbackScore,
|
|
4269
4306
|
userMessage: this.feedbackUserMessage,
|
|
@@ -4300,7 +4337,7 @@ class R extends Jt {
|
|
|
4300
4337
|
}
|
|
4301
4338
|
async uploadFiles(e) {
|
|
4302
4339
|
if (!e?.length) return;
|
|
4303
|
-
const t =
|
|
4340
|
+
const t = h.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
|
|
4304
4341
|
if (s) {
|
|
4305
4342
|
T.error(
|
|
4306
4343
|
`File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
|
|
@@ -4319,7 +4356,7 @@ class R extends Jt {
|
|
|
4319
4356
|
T.error("Error - failed to obtain ws client");
|
|
4320
4357
|
return;
|
|
4321
4358
|
}
|
|
4322
|
-
const f =
|
|
4359
|
+
const f = ce();
|
|
4323
4360
|
o.sendMessage({
|
|
4324
4361
|
id: f,
|
|
4325
4362
|
type: "upload",
|
|
@@ -4338,49 +4375,49 @@ class R extends Jt {
|
|
|
4338
4375
|
}
|
|
4339
4376
|
notifyWidgetOpenState() {
|
|
4340
4377
|
this.wsClient && this.wsClient.sendMessage({
|
|
4341
|
-
id:
|
|
4378
|
+
id: ce(),
|
|
4342
4379
|
type: "widgetState",
|
|
4343
4380
|
open: this.open
|
|
4344
4381
|
});
|
|
4345
4382
|
}
|
|
4346
4383
|
}
|
|
4347
4384
|
O([
|
|
4348
|
-
|
|
4385
|
+
le({ prefix: ie }),
|
|
4349
4386
|
z({ value: "en" })
|
|
4350
4387
|
], R.prototype, "language");
|
|
4351
4388
|
O([
|
|
4352
|
-
|
|
4389
|
+
le({ prefix: ie }),
|
|
4353
4390
|
z({ value: "light" })
|
|
4354
4391
|
], R.prototype, "theme");
|
|
4355
4392
|
O([
|
|
4356
|
-
|
|
4393
|
+
le({ prefix: ie }),
|
|
4357
4394
|
z({ type: Boolean, value: !1 })
|
|
4358
4395
|
], R.prototype, "open");
|
|
4359
4396
|
O([
|
|
4360
4397
|
z({ type: Boolean, value: !1 })
|
|
4361
4398
|
], R.prototype, "alwaysOpen");
|
|
4362
4399
|
O([
|
|
4363
|
-
|
|
4400
|
+
le({ prefix: ie }),
|
|
4364
4401
|
z({ value: "false" })
|
|
4365
4402
|
], R.prototype, "connectWs");
|
|
4366
4403
|
O([
|
|
4367
|
-
|
|
4368
|
-
z({ value:
|
|
4404
|
+
le({ prefix: ie }),
|
|
4405
|
+
z({ value: ce() })
|
|
4369
4406
|
], R.prototype, "conversationId");
|
|
4370
4407
|
O([
|
|
4371
|
-
|
|
4408
|
+
le({ prefix: ie }),
|
|
4372
4409
|
z({ value: 0 })
|
|
4373
4410
|
], R.prototype, "lastConversationUpdate");
|
|
4374
4411
|
O([
|
|
4375
|
-
|
|
4412
|
+
le({ prefix: ie }),
|
|
4376
4413
|
z({ type: Array, value: [] })
|
|
4377
4414
|
], R.prototype, "messages");
|
|
4378
4415
|
O([
|
|
4379
|
-
|
|
4416
|
+
le({ prefix: ie }),
|
|
4380
4417
|
z({ value: 0 })
|
|
4381
4418
|
], R.prototype, "unreadMessages");
|
|
4382
4419
|
O([
|
|
4383
|
-
|
|
4420
|
+
le({ prefix: ie }),
|
|
4384
4421
|
z({
|
|
4385
4422
|
type: Array,
|
|
4386
4423
|
value: []
|
|
@@ -4425,7 +4462,7 @@ O([
|
|
|
4425
4462
|
})
|
|
4426
4463
|
], R.prototype, "actions");
|
|
4427
4464
|
O([
|
|
4428
|
-
|
|
4465
|
+
le({ prefix: ie }),
|
|
4429
4466
|
z({ type: Object, value: null })
|
|
4430
4467
|
], R.prototype, "form");
|
|
4431
4468
|
O([
|
|
@@ -4447,21 +4484,21 @@ O([
|
|
|
4447
4484
|
z({ type: Boolean, value: !1 })
|
|
4448
4485
|
], R.prototype, "connected");
|
|
4449
4486
|
O([
|
|
4450
|
-
|
|
4487
|
+
le({ prefix: ie }),
|
|
4451
4488
|
z({ value: "true" })
|
|
4452
4489
|
], R.prototype, "shouldEngage");
|
|
4453
4490
|
O([
|
|
4454
4491
|
z({ type: Boolean, value: !1 })
|
|
4455
4492
|
], R.prototype, "engage");
|
|
4456
4493
|
O([
|
|
4457
|
-
|
|
4494
|
+
le({ prefix: ie }),
|
|
4458
4495
|
z({ type: Boolean, value: !1 })
|
|
4459
4496
|
], R.prototype, "showNewConversation");
|
|
4460
4497
|
O([
|
|
4461
4498
|
z({ type: Boolean, value: !1 })
|
|
4462
4499
|
], R.prototype, "typingActive");
|
|
4463
4500
|
O([
|
|
4464
|
-
|
|
4501
|
+
le({ prefix: ie }),
|
|
4465
4502
|
z({
|
|
4466
4503
|
type: Object,
|
|
4467
4504
|
value: {
|
|
@@ -4486,13 +4523,14 @@ O([
|
|
|
4486
4523
|
fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
|
|
4487
4524
|
fileUploadMaxFileSizeMB: 30,
|
|
4488
4525
|
enableAgentDisconnectedMessage: !1,
|
|
4526
|
+
enableTicketCreatedMessage: !1,
|
|
4489
4527
|
showNewConversationOnAgentDisconnected: !1,
|
|
4490
4528
|
engagePopupSuppressPermanently: 0
|
|
4491
4529
|
}
|
|
4492
4530
|
})
|
|
4493
4531
|
], R.prototype, "setting");
|
|
4494
4532
|
O([
|
|
4495
|
-
|
|
4533
|
+
le({ prefix: ie }),
|
|
4496
4534
|
z({ type: Object, value: {} })
|
|
4497
4535
|
], R.prototype, "context");
|
|
4498
4536
|
O([
|
|
@@ -4526,11 +4564,11 @@ O([
|
|
|
4526
4564
|
z({ type: Array, value: [] })
|
|
4527
4565
|
], R.prototype, "feedbackMessages");
|
|
4528
4566
|
O([
|
|
4529
|
-
|
|
4567
|
+
le({ prefix: ie }),
|
|
4530
4568
|
z({ type: String, value: "" })
|
|
4531
4569
|
], R.prototype, "feedbackName");
|
|
4532
4570
|
O([
|
|
4533
|
-
|
|
4571
|
+
le({ prefix: ie }),
|
|
4534
4572
|
z({ type: String, value: "" })
|
|
4535
4573
|
], R.prototype, "feedbackEmail");
|
|
4536
4574
|
O([
|
|
@@ -4545,7 +4583,7 @@ O([
|
|
|
4545
4583
|
O([
|
|
4546
4584
|
z({ type: Boolean, value: !1 })
|
|
4547
4585
|
], R.prototype, "webAudioMuted");
|
|
4548
|
-
const
|
|
4586
|
+
const h = new R(), Ls = K`
|
|
4549
4587
|
${ke}
|
|
4550
4588
|
:host {
|
|
4551
4589
|
position: relative;
|
|
@@ -4683,13 +4721,13 @@ let Bt = class extends re {
|
|
|
4683
4721
|
renderExp() {
|
|
4684
4722
|
return b` <header class="cb-header" part="header">
|
|
4685
4723
|
${W(
|
|
4686
|
-
|
|
4687
|
-
() => b`<img class="cb-header-logo" part="header-logo" src="${
|
|
4688
|
-
() => b`<div class="cb-header-logo" part="header-logo">${G(
|
|
4724
|
+
h.setting.logoUrl !== "",
|
|
4725
|
+
() => b`<img class="cb-header-logo" part="header-logo" src="${h.setting.logoUrl}" />`,
|
|
4726
|
+
() => b`<div class="cb-header-logo" part="header-logo">${G(h.setting.logoSvg)}</div>`
|
|
4689
4727
|
)}
|
|
4690
4728
|
<div class="cb-header-title" part="header-title">${xt(this.title)}</div>
|
|
4691
4729
|
${W(
|
|
4692
|
-
|
|
4730
|
+
h.alwaysOpen,
|
|
4693
4731
|
() => b``,
|
|
4694
4732
|
() => b`<div class="cb-header-close" part="header-close">${G(qs)}</div>`
|
|
4695
4733
|
)}
|
|
@@ -4698,15 +4736,15 @@ let Bt = class extends re {
|
|
|
4698
4736
|
render() {
|
|
4699
4737
|
return b`<header class="cb-header" part="header">
|
|
4700
4738
|
${W(
|
|
4701
|
-
|
|
4702
|
-
() => b`<img class="cb-header-img" part="header-logo" src="${
|
|
4703
|
-
() => b`<div class="cb-header-logo" part="header-logo">${G(
|
|
4739
|
+
h.setting.logoUrl !== "",
|
|
4740
|
+
() => b`<img class="cb-header-img" part="header-logo" src="${h.setting.logoUrl}" />`,
|
|
4741
|
+
() => b`<div class="cb-header-logo" part="header-logo">${G(h.setting.logoSvg)}</div>`
|
|
4704
4742
|
)}
|
|
4705
4743
|
<div class="cb-header-title" part="header-title">${this.title}</div>
|
|
4706
4744
|
${W(
|
|
4707
|
-
|
|
4745
|
+
h.alwaysOpen,
|
|
4708
4746
|
() => b`<div></div>`,
|
|
4709
|
-
() => b`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(
|
|
4747
|
+
() => b`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(h.setting.closeSvg)}</div>`
|
|
4710
4748
|
)}
|
|
4711
4749
|
</header>`;
|
|
4712
4750
|
}
|
|
@@ -4755,12 +4793,12 @@ const Ds = K`
|
|
|
4755
4793
|
color: var(--primary-color);
|
|
4756
4794
|
}
|
|
4757
4795
|
`;
|
|
4758
|
-
var Fs = Object.getOwnPropertyDescriptor,
|
|
4796
|
+
var Fs = Object.getOwnPropertyDescriptor, Hs = (a, e, t, i) => {
|
|
4759
4797
|
for (var s = i > 1 ? void 0 : i ? Fs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
4760
4798
|
(o = a[r]) && (s = o(s) || s);
|
|
4761
4799
|
return s;
|
|
4762
4800
|
};
|
|
4763
|
-
let
|
|
4801
|
+
let Qt = class extends re {
|
|
4764
4802
|
constructor() {
|
|
4765
4803
|
super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
4766
4804
|
}
|
|
@@ -4795,11 +4833,11 @@ let Zt = class extends re {
|
|
|
4795
4833
|
`;
|
|
4796
4834
|
}
|
|
4797
4835
|
};
|
|
4798
|
-
|
|
4799
|
-
|
|
4836
|
+
Qt.styles = Ds;
|
|
4837
|
+
Qt = Hs([
|
|
4800
4838
|
J("cb-footer")
|
|
4801
|
-
],
|
|
4802
|
-
const
|
|
4839
|
+
], Qt);
|
|
4840
|
+
const js = K`
|
|
4803
4841
|
${ke}
|
|
4804
4842
|
|
|
4805
4843
|
:host {
|
|
@@ -5245,7 +5283,7 @@ const Hs = K`
|
|
|
5245
5283
|
}
|
|
5246
5284
|
.split-btn[aria-expanded="true"] .split-btn__caret { transform: rotate(180deg); }
|
|
5247
5285
|
`;
|
|
5248
|
-
var Vs = Object.defineProperty, Us = Object.getOwnPropertyDescriptor,
|
|
5286
|
+
var Vs = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, He = (a, e, t, i) => {
|
|
5249
5287
|
for (var s = i > 1 ? void 0 : i ? Us(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5250
5288
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5251
5289
|
return i && s && Vs(e, t, s), s;
|
|
@@ -5335,13 +5373,13 @@ mt.styles = K`
|
|
|
5335
5373
|
}
|
|
5336
5374
|
.item:active { transform: scale(.98); }
|
|
5337
5375
|
`;
|
|
5338
|
-
|
|
5376
|
+
He([
|
|
5339
5377
|
x({ type: Array })
|
|
5340
5378
|
], mt.prototype, "options", 2);
|
|
5341
|
-
|
|
5379
|
+
He([
|
|
5342
5380
|
x({ type: Number })
|
|
5343
5381
|
], mt.prototype, "minWidth", 2);
|
|
5344
|
-
mt =
|
|
5382
|
+
mt = He([
|
|
5345
5383
|
J("cb-split-menu")
|
|
5346
5384
|
], mt);
|
|
5347
5385
|
let Ge = class extends Fe {
|
|
@@ -5430,22 +5468,22 @@ let Ge = class extends Fe {
|
|
|
5430
5468
|
}
|
|
5431
5469
|
};
|
|
5432
5470
|
Ge.styles = Qa;
|
|
5433
|
-
|
|
5471
|
+
He([
|
|
5434
5472
|
x({ type: String })
|
|
5435
5473
|
], Ge.prototype, "variant", 2);
|
|
5436
|
-
|
|
5474
|
+
He([
|
|
5437
5475
|
x({ type: String })
|
|
5438
5476
|
], Ge.prototype, "label", 2);
|
|
5439
|
-
|
|
5477
|
+
He([
|
|
5440
5478
|
x({ type: Array })
|
|
5441
5479
|
], Ge.prototype, "options", 2);
|
|
5442
|
-
|
|
5480
|
+
He([
|
|
5443
5481
|
x({ type: String })
|
|
5444
5482
|
], Ge.prototype, "size", 2);
|
|
5445
|
-
|
|
5483
|
+
He([
|
|
5446
5484
|
xe(".split-btn")
|
|
5447
5485
|
], Ge.prototype, "_btn", 2);
|
|
5448
|
-
Ge =
|
|
5486
|
+
Ge = He([
|
|
5449
5487
|
J("cb-split-button")
|
|
5450
5488
|
], Ge);
|
|
5451
5489
|
var Ns = Object.defineProperty, Ws = Object.getOwnPropertyDescriptor, kt = (a, e, t, i) => {
|
|
@@ -5856,9 +5894,9 @@ function Js() {
|
|
|
5856
5894
|
function r(n) {
|
|
5857
5895
|
var c = (function(l, d) {
|
|
5858
5896
|
if (typeof l != "object" || !l) return l;
|
|
5859
|
-
var
|
|
5860
|
-
if (
|
|
5861
|
-
var m =
|
|
5897
|
+
var u = l[Symbol.toPrimitive];
|
|
5898
|
+
if (u !== void 0) {
|
|
5899
|
+
var m = u.call(l, d);
|
|
5862
5900
|
if (typeof m != "object") return m;
|
|
5863
5901
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
5864
5902
|
}
|
|
@@ -5877,32 +5915,32 @@ function Js() {
|
|
|
5877
5915
|
function p() {
|
|
5878
5916
|
var n = {}, c = !0, l = 0, d = arguments.length;
|
|
5879
5917
|
Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (c = arguments[0], l++);
|
|
5880
|
-
for (var
|
|
5918
|
+
for (var u = function(g) {
|
|
5881
5919
|
for (var y in g) Object.prototype.hasOwnProperty.call(g, y) && (c && Object.prototype.toString.call(g[y]) === "[object Object]" ? n[y] = p(!0, n[y], g[y]) : n[y] = g[y]);
|
|
5882
5920
|
}; l < d; l++) {
|
|
5883
5921
|
var m = arguments[l];
|
|
5884
|
-
|
|
5922
|
+
u(m);
|
|
5885
5923
|
}
|
|
5886
5924
|
return n;
|
|
5887
5925
|
}
|
|
5888
5926
|
function v(n, c) {
|
|
5889
|
-
if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]),
|
|
5927
|
+
if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), pa(n) != 0) {
|
|
5890
5928
|
if (Pe(n) && !Ve(n)) for (var l = n.length, d = 0; d < l && c.call(n[d], n[d], d, n) !== !1; d++) ;
|
|
5891
5929
|
else if (Ve(n)) {
|
|
5892
|
-
for (var
|
|
5930
|
+
for (var u in n) if (se(n, u) && c.call(n[u], n[u], u, n) === !1) break;
|
|
5893
5931
|
}
|
|
5894
5932
|
}
|
|
5895
5933
|
}
|
|
5896
5934
|
function k(n) {
|
|
5897
|
-
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [],
|
|
5898
|
-
return c && l &&
|
|
5899
|
-
if (m.eventName == c && m.fn.toString() == l.toString()) return
|
|
5900
|
-
})),
|
|
5935
|
+
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [], u = { all: d, evt: null, found: null };
|
|
5936
|
+
return c && l && pa(d) > 0 && v(d, (function(m, g) {
|
|
5937
|
+
if (m.eventName == c && m.fn.toString() == l.toString()) return u.found = !0, u.evt = g, !1;
|
|
5938
|
+
})), u;
|
|
5901
5939
|
}
|
|
5902
5940
|
function w(n) {
|
|
5903
|
-
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback,
|
|
5941
|
+
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, u = c.avoidDuplicate, m = u === void 0 || u, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A, I = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
|
|
5904
5942
|
function B(q) {
|
|
5905
|
-
|
|
5943
|
+
j(d) && d.call(I, q, this), y && B.destroy();
|
|
5906
5944
|
}
|
|
5907
5945
|
return V($) && ($ = document.querySelectorAll($)), B.destroy = function() {
|
|
5908
5946
|
v($, (function(q) {
|
|
@@ -5936,14 +5974,14 @@ function Js() {
|
|
|
5936
5974
|
function L(n) {
|
|
5937
5975
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
|
|
5938
5976
|
if (!n || c === "") return !1;
|
|
5939
|
-
if (c === "none") return
|
|
5940
|
-
var d =
|
|
5941
|
-
v(
|
|
5977
|
+
if (c === "none") return j(l) && l(), !1;
|
|
5978
|
+
var d = je(), u = c.split(" ");
|
|
5979
|
+
v(u, (function(m) {
|
|
5942
5980
|
_(n, "g" + m);
|
|
5943
5981
|
})), w(d, { onElement: n, avoidDuplicate: !1, once: !0, withCallback: function(m, g) {
|
|
5944
|
-
v(
|
|
5982
|
+
v(u, (function(y) {
|
|
5945
5983
|
P(g, "g" + y);
|
|
5946
|
-
})),
|
|
5984
|
+
})), j(l) && l();
|
|
5947
5985
|
} });
|
|
5948
5986
|
}
|
|
5949
5987
|
function C(n) {
|
|
@@ -5965,32 +6003,32 @@ function Js() {
|
|
|
5965
6003
|
function te() {
|
|
5966
6004
|
return { width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight };
|
|
5967
6005
|
}
|
|
5968
|
-
function
|
|
6006
|
+
function je() {
|
|
5969
6007
|
var n, c = document.createElement("fakeelement"), l = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" };
|
|
5970
6008
|
for (n in l) if (c.style[n] !== void 0) return l[n];
|
|
5971
6009
|
}
|
|
5972
6010
|
function ae(n, c, l, d) {
|
|
5973
6011
|
if (n()) c();
|
|
5974
6012
|
else {
|
|
5975
|
-
var
|
|
6013
|
+
var u;
|
|
5976
6014
|
l || (l = 100);
|
|
5977
6015
|
var m = setInterval((function() {
|
|
5978
|
-
n() && (clearInterval(m),
|
|
6016
|
+
n() && (clearInterval(m), u && clearTimeout(u), c());
|
|
5979
6017
|
}), l);
|
|
5980
6018
|
}
|
|
5981
6019
|
}
|
|
5982
6020
|
function he(n, c, l) {
|
|
5983
6021
|
if (ue(n)) console.error("Inject assets error");
|
|
5984
|
-
else if (
|
|
6022
|
+
else if (j(c) && (l = c, c = !1), V(c) && c in window) j(l) && l();
|
|
5985
6023
|
else {
|
|
5986
6024
|
var d;
|
|
5987
6025
|
if (n.indexOf(".css") !== -1) {
|
|
5988
|
-
if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (
|
|
5989
|
-
var
|
|
5990
|
-
return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ?
|
|
6026
|
+
if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (j(l) && l());
|
|
6027
|
+
var u = document.getElementsByTagName("head")[0], m = u.querySelectorAll('link[rel="stylesheet"]'), g = document.createElement("link");
|
|
6028
|
+
return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ? u.insertBefore(g, m[0]) : u.appendChild(g), void (j(l) && l());
|
|
5991
6029
|
}
|
|
5992
6030
|
if ((d = document.querySelectorAll('script[src="' + n + '"]')) && d.length > 0) {
|
|
5993
|
-
if (
|
|
6031
|
+
if (j(l)) {
|
|
5994
6032
|
if (V(c)) return ae((function() {
|
|
5995
6033
|
return window[c] !== void 0;
|
|
5996
6034
|
}), (function() {
|
|
@@ -6001,7 +6039,7 @@ function Js() {
|
|
|
6001
6039
|
} else {
|
|
6002
6040
|
var y = document.createElement("script");
|
|
6003
6041
|
y.type = "text/javascript", y.src = n, y.onload = function() {
|
|
6004
|
-
if (
|
|
6042
|
+
if (j(l)) {
|
|
6005
6043
|
if (V(c)) return ae((function() {
|
|
6006
6044
|
return window[c] !== void 0;
|
|
6007
6045
|
}), (function() {
|
|
@@ -6016,7 +6054,7 @@ function Js() {
|
|
|
6016
6054
|
function ge() {
|
|
6017
6055
|
return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
|
|
6018
6056
|
}
|
|
6019
|
-
function
|
|
6057
|
+
function j(n) {
|
|
6020
6058
|
return typeof n == "function";
|
|
6021
6059
|
}
|
|
6022
6060
|
function V(n) {
|
|
@@ -6032,7 +6070,7 @@ function Js() {
|
|
|
6032
6070
|
return n && n.length && isFinite(n.length);
|
|
6033
6071
|
}
|
|
6034
6072
|
function Ve(n) {
|
|
6035
|
-
return o(n) === "object" && n != null && !
|
|
6073
|
+
return o(n) === "object" && n != null && !j(n) && !$e(n);
|
|
6036
6074
|
}
|
|
6037
6075
|
function ue(n) {
|
|
6038
6076
|
return n == null;
|
|
@@ -6040,7 +6078,7 @@ function Js() {
|
|
|
6040
6078
|
function se(n, c) {
|
|
6041
6079
|
return n !== null && hasOwnProperty.call(n, c);
|
|
6042
6080
|
}
|
|
6043
|
-
function
|
|
6081
|
+
function pa(n) {
|
|
6044
6082
|
if (Ve(n)) {
|
|
6045
6083
|
if (n.keys) return n.keys().length;
|
|
6046
6084
|
var c = 0;
|
|
@@ -6052,7 +6090,7 @@ function Js() {
|
|
|
6052
6090
|
function _t(n) {
|
|
6053
6091
|
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
6054
6092
|
}
|
|
6055
|
-
function
|
|
6093
|
+
function ga() {
|
|
6056
6094
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1, c = document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");
|
|
6057
6095
|
if (!c.length) return !1;
|
|
6058
6096
|
if (c.length == 1) return c[0];
|
|
@@ -6063,10 +6101,10 @@ function Js() {
|
|
|
6063
6101
|
}));
|
|
6064
6102
|
var d = Math.max.apply(Math, l.map((function(y) {
|
|
6065
6103
|
return parseInt(y);
|
|
6066
|
-
}))),
|
|
6067
|
-
|
|
6104
|
+
}))), u = n < 0 ? 1 : n + 1;
|
|
6105
|
+
u > d && (u = "1");
|
|
6068
6106
|
var m = l.filter((function(y) {
|
|
6069
|
-
return y >= parseInt(
|
|
6107
|
+
return y >= parseInt(u);
|
|
6070
6108
|
})), g = m.sort()[0];
|
|
6071
6109
|
return document.querySelector('.gbtn[data-taborder="'.concat(g, '"]'));
|
|
6072
6110
|
}
|
|
@@ -6075,27 +6113,27 @@ function Js() {
|
|
|
6075
6113
|
n.events.keyboard = w("keydown", { onElement: window, withCallback: function(c, l) {
|
|
6076
6114
|
var d = (c = c || window.event).keyCode;
|
|
6077
6115
|
if (d == 9) {
|
|
6078
|
-
var
|
|
6079
|
-
if (!
|
|
6116
|
+
var u = document.querySelector(".gbtn.focused");
|
|
6117
|
+
if (!u) {
|
|
6080
6118
|
var m = !(!document.activeElement || !document.activeElement.nodeName) && document.activeElement.nodeName.toLocaleLowerCase();
|
|
6081
6119
|
if (m == "input" || m == "textarea" || m == "button") return;
|
|
6082
6120
|
}
|
|
6083
6121
|
c.preventDefault();
|
|
6084
6122
|
var g = document.querySelectorAll(".gbtn[data-taborder]");
|
|
6085
6123
|
if (!g || g.length <= 0) return;
|
|
6086
|
-
if (!
|
|
6087
|
-
var y =
|
|
6124
|
+
if (!u) {
|
|
6125
|
+
var y = ga();
|
|
6088
6126
|
return void (y && (y.focus(), _(y, "focused")));
|
|
6089
6127
|
}
|
|
6090
|
-
var A =
|
|
6091
|
-
P(
|
|
6128
|
+
var A = ga(u.getAttribute("data-taborder"));
|
|
6129
|
+
P(u, "focused"), A && (A.focus(), _(A, "focused"));
|
|
6092
6130
|
}
|
|
6093
6131
|
d == 39 && n.nextSlide(), d == 37 && n.prevSlide(), d == 27 && n.close();
|
|
6094
6132
|
} });
|
|
6095
6133
|
}
|
|
6096
6134
|
var xi = s((function n(c, l) {
|
|
6097
|
-
var d = this,
|
|
6098
|
-
if (t(this, n), this.img = c, this.slide = l, this.onclose =
|
|
6135
|
+
var d = this, u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
6136
|
+
if (t(this, n), this.img = c, this.slide = l, this.onclose = u, this.img.setZoomEvents) return !1;
|
|
6099
6137
|
this.active = !1, this.zoomedIn = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.img.addEventListener("mousedown", (function(m) {
|
|
6100
6138
|
return d.dragStart(m);
|
|
6101
6139
|
}), !1), this.img.addEventListener("mouseup", (function(m) {
|
|
@@ -6135,10 +6173,10 @@ function Js() {
|
|
|
6135
6173
|
n.style.transform = "translate3d(" + c + "px, " + l + "px, 0)";
|
|
6136
6174
|
} }, { key: "widowWidth", value: function() {
|
|
6137
6175
|
return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
6138
|
-
} }]),
|
|
6176
|
+
} }]), ma = s((function n() {
|
|
6139
6177
|
var c = this, l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
6140
6178
|
t(this, n);
|
|
6141
|
-
var d = l.dragEl,
|
|
6179
|
+
var d = l.dragEl, u = l.toleranceX, m = u === void 0 ? 40 : u, g = l.toleranceY, y = g === void 0 ? 65 : g, A = l.slide, S = A === void 0 ? null : A, I = l.instance, $ = I === void 0 ? null : I;
|
|
6142
6180
|
this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = m, this.toleranceY = y, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = S, this.instance = $, this.el.addEventListener("mousedown", (function(B) {
|
|
6143
6181
|
return c.dragStart(B);
|
|
6144
6182
|
}), !1), this.el.addEventListener("mouseup", (function(B) {
|
|
@@ -6169,8 +6207,8 @@ function Js() {
|
|
|
6169
6207
|
}
|
|
6170
6208
|
if (this.toleranceY > 0 && l > 0 && l >= c && (!this.lastDirection || this.lastDirection == "y")) {
|
|
6171
6209
|
this.xOffset = 0, this.lastDirection = "y", this.setTranslate(this.dragContainer, 0, this.currentY);
|
|
6172
|
-
var
|
|
6173
|
-
return !this.instance.settings.dragAutoSnap &&
|
|
6210
|
+
var u = this.shouldClose();
|
|
6211
|
+
return !this.instance.settings.dragAutoSnap && u && (this.doSlideClose = !0), void (this.instance.settings.dragAutoSnap && u && this.instance.close());
|
|
6174
6212
|
}
|
|
6175
6213
|
}
|
|
6176
6214
|
} }, { key: "shouldChange", value: function() {
|
|
@@ -6188,13 +6226,13 @@ function Js() {
|
|
|
6188
6226
|
n.style.transition = d ? "all .2s ease" : "", n.style.transform = "translate3d(".concat(c, "px, ").concat(l, "px, 0)");
|
|
6189
6227
|
} }]);
|
|
6190
6228
|
function ki(n, c, l, d) {
|
|
6191
|
-
var
|
|
6229
|
+
var u = n.querySelector(".gslide-media"), m = new Image(), g = "gSlideTitle_" + l, y = "gSlideDesc_" + l;
|
|
6192
6230
|
m.addEventListener("load", (function() {
|
|
6193
|
-
|
|
6194
|
-
}), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", ue(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height),
|
|
6231
|
+
j(d) && d();
|
|
6232
|
+
}), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", ue(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height), u.insertBefore(m, u.firstChild);
|
|
6195
6233
|
}
|
|
6196
6234
|
function _i(n, c, l, d) {
|
|
6197
|
-
var
|
|
6235
|
+
var u = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
|
|
6198
6236
|
_(m, "gvideo-container"), y.insertBefore(X('<div class="gvideo-wrapper"></div>'), y.firstChild);
|
|
6199
6237
|
var S = n.querySelector(".gvideo-wrapper");
|
|
6200
6238
|
he(this.settings.plyr.css, "Plyr");
|
|
@@ -6207,46 +6245,46 @@ function Js() {
|
|
|
6207
6245
|
}
|
|
6208
6246
|
var F = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
|
|
6209
6247
|
_(S, "".concat($, "-video gvideo")), S.appendChild(F), S.setAttribute("data-id", g), S.setAttribute("data-index", l);
|
|
6210
|
-
var ee = se(
|
|
6248
|
+
var ee = se(u.settings.plyr, "config") ? u.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
|
|
6211
6249
|
me.on("ready", (function(be) {
|
|
6212
|
-
A[g] = be.detail.plyr,
|
|
6250
|
+
A[g] = be.detail.plyr, j(d) && d();
|
|
6213
6251
|
})), ae((function() {
|
|
6214
6252
|
return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
|
|
6215
6253
|
}), (function() {
|
|
6216
|
-
|
|
6217
|
-
})), me.on("enterfullscreen",
|
|
6254
|
+
u.resize(n);
|
|
6255
|
+
})), me.on("enterfullscreen", ya), me.on("exitfullscreen", ya);
|
|
6218
6256
|
}));
|
|
6219
6257
|
}
|
|
6220
|
-
function
|
|
6258
|
+
function ya(n) {
|
|
6221
6259
|
var c = M(n.target, ".gslide-media");
|
|
6222
6260
|
n.type === "enterfullscreen" && _(c, "fullscreen"), n.type === "exitfullscreen" && P(c, "fullscreen");
|
|
6223
6261
|
}
|
|
6224
6262
|
function Si(n, c, l, d) {
|
|
6225
|
-
var
|
|
6226
|
-
if (A && (V(A) && (
|
|
6263
|
+
var u, m = this, g = n.querySelector(".gslide-media"), y = !(!se(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!se(c, "content") || !c.content) && c.content;
|
|
6264
|
+
if (A && (V(A) && (u = X('<div class="ginlined-content">'.concat(A, "</div>"))), U(A))) {
|
|
6227
6265
|
A.style.display == "none" && (A.style.display = "block");
|
|
6228
6266
|
var S = document.createElement("div");
|
|
6229
|
-
S.className = "ginlined-content", S.appendChild(A),
|
|
6267
|
+
S.className = "ginlined-content", S.appendChild(A), u = S;
|
|
6230
6268
|
}
|
|
6231
6269
|
if (y) {
|
|
6232
6270
|
var I = document.getElementById(y);
|
|
6233
6271
|
if (!I) return !1;
|
|
6234
6272
|
var $ = I.cloneNode(!0);
|
|
6235
|
-
$.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"),
|
|
6273
|
+
$.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), u = $;
|
|
6236
6274
|
}
|
|
6237
|
-
if (!
|
|
6238
|
-
g.style.height = c.height, g.style.width = c.width, g.appendChild(
|
|
6275
|
+
if (!u) return console.error("Unable to append inline slide content", c), !1;
|
|
6276
|
+
g.style.height = c.height, g.style.width = c.width, g.appendChild(u), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(B) {
|
|
6239
6277
|
B.preventDefault(), m.close();
|
|
6240
|
-
} }),
|
|
6278
|
+
} }), j(d) && d();
|
|
6241
6279
|
}
|
|
6242
6280
|
function Ci(n, c, l, d) {
|
|
6243
|
-
var
|
|
6281
|
+
var u = n.querySelector(".gslide-media"), m = (function(g) {
|
|
6244
6282
|
var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
|
|
6245
6283
|
return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
|
|
6246
|
-
$.onload = null, _($, "node-ready"),
|
|
6284
|
+
$.onload = null, _($, "node-ready"), j(S) && S();
|
|
6247
6285
|
}, I && I.appendChild($), $;
|
|
6248
6286
|
})({ url: c.href, callback: d });
|
|
6249
|
-
|
|
6287
|
+
u.parentNode.style.maxWidth = c.width, u.parentNode.style.height = c.height, u.appendChild(m);
|
|
6250
6288
|
}
|
|
6251
6289
|
var Ai = s((function n() {
|
|
6252
6290
|
var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
@@ -6258,8 +6296,8 @@ function Js() {
|
|
|
6258
6296
|
var l = this, d = p({ descPosition: c.descPosition }, this.defaults);
|
|
6259
6297
|
if (Ve(n) && !U(n)) {
|
|
6260
6298
|
se(n, "type") || (se(n, "content") && n.content ? n.type = "inline" : se(n, "href") && (n.type = this.sourceType(n.href)));
|
|
6261
|
-
var
|
|
6262
|
-
return this.setSize(
|
|
6299
|
+
var u = p(d, n);
|
|
6300
|
+
return this.setSize(u, c), u;
|
|
6263
6301
|
}
|
|
6264
6302
|
var m = "", g = n.getAttribute("data-glightbox"), y = n.nodeName.toLowerCase();
|
|
6265
6303
|
if (y === "a" && (m = n.href), y === "img" && (m = n.src, d.alt = n.alt), d.href = m, v(d, (function(q, F) {
|
|
@@ -6302,8 +6340,8 @@ function Js() {
|
|
|
6302
6340
|
}
|
|
6303
6341
|
return this.setSize(d, c, n), this.slideConfig = d, d;
|
|
6304
6342
|
} }, { key: "setSize", value: function(n, c) {
|
|
6305
|
-
var l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n.type == "video" ? this.checkSize(c.videosWidth) : this.checkSize(c.width),
|
|
6306
|
-
return n.width = se(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = se(n, "height") && n.height !== "" ? this.checkSize(n.height) :
|
|
6343
|
+
var l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n.type == "video" ? this.checkSize(c.videosWidth) : this.checkSize(c.width), u = this.checkSize(c.height);
|
|
6344
|
+
return n.width = se(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = se(n, "height") && n.height !== "" ? this.checkSize(n.height) : u, l && n.type == "image" && (n._hasCustomWidth = !!l.dataset.width, n._hasCustomHeight = !!l.dataset.height), n;
|
|
6307
6345
|
} }, { key: "checkSize", value: function(n) {
|
|
6308
6346
|
return _t(n) ? "".concat(n, "px") : n;
|
|
6309
6347
|
} }, { key: "sanitizeValue", value: function(n) {
|
|
@@ -6313,32 +6351,32 @@ function Js() {
|
|
|
6313
6351
|
}), [{ key: "setContent", value: function() {
|
|
6314
6352
|
var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
|
|
6315
6353
|
if (E(c, "loaded")) return !1;
|
|
6316
|
-
var d = this.instance.settings,
|
|
6317
|
-
|
|
6318
|
-
var g =
|
|
6319
|
-
if (
|
|
6320
|
-
|
|
6321
|
-
}),
|
|
6322
|
-
if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c,
|
|
6354
|
+
var d = this.instance.settings, u = this.slideConfig, m = ge();
|
|
6355
|
+
j(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
|
|
6356
|
+
var g = u.type, y = u.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), I = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), B = l, q = "gSlideTitle_" + this.index, F = "gSlideDesc_" + this.index;
|
|
6357
|
+
if (j(d.afterSlideLoad) && (B = function() {
|
|
6358
|
+
j(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
|
|
6359
|
+
}), u.title == "" && u.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && u.title !== "" ? (S.id = q, S.innerHTML = u.title) : S.parentNode.removeChild(S), I && u.description !== "" ? (I.id = F, m && d.moreLength > 0 ? (u.smallDescription = this.slideShortDesc(u.description, d.moreLength, d.moreText), I.innerHTML = u.smallDescription, this.descriptionEvents(I, u)) : I.innerHTML = u.description) : I.parentNode.removeChild(I), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
|
|
6360
|
+
if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, u, this.index, B]), void (u.draggable && new ma({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? j(B) && B() : ki(c, u, this.index, (function() {
|
|
6323
6361
|
var ee = c.querySelector("img");
|
|
6324
|
-
|
|
6362
|
+
u.draggable && new ma({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), u.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new xi(ee, c, (function() {
|
|
6325
6363
|
n.instance.resize();
|
|
6326
|
-
}))),
|
|
6364
|
+
}))), j(B) && B();
|
|
6327
6365
|
})));
|
|
6328
|
-
Ci.apply(this, [c,
|
|
6329
|
-
} else _i.apply(this.instance, [c,
|
|
6366
|
+
Ci.apply(this, [c, u, this.index, B]);
|
|
6367
|
+
} else _i.apply(this.instance, [c, u, this.index, B]);
|
|
6330
6368
|
} }, { key: "slideShortDesc", value: function(n) {
|
|
6331
6369
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], d = document.createElement("div");
|
|
6332
6370
|
d.innerHTML = n;
|
|
6333
|
-
var
|
|
6334
|
-
if ((n =
|
|
6371
|
+
var u = d.innerText, m = l;
|
|
6372
|
+
if ((n = u.trim()).length <= c) return n;
|
|
6335
6373
|
var g = n.substr(0, c - 1);
|
|
6336
6374
|
return m ? (d = null, g + '... <a href="#" class="desc-more">' + l + "</a>") : g;
|
|
6337
6375
|
} }, { key: "descriptionEvents", value: function(n, c) {
|
|
6338
6376
|
var l = this, d = n.querySelector(".desc-more");
|
|
6339
6377
|
if (!d) return !1;
|
|
6340
|
-
w("click", { onElement: d, withCallback: function(
|
|
6341
|
-
|
|
6378
|
+
w("click", { onElement: d, withCallback: function(u, m) {
|
|
6379
|
+
u.preventDefault();
|
|
6342
6380
|
var g = document.body, y = M(m, ".gslide-desc");
|
|
6343
6381
|
if (!y) return !1;
|
|
6344
6382
|
y.innerHTML = c.description, _(g, "gdesc-open");
|
|
@@ -6359,16 +6397,16 @@ function Js() {
|
|
|
6359
6397
|
return Math.sqrt(n.x * n.x + n.y * n.y);
|
|
6360
6398
|
}
|
|
6361
6399
|
function Mi(n, c) {
|
|
6362
|
-
var l = (function(d,
|
|
6363
|
-
var m = Ct(d) * Ct(
|
|
6400
|
+
var l = (function(d, u) {
|
|
6401
|
+
var m = Ct(d) * Ct(u);
|
|
6364
6402
|
if (m === 0) return 0;
|
|
6365
6403
|
var g = (function(y, A) {
|
|
6366
6404
|
return y.x * A.x + y.y * A.y;
|
|
6367
|
-
})(d,
|
|
6405
|
+
})(d, u) / m;
|
|
6368
6406
|
return g > 1 && (g = 1), Math.acos(g);
|
|
6369
6407
|
})(n, c);
|
|
6370
|
-
return (function(d,
|
|
6371
|
-
return d.x *
|
|
6408
|
+
return (function(d, u) {
|
|
6409
|
+
return d.x * u.y - u.x * d.y;
|
|
6372
6410
|
})(n, c) > 0 && (l *= -1), 180 * l / Math.PI;
|
|
6373
6411
|
}
|
|
6374
6412
|
var Ti = s((function n(c) {
|
|
@@ -6384,7 +6422,7 @@ function Js() {
|
|
|
6384
6422
|
typeof l == "function" && l.apply(this.el, arguments);
|
|
6385
6423
|
}
|
|
6386
6424
|
} }]);
|
|
6387
|
-
function
|
|
6425
|
+
function de(n, c) {
|
|
6388
6426
|
var l = new Ti(n);
|
|
6389
6427
|
return l.add(c), l;
|
|
6390
6428
|
}
|
|
@@ -6392,7 +6430,7 @@ function Js() {
|
|
|
6392
6430
|
t(this, n), this.element = typeof c == "string" ? document.querySelector(c) : c, 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;
|
|
6393
6431
|
var d = function() {
|
|
6394
6432
|
};
|
|
6395
|
-
this.rotate =
|
|
6433
|
+
this.rotate = de(this.element, l.rotate || d), this.touchStart = de(this.element, l.touchStart || d), this.multipointStart = de(this.element, l.multipointStart || d), this.multipointEnd = de(this.element, l.multipointEnd || d), this.pinch = de(this.element, l.pinch || d), this.swipe = de(this.element, l.swipe || d), this.tap = de(this.element, l.tap || d), this.doubleTap = de(this.element, l.doubleTap || d), this.longTap = de(this.element, l.longTap || d), this.singleTap = de(this.element, l.singleTap || d), this.pressMove = de(this.element, l.pressMove || d), this.twoFingerPressMove = de(this.element, l.twoFingerPressMove || d), this.touchMove = de(this.element, l.touchMove || d), this.touchEnd = de(this.element, l.touchEnd || d), this.touchCancel = de(this.element, l.touchCancel || d), 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 };
|
|
6396
6434
|
}), [{ key: "start", value: function(n) {
|
|
6397
6435
|
if (n.touches) if (n.target && n.target.nodeName && ["a", "button", "input"].indexOf(n.target.nodeName.toLowerCase()) >= 0) console.log("ignore drag for this touched element", n.target.nodeName.toLowerCase());
|
|
6398
6436
|
else {
|
|
@@ -6409,19 +6447,19 @@ function Js() {
|
|
|
6409
6447
|
}
|
|
6410
6448
|
} }, { key: "move", value: function(n) {
|
|
6411
6449
|
if (n.touches) {
|
|
6412
|
-
var c = this.preV, l = n.touches.length, d = n.touches[0].pageX,
|
|
6450
|
+
var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, u = n.touches[0].pageY;
|
|
6413
6451
|
if (this.isDoubleTap = !1, l > 1) {
|
|
6414
|
-
var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY -
|
|
6415
|
-
c.x !== null && (this.pinchStartLen > 0 && (n.zoom = Ct(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (
|
|
6452
|
+
var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - u };
|
|
6453
|
+
c.x !== null && (this.pinchStartLen > 0 && (n.zoom = Ct(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (u - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
|
|
6416
6454
|
} else {
|
|
6417
6455
|
if (this.x2 !== null) {
|
|
6418
|
-
n.deltaX = d - this.x2, n.deltaY =
|
|
6456
|
+
n.deltaX = d - this.x2, n.deltaY = u - this.y2;
|
|
6419
6457
|
var A = Math.abs(this.x1 - this.x2), S = Math.abs(this.y1 - this.y2);
|
|
6420
6458
|
(A > 10 || S > 10) && (this._preventTap = !0);
|
|
6421
6459
|
} else n.deltaX = 0, n.deltaY = 0;
|
|
6422
6460
|
this.pressMove.dispatch(n, this.element);
|
|
6423
6461
|
}
|
|
6424
|
-
this.touchMove.dispatch(n, this.element), this._cancelLongTap(), this.x2 = d, this.y2 =
|
|
6462
|
+
this.touchMove.dispatch(n, this.element), this._cancelLongTap(), this.x2 = d, this.y2 = u, l > 1 && n.preventDefault();
|
|
6425
6463
|
}
|
|
6426
6464
|
} }, { key: "end", value: function(n) {
|
|
6427
6465
|
if (n.changedTouches) {
|
|
@@ -6456,34 +6494,34 @@ function Js() {
|
|
|
6456
6494
|
var c = (function() {
|
|
6457
6495
|
var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
|
|
6458
6496
|
for (g in A) if (y.style[g] !== void 0) return A[g];
|
|
6459
|
-
})(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = E(n, "gslide-media") ? n : n.querySelector(".gslide-media"),
|
|
6460
|
-
l > 769 && (d =
|
|
6497
|
+
})(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = E(n, "gslide-media") ? n : n.querySelector(".gslide-media"), u = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
|
|
6498
|
+
l > 769 && (d = u), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
|
|
6461
6499
|
P(d, "greset");
|
|
6462
6500
|
} }), d.style.opacity = "", m && (m.style.opacity = "");
|
|
6463
6501
|
}
|
|
6464
6502
|
function Ei(n) {
|
|
6465
6503
|
if (n.events.hasOwnProperty("touch")) return !1;
|
|
6466
|
-
var c, l, d,
|
|
6504
|
+
var c, l, d, u = te(), m = u.width, g = u.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1, F = !1, ee = !1, me = null, be = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, ka = 0, _a = 0, Li = document.getElementById("glightbox-slider"), At = document.querySelector(".goverlay"), Ri = new Ii(Li, { touchStart: function(Y) {
|
|
6467
6505
|
if (y = !0, (E(Y.targetTouches[0].target, "ginner-container") || M(Y.targetTouches[0].target, ".gslide-desc") || Y.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(Y.targetTouches[0].target, ".gslide-inline") && !E(Y.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
|
|
6468
|
-
if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY,
|
|
6506
|
+
if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, ka = Y.targetTouches[0].clientX, _a = Y.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), I = null, E(S, "gslide-image") && (I = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(At, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
|
|
6469
6507
|
Y.preventDefault();
|
|
6470
6508
|
}
|
|
6471
6509
|
}, touchMove: function(Y) {
|
|
6472
6510
|
if (y && (Se = Y.targetTouches[0], !F && !ee)) {
|
|
6473
6511
|
if (d && d.offsetHeight > g) {
|
|
6474
|
-
var
|
|
6475
|
-
if (Math.abs(
|
|
6512
|
+
var fe = _e.pageX - Se.pageX;
|
|
6513
|
+
if (Math.abs(fe) <= 13) return !1;
|
|
6476
6514
|
}
|
|
6477
6515
|
$ = !0;
|
|
6478
|
-
var Ue, Mt = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi =
|
|
6516
|
+
var Ue, Mt = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi = ka - Mt, Bi = _a - zi;
|
|
6479
6517
|
if (Math.abs(Oi) > Math.abs(Bi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && I && (Ue = 1 - Math.abs(l) / g, At.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !I) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
|
|
6480
6518
|
C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
|
|
6481
6519
|
}
|
|
6482
6520
|
}, touchEnd: function() {
|
|
6483
6521
|
if (y) {
|
|
6484
6522
|
if ($ = !1, ee || F) return Le = me, void (oe = be);
|
|
6485
|
-
var Y = Math.abs(parseInt(ze)),
|
|
6486
|
-
if (!(Y > 29 && I)) return Y < 29 &&
|
|
6523
|
+
var Y = Math.abs(parseInt(ze)), fe = Math.abs(parseInt(Re));
|
|
6524
|
+
if (!(Y > 29 && I)) return Y < 29 && fe < 25 ? (_(At, "greset"), At.style.opacity = 1, Wt(S)) : void 0;
|
|
6487
6525
|
n.close();
|
|
6488
6526
|
}
|
|
6489
6527
|
}, multipointEnd: function() {
|
|
@@ -6495,14 +6533,14 @@ function Js() {
|
|
|
6495
6533
|
}, pinch: function(Y) {
|
|
6496
6534
|
if (!I || $) return !1;
|
|
6497
6535
|
F = !0, I.scaleX = I.scaleY = B * Y.zoom;
|
|
6498
|
-
var
|
|
6499
|
-
if (ee = !0,
|
|
6500
|
-
|
|
6536
|
+
var fe = B * Y.zoom;
|
|
6537
|
+
if (ee = !0, fe <= 1) return ee = !1, fe = 1, oe = null, Le = null, me = null, be = null, void I.setAttribute("style", "");
|
|
6538
|
+
fe > 4.5 && (fe = 4.5), I.style.transform = "scale3d(".concat(fe, ", ").concat(fe, ", 1)"), q = fe;
|
|
6501
6539
|
}, pressMove: function(Y) {
|
|
6502
6540
|
if (ee && !F) {
|
|
6503
|
-
var
|
|
6504
|
-
Le && (
|
|
6505
|
-
var Mt = "translate3d(".concat(
|
|
6541
|
+
var fe = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
|
|
6542
|
+
Le && (fe += Le), oe && (Ue += oe), me = fe, be = Ue;
|
|
6543
|
+
var Mt = "translate3d(".concat(fe, "px, ").concat(Ue, "px, 0)");
|
|
6506
6544
|
q && (Mt += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Mt);
|
|
6507
6545
|
}
|
|
6508
6546
|
}, swipe: function(Y) {
|
|
@@ -6520,7 +6558,7 @@ function Js() {
|
|
|
6520
6558
|
} });
|
|
6521
6559
|
n.events.touch = Ri;
|
|
6522
6560
|
}
|
|
6523
|
-
var
|
|
6561
|
+
var va = ge(), wa = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, xa = document.getElementsByTagName("html")[0], $i = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
|
|
6524
6562
|
<div class="gslide-inner-content">
|
|
6525
6563
|
<div class="ginner-container">
|
|
6526
6564
|
<div class="gslide-media">
|
|
@@ -6560,12 +6598,12 @@ function Js() {
|
|
|
6560
6598
|
d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), ue(l) && (l = this.getElementIndex(n)) < 0 && (l = 0);
|
|
6561
6599
|
}
|
|
6562
6600
|
_t(l) || (l = 0), this.build(), L(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
|
|
6563
|
-
var
|
|
6601
|
+
var u = document.body, m = window.innerWidth - document.documentElement.clientWidth;
|
|
6564
6602
|
if (m > 0) {
|
|
6565
6603
|
var g = document.createElement("style");
|
|
6566
|
-
g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(
|
|
6604
|
+
g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(u, "gscrollbar-fixer");
|
|
6567
6605
|
}
|
|
6568
|
-
_(
|
|
6606
|
+
_(u, "glightbox-open"), _(xa, "glightbox-open"), va && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), j(this.settings.onOpen) && this.settings.onOpen(), wa && this.settings.touchNavigation && Ei(this), this.settings.keyboardNavigation && wi(this);
|
|
6569
6607
|
} }, { key: "openAt", value: function() {
|
|
6570
6608
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
|
|
6571
6609
|
this.open(null, n);
|
|
@@ -6574,23 +6612,23 @@ function Js() {
|
|
|
6574
6612
|
Z(this.loader), this.index = parseInt(c);
|
|
6575
6613
|
var d = this.slidesContainer.querySelector(".current");
|
|
6576
6614
|
d && P(d, "current"), this.slideAnimateOut();
|
|
6577
|
-
var
|
|
6578
|
-
if (E(
|
|
6615
|
+
var u = this.slidesContainer.querySelectorAll(".gslide")[c];
|
|
6616
|
+
if (E(u, "loaded")) this.slideAnimateIn(u, l), N(this.loader);
|
|
6579
6617
|
else {
|
|
6580
6618
|
Z(this.loader);
|
|
6581
|
-
var m = this.elements[c], g = { index: this.index, slide:
|
|
6582
|
-
this.trigger("slide_before_load", g), m.instance.setContent(
|
|
6583
|
-
N(n.loader), n.resize(), n.slideAnimateIn(
|
|
6619
|
+
var m = this.elements[c], g = { index: this.index, slide: u, slideNode: u, slideConfig: m.slideConfig, slideIndex: this.index, trigger: m.node, player: null };
|
|
6620
|
+
this.trigger("slide_before_load", g), m.instance.setContent(u, (function() {
|
|
6621
|
+
N(n.loader), n.resize(), n.slideAnimateIn(u, l), n.trigger("slide_after_load", g);
|
|
6584
6622
|
}));
|
|
6585
6623
|
}
|
|
6586
|
-
this.slideDescription =
|
|
6624
|
+
this.slideDescription = u.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && E(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = u;
|
|
6587
6625
|
} }, { key: "preloadSlide", value: function(n) {
|
|
6588
6626
|
var c = this;
|
|
6589
6627
|
if (n < 0 || n > this.elements.length - 1 || ue(this.elements[n])) return !1;
|
|
6590
6628
|
var l = this.slidesContainer.querySelectorAll(".gslide")[n];
|
|
6591
6629
|
if (E(l, "loaded")) return !1;
|
|
6592
|
-
var d = this.elements[n],
|
|
6593
|
-
this.trigger("slide_before_load", m),
|
|
6630
|
+
var d = this.elements[n], u = d.type, m = { index: n, slide: l, slideNode: l, slideConfig: d.slideConfig, slideIndex: n, trigger: d.node, player: null };
|
|
6631
|
+
this.trigger("slide_before_load", m), u === "video" || u === "external" ? setTimeout((function() {
|
|
6594
6632
|
d.instance.setContent(l, (function() {
|
|
6595
6633
|
c.trigger("slide_after_load", m);
|
|
6596
6634
|
}));
|
|
@@ -6608,8 +6646,8 @@ function Js() {
|
|
|
6608
6646
|
} }, { key: "insertSlide", value: function() {
|
|
6609
6647
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
|
|
6610
6648
|
c < 0 && (c = this.elements.length);
|
|
6611
|
-
var l = new St(n, this, c), d = l.getConfig(),
|
|
6612
|
-
|
|
6649
|
+
var l = new St(n, this, c), d = l.getConfig(), u = p({}, d), m = l.create(), g = this.elements.length - 1;
|
|
6650
|
+
u.index = c, u.node = !1, u.instance = l, u.slideConfig = d, this.elements.splice(c, 0, u);
|
|
6613
6651
|
var y = null, A = null;
|
|
6614
6652
|
if (this.slidesContainer) {
|
|
6615
6653
|
if (c > g) this.slidesContainer.appendChild(m);
|
|
@@ -6617,23 +6655,23 @@ function Js() {
|
|
|
6617
6655
|
var S = this.slidesContainer.querySelectorAll(".gslide")[c];
|
|
6618
6656
|
this.slidesContainer.insertBefore(m, S);
|
|
6619
6657
|
}
|
|
6620
|
-
(this.settings.preload && this.index == 0 && c == 0 || this.index - 1 == c || this.index + 1 == c) && this.preloadSlide(c), this.index === 0 && c === 0 && (this.index = 1), this.updateNavigationClasses(), y = this.slidesContainer.querySelectorAll(".gslide")[c], A = this.getSlidePlayerInstance(c),
|
|
6658
|
+
(this.settings.preload && this.index == 0 && c == 0 || this.index - 1 == c || this.index + 1 == c) && this.preloadSlide(c), this.index === 0 && c === 0 && (this.index = 1), this.updateNavigationClasses(), y = this.slidesContainer.querySelectorAll(".gslide")[c], A = this.getSlidePlayerInstance(c), u.slideNode = y;
|
|
6621
6659
|
}
|
|
6622
|
-
this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }),
|
|
6660
|
+
this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }), j(this.settings.slideInserted) && this.settings.slideInserted({ index: c, slide: y, player: A });
|
|
6623
6661
|
} }, { key: "removeSlide", value: function() {
|
|
6624
6662
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
|
|
6625
6663
|
if (n < 0 || n > this.elements.length - 1) return !1;
|
|
6626
6664
|
var c = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[n];
|
|
6627
|
-
c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n),
|
|
6665
|
+
c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n), j(this.settings.slideRemoved) && this.settings.slideRemoved(n);
|
|
6628
6666
|
} }, { key: "slideAnimateIn", value: function(n, c) {
|
|
6629
|
-
var l = this, d = n.querySelector(".gslide-media"),
|
|
6630
|
-
if (d.offsetWidth > 0 &&
|
|
6631
|
-
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }),
|
|
6667
|
+
var l = this, d = n.querySelector(".gslide-media"), u = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, g = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
|
|
6668
|
+
if (d.offsetWidth > 0 && u && (N(u), u.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
|
|
6669
|
+
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), j(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
|
|
6632
6670
|
}));
|
|
6633
6671
|
else {
|
|
6634
6672
|
var y = this.settings.slideEffect, A = y !== "none" ? this.settings.cssEfects[y].in : y;
|
|
6635
6673
|
this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (A = this.settings.cssEfects.slideBack.in), L(n, A, (function() {
|
|
6636
|
-
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }),
|
|
6674
|
+
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), j(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
|
|
6637
6675
|
}));
|
|
6638
6676
|
}
|
|
6639
6677
|
setTimeout((function() {
|
|
@@ -6644,9 +6682,9 @@ function Js() {
|
|
|
6644
6682
|
var n = this.prevActiveSlide;
|
|
6645
6683
|
P(n, this.effectsClasses), _(n, "prev");
|
|
6646
6684
|
var c = this.settings.slideEffect, l = c !== "none" ? this.settings.cssEfects[c].out : c;
|
|
6647
|
-
this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }),
|
|
6648
|
-
var d = n.querySelector(".ginner-container"),
|
|
6649
|
-
d.style.transform = "",
|
|
6685
|
+
this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), j(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (l = this.settings.cssEfects.slideBack.out), L(n, l, (function() {
|
|
6686
|
+
var d = n.querySelector(".ginner-container"), u = n.querySelector(".gslide-media"), m = n.querySelector(".gslide-description");
|
|
6687
|
+
d.style.transform = "", u.style.transform = "", P(u, "greset"), u.style.opacity = "", m && (m.style.opacity = ""), P(n, "prev");
|
|
6650
6688
|
}));
|
|
6651
6689
|
} }, { key: "getAllPlayers", value: function() {
|
|
6652
6690
|
return this.videoPlayers;
|
|
@@ -6678,7 +6716,7 @@ function Js() {
|
|
|
6678
6716
|
l && !l.playing && l.play();
|
|
6679
6717
|
} }, { key: "slidePlayerPlay", value: function(n) {
|
|
6680
6718
|
var c;
|
|
6681
|
-
if (!
|
|
6719
|
+
if (!va || (c = this.settings.plyr.config) !== null && c !== void 0 && c.muted) {
|
|
6682
6720
|
if (U(n)) {
|
|
6683
6721
|
var l = n.querySelector(".gvideo-wrapper");
|
|
6684
6722
|
l && (n = l.getAttribute("data-index"));
|
|
@@ -6690,9 +6728,9 @@ function Js() {
|
|
|
6690
6728
|
var c = this;
|
|
6691
6729
|
this.settings.elements = !1;
|
|
6692
6730
|
var l = [];
|
|
6693
|
-
n && n.length && v(n, (function(d,
|
|
6694
|
-
var m = new St(d, c,
|
|
6695
|
-
y.slideConfig = g, y.instance = m, y.index =
|
|
6731
|
+
n && n.length && v(n, (function(d, u) {
|
|
6732
|
+
var m = new St(d, c, u), g = m.getConfig(), y = p({}, g);
|
|
6733
|
+
y.slideConfig = g, y.instance = m, y.index = u, l.push(y);
|
|
6696
6734
|
})), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
|
|
6697
6735
|
var d = X(c.settings.slideHTML);
|
|
6698
6736
|
c.slidesContainer.appendChild(d);
|
|
@@ -6704,14 +6742,14 @@ function Js() {
|
|
|
6704
6742
|
})), c;
|
|
6705
6743
|
} }, { key: "getElements", value: function() {
|
|
6706
6744
|
var n = this, c = [];
|
|
6707
|
-
this.elements = this.elements ? this.elements : [], !ue(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d,
|
|
6708
|
-
var m = new St(d, n,
|
|
6709
|
-
y.node = !1, y.index =
|
|
6745
|
+
this.elements = this.elements ? this.elements : [], !ue(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d, u) {
|
|
6746
|
+
var m = new St(d, n, u), g = m.getConfig(), y = p({}, g);
|
|
6747
|
+
y.node = !1, y.index = u, y.instance = m, y.slideConfig = g, c.push(y);
|
|
6710
6748
|
}));
|
|
6711
6749
|
var l = !1;
|
|
6712
|
-
return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d,
|
|
6713
|
-
var m = new St(d, n,
|
|
6714
|
-
y.node = d, y.index =
|
|
6750
|
+
return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d, u) {
|
|
6751
|
+
var m = new St(d, n, u), g = m.getConfig(), y = p({}, g);
|
|
6752
|
+
y.node = d, y.index = u, y.instance = m, y.slideConfig = g, y.gallery = d.getAttribute("data-gallery"), c.push(y);
|
|
6715
6753
|
})), c;
|
|
6716
6754
|
} }, { key: "getGalleryElements", value: function(n, c) {
|
|
6717
6755
|
return n.filter((function(l) {
|
|
@@ -6737,8 +6775,8 @@ function Js() {
|
|
|
6737
6775
|
v(c, (function(S) {
|
|
6738
6776
|
S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
|
|
6739
6777
|
}));
|
|
6740
|
-
var d = se(this.settings.svg, "next") ? this.settings.svg.next : "",
|
|
6741
|
-
g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g,
|
|
6778
|
+
var d = se(this.settings.svg, "next") ? this.settings.svg.next : "", u = se(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = se(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
|
|
6779
|
+
g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, u)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
|
|
6742
6780
|
var y = document.getElementById("glightbox-body");
|
|
6743
6781
|
this.modal = y;
|
|
6744
6782
|
var A = y.querySelector(".gclose");
|
|
@@ -6752,20 +6790,20 @@ function Js() {
|
|
|
6752
6790
|
n.preventOutsideClick || E(document.body, "glightbox-mobile") || M(S.target, ".ginner-container") || M(S.target, ".gbtn") || E(S.target, "gnext") || E(S.target, "gprev") || n.close();
|
|
6753
6791
|
} })), v(this.elements, (function(S, I) {
|
|
6754
6792
|
n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[I];
|
|
6755
|
-
})),
|
|
6793
|
+
})), wa && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
|
|
6756
6794
|
n.resize();
|
|
6757
6795
|
} }), this.built = !0;
|
|
6758
6796
|
} }, { key: "resize", value: function() {
|
|
6759
6797
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
|
|
6760
6798
|
if ((n = n || this.activeSlide) && !E(n, "zoomed")) {
|
|
6761
|
-
var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"),
|
|
6799
|
+
var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), u = this.slideDescription, m = c.width, g = c.height;
|
|
6762
6800
|
if (m <= 768 ? _(document.body, "glightbox-mobile") : P(document.body, "glightbox-mobile"), l || d) {
|
|
6763
6801
|
var y = !1;
|
|
6764
|
-
if (
|
|
6802
|
+
if (u && (E(u, "description-bottom") || E(u, "description-top")) && !E(u, "gabsolute") && (y = !0), d) {
|
|
6765
6803
|
if (m <= 768) d.querySelector("img");
|
|
6766
6804
|
else if (y) {
|
|
6767
|
-
var A, S, I =
|
|
6768
|
-
B && (q = (S = B.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(I, "px)")),
|
|
6805
|
+
var A, S, I = u.offsetHeight, $ = d.querySelector("img"), B = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
|
|
6806
|
+
B && (q = (S = B.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(I, "px)")), u.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
|
|
6769
6807
|
}
|
|
6770
6808
|
}
|
|
6771
6809
|
if (l) {
|
|
@@ -6775,10 +6813,10 @@ function Js() {
|
|
|
6775
6813
|
F = "".concat(ee / be, ":").concat(me / be);
|
|
6776
6814
|
}
|
|
6777
6815
|
var Le = F.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = _t(oe) || oe.indexOf("px") !== -1 ? parseInt(oe) : oe.indexOf("vw") !== -1 ? m * parseInt(oe) / 100 : oe.indexOf("vh") !== -1 ? g * parseInt(oe) / 100 : oe.indexOf("%") !== -1 ? m * parseInt(oe) / 100 : parseInt(l.clientWidth)) / (parseInt(Le[0]) / parseInt(Le[1]));
|
|
6778
|
-
if (ze = Math.floor(ze), y && (g -=
|
|
6816
|
+
if (ze = Math.floor(ze), y && (g -= u.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
|
|
6779
6817
|
var ht = l.offsetWidth, rt = l.offsetHeight, _e = g / rt, Se = { width: ht * _e, height: rt * _e };
|
|
6780
|
-
l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y &&
|
|
6781
|
-
} else l.parentNode.style.maxWidth = "".concat(oe), y &&
|
|
6818
|
+
l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y && u.setAttribute("style", "max-width: ".concat(Se.width, "px;"));
|
|
6819
|
+
} else l.parentNode.style.maxWidth = "".concat(oe), y && u.setAttribute("style", "max-width: ".concat(oe, ";"));
|
|
6782
6820
|
}
|
|
6783
6821
|
}
|
|
6784
6822
|
}
|
|
@@ -6808,25 +6846,25 @@ function Js() {
|
|
|
6808
6846
|
n.events = null;
|
|
6809
6847
|
}
|
|
6810
6848
|
var d = document.body;
|
|
6811
|
-
P(
|
|
6812
|
-
var
|
|
6813
|
-
|
|
6849
|
+
P(xa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), j(n.settings.onClose) && n.settings.onClose();
|
|
6850
|
+
var u = document.querySelector(".gcss-styles");
|
|
6851
|
+
u && u.parentNode.removeChild(u), n.lightboxOpen = !1, n.closing = null;
|
|
6814
6852
|
}));
|
|
6815
6853
|
} }, { key: "destroy", value: function() {
|
|
6816
6854
|
this.close(), this.clearAllEvents(), this.baseEvents && this.baseEvents.destroy();
|
|
6817
6855
|
} }, { key: "on", value: function(n, c) {
|
|
6818
6856
|
var l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
|
|
6819
|
-
if (!n || !
|
|
6857
|
+
if (!n || !j(c)) throw new TypeError("Event name and callback must be defined");
|
|
6820
6858
|
this.apiEvents.push({ evt: n, once: l, callback: c });
|
|
6821
6859
|
} }, { key: "once", value: function(n, c) {
|
|
6822
6860
|
this.on(n, c, !0);
|
|
6823
6861
|
} }, { key: "trigger", value: function(n) {
|
|
6824
6862
|
var c = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, d = [];
|
|
6825
|
-
v(this.apiEvents, (function(
|
|
6826
|
-
var g =
|
|
6863
|
+
v(this.apiEvents, (function(u, m) {
|
|
6864
|
+
var g = u.evt, y = u.once, A = u.callback;
|
|
6827
6865
|
g == n && (A(l), y && d.push(m));
|
|
6828
|
-
})), d.length && v(d, (function(
|
|
6829
|
-
return c.apiEvents.splice(
|
|
6866
|
+
})), d.length && v(d, (function(u) {
|
|
6867
|
+
return c.apiEvents.splice(u, 1);
|
|
6830
6868
|
}));
|
|
6831
6869
|
} }, { key: "clearAllEvents", value: function() {
|
|
6832
6870
|
this.apiEvents.splice(0, this.apiEvents.length);
|
|
@@ -6847,12 +6885,12 @@ var en = Object.getOwnPropertyDescriptor, tn = (a, e, t, i) => {
|
|
|
6847
6885
|
(o = a[r]) && (s = o(s) || s);
|
|
6848
6886
|
return s;
|
|
6849
6887
|
};
|
|
6850
|
-
let
|
|
6888
|
+
let ea = class extends Fe {
|
|
6851
6889
|
render() {
|
|
6852
6890
|
return b` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
|
|
6853
6891
|
}
|
|
6854
6892
|
};
|
|
6855
|
-
|
|
6893
|
+
ea.styles = K`
|
|
6856
6894
|
.cb-thinking {
|
|
6857
6895
|
text-align: center;
|
|
6858
6896
|
}
|
|
@@ -6890,9 +6928,9 @@ Qt.styles = K`
|
|
|
6890
6928
|
}
|
|
6891
6929
|
}
|
|
6892
6930
|
`;
|
|
6893
|
-
|
|
6931
|
+
ea = tn([
|
|
6894
6932
|
J("cb-thinking")
|
|
6895
|
-
],
|
|
6933
|
+
], ea);
|
|
6896
6934
|
var an = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, ti = (a, e, t, i) => {
|
|
6897
6935
|
for (var s = i > 1 ? void 0 : i ? sn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6898
6936
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
@@ -6959,7 +6997,7 @@ const nn = K`
|
|
|
6959
6997
|
margin-right: 0.2em;
|
|
6960
6998
|
}
|
|
6961
6999
|
`;
|
|
6962
|
-
var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor,
|
|
7000
|
+
var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor, la = (a, e, t, i) => {
|
|
6963
7001
|
for (var s = i > 1 ? void 0 : i ? on(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6964
7002
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6965
7003
|
return i && s && rn(e, t, s), s;
|
|
@@ -7009,17 +7047,17 @@ yt.styles = K`
|
|
|
7009
7047
|
text-decoration: underline;
|
|
7010
7048
|
}
|
|
7011
7049
|
`;
|
|
7012
|
-
|
|
7050
|
+
la([
|
|
7013
7051
|
x({ type: String })
|
|
7014
7052
|
], yt.prototype, "url", 2);
|
|
7015
|
-
|
|
7053
|
+
la([
|
|
7016
7054
|
x({ type: Boolean })
|
|
7017
7055
|
], yt.prototype, "inverse", 2);
|
|
7018
|
-
yt =
|
|
7056
|
+
yt = la([
|
|
7019
7057
|
J("cb-external-link")
|
|
7020
7058
|
], yt);
|
|
7021
7059
|
const cn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', ln = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m1.217-1.333v3.999h1.46q.602 0 .998-.237a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.589-.68q-.396-.234-1.005-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082h-.563zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638z"/></svg>', dn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459q.609 0 1.005.234t.589.68q.195.445.196 1.075q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562q.279 0 .484-.082a.8.8 0 0 0 .334-.252a1.1 1.1 0 0 0 .196-.422q.067-.252.067-.592a2.1 2.1 0 0 0-.117-.753a.9.9 0 0 0-.354-.454q-.238-.152-.61-.152"/></svg>', fn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823q.195.162.478.252q.284.091.665.091q.507 0 .859-.158q.354-.158.539-.44q.187-.284.187-.656q0-.336-.134-.56a1 1 0 0 0-.375-.357a2 2 0 0 0-.566-.21l-.621-.144a1 1 0 0 1-.404-.176a.37.37 0 0 1-.144-.299q0-.234.185-.384q.188-.152.512-.152q.214 0 .37.068a.6.6 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566a1.2 1.2 0 0 0-.5-.41a1.8 1.8 0 0 0-.78-.152q-.439 0-.776.15q-.337.149-.527.421q-.19.273-.19.639q0 .302.122.524q.124.223.352.367q.228.143.539.213l.618.144q.31.073.463.193a.39.39 0 0 1 .152.326a.5.5 0 0 1-.085.29a.56.56 0 0 1-.255.193q-.167.07-.413.07q-.175 0-.32-.04a.8.8 0 0 1-.248-.115a.58.58 0 0 1-.255-.384zM.806 13.693q0-.373.102-.633a.87.87 0 0 1 .302-.399a.8.8 0 0 1 .475-.137q.225 0 .398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.489-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.572.632q-.195.41-.196.979v.498q0 .568.193.976q.197.407.572.626q.375.217.914.217q.439 0 .785-.164t.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.8.8 0 0 1-.118.363a.7.7 0 0 1-.272.25a.9.9 0 0 1-.401.087a.85.85 0 0 1-.478-.132a.83.83 0 0 1-.299-.392a1.7 1.7 0 0 1-.102-.627zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879z"/></svg>', hn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m2.817-1.333h-1.6v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474q.162-.302.161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H4.15V12.48h.66q.327 0 .512.181q.185.183.185.522m2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662z"/></svg>', un = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522q0 .384-.117.641a.86.86 0 0 1-.322.387a.9.9 0 0 1-.469.126a.9.9 0 0 1-.471-.126a.87.87 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522q0-.386.117-.641a.87.87 0 0 1 .32-.387a.87.87 0 0 1 .471-.129q.264 0 .469.13a.86.86 0 0 1 .322.386q.117.255.117.641m.803.519v-.513q0-.565-.205-.972a1.46 1.46 0 0 0-.589-.63q-.381-.22-.917-.22q-.533 0-.92.22a1.44 1.44 0 0 0-.589.627q-.204.406-.205.975v.513q0 .563.205.973q.205.406.59.627q.386.216.92.216q.535 0 .916-.216q.383-.22.59-.627q.204-.41.204-.973M0 11.926v4h1.459q.603 0 .999-.238a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.59-.68q-.395-.234-1.004-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082H.79V12.57Zm7.422.483a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.393a.85.85 0 0 0 .478.131a.9.9 0 0 0 .401-.088a.7.7 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.27 1.27 0 0 1-.226.674q-.205.29-.55.454a1.8 1.8 0 0 1-.786.164q-.54 0-.914-.216a1.4 1.4 0 0 1-.571-.627q-.194-.408-.194-.976v-.498q0-.568.197-.978q.195-.411.571-.633q.378-.223.911-.223q.328 0 .607.097q.28.093.489.272a1.33 1.33 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.8.8 0 0 0-.398-.097a.8.8 0 0 0-.475.138a.87.87 0 0 0-.301.398"/></svg>', bn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.5 1.5 0 0 0-.117-.641a.86.86 0 0 0-.322-.387a.86.86 0 0 0-.469-.129a.87.87 0 0 0-.471.13a.87.87 0 0 0-.32.386a1.5 1.5 0 0 0-.117.641v.522q0 .384.117.641a.87.87 0 0 0 .32.387a.9.9 0 0 0 .471.126a.9.9 0 0 0 .469-.126a.86.86 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642m.803-.516v.513q0 .563-.205.973a1.47 1.47 0 0 1-.589.627q-.381.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.46 1.46 0 0 1-.589-.627a2.15 2.15 0 0 1-.205-.973v-.513q0-.569.205-.975q.205-.411.59-.627q.386-.22.92-.22q.535 0 .916.22q.383.219.59.63q.204.406.204.972M1 15.925v-3.999h1.459q.609 0 1.005.235q.396.233.589.68q.196.445.196 1.074q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-.999.237zm1.354-3.354H1.79v2.707h.563q.277 0 .483-.082a.8.8 0 0 0 .334-.252q.132-.17.196-.422a2.3 2.3 0 0 0 .068-.592q0-.45-.118-.753a.9.9 0 0 0-.354-.454q-.237-.152-.61-.152Zm6.756 1.116q0-.373.103-.633a.87.87 0 0 1 .301-.398a.8.8 0 0 1 .475-.138q.225 0 .398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.49-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.571.633q-.197.41-.197.978v.498q0 .568.194.976q.195.406.571.627q.375.216.914.216q.44 0 .785-.164t.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.7.7 0 0 1-.273.248a.9.9 0 0 1-.401.088a.85.85 0 0 1-.478-.131a.83.83 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035z"/></svg>';
|
|
7022
|
-
var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor,
|
|
7060
|
+
var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor, da = (a, e, t, i) => {
|
|
7023
7061
|
for (var s = i > 1 ? void 0 : i ? gn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
7024
7062
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
7025
7063
|
return i && s && pn(e, t, s), s;
|
|
@@ -7063,13 +7101,13 @@ let vt = class extends re {
|
|
|
7063
7101
|
}
|
|
7064
7102
|
};
|
|
7065
7103
|
vt.styles = nn;
|
|
7066
|
-
|
|
7104
|
+
da([
|
|
7067
7105
|
x({ type: String })
|
|
7068
7106
|
], vt.prototype, "filename", 2);
|
|
7069
|
-
|
|
7107
|
+
da([
|
|
7070
7108
|
x({ type: String })
|
|
7071
7109
|
], vt.prototype, "url", 2);
|
|
7072
|
-
vt =
|
|
7110
|
+
vt = da([
|
|
7073
7111
|
J("cb-file")
|
|
7074
7112
|
], vt);
|
|
7075
7113
|
const mn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z"/></g></svg>', Ra = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', ai = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z"/></svg>', ii = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31l.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z"/></svg>', yn = K`
|
|
@@ -8559,7 +8597,7 @@ var xn = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, nt = (a, e
|
|
|
8559
8597
|
};
|
|
8560
8598
|
let De = class extends re {
|
|
8561
8599
|
constructor() {
|
|
8562
|
-
super(...arguments), this.store = new it(this,
|
|
8600
|
+
super(...arguments), this.store = new it(this, h), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Qs({
|
|
8563
8601
|
touchNavigation: !0,
|
|
8564
8602
|
loop: !0,
|
|
8565
8603
|
autoplayVideos: !0,
|
|
@@ -8690,7 +8728,7 @@ let De = class extends re {
|
|
|
8690
8728
|
}
|
|
8691
8729
|
renderInfoMessageAvatar(a) {
|
|
8692
8730
|
const e = a.data?.userAvatar || "";
|
|
8693
|
-
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(
|
|
8731
|
+
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(h.setting.infoIconSvg)}`;
|
|
8694
8732
|
}
|
|
8695
8733
|
renderMessage(a, e = "bot-message-content") {
|
|
8696
8734
|
return b`
|
|
@@ -8746,9 +8784,9 @@ let De = class extends re {
|
|
|
8746
8784
|
renderBotMessageAvatar(a) {
|
|
8747
8785
|
if (a.data.userName && a.data.userName !== "") {
|
|
8748
8786
|
const e = a.data?.userAvatar || "";
|
|
8749
|
-
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(
|
|
8787
|
+
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(h.setting.agentIconSvg)}`;
|
|
8750
8788
|
}
|
|
8751
|
-
return a.author === "system" ? pe`${G(
|
|
8789
|
+
return a.author === "system" ? pe`${G(h.setting.systemIconSvg)}` : pe`${G(h.setting.botIconSvg)}`;
|
|
8752
8790
|
}
|
|
8753
8791
|
renderBotMessage(a) {
|
|
8754
8792
|
return b`
|
|
@@ -8760,7 +8798,7 @@ let De = class extends re {
|
|
|
8760
8798
|
`;
|
|
8761
8799
|
}
|
|
8762
8800
|
renderBotMessageFeedback(a) {
|
|
8763
|
-
return this.suppressFeedback || !
|
|
8801
|
+
return this.suppressFeedback || !h.setting.feedbackEnabled || this.index < h.setting.startFeedbackFromMessage * 2 ? null : b`
|
|
8764
8802
|
<div class="cb-message-feedback-tools" part="feedback-wrapper">
|
|
8765
8803
|
<div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ai)}`}</div>
|
|
8766
8804
|
<div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ii)}`}</div>
|
|
@@ -8768,7 +8806,7 @@ let De = class extends re {
|
|
|
8768
8806
|
`;
|
|
8769
8807
|
}
|
|
8770
8808
|
startFeedback(a, e) {
|
|
8771
|
-
console.log("startFeedback", e),
|
|
8809
|
+
console.log("startFeedback", e), h.collectFeedback(a, e);
|
|
8772
8810
|
}
|
|
8773
8811
|
renderUserMessage(a) {
|
|
8774
8812
|
return b`
|
|
@@ -8778,14 +8816,14 @@ let De = class extends re {
|
|
|
8778
8816
|
//appState.appearanceUserMessageAvatarPosition
|
|
8779
8817
|
</sl-avatar>-->
|
|
8780
8818
|
${W(
|
|
8781
|
-
|
|
8819
|
+
h.appearanceUserMessageAvatarPosition === "left",
|
|
8782
8820
|
() => b`
|
|
8783
|
-
<div class="avatar user-avatar" part="user-avatar">${G(
|
|
8821
|
+
<div class="avatar user-avatar" part="user-avatar">${G(h.setting.userIconSvg)}</div>
|
|
8784
8822
|
${this.renderMessage(a, "user-message-content")}
|
|
8785
8823
|
`,
|
|
8786
8824
|
() => b`
|
|
8787
8825
|
${this.renderMessage(a, "user-message-content")}
|
|
8788
|
-
<div class="avatar user-avatar" part="user-avatar">${G(
|
|
8826
|
+
<div class="avatar user-avatar" part="user-avatar">${G(h.setting.userIconSvg)}</div>
|
|
8789
8827
|
`
|
|
8790
8828
|
)}
|
|
8791
8829
|
</div>
|
|
@@ -8801,14 +8839,14 @@ let De = class extends re {
|
|
|
8801
8839
|
//appState.appearanceUserMessageAvatarPosition
|
|
8802
8840
|
</sl-avatar>-->
|
|
8803
8841
|
${W(
|
|
8804
|
-
|
|
8842
|
+
h.appearanceUserMessageAvatarPosition === "left",
|
|
8805
8843
|
() => b`
|
|
8806
|
-
<div class="avatar user-avatar">${G(
|
|
8844
|
+
<div class="avatar user-avatar">${G(h.setting.userIconSvg)}</div>
|
|
8807
8845
|
${this.renderMessage(a, "user-message-content")}
|
|
8808
8846
|
`,
|
|
8809
8847
|
() => b`
|
|
8810
8848
|
${this.renderMessage(a, "user-message-content")}
|
|
8811
|
-
<div class="avatar user-avatar">${G(
|
|
8849
|
+
<div class="avatar user-avatar">${G(h.setting.userIconSvg)}</div>
|
|
8812
8850
|
`
|
|
8813
8851
|
)}
|
|
8814
8852
|
</div>
|
|
@@ -8886,11 +8924,11 @@ let ye = class extends re {
|
|
|
8886
8924
|
`;
|
|
8887
8925
|
}
|
|
8888
8926
|
renderDisclaimerMessage() {
|
|
8889
|
-
return !
|
|
8890
|
-
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${
|
|
8927
|
+
return !h.setting.disclaimerMessage || !h.isConversationStart() ? null : b`
|
|
8928
|
+
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${h.setting.enableShowFullDisclaimerMessage}>
|
|
8891
8929
|
<summary class="cb-disclaimer-message" part="disclaimer-message">
|
|
8892
8930
|
${bt(
|
|
8893
|
-
Ft(
|
|
8931
|
+
Ft(h.setting.disclaimerMessage).then((a) => b`${a}`)
|
|
8894
8932
|
)}
|
|
8895
8933
|
</summary>
|
|
8896
8934
|
</details>
|
|
@@ -8903,7 +8941,7 @@ let ye = class extends re {
|
|
|
8903
8941
|
this.form.fields,
|
|
8904
8942
|
(a, e) => e,
|
|
8905
8943
|
(a) => {
|
|
8906
|
-
const e = a?.required || !1, t =
|
|
8944
|
+
const e = a?.required || !1, t = h.getPrefilledFormFieldValue(a.name);
|
|
8907
8945
|
switch (a.type) {
|
|
8908
8946
|
case "name":
|
|
8909
8947
|
case "string":
|
|
@@ -8978,7 +9016,7 @@ let ye = class extends re {
|
|
|
8978
9016
|
return;
|
|
8979
9017
|
}
|
|
8980
9018
|
}
|
|
8981
|
-
|
|
9019
|
+
h.submitForm(e).then(() => {
|
|
8982
9020
|
Oe.info("Form submitted", e), this.emit("form:submit", {
|
|
8983
9021
|
detail: {
|
|
8984
9022
|
formData: e
|
|
@@ -9033,7 +9071,7 @@ let ye = class extends re {
|
|
|
9033
9071
|
switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
|
|
9034
9072
|
case "calendly.event_scheduled": {
|
|
9035
9073
|
const e = this.activeCalendlyAction;
|
|
9036
|
-
e >= 0 && (
|
|
9074
|
+
e >= 0 && (h.removeAction(e, !0, a.data), h.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
|
|
9037
9075
|
}
|
|
9038
9076
|
}
|
|
9039
9077
|
}
|
|
@@ -9094,7 +9132,7 @@ let ye = class extends re {
|
|
|
9094
9132
|
const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
|
|
9095
9133
|
if (t && i) {
|
|
9096
9134
|
const s = a.url + "?embed=true";
|
|
9097
|
-
i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"),
|
|
9135
|
+
i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), h.updateAction(a, {
|
|
9098
9136
|
triggered: e
|
|
9099
9137
|
});
|
|
9100
9138
|
}
|
|
@@ -9106,7 +9144,7 @@ let ye = class extends re {
|
|
|
9106
9144
|
return;
|
|
9107
9145
|
const t = this.activeHubspotMeetingAction;
|
|
9108
9146
|
if (t >= 0) {
|
|
9109
|
-
|
|
9147
|
+
h.removeAction(t, !0, a.data), h.addSystemMessage("Your meeting has been scheduled!"), this.activeHubspotMeetingAction = -1;
|
|
9110
9148
|
const i = document.getElementById("enegelai-bot-hubspot-meeting-container");
|
|
9111
9149
|
i && (i.style.display = "none");
|
|
9112
9150
|
}
|
|
@@ -9154,7 +9192,7 @@ let ye = class extends re {
|
|
|
9154
9192
|
`;
|
|
9155
9193
|
}
|
|
9156
9194
|
};
|
|
9157
|
-
ye.styles =
|
|
9195
|
+
ye.styles = js;
|
|
9158
9196
|
Te([
|
|
9159
9197
|
x({ type: Array })
|
|
9160
9198
|
], ye.prototype, "messages", 2);
|
|
@@ -9174,13 +9212,13 @@ Te([
|
|
|
9174
9212
|
xe(".cb-input-form")
|
|
9175
9213
|
], ye.prototype, "_inputForm", 2);
|
|
9176
9214
|
Te([
|
|
9177
|
-
|
|
9215
|
+
ra({ capture: !1, passive: !0 })
|
|
9178
9216
|
], ye.prototype, "invokeLinkAction", 1);
|
|
9179
9217
|
Te([
|
|
9180
|
-
|
|
9218
|
+
ra({ capture: !1, passive: !0 })
|
|
9181
9219
|
], ye.prototype, "invokeCalendlyAction", 1);
|
|
9182
9220
|
Te([
|
|
9183
|
-
|
|
9221
|
+
ra({ capture: !1, passive: !0 })
|
|
9184
9222
|
], ye.prototype, "invokeHubspotMeetingAction", 1);
|
|
9185
9223
|
ye = Te([
|
|
9186
9224
|
J("cb-message-list")
|
|
@@ -9227,7 +9265,7 @@ const Cn = K`
|
|
|
9227
9265
|
align-items: center;
|
|
9228
9266
|
margin: 6px 2px;
|
|
9229
9267
|
}
|
|
9230
|
-
`, si = '<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.76z"/></svg>', ni = '<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>', ri = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>',
|
|
9268
|
+
`, si = '<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.76z"/></svg>', ni = '<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>', ri = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', fa = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
|
|
9231
9269
|
var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e, t, i) => {
|
|
9232
9270
|
for (var s = i > 1 ? void 0 : i ? Mn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9233
9271
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
@@ -9235,7 +9273,7 @@ var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e
|
|
|
9235
9273
|
};
|
|
9236
9274
|
let ve = class extends re {
|
|
9237
9275
|
constructor() {
|
|
9238
|
-
super(...arguments), this.store = new it(this,
|
|
9276
|
+
super(...arguments), this.store = new it(this, h), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
|
|
9239
9277
|
}
|
|
9240
9278
|
connectedCallback() {
|
|
9241
9279
|
super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
|
|
@@ -9268,7 +9306,7 @@ let ve = class extends re {
|
|
|
9268
9306
|
});
|
|
9269
9307
|
}
|
|
9270
9308
|
async _sendFileHandler() {
|
|
9271
|
-
const a = await Xa(!1,
|
|
9309
|
+
const a = await Xa(!1, h.setting.fileUploadEnabledExtensions);
|
|
9272
9310
|
this.emit("message:send:file", {
|
|
9273
9311
|
detail: {
|
|
9274
9312
|
files: a
|
|
@@ -9305,8 +9343,8 @@ let ve = class extends re {
|
|
|
9305
9343
|
<div class="cb-input-buttons" part="user-input-buttons-wrapper">
|
|
9306
9344
|
<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>
|
|
9307
9345
|
${W(
|
|
9308
|
-
|
|
9309
|
-
() => b`<cb-icon part="user-input-send-icon" svg="${
|
|
9346
|
+
h.setting.sendIconSvg !== "",
|
|
9347
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${h.setting.sendIconSvg}"></cb-icon>`,
|
|
9310
9348
|
() => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
|
|
9311
9349
|
)}
|
|
9312
9350
|
</sl-button>
|
|
@@ -9315,8 +9353,8 @@ let ve = class extends re {
|
|
|
9315
9353
|
() => b`
|
|
9316
9354
|
<sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
|
|
9317
9355
|
${W(
|
|
9318
|
-
|
|
9319
|
-
() => b`<cb-icon part="user-input-attach-icon" svg="${
|
|
9356
|
+
h.setting.attachIconSvg !== "",
|
|
9357
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${h.setting.attachIconSvg}"></cb-icon>`,
|
|
9320
9358
|
() => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
|
|
9321
9359
|
)}
|
|
9322
9360
|
<!-- select file input -->
|
|
@@ -9330,8 +9368,8 @@ let ve = class extends re {
|
|
|
9330
9368
|
() => b`
|
|
9331
9369
|
<sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
|
|
9332
9370
|
${W(
|
|
9333
|
-
|
|
9334
|
-
() => b`<cb-icon svg="${
|
|
9371
|
+
h.webAudioStarted,
|
|
9372
|
+
() => b`<cb-icon svg="${fa}"></cb-icon>`,
|
|
9335
9373
|
() => b`<cb-icon svg="${ri}"></cb-icon>`
|
|
9336
9374
|
)}
|
|
9337
9375
|
</sl-button>
|
|
@@ -9443,7 +9481,7 @@ var $n = Object.defineProperty, Pn = Object.getOwnPropertyDescriptor, Ee = (a, e
|
|
|
9443
9481
|
};
|
|
9444
9482
|
let we = class extends re {
|
|
9445
9483
|
constructor() {
|
|
9446
|
-
super(...arguments), this.store = new it(this,
|
|
9484
|
+
super(...arguments), this.store = new it(this, h), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
|
|
9447
9485
|
}
|
|
9448
9486
|
connectedCallback() {
|
|
9449
9487
|
super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
|
|
@@ -9464,7 +9502,7 @@ let we = class extends re {
|
|
|
9464
9502
|
_ctrlHandler() {
|
|
9465
9503
|
if (this.value && this.value !== "")
|
|
9466
9504
|
return this._sendHandler();
|
|
9467
|
-
if (!
|
|
9505
|
+
if (!h.webAudioStarted)
|
|
9468
9506
|
return this._toggleAudioHandler();
|
|
9469
9507
|
}
|
|
9470
9508
|
_sendHandler() {
|
|
@@ -9482,7 +9520,7 @@ let we = class extends re {
|
|
|
9482
9520
|
});
|
|
9483
9521
|
}
|
|
9484
9522
|
async _sendFileHandler() {
|
|
9485
|
-
const a = await Xa(!1,
|
|
9523
|
+
const a = await Xa(!1, h.setting.fileUploadEnabledExtensions);
|
|
9486
9524
|
this.emit("message:send:file", {
|
|
9487
9525
|
detail: {
|
|
9488
9526
|
files: a
|
|
@@ -9511,13 +9549,13 @@ let we = class extends re {
|
|
|
9511
9549
|
}
|
|
9512
9550
|
}
|
|
9513
9551
|
async _toggleAudioHandler() {
|
|
9514
|
-
await
|
|
9552
|
+
await h.toggleAudio();
|
|
9515
9553
|
}
|
|
9516
9554
|
getCtrlIconSvg() {
|
|
9517
|
-
return this.value && this.value !== "" ||
|
|
9555
|
+
return this.value && this.value !== "" || h.webAudioStarted ? Oa : En;
|
|
9518
9556
|
}
|
|
9519
9557
|
getCtrlClass() {
|
|
9520
|
-
return this.value && this.value !== "" ? "" :
|
|
9558
|
+
return this.value && this.value !== "" ? "" : h.webAudioStarted || h.mediaStartAudioRequested ? "disabled" : "";
|
|
9521
9559
|
}
|
|
9522
9560
|
render() {
|
|
9523
9561
|
return b`
|
|
@@ -9585,8 +9623,8 @@ let we = class extends re {
|
|
|
9585
9623
|
<div class="cb-input-buttons" part="user-input-buttons-wrapper">
|
|
9586
9624
|
<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>
|
|
9587
9625
|
${W(
|
|
9588
|
-
|
|
9589
|
-
() => b`<cb-icon part="user-input-send-icon" svg="${
|
|
9626
|
+
h.setting.sendIconSvg !== "",
|
|
9627
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${h.setting.sendIconSvg}"></cb-icon>`,
|
|
9590
9628
|
() => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
|
|
9591
9629
|
)}
|
|
9592
9630
|
</sl-button>
|
|
@@ -9595,8 +9633,8 @@ let we = class extends re {
|
|
|
9595
9633
|
() => b`
|
|
9596
9634
|
<sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
|
|
9597
9635
|
${W(
|
|
9598
|
-
|
|
9599
|
-
() => b`<cb-icon part="user-input-attach-icon" svg="${
|
|
9636
|
+
h.setting.attachIconSvg !== "",
|
|
9637
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${h.setting.attachIconSvg}"></cb-icon>`,
|
|
9600
9638
|
() => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
|
|
9601
9639
|
)}
|
|
9602
9640
|
<!-- select file input -->
|
|
@@ -9610,8 +9648,8 @@ let we = class extends re {
|
|
|
9610
9648
|
() => b`
|
|
9611
9649
|
<sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
|
|
9612
9650
|
${W(
|
|
9613
|
-
|
|
9614
|
-
() => b`<cb-icon svg="${
|
|
9651
|
+
h.webAudioStarted,
|
|
9652
|
+
() => b`<cb-icon svg="${fa}"></cb-icon>`,
|
|
9615
9653
|
() => b`<cb-icon svg="${ri}"></cb-icon>`
|
|
9616
9654
|
)}
|
|
9617
9655
|
</sl-button>
|
|
@@ -9759,7 +9797,7 @@ var On = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, ci = (a, e
|
|
|
9759
9797
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9760
9798
|
return i && s && On(e, t, s), s;
|
|
9761
9799
|
};
|
|
9762
|
-
let
|
|
9800
|
+
let Ht = class extends re {
|
|
9763
9801
|
constructor() {
|
|
9764
9802
|
super(...arguments), this.open = !1;
|
|
9765
9803
|
}
|
|
@@ -9793,7 +9831,7 @@ let jt = class extends re {
|
|
|
9793
9831
|
this.emit("cancel");
|
|
9794
9832
|
}
|
|
9795
9833
|
};
|
|
9796
|
-
|
|
9834
|
+
Ht.styles = K`
|
|
9797
9835
|
.cb-clear-message-dialog {
|
|
9798
9836
|
}
|
|
9799
9837
|
|
|
@@ -9803,10 +9841,10 @@ jt.styles = K`
|
|
|
9803
9841
|
`;
|
|
9804
9842
|
ci([
|
|
9805
9843
|
x({ type: Boolean })
|
|
9806
|
-
],
|
|
9807
|
-
|
|
9844
|
+
], Ht.prototype, "open", 2);
|
|
9845
|
+
Ht = ci([
|
|
9808
9846
|
J("cb-clear-message-dialog")
|
|
9809
|
-
],
|
|
9847
|
+
], Ht);
|
|
9810
9848
|
const qn = K`
|
|
9811
9849
|
:host {
|
|
9812
9850
|
// width: 380px;
|
|
@@ -10010,7 +10048,7 @@ dt([
|
|
|
10010
10048
|
Xe = dt([
|
|
10011
10049
|
J("cb-setting")
|
|
10012
10050
|
], Xe);
|
|
10013
|
-
const
|
|
10051
|
+
const Hn = K`
|
|
10014
10052
|
${ke}
|
|
10015
10053
|
:host {
|
|
10016
10054
|
--primary-color: var(--sl-color-primary-600);
|
|
@@ -10128,14 +10166,14 @@ const jn = K`
|
|
|
10128
10166
|
margin: 4px 4px 0px 0px;
|
|
10129
10167
|
}
|
|
10130
10168
|
`;
|
|
10131
|
-
var
|
|
10169
|
+
var jn = Object.defineProperty, Vn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
|
|
10132
10170
|
for (var s = i > 1 ? void 0 : i ? Vn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10133
10171
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10134
|
-
return i && s &&
|
|
10172
|
+
return i && s && jn(e, t, s), s;
|
|
10135
10173
|
};
|
|
10136
|
-
let
|
|
10174
|
+
let jt = class extends re {
|
|
10137
10175
|
constructor() {
|
|
10138
|
-
super(...arguments), this.store = new it(this,
|
|
10176
|
+
super(...arguments), this.store = new it(this, h), this.open = !1;
|
|
10139
10177
|
}
|
|
10140
10178
|
// handler click
|
|
10141
10179
|
_clickHandler() {
|
|
@@ -10147,7 +10185,7 @@ let Ht = class extends re {
|
|
|
10147
10185
|
}), this.open = a;
|
|
10148
10186
|
}
|
|
10149
10187
|
_engageClickHandler(a) {
|
|
10150
|
-
console.log("engage close clicked!"),
|
|
10188
|
+
console.log("engage close clicked!"), h.suppressEngagePopup(), a.stopPropagation();
|
|
10151
10189
|
}
|
|
10152
10190
|
/*
|
|
10153
10191
|
${when(
|
|
@@ -10158,14 +10196,14 @@ let Ht = class extends re {
|
|
|
10158
10196
|
*/
|
|
10159
10197
|
getPopupPlacement() {
|
|
10160
10198
|
let a = "top-end";
|
|
10161
|
-
return a =
|
|
10199
|
+
return a = h.appearanceAnchorPopupPosition, a;
|
|
10162
10200
|
}
|
|
10163
10201
|
getBadgeVariant() {
|
|
10164
10202
|
let a = "danger";
|
|
10165
|
-
return a =
|
|
10203
|
+
return a = h.appearanceAnchorBadgeVariant, a;
|
|
10166
10204
|
}
|
|
10167
10205
|
renderPopupLogo() {
|
|
10168
|
-
return
|
|
10206
|
+
return h.setting.popupLogoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${h.setting.popupLogoUrl}" />` : h.setting.popupLogoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(h.setting.popupLogoSvg)}`}</div>` : h.setting.logoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${h.setting.logoUrl}" />` : h.setting.logoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(h.setting.logoSvg)}`}</div>` : null;
|
|
10169
10207
|
}
|
|
10170
10208
|
async _getEngageMessageHtml(a) {
|
|
10171
10209
|
return Ft(xt(a));
|
|
@@ -10173,16 +10211,16 @@ let Ht = class extends re {
|
|
|
10173
10211
|
render() {
|
|
10174
10212
|
return b`
|
|
10175
10213
|
<div class="cb-anchor ${this.open ? "open" : ""}" part="anchor" @click=${this._clickHandler.bind(this)}>
|
|
10176
|
-
<sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${
|
|
10214
|
+
<sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${h.engage && !h.open}">
|
|
10177
10215
|
<sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
|
|
10178
10216
|
${W(
|
|
10179
10217
|
this.open,
|
|
10180
|
-
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(
|
|
10181
|
-
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(
|
|
10218
|
+
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(h.setting.anchorCloseSvg)}`}</div>`,
|
|
10219
|
+
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(h.setting.anchorOpenSvg)}`}</div>`
|
|
10182
10220
|
)}
|
|
10183
10221
|
${W(
|
|
10184
|
-
!this.open &&
|
|
10185
|
-
() => b`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${
|
|
10222
|
+
!this.open && h.unreadMessages > 0,
|
|
10223
|
+
() => b`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${h.unreadMessages}</sl-badge>`,
|
|
10186
10224
|
() => null
|
|
10187
10225
|
)}
|
|
10188
10226
|
</sl-button>
|
|
@@ -10192,7 +10230,7 @@ let Ht = class extends re {
|
|
|
10192
10230
|
${this.renderPopupLogo()}
|
|
10193
10231
|
<div class="cb-engage-popup-text">
|
|
10194
10232
|
${bt(
|
|
10195
|
-
this._getEngageMessageHtml(
|
|
10233
|
+
this._getEngageMessageHtml(h.setting.engageMessage).then((a) => b`${a}`)
|
|
10196
10234
|
)}
|
|
10197
10235
|
</div>
|
|
10198
10236
|
</div>
|
|
@@ -10202,13 +10240,13 @@ let Ht = class extends re {
|
|
|
10202
10240
|
`;
|
|
10203
10241
|
}
|
|
10204
10242
|
};
|
|
10205
|
-
|
|
10243
|
+
jt.styles = Hn;
|
|
10206
10244
|
li([
|
|
10207
10245
|
x({ type: Boolean })
|
|
10208
|
-
],
|
|
10209
|
-
|
|
10246
|
+
], jt.prototype, "open", 2);
|
|
10247
|
+
jt = li([
|
|
10210
10248
|
J("cb-anchor")
|
|
10211
|
-
],
|
|
10249
|
+
], jt);
|
|
10212
10250
|
const Un = K`
|
|
10213
10251
|
${ke}
|
|
10214
10252
|
`, Ba = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Nn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Wn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z"/></g></svg>', Gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0"/></g></svg>';
|
|
@@ -10260,7 +10298,7 @@ var Kn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
|
|
|
10260
10298
|
(o = a[r]) && (s = o(s) || s);
|
|
10261
10299
|
return s;
|
|
10262
10300
|
};
|
|
10263
|
-
let
|
|
10301
|
+
let ta = class extends re {
|
|
10264
10302
|
render() {
|
|
10265
10303
|
return b` <sl-alert variant="danger" open>
|
|
10266
10304
|
<cb-status-icon status="error" slot="icon"></cb-status-icon>
|
|
@@ -10276,10 +10314,10 @@ let ea = class extends re {
|
|
|
10276
10314
|
this.emit("setting:show");
|
|
10277
10315
|
}
|
|
10278
10316
|
};
|
|
10279
|
-
|
|
10280
|
-
|
|
10317
|
+
ta.styles = Un;
|
|
10318
|
+
ta = Jn([
|
|
10281
10319
|
J("cb-auth-alert")
|
|
10282
|
-
],
|
|
10320
|
+
], ta);
|
|
10283
10321
|
const Zn = K`
|
|
10284
10322
|
sl-dialog::part(base) {
|
|
10285
10323
|
z-index: 1000;
|
|
@@ -10372,7 +10410,7 @@ var Qn = Object.defineProperty, er = Object.getOwnPropertyDescriptor, ft = (a, e
|
|
|
10372
10410
|
const Da = Ke.noConflict(), tr = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/></svg>';
|
|
10373
10411
|
let Ye = class extends re {
|
|
10374
10412
|
constructor() {
|
|
10375
|
-
super(...arguments), this.store = new it(this,
|
|
10413
|
+
super(...arguments), this.store = new it(this, h), this.zindex = 100;
|
|
10376
10414
|
}
|
|
10377
10415
|
connectedCallback() {
|
|
10378
10416
|
super.connectedCallback(), Da.info("connectedCallback");
|
|
@@ -10385,39 +10423,39 @@ let Ye = class extends re {
|
|
|
10385
10423
|
Da.info(`FEEDBACK: stateEvent: ${t}`, e);
|
|
10386
10424
|
}
|
|
10387
10425
|
_cancelHandler() {
|
|
10388
|
-
|
|
10426
|
+
h.feedback && (console.log("Feedback dialog cancelled"), h.feedback = !1);
|
|
10389
10427
|
}
|
|
10390
10428
|
// todo render empty if feedback is disabled
|
|
10391
10429
|
render() {
|
|
10392
|
-
return b` <sl-dialog ?no-header=${!0} ?open=${
|
|
10430
|
+
return b` <sl-dialog ?no-header=${!0} ?open=${h.feedback} @sl-hide=${this._cancelHandler} class="cb-feedback-dialog">
|
|
10393
10431
|
<div style="">
|
|
10394
10432
|
<h2>Please share your feedback</h2>
|
|
10395
10433
|
<div class="cb-feedback-messages-wrapper">
|
|
10396
|
-
<cb-message-list style="width: 50%;" .messages=${
|
|
10434
|
+
<cb-message-list style="width: 50%;" .messages=${h.feedbackMessages} ?suppressFeedback=${!0}></cb-message-list>
|
|
10397
10435
|
</div>
|
|
10398
10436
|
<div class="cb-feedback-rating-label">Please rate this answer</div>
|
|
10399
10437
|
<div class="cb-feedback-rating-wrapper">
|
|
10400
10438
|
<div
|
|
10401
10439
|
class="cb-feedback-rating-icon"
|
|
10402
10440
|
@click="${() => {
|
|
10403
|
-
|
|
10441
|
+
h.feedbackScore = 0;
|
|
10404
10442
|
}}"
|
|
10405
10443
|
>
|
|
10406
10444
|
${pe`${G(ii)}`}
|
|
10407
10445
|
</div>
|
|
10408
|
-
<sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${
|
|
10446
|
+
<sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${h.feedbackScore}></sl-rating>
|
|
10409
10447
|
<div
|
|
10410
10448
|
class="cb-feedback-rating-icon"
|
|
10411
10449
|
@click="${() => {
|
|
10412
|
-
|
|
10450
|
+
h.feedbackScore = 5;
|
|
10413
10451
|
}}"
|
|
10414
10452
|
>
|
|
10415
10453
|
${pe`${G(ai)}`}
|
|
10416
10454
|
</div>
|
|
10417
10455
|
</div>
|
|
10418
10456
|
<div style="display: flex">
|
|
10419
|
-
<sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${
|
|
10420
|
-
<sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${
|
|
10457
|
+
<sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${h.feedbackName}" size="medium"></sl-input>
|
|
10458
|
+
<sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${h.feedbackEmail}" size="medium"></sl-input>
|
|
10421
10459
|
</div>
|
|
10422
10460
|
<sl-textarea id="cb-feedback-comments-el" placeholder="Your comments" size="medium" value="" rows="3"></sl-textarea>
|
|
10423
10461
|
</div>
|
|
@@ -10426,11 +10464,11 @@ let Ye = class extends re {
|
|
|
10426
10464
|
</sl-dialog>`;
|
|
10427
10465
|
}
|
|
10428
10466
|
_ratingChangeHandler() {
|
|
10429
|
-
|
|
10467
|
+
h.feedbackScore = this._rating.value;
|
|
10430
10468
|
}
|
|
10431
10469
|
async _submitHandler() {
|
|
10432
10470
|
const a = this._name?.value || "", e = this._email?.value || "", t = xt(this._comments?.value || "");
|
|
10433
|
-
this._comments.value = "", await
|
|
10471
|
+
this._comments.value = "", await h.submitFeedback(a, e, t);
|
|
10434
10472
|
}
|
|
10435
10473
|
};
|
|
10436
10474
|
Ye.styles = Zn;
|
|
@@ -10759,7 +10797,7 @@ class ir extends HTMLElement {
|
|
|
10759
10797
|
}
|
|
10760
10798
|
}
|
|
10761
10799
|
customElements.get("volume-visualizer") || customElements.define("volume-visualizer", ir);
|
|
10762
|
-
const
|
|
10800
|
+
const ha = 1, Fa = 2;
|
|
10763
10801
|
class fi extends HTMLElement {
|
|
10764
10802
|
constructor() {
|
|
10765
10803
|
super(), this.attachShadow({ mode: "open" }), this._analyserInput = null, this._dataArrayInput = null, this._analyserOutput = null, this._dataArrayOutput = null, this._thinking = !1, this._muted = !1, this._fftSize = 512, this._smoothingTimeConstant = 0.55, this._canvas = null, this._context = null, this._lastTime = 0, this._render();
|
|
@@ -10799,7 +10837,7 @@ class fi extends HTMLElement {
|
|
|
10799
10837
|
}
|
|
10800
10838
|
return r;
|
|
10801
10839
|
};
|
|
10802
|
-
return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source:
|
|
10840
|
+
return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: ha, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
|
|
10803
10841
|
}
|
|
10804
10842
|
_render() {
|
|
10805
10843
|
const e = `
|
|
@@ -10917,7 +10955,7 @@ class $t {
|
|
|
10917
10955
|
e.bezierCurveTo(E, M, L, C, k, w);
|
|
10918
10956
|
}
|
|
10919
10957
|
}
|
|
10920
|
-
e.lineTo(t, 0), e.lineTo(0, 0), s ===
|
|
10958
|
+
e.lineTo(t, 0), e.lineTo(0, 0), s === ha && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
|
|
10921
10959
|
const f = e.createLinearGradient(0, 0, 0, i);
|
|
10922
10960
|
f.addColorStop(0, this._rgbToString(this.currentColorRGB, 0.5)), f.addColorStop(0.5, this._rgbToString(this.currentColorRGB, 0.75)), f.addColorStop(1, this._rgbToString(this.currentColorRGB, 0.25));
|
|
10923
10961
|
const p = e.createLinearGradient(0, 0, t, 0);
|
|
@@ -10962,7 +11000,7 @@ class nr extends fi {
|
|
|
10962
11000
|
_draw(e, t, i) {
|
|
10963
11001
|
e.clearRect(0, 0, t.width, t.height);
|
|
10964
11002
|
const { data: s, source: r, hasActivity: o } = this._getAudioFrequencyData();
|
|
10965
|
-
if (r ===
|
|
11003
|
+
if (r === ha && !this._thinking ? this._currentColor = this._lerpColor(this._currentColor, this._inputColor, 0.1) : this._currentColor = this._lerpColor(this._currentColor, this._outputColor, 0.1), this._thinking) {
|
|
10966
11004
|
this._thinkingPhase -= i * 4;
|
|
10967
11005
|
for (let w = 0; w < this._numBars; w++) {
|
|
10968
11006
|
const _ = w / this._numBars;
|
|
@@ -11002,12 +11040,12 @@ var or = Object.getOwnPropertyDescriptor, cr = (a, e, t, i) => {
|
|
|
11002
11040
|
};
|
|
11003
11041
|
const ut = Ke.noConflict();
|
|
11004
11042
|
ut.setLevel("info");
|
|
11005
|
-
let
|
|
11043
|
+
let aa = class extends re {
|
|
11006
11044
|
constructor() {
|
|
11007
|
-
super(...arguments), this.store = new it(this,
|
|
11045
|
+
super(...arguments), this.store = new it(this, h), this.unsubscribeTypingActive = h.subscribe(
|
|
11008
11046
|
this._handleTypingActiveChanged.bind(this),
|
|
11009
11047
|
["typingActive"]
|
|
11010
|
-
), this.volumeVisualizerRef =
|
|
11048
|
+
), this.volumeVisualizerRef = Hi(), this.volumeVisualizerInitialized = !1;
|
|
11011
11049
|
}
|
|
11012
11050
|
/*
|
|
11013
11051
|
createRenderRoot() {
|
|
@@ -11031,12 +11069,12 @@ let ta = class extends re {
|
|
|
11031
11069
|
</header>`;
|
|
11032
11070
|
}*/
|
|
11033
11071
|
render() {
|
|
11034
|
-
return
|
|
11072
|
+
return h.webAudioStarted ? b`<div class="cb-audio-controls-wrapper" part="audio-controls-wrapper">
|
|
11035
11073
|
<div class="cb-audio-controls" part="audio-controls" @click=${this._toggleMute}>
|
|
11036
11074
|
${W(
|
|
11037
11075
|
!0,
|
|
11038
11076
|
() => b`
|
|
11039
|
-
<button type="button" part="${
|
|
11077
|
+
<button type="button" part="${h.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${h.webAudioMuted ? "danger" : "clear"}" title="${h.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
|
|
11040
11078
|
${G(rr)}
|
|
11041
11079
|
</button>
|
|
11042
11080
|
`,
|
|
@@ -11046,13 +11084,13 @@ let ta = class extends re {
|
|
|
11046
11084
|
${this.renderVisualizer()}
|
|
11047
11085
|
</div>
|
|
11048
11086
|
<button type="button" part="audio-end-button" class="circle-btn clear" title="End" @click=${this._toggleHangup}>
|
|
11049
|
-
${G(
|
|
11087
|
+
${G(fa)}
|
|
11050
11088
|
</button>
|
|
11051
11089
|
</div>
|
|
11052
11090
|
</div>` : null;
|
|
11053
11091
|
}
|
|
11054
11092
|
renderVisualizer() {
|
|
11055
|
-
switch (
|
|
11093
|
+
switch (h.setting.botAdvancedSettings?.audioVisualizerName || "bars") {
|
|
11056
11094
|
case "default":
|
|
11057
11095
|
return b`
|
|
11058
11096
|
<volume-visualizer ${Tt(this.volumeVisualizerRef)}></volume-visualizer>
|
|
@@ -11074,7 +11112,7 @@ let ta = class extends re {
|
|
|
11074
11112
|
updated(a) {
|
|
11075
11113
|
if (super.updated(a), this.volumeVisualizerRef.value) {
|
|
11076
11114
|
if (!this.volumeVisualizerInitialized) {
|
|
11077
|
-
const e = this.volumeVisualizerRef.value, t =
|
|
11115
|
+
const e = this.volumeVisualizerRef.value, t = h.getAudioAnalyzers();
|
|
11078
11116
|
t && (e.connectAnalyzers(t), ut.info("volumeVisualizerInitialized set to true"), this.volumeVisualizerInitialized = !0);
|
|
11079
11117
|
}
|
|
11080
11118
|
} else
|
|
@@ -11093,20 +11131,20 @@ let ta = class extends re {
|
|
|
11093
11131
|
)}
|
|
11094
11132
|
* */
|
|
11095
11133
|
async _toggleMute(a) {
|
|
11096
|
-
a.stopPropagation(), ut.info("_toggleMute called"), await
|
|
11134
|
+
a.stopPropagation(), ut.info("_toggleMute called"), await h.toggleMute(), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setMuted(h.webAudioMuted);
|
|
11097
11135
|
}
|
|
11098
11136
|
async _toggleHangup(a) {
|
|
11099
|
-
a.stopPropagation(), ut.info("_toggleHangup called"), await
|
|
11137
|
+
a.stopPropagation(), ut.info("_toggleHangup called"), await h.stopAudio();
|
|
11100
11138
|
}
|
|
11101
11139
|
_handleTypingActiveChanged(a, e, t) {
|
|
11102
|
-
|
|
11140
|
+
h.webAudioStarted && (ut.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
|
|
11103
11141
|
}
|
|
11104
11142
|
};
|
|
11105
|
-
|
|
11106
|
-
|
|
11143
|
+
aa.styles = ar;
|
|
11144
|
+
aa = cr([
|
|
11107
11145
|
J("cb-audio-controls")
|
|
11108
|
-
],
|
|
11109
|
-
class
|
|
11146
|
+
], aa);
|
|
11147
|
+
class ia extends Error {
|
|
11110
11148
|
response;
|
|
11111
11149
|
request;
|
|
11112
11150
|
options;
|
|
@@ -11127,7 +11165,7 @@ class hi extends Error {
|
|
|
11127
11165
|
super(t), this.value = e;
|
|
11128
11166
|
}
|
|
11129
11167
|
}
|
|
11130
|
-
class
|
|
11168
|
+
class Kt extends Error {
|
|
11131
11169
|
name = "ForceRetryError";
|
|
11132
11170
|
customDelay;
|
|
11133
11171
|
code;
|
|
@@ -11137,7 +11175,7 @@ class Yt extends Error {
|
|
|
11137
11175
|
super(e?.code ? `Forced retry: ${e.code}` : "Forced retry", t ? { cause: t } : void 0), this.customDelay = e?.delay, this.code = e?.code, this.customRequest = e?.request;
|
|
11138
11176
|
}
|
|
11139
11177
|
}
|
|
11140
|
-
const
|
|
11178
|
+
const Ha = (() => {
|
|
11141
11179
|
let a = !1, e = !1;
|
|
11142
11180
|
const t = typeof globalThis.ReadableStream == "function", i = typeof globalThis.Request == "function";
|
|
11143
11181
|
if (t && i)
|
|
@@ -11165,7 +11203,7 @@ const ja = (() => {
|
|
|
11165
11203
|
// Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
|
|
11166
11204
|
// We still feature-check at runtime before exposing the shortcut.
|
|
11167
11205
|
bytes: "*/*"
|
|
11168
|
-
},
|
|
11206
|
+
}, Jt = 2147483647, ur = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, pi = Symbol("stop");
|
|
11169
11207
|
class gi {
|
|
11170
11208
|
options;
|
|
11171
11209
|
constructor(e) {
|
|
@@ -11274,7 +11312,7 @@ const br = (a) => new gi(a), pr = {
|
|
|
11274
11312
|
for (const e of a)
|
|
11275
11313
|
if ((!Qe(e) || Array.isArray(e)) && e !== void 0)
|
|
11276
11314
|
throw new TypeError("The `options` argument must be an object");
|
|
11277
|
-
return
|
|
11315
|
+
return ua({}, ...a);
|
|
11278
11316
|
}, yi = (a = {}, e = {}) => {
|
|
11279
11317
|
const t = new globalThis.Headers(a), i = e instanceof globalThis.Headers, s = new globalThis.Headers(e);
|
|
11280
11318
|
for (const [r, o] of s.entries())
|
|
@@ -11282,7 +11320,7 @@ const br = (a) => new gi(a), pr = {
|
|
|
11282
11320
|
return t;
|
|
11283
11321
|
};
|
|
11284
11322
|
function Lt(a, e, t) {
|
|
11285
|
-
return Object.hasOwn(e, t) && e[t] === void 0 ? [] :
|
|
11323
|
+
return Object.hasOwn(e, t) && e[t] === void 0 ? [] : ua(a[t] ?? [], e[t] ?? []);
|
|
11286
11324
|
}
|
|
11287
11325
|
const vi = (a = {}, e = {}) => ({
|
|
11288
11326
|
beforeRequest: Lt(a, e, "beforeRequest"),
|
|
@@ -11311,7 +11349,7 @@ const vi = (a = {}, e = {}) => ({
|
|
|
11311
11349
|
t.append(r, o);
|
|
11312
11350
|
}
|
|
11313
11351
|
return t;
|
|
11314
|
-
},
|
|
11352
|
+
}, ua = (...a) => {
|
|
11315
11353
|
let e = {}, t = {}, i = {}, s;
|
|
11316
11354
|
const r = [];
|
|
11317
11355
|
for (const o of a)
|
|
@@ -11336,12 +11374,12 @@ const vi = (a = {}, e = {}) => ({
|
|
|
11336
11374
|
p == null ? s = void 0 : s = s === void 0 ? p : xr(s, p);
|
|
11337
11375
|
continue;
|
|
11338
11376
|
}
|
|
11339
|
-
Qe(p) && f in e && (p =
|
|
11377
|
+
Qe(p) && f in e && (p = ua(e[f], p)), e = { ...e, [f]: p };
|
|
11340
11378
|
}
|
|
11341
11379
|
Qe(o.hooks) && (i = vi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = yi(t, o.headers), e.headers = t);
|
|
11342
11380
|
}
|
|
11343
11381
|
return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : ui ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
|
|
11344
|
-
}, kr = (a) => bi.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503],
|
|
11382
|
+
}, kr = (a) => bi.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503], ja = {
|
|
11345
11383
|
limit: 2,
|
|
11346
11384
|
methods: _r,
|
|
11347
11385
|
statusCodes: Sr,
|
|
@@ -11354,7 +11392,7 @@ const vi = (a = {}, e = {}) => ({
|
|
|
11354
11392
|
}, Ar = (a = {}) => {
|
|
11355
11393
|
if (typeof a == "number")
|
|
11356
11394
|
return {
|
|
11357
|
-
...
|
|
11395
|
+
...ja,
|
|
11358
11396
|
limit: a
|
|
11359
11397
|
};
|
|
11360
11398
|
if (a.methods && !Array.isArray(a.methods))
|
|
@@ -11362,11 +11400,11 @@ const vi = (a = {}, e = {}) => ({
|
|
|
11362
11400
|
if (a.statusCodes && !Array.isArray(a.statusCodes))
|
|
11363
11401
|
throw new Error("retry.statusCodes must be an array");
|
|
11364
11402
|
return {
|
|
11365
|
-
...
|
|
11403
|
+
...ja,
|
|
11366
11404
|
...a
|
|
11367
11405
|
};
|
|
11368
11406
|
};
|
|
11369
|
-
class
|
|
11407
|
+
class sa extends Error {
|
|
11370
11408
|
request;
|
|
11371
11409
|
constructor(e) {
|
|
11372
11410
|
super(`Request timed out: ${e.method} ${e.url}`), this.name = "TimeoutError", this.request = e;
|
|
@@ -11375,7 +11413,7 @@ class ia extends Error {
|
|
|
11375
11413
|
async function Mr(a, e, t, i) {
|
|
11376
11414
|
return new Promise((s, r) => {
|
|
11377
11415
|
const o = setTimeout(() => {
|
|
11378
|
-
t && t.abort(), r(new
|
|
11416
|
+
t && t.abort(), r(new sa(a));
|
|
11379
11417
|
}, i.timeout);
|
|
11380
11418
|
i.fetch(a, e).then(s).catch(r).then(() => {
|
|
11381
11419
|
clearTimeout(o);
|
|
@@ -11400,16 +11438,16 @@ const Ir = (a, e) => {
|
|
|
11400
11438
|
return t;
|
|
11401
11439
|
}, Er = (a) => a === void 0 ? !1 : Array.isArray(a) ? a.length > 0 : a instanceof URLSearchParams ? a.size > 0 : typeof a == "object" ? Object.keys(a).length > 0 : typeof a == "string" ? a.trim().length > 0 : !!a;
|
|
11402
11440
|
function $r(a) {
|
|
11403
|
-
return a instanceof
|
|
11441
|
+
return a instanceof ia || a?.name === ia.name;
|
|
11404
11442
|
}
|
|
11405
11443
|
function Pr(a) {
|
|
11406
|
-
return a instanceof
|
|
11444
|
+
return a instanceof sa || a?.name === sa.name;
|
|
11407
11445
|
}
|
|
11408
11446
|
class wt {
|
|
11409
11447
|
static create(e, t) {
|
|
11410
11448
|
const i = new wt(e, t), s = async () => {
|
|
11411
|
-
if (typeof i.#e.timeout == "number" && i.#e.timeout >
|
|
11412
|
-
throw new RangeError(`The \`timeout\` option cannot be greater than ${
|
|
11449
|
+
if (typeof i.#e.timeout == "number" && i.#e.timeout > Jt)
|
|
11450
|
+
throw new RangeError(`The \`timeout\` option cannot be greater than ${Jt}`);
|
|
11413
11451
|
await Promise.resolve();
|
|
11414
11452
|
let o = await i.#p();
|
|
11415
11453
|
for (const f of i.#e.hooks.afterResponse) {
|
|
@@ -11418,10 +11456,10 @@ class wt {
|
|
|
11418
11456
|
throw await Promise.all([
|
|
11419
11457
|
p.body?.cancel(),
|
|
11420
11458
|
o.body?.cancel()
|
|
11421
|
-
]), new
|
|
11459
|
+
]), new Kt(v.options);
|
|
11422
11460
|
}
|
|
11423
11461
|
if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
|
|
11424
|
-
let f = new
|
|
11462
|
+
let f = new ia(o, i.request, i.#o());
|
|
11425
11463
|
for (const p of i.#e.hooks.beforeError)
|
|
11426
11464
|
f = await p(f, { retryCount: i.#a });
|
|
11427
11465
|
throw f;
|
|
@@ -11491,7 +11529,7 @@ class wt {
|
|
|
11491
11529
|
throw new Error("`input` must not begin with a slash when using `prefixUrl`");
|
|
11492
11530
|
this.#e.prefixUrl.endsWith("/") || (this.#e.prefixUrl += "/"), this.#t = this.#e.prefixUrl + this.#t;
|
|
11493
11531
|
}
|
|
11494
|
-
lr && ui && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal),
|
|
11532
|
+
lr && ui && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), Ha && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
|
|
11495
11533
|
const i = t.headers && new globalThis.Headers(t.headers).has("content-type");
|
|
11496
11534
|
if (this.#t instanceof globalThis.Request && (fr && this.#e.body instanceof globalThis.FormData || this.#e.body instanceof URLSearchParams) && !i && this.#e.headers.delete("content-type"), this.request = new globalThis.Request(this.#t, this.#e), Er(this.#e.searchParams)) {
|
|
11497
11535
|
const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(wt.#u(this.#e.searchParams)).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
|
|
@@ -11500,7 +11538,7 @@ class wt {
|
|
|
11500
11538
|
if (this.#e.onUploadProgress) {
|
|
11501
11539
|
if (typeof this.#e.onUploadProgress != "function")
|
|
11502
11540
|
throw new TypeError("The `onUploadProgress` option must be a function");
|
|
11503
|
-
if (!
|
|
11541
|
+
if (!Ha)
|
|
11504
11542
|
throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");
|
|
11505
11543
|
this.request = this.#h(this.request, this.#e.body ?? void 0);
|
|
11506
11544
|
}
|
|
@@ -11514,7 +11552,7 @@ class wt {
|
|
|
11514
11552
|
if (this.#a++, this.#a > this.#e.retry.limit)
|
|
11515
11553
|
throw e;
|
|
11516
11554
|
const t = e instanceof Error ? e : new hi(e);
|
|
11517
|
-
if (t instanceof
|
|
11555
|
+
if (t instanceof Kt)
|
|
11518
11556
|
return t.customDelay ?? this.#c();
|
|
11519
11557
|
if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
|
|
11520
11558
|
throw e;
|
|
@@ -11549,10 +11587,10 @@ class wt {
|
|
|
11549
11587
|
try {
|
|
11550
11588
|
return await e();
|
|
11551
11589
|
} catch (t) {
|
|
11552
|
-
const i = Math.min(await this.#b(t),
|
|
11590
|
+
const i = Math.min(await this.#b(t), Jt);
|
|
11553
11591
|
if (this.#a < 1)
|
|
11554
11592
|
throw t;
|
|
11555
|
-
if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof
|
|
11593
|
+
if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof Kt && t.customRequest) {
|
|
11556
11594
|
const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
|
|
11557
11595
|
this.#l(s);
|
|
11558
11596
|
}
|
|
@@ -11603,12 +11641,12 @@ class wt {
|
|
|
11603
11641
|
return !this.#e.onUploadProgress || !e.body ? e : wr(e, this.#e.onUploadProgress, t ?? this.#e.body ?? void 0);
|
|
11604
11642
|
}
|
|
11605
11643
|
}
|
|
11606
|
-
const
|
|
11644
|
+
const na = (a) => {
|
|
11607
11645
|
const e = (t, i) => wt.create(t, Pt(a, i));
|
|
11608
11646
|
for (const t of bi)
|
|
11609
11647
|
e[t] = (i, s) => wt.create(i, Pt(a, s, { method: t }));
|
|
11610
|
-
return e.create = (t) =>
|
|
11611
|
-
}, Lr =
|
|
11648
|
+
return e.create = (t) => na(Pt(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), na(Pt(a, t))), e.stop = pi, e.retry = br, e;
|
|
11649
|
+
}, Lr = na();
|
|
11612
11650
|
Lr.extend({
|
|
11613
11651
|
hooks: {
|
|
11614
11652
|
beforeRequest: [
|
|
@@ -11638,7 +11676,7 @@ async function Rr(a, e) {
|
|
|
11638
11676
|
}).text()
|
|
11639
11677
|
);
|
|
11640
11678
|
}
|
|
11641
|
-
var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor,
|
|
11679
|
+
var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, H = (a, e, t, i) => {
|
|
11642
11680
|
for (var s = i > 1 ? void 0 : i ? Or(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
11643
11681
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
11644
11682
|
return i && s && zr(e, t, s), s;
|
|
@@ -11651,7 +11689,7 @@ function Br() {
|
|
|
11651
11689
|
}
|
|
11652
11690
|
let D = class extends re {
|
|
11653
11691
|
constructor() {
|
|
11654
|
-
super(...arguments), this.store = new it(this,
|
|
11692
|
+
super(...arguments), this.store = new it(this, h), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.version = "current", this.testMode = "false", this.suppressStartupForm = "false", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="24" height="24" viewBox="0 0 203 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11655
11693
|
<path d="M100.438 0C155.665 0 200.438 44.7723 200.438 100C200.438 155.228 155.665 200 100.438 200C45.2098 200 0.4375 155.228 0.4375 100C0.4375 44.7723 45.2098 0 100.438 0ZM130.093 60.6063C120.409 60.6063 115.205 61.458 109.344 65.0325C100.122 70.6592 95.629 80.1958 94.2273 93.877C94.1468 94.5544 93.8048 97.2571 93.4091 100.349C93.3152 101.06 93.2281 101.771 93.1409 102.455C92.7318 105.573 92.3093 108.739 92.0142 110.408C90.8808 117.041 89.2914 123.761 83.8927 126.759C83.6915 126.873 83.4702 126.967 83.2556 127.067C78.6013 129.093 72.2905 128.898 72.2905 128.898C72.2905 128.898 69.1988 128.885 69.1787 128.885C69.172 128.885 69.1921 128.885 69.1921 128.898L68.1057 143.632C87.7824 143.666 93.0537 139.213 93.0537 139.213C102.275 133.586 106.768 124.049 108.17 110.368C108.251 109.677 108.593 106.894 109.002 103.735C109.096 103.004 109.196 102.273 109.283 101.576C109.679 98.5246 110.095 95.4798 110.383 93.8435C111.517 87.2108 113.106 80.4842 118.505 77.4931C118.706 77.3791 118.921 77.2852 119.135 77.1846C123.756 75.1727 130.107 75.3471 130.107 75.3471C132.494 75.3269 133.219 75.4007 133.286 75.4074L134.292 60.6264C132.783 60.6264 130.107 60.6264 130.107 60.6264L130.093 60.6063Z" fill="#010101" style="fill:#010101;fill:color(display-p3 0.0039 0.0039 0.0039);fill-opacity:1;"/>
|
|
11656
11694
|
</svg>`, this.closeSvg = '<svg viewBox="0 0 16 16" width="1.4em" height="1.4em"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>', this.logoSvgGradient = `<svg width="28" height="28" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11657
11695
|
<g clip-path="url(#clip0_830_884)">
|
|
@@ -11669,7 +11707,7 @@ let D = class extends re {
|
|
|
11669
11707
|
<rect width="400" height="400" fill="white"/>
|
|
11670
11708
|
</clipPath>
|
|
11671
11709
|
</defs>
|
|
11672
|
-
</svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", 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.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.infoIconSvg = '<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.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.lifecycleListenersAttached = !1, this.handleAddMessage = (a) => {
|
|
11710
|
+
</svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", 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.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.infoIconSvg = '<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.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.lifecycleListenersAttached = !1, this._viewportResizeHandler = null, this._viewportRafId = 0, this.handleAddMessage = (a) => {
|
|
11673
11711
|
this._addMessageHandler(a);
|
|
11674
11712
|
}, this.handleStateEvent = (a) => {
|
|
11675
11713
|
this._stateEventHandler(a);
|
|
@@ -11678,13 +11716,13 @@ let D = class extends re {
|
|
|
11678
11716
|
}, this.handleFormSubmitEvent = (a) => {
|
|
11679
11717
|
this._formSubmitHandler(a);
|
|
11680
11718
|
}, this.boundScrollToBottomOnUpdate = this._scrollToBottomOnUpdate.bind(this), this.handleVisibilityChange = () => {
|
|
11681
|
-
|
|
11719
|
+
h.handleLifecycleResume("visibilitychange", this.boundScrollToBottomOnUpdate);
|
|
11682
11720
|
}, this.handlePageShow = () => {
|
|
11683
|
-
|
|
11721
|
+
h.handleLifecycleResume("pageshow", this.boundScrollToBottomOnUpdate);
|
|
11684
11722
|
}, this.handleWindowFocus = () => {
|
|
11685
|
-
|
|
11723
|
+
h.handleLifecycleResume("focus", this.boundScrollToBottomOnUpdate);
|
|
11686
11724
|
}, this.handleWindowOnline = () => {
|
|
11687
|
-
|
|
11725
|
+
h.handleLifecycleResume("online", this.boundScrollToBottomOnUpdate);
|
|
11688
11726
|
}, this.fetchStream = Rr;
|
|
11689
11727
|
}
|
|
11690
11728
|
/**
|
|
@@ -11700,10 +11738,10 @@ let D = class extends re {
|
|
|
11700
11738
|
isThinking: !0,
|
|
11701
11739
|
data: {}
|
|
11702
11740
|
};
|
|
11703
|
-
return
|
|
11741
|
+
return h.addMessage(a), a;
|
|
11704
11742
|
}
|
|
11705
11743
|
addTestMessageRaw(a) {
|
|
11706
|
-
|
|
11744
|
+
h.addMessage(a);
|
|
11707
11745
|
}
|
|
11708
11746
|
addTestMessage(a = "") {
|
|
11709
11747
|
const t = {
|
|
@@ -11714,23 +11752,23 @@ let D = class extends re {
|
|
|
11714
11752
|
text: a !== "" ? a : "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
|
|
11715
11753
|
}
|
|
11716
11754
|
};
|
|
11717
|
-
return
|
|
11755
|
+
return h.addMessage(t), t;
|
|
11718
11756
|
}
|
|
11719
11757
|
addActions(a = []) {
|
|
11720
|
-
|
|
11758
|
+
h.addActions(a);
|
|
11721
11759
|
}
|
|
11722
11760
|
render() {
|
|
11723
|
-
return
|
|
11724
|
-
<div class="cb-wrapper${
|
|
11761
|
+
return h.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : b`
|
|
11762
|
+
<div class="cb-wrapper${h.open ? " cb-open" : ""}" part="wrapper${h.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${h.open ? " open" : ""}">
|
|
11725
11763
|
<cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
|
|
11726
11764
|
<cb-message-list
|
|
11727
|
-
.messages=${
|
|
11728
|
-
.actions=${
|
|
11729
|
-
.form=${
|
|
11765
|
+
.messages=${h.messages}
|
|
11766
|
+
.actions=${h.actions}
|
|
11767
|
+
.form=${h.form}
|
|
11730
11768
|
exportparts="bot-message-list, disclaimer-message, bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar, feedback-wrapper,feedback-up,feedback-down,form, form-title, form-input, form-submit"
|
|
11731
11769
|
></cb-message-list>
|
|
11732
11770
|
${W(
|
|
11733
|
-
|
|
11771
|
+
h.showNewConversation,
|
|
11734
11772
|
() => b`
|
|
11735
11773
|
<div class="cb-new-conversation-wrapper" part="new-conversation-wrapper">
|
|
11736
11774
|
<button type="button" class="card-btn info" part="new-conversation-button" @click=${this.clearConversation}>Start New Conversation</button>
|
|
@@ -11741,36 +11779,36 @@ let D = class extends re {
|
|
|
11741
11779
|
<cb-audio-controls exportparts="audio-controls-wrapper, audio-controls, audio-mute-button, audio-unmute-button, audio-end-button, audio-controls-viz"></cb-audio-controls>
|
|
11742
11780
|
${this.renderUserInput()} ${this.renderFeedbackDialog()}
|
|
11743
11781
|
</div>
|
|
11744
|
-
<cb-anchor ?open=${
|
|
11782
|
+
<cb-anchor class="${h.open ? "cb-anchor-hidden-mobile" : ""}" ?open=${h.open} exportparts="anchor, anchor-badge, anchor-icon"></cb-anchor>
|
|
11745
11783
|
`;
|
|
11746
11784
|
}
|
|
11747
11785
|
renderFeedbackDialog() {
|
|
11748
11786
|
return b`<cb-dialog-feedback></cb-dialog-feedback>`;
|
|
11749
11787
|
}
|
|
11750
11788
|
_dialogCancelHandler() {
|
|
11751
|
-
console.log("Feedback dialog cancelled"),
|
|
11789
|
+
console.log("Feedback dialog cancelled"), h.feedback = !1;
|
|
11752
11790
|
}
|
|
11753
11791
|
renderUserInput() {
|
|
11754
|
-
return
|
|
11792
|
+
return h.form || h.disabled && this.alwaysOpen ? null : h.setting.enableAudio ? b`
|
|
11755
11793
|
<cb-user-input-mm
|
|
11756
11794
|
part="user-input-control"
|
|
11757
|
-
?loading=${
|
|
11758
|
-
?disabled=${
|
|
11759
|
-
?enable-file-upload=${
|
|
11760
|
-
?enable-audio=${
|
|
11795
|
+
?loading=${h.connecting}
|
|
11796
|
+
?disabled=${h.connecting || h.form}
|
|
11797
|
+
?enable-file-upload=${h.setting.uploadImages && h.connected}
|
|
11798
|
+
?enable-audio=${h.setting.enableAudio && h.connected}
|
|
11761
11799
|
exportparts="user-input-control,user-input, user-input-wrapper, user-input-inner, user-input-base, upload-button, control-button, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
|
|
11762
11800
|
></cb-user-input-mm>` : b`
|
|
11763
11801
|
<cb-user-input
|
|
11764
11802
|
part="user-input-control"
|
|
11765
|
-
?loading=${
|
|
11766
|
-
?disabled=${
|
|
11767
|
-
?enable-file-upload=${
|
|
11768
|
-
?enable-audio=${
|
|
11803
|
+
?loading=${h.connecting}
|
|
11804
|
+
?disabled=${h.connecting || h.form}
|
|
11805
|
+
?enable-file-upload=${h.setting.uploadImages && h.connected}
|
|
11806
|
+
?enable-audio=${h.setting.enableAudio && h.connected}
|
|
11769
11807
|
exportparts="user-input-control,user-input, user-input-wrapper, user-input-base, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
|
|
11770
11808
|
></cb-user-input>`;
|
|
11771
11809
|
}
|
|
11772
11810
|
connectedCallback() {
|
|
11773
|
-
super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler), this.attachLifecycleListeners();
|
|
11811
|
+
super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), this.attachViewportListener(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler), this.attachLifecycleListeners();
|
|
11774
11812
|
}
|
|
11775
11813
|
extractCssVariable(a, e, t) {
|
|
11776
11814
|
let i = a.getPropertyValue(e).trim();
|
|
@@ -11779,7 +11817,7 @@ let D = class extends re {
|
|
|
11779
11817
|
// Extract css variables that control the appearance of the chatbot
|
|
11780
11818
|
initCssVariables() {
|
|
11781
11819
|
let a = getComputedStyle(this);
|
|
11782
|
-
|
|
11820
|
+
h.appearanceAnchorPopupPosition = this.extractCssVariable(a, "--enegelai-bot-anchor-popup-position", "top-end"), h.appearanceAnchorBadgeVariant = this.extractCssVariable(a, "--enegelai-bot-anchor-badge-variant", h.appearanceAnchorBadgeVariant), h.appearanceUserMessageAvatarPosition = this.extractCssVariable(a, "--enegelai-bot-user-message-avatar-position", "left");
|
|
11783
11821
|
}
|
|
11784
11822
|
/*
|
|
11785
11823
|
private getPopupPlacement() {
|
|
@@ -11799,7 +11837,7 @@ let D = class extends re {
|
|
|
11799
11837
|
|
|
11800
11838
|
*/
|
|
11801
11839
|
disconnectedCallback() {
|
|
11802
|
-
Be.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler), this.detachLifecycleListeners();
|
|
11840
|
+
Be.info("disconnectedCallback"), super.disconnectedCallback(), this.detachViewportListener(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler), this.detachLifecycleListeners();
|
|
11803
11841
|
}
|
|
11804
11842
|
attachLifecycleListeners() {
|
|
11805
11843
|
this.lifecycleListenersAttached || Br() && (document.addEventListener("visibilitychange", this.handleVisibilityChange), window.addEventListener("pageshow", this.handlePageShow), window.addEventListener("focus", this.handleWindowFocus), window.addEventListener("online", this.handleWindowOnline), this.lifecycleListenersAttached = !0);
|
|
@@ -11821,34 +11859,34 @@ let D = class extends re {
|
|
|
11821
11859
|
// initialize setting
|
|
11822
11860
|
_initSetting() {
|
|
11823
11861
|
Be.info("_initSetting");
|
|
11824
|
-
const a =
|
|
11825
|
-
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.suppressStartupForm = this.suppressStartupForm === "true", a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg,
|
|
11862
|
+
const a = h.setting;
|
|
11863
|
+
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.suppressStartupForm = this.suppressStartupForm === "true", a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, h.setSetting(a);
|
|
11826
11864
|
let e = {};
|
|
11827
11865
|
try {
|
|
11828
11866
|
e = JSON.parse(this.prefilledFormFields);
|
|
11829
11867
|
} catch (t) {
|
|
11830
11868
|
Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
|
|
11831
11869
|
}
|
|
11832
|
-
|
|
11870
|
+
h.setPrefilledFormFields(e), this.open && (h.open = !0), this.alwaysOpen && (h.open = !0, h.alwaysOpen = !0), this.requestViewportUpdate();
|
|
11833
11871
|
}
|
|
11834
11872
|
setLoading(a) {
|
|
11835
11873
|
this.loading = a;
|
|
11836
11874
|
}
|
|
11837
11875
|
clearConversation() {
|
|
11838
|
-
|
|
11876
|
+
h.clearConversation().catch((a) => {
|
|
11839
11877
|
});
|
|
11840
11878
|
}
|
|
11841
11879
|
setPrefilledFormFields(a) {
|
|
11842
|
-
|
|
11880
|
+
h.setPrefilledFormFields(a);
|
|
11843
11881
|
}
|
|
11844
11882
|
setOpen(a = !1) {
|
|
11845
|
-
|
|
11883
|
+
h.open = a, this.requestViewportUpdate();
|
|
11846
11884
|
}
|
|
11847
11885
|
getOpen() {
|
|
11848
|
-
return
|
|
11886
|
+
return h.open;
|
|
11849
11887
|
}
|
|
11850
11888
|
toggleOpen() {
|
|
11851
|
-
|
|
11889
|
+
h.open = !h.open, this.requestViewportUpdate();
|
|
11852
11890
|
}
|
|
11853
11891
|
setInputValue(a = "") {
|
|
11854
11892
|
this.emitExt("c7o:bot:input:setvalue", {
|
|
@@ -11861,15 +11899,15 @@ let D = class extends re {
|
|
|
11861
11899
|
// It can be any data related with current user / current conversation,
|
|
11862
11900
|
// for example, user profile, current product user is viewing on the web page, etc.
|
|
11863
11901
|
setContext(a = {}) {
|
|
11864
|
-
|
|
11902
|
+
h.setContext(a).catch((e) => {
|
|
11865
11903
|
Be.error(`Failed to set context, error: ${e?.message || ""}`);
|
|
11866
11904
|
});
|
|
11867
11905
|
}
|
|
11868
11906
|
getContext() {
|
|
11869
|
-
return
|
|
11907
|
+
return h.getContext();
|
|
11870
11908
|
}
|
|
11871
11909
|
clearContext() {
|
|
11872
|
-
return
|
|
11910
|
+
return h.clearContext();
|
|
11873
11911
|
}
|
|
11874
11912
|
// check auth
|
|
11875
11913
|
_checkAuth() {
|
|
@@ -11926,11 +11964,11 @@ let D = class extends re {
|
|
|
11926
11964
|
}
|
|
11927
11965
|
// [sv2] for testing only
|
|
11928
11966
|
processAgentConnected(a) {
|
|
11929
|
-
|
|
11967
|
+
h.handleAgentConnected(a).catch((e) => {
|
|
11930
11968
|
});
|
|
11931
11969
|
}
|
|
11932
11970
|
processAgentDisconnected(a) {
|
|
11933
|
-
|
|
11971
|
+
h.handleAgentDisconnected(a).catch((e) => {
|
|
11934
11972
|
});
|
|
11935
11973
|
}
|
|
11936
11974
|
_processSendMessage(a) {
|
|
@@ -11938,9 +11976,9 @@ let D = class extends re {
|
|
|
11938
11976
|
console.log("_processSendMessage: input text is empty, ignored", a);
|
|
11939
11977
|
return;
|
|
11940
11978
|
}
|
|
11941
|
-
a.data.text = xt(a.data.text.trim()),
|
|
11979
|
+
a.data.text = xt(a.data.text.trim()), h.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = h.conversationId, this.emitExt("c7o:bot:conversationStart", {
|
|
11942
11980
|
detail: a
|
|
11943
|
-
})),
|
|
11981
|
+
})), h.sendMessage(a), setTimeout(() => {
|
|
11944
11982
|
this._scrollToBottom();
|
|
11945
11983
|
}, 50);
|
|
11946
11984
|
}
|
|
@@ -11955,27 +11993,27 @@ let D = class extends re {
|
|
|
11955
11993
|
}
|
|
11956
11994
|
_chatbotToggleHandler(a) {
|
|
11957
11995
|
const e = a.detail;
|
|
11958
|
-
|
|
11996
|
+
h.open = e.open, this.requestViewportUpdate(), h.notifyWidgetOpenState(), this.emitExt(e.open ? "c7o:bot:open" : "c7o:bot:close"), h.unreadMessages = 0, h.suppressEngagePopup();
|
|
11959
11997
|
}
|
|
11960
11998
|
_deleteMessageHandler(a) {
|
|
11961
11999
|
const e = a.detail;
|
|
11962
|
-
|
|
12000
|
+
h.removeMessage(e.id);
|
|
11963
12001
|
}
|
|
11964
12002
|
async _uploadFileHandler(a) {
|
|
11965
12003
|
const e = a.detail;
|
|
11966
|
-
await
|
|
12004
|
+
await h.uploadFiles(e.files);
|
|
11967
12005
|
}
|
|
11968
12006
|
async _audioToggleHandler(a) {
|
|
11969
|
-
Be.info("_audioToggleHandler called"), await
|
|
12007
|
+
Be.info("_audioToggleHandler called"), await h.toggleAudio();
|
|
11970
12008
|
}
|
|
11971
12009
|
// setting confirm handler
|
|
11972
12010
|
_settingConfirmHandler(a) {
|
|
11973
12011
|
const e = a.detail;
|
|
11974
|
-
|
|
12012
|
+
h.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
|
|
11975
12013
|
}
|
|
11976
12014
|
_formSubmitHandler(a) {
|
|
11977
12015
|
const e = a.detail;
|
|
11978
|
-
e.conversationId =
|
|
12016
|
+
e.conversationId = h.conversationId, this.emitExt("c7o:bot:formSubmit", {
|
|
11979
12017
|
detail: e
|
|
11980
12018
|
});
|
|
11981
12019
|
}
|
|
@@ -11983,108 +12021,139 @@ let D = class extends re {
|
|
|
11983
12021
|
_scrollToBottom(a = !1) {
|
|
11984
12022
|
this._messageList?.scrollToBottom();
|
|
11985
12023
|
}
|
|
12024
|
+
requestViewportUpdate() {
|
|
12025
|
+
if (!window.matchMedia("(max-width: 640px)").matches) {
|
|
12026
|
+
this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
|
|
12027
|
+
return;
|
|
12028
|
+
}
|
|
12029
|
+
this._viewportResizeHandler && this._viewportResizeHandler();
|
|
12030
|
+
}
|
|
12031
|
+
attachViewportListener() {
|
|
12032
|
+
this.detachViewportListener();
|
|
12033
|
+
const a = window.visualViewport;
|
|
12034
|
+
if (!a)
|
|
12035
|
+
return;
|
|
12036
|
+
const e = () => {
|
|
12037
|
+
if (this._viewportRafId = 0, !window.matchMedia("(max-width: 640px)").matches) {
|
|
12038
|
+
this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
|
|
12039
|
+
return;
|
|
12040
|
+
}
|
|
12041
|
+
const t = Math.max(0, window.innerHeight - a.height - a.offsetTop), i = t > 10;
|
|
12042
|
+
if (h.open && i) {
|
|
12043
|
+
this.style.setProperty("--c7o-vv-height", `${a.height}px`), this.style.setProperty("--c7o-vv-offset", `${t}px`);
|
|
12044
|
+
return;
|
|
12045
|
+
}
|
|
12046
|
+
this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
|
|
12047
|
+
};
|
|
12048
|
+
this._viewportResizeHandler = () => {
|
|
12049
|
+
this._viewportRafId || (this._viewportRafId = requestAnimationFrame(e));
|
|
12050
|
+
}, a.addEventListener("resize", this._viewportResizeHandler), a.addEventListener("scroll", this._viewportResizeHandler), this._viewportResizeHandler();
|
|
12051
|
+
}
|
|
12052
|
+
detachViewportListener() {
|
|
12053
|
+
this._viewportRafId && (cancelAnimationFrame(this._viewportRafId), this._viewportRafId = 0), this._viewportResizeHandler && window.visualViewport && (window.visualViewport.removeEventListener("resize", this._viewportResizeHandler), window.visualViewport.removeEventListener("scroll", this._viewportResizeHandler)), this._viewportResizeHandler = null, this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
|
|
12054
|
+
}
|
|
11986
12055
|
};
|
|
11987
12056
|
D.styles = [Xi, Za];
|
|
11988
|
-
|
|
12057
|
+
H([
|
|
11989
12058
|
x({ type: Boolean, attribute: "display-license" })
|
|
11990
12059
|
], D.prototype, "displayLicense", 2);
|
|
11991
|
-
|
|
12060
|
+
H([
|
|
11992
12061
|
x({ type: String, attribute: "name" })
|
|
11993
12062
|
], D.prototype, "name", 2);
|
|
11994
|
-
|
|
12063
|
+
H([
|
|
11995
12064
|
x({ type: String, attribute: "org-id" })
|
|
11996
12065
|
], D.prototype, "orgId", 2);
|
|
11997
|
-
|
|
12066
|
+
H([
|
|
11998
12067
|
x({ type: String, attribute: "bot-id" })
|
|
11999
12068
|
], D.prototype, "botId", 2);
|
|
12000
|
-
|
|
12069
|
+
H([
|
|
12001
12070
|
x({ type: String, attribute: "version" })
|
|
12002
12071
|
], D.prototype, "version", 2);
|
|
12003
|
-
|
|
12072
|
+
H([
|
|
12004
12073
|
x({ type: String, attribute: "test-mode" })
|
|
12005
12074
|
], D.prototype, "testMode", 2);
|
|
12006
|
-
|
|
12075
|
+
H([
|
|
12007
12076
|
x({ type: String, attribute: "suppress-startup-form" })
|
|
12008
12077
|
], D.prototype, "suppressStartupForm", 2);
|
|
12009
|
-
|
|
12078
|
+
H([
|
|
12010
12079
|
x({ type: String, attribute: "url" })
|
|
12011
12080
|
], D.prototype, "url", 2);
|
|
12012
|
-
|
|
12081
|
+
H([
|
|
12013
12082
|
x({ type: String, attribute: "logo-url" })
|
|
12014
12083
|
], D.prototype, "logoUrl", 2);
|
|
12015
|
-
|
|
12084
|
+
H([
|
|
12016
12085
|
x({ type: String, attribute: "logo-svg" })
|
|
12017
12086
|
], D.prototype, "logoSvg", 2);
|
|
12018
|
-
|
|
12087
|
+
H([
|
|
12019
12088
|
x({ type: String, attribute: "close-svg" })
|
|
12020
12089
|
], D.prototype, "closeSvg", 2);
|
|
12021
|
-
|
|
12090
|
+
H([
|
|
12022
12091
|
x({ type: String, attribute: "popup-logo-svg" })
|
|
12023
12092
|
], D.prototype, "popupLogoSvg", 2);
|
|
12024
|
-
|
|
12093
|
+
H([
|
|
12025
12094
|
x({ type: String, attribute: "popup-logo-url" })
|
|
12026
12095
|
], D.prototype, "popupLogoUrl", 2);
|
|
12027
|
-
|
|
12096
|
+
H([
|
|
12028
12097
|
x({ type: String, attribute: "bot-icon-svg" })
|
|
12029
12098
|
], D.prototype, "botIconSvg", 2);
|
|
12030
|
-
|
|
12099
|
+
H([
|
|
12031
12100
|
x({ type: String, attribute: "user-icon-svg" })
|
|
12032
12101
|
], D.prototype, "userIconSvg", 2);
|
|
12033
|
-
|
|
12102
|
+
H([
|
|
12034
12103
|
x({ type: String, attribute: "system-icon-svg" })
|
|
12035
12104
|
], D.prototype, "systemIconSvg", 2);
|
|
12036
|
-
|
|
12105
|
+
H([
|
|
12037
12106
|
x({ type: String, attribute: "agent-icon-svg" })
|
|
12038
12107
|
], D.prototype, "agentIconSvg", 2);
|
|
12039
|
-
|
|
12108
|
+
H([
|
|
12040
12109
|
x({ type: String, attribute: "info-icon-svg" })
|
|
12041
12110
|
], D.prototype, "infoIconSvg", 2);
|
|
12042
|
-
|
|
12111
|
+
H([
|
|
12043
12112
|
x({ type: String, attribute: "anchor-open-svg" })
|
|
12044
12113
|
], D.prototype, "anchorOpenSvg", 2);
|
|
12045
|
-
|
|
12114
|
+
H([
|
|
12046
12115
|
x({ type: String, attribute: "anchor-close-svg" })
|
|
12047
12116
|
], D.prototype, "anchorCloseSvg", 2);
|
|
12048
|
-
|
|
12117
|
+
H([
|
|
12049
12118
|
x({ type: String, attribute: "send-icon-svg" })
|
|
12050
12119
|
], D.prototype, "sendIconSvg", 2);
|
|
12051
|
-
|
|
12120
|
+
H([
|
|
12052
12121
|
x({ type: String, attribute: "attach-icon-svg" })
|
|
12053
12122
|
], D.prototype, "attachIconSvg", 2);
|
|
12054
|
-
|
|
12123
|
+
H([
|
|
12055
12124
|
x({ type: Boolean, attribute: "stream" })
|
|
12056
12125
|
], D.prototype, "stream", 2);
|
|
12057
|
-
|
|
12126
|
+
H([
|
|
12058
12127
|
x({ type: Boolean, attribute: "custom-request" })
|
|
12059
12128
|
], D.prototype, "customRequest", 2);
|
|
12060
|
-
|
|
12129
|
+
H([
|
|
12061
12130
|
x({ type: Boolean, attribute: "enable-file-upload" })
|
|
12062
12131
|
], D.prototype, "enableFileUpload", 2);
|
|
12063
|
-
|
|
12132
|
+
H([
|
|
12064
12133
|
x({ type: String, attribute: "upload-file-url" })
|
|
12065
12134
|
], D.prototype, "uploadFileUrl", 2);
|
|
12066
|
-
|
|
12135
|
+
H([
|
|
12067
12136
|
x({ type: Boolean, attribute: "open" })
|
|
12068
12137
|
], D.prototype, "open", 2);
|
|
12069
|
-
|
|
12138
|
+
H([
|
|
12070
12139
|
x({ type: Boolean, attribute: "always-open" })
|
|
12071
12140
|
], D.prototype, "alwaysOpen", 2);
|
|
12072
|
-
|
|
12141
|
+
H([
|
|
12073
12142
|
x({ type: String, attribute: "prefilled-form-fields" })
|
|
12074
12143
|
], D.prototype, "prefilledFormFields", 2);
|
|
12075
|
-
|
|
12144
|
+
H([
|
|
12076
12145
|
x({ type: Boolean })
|
|
12077
12146
|
], D.prototype, "loading", 2);
|
|
12078
|
-
|
|
12147
|
+
H([
|
|
12079
12148
|
x({ type: Boolean })
|
|
12080
12149
|
], D.prototype, "showSetting", 2);
|
|
12081
|
-
|
|
12150
|
+
H([
|
|
12082
12151
|
x({ type: Boolean })
|
|
12083
12152
|
], D.prototype, "showAuthAlert", 2);
|
|
12084
|
-
|
|
12153
|
+
H([
|
|
12085
12154
|
xe("cb-message-list")
|
|
12086
12155
|
], D.prototype, "_messageList", 2);
|
|
12087
|
-
D =
|
|
12156
|
+
D = H([
|
|
12088
12157
|
J("enegelai-bot")
|
|
12089
12158
|
], D);
|
|
12090
12159
|
export {
|