@primexperts.co/pulse-agent 1.1.1 → 1.1.2
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/README.md
CHANGED
|
@@ -4,6 +4,7 @@ Embeddable floating Pulse chat widget for client websites.
|
|
|
4
4
|
|
|
5
5
|
## Documentation
|
|
6
6
|
|
|
7
|
+
- Integration channels guide: `docs/INTEGRATION-CHANNELS.md`
|
|
7
8
|
- Full implementation guide: `docs/IMPLEMENTATION-GUIDE.md`
|
|
8
9
|
- FAQ: `docs/FAQ.md`
|
|
9
10
|
- Troubleshooting: `docs/TROUBLESHOOTING.md`
|
|
@@ -12,6 +12,7 @@ function createPulseAgent(options) {
|
|
|
12
12
|
root.innerHTML = template(state.options.title ?? 'Pulse Support');
|
|
13
13
|
mountRoot.appendChild(root);
|
|
14
14
|
const button = root.querySelector('[data-role="toggle"]');
|
|
15
|
+
const whatsappBtn = root.querySelector('[data-role="whatsapp"]');
|
|
15
16
|
const panel = root.querySelector('[data-role="panel"]');
|
|
16
17
|
const closeBtn = root.querySelector('[data-role="close"]');
|
|
17
18
|
const log = root.querySelector('[data-role="log"]');
|
|
@@ -38,7 +39,15 @@ function createPulseAgent(options) {
|
|
|
38
39
|
pushMessage(state, log, { role: 'system', content: 'Welcome to Pulse. Send us a message.' });
|
|
39
40
|
}
|
|
40
41
|
refreshConversationMeta(state, convoMeta, convoIdLabel);
|
|
42
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
41
43
|
button.addEventListener('click', () => toggle(panel, state));
|
|
44
|
+
whatsappBtn.addEventListener('click', () => {
|
|
45
|
+
const url = normalizeWhatsAppUrl(state.options.whatsappUrl || '');
|
|
46
|
+
if (!url) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
50
|
+
});
|
|
42
51
|
closeBtn.addEventListener('click', () => close(panel, state));
|
|
43
52
|
continueBtn.addEventListener('click', () => {
|
|
44
53
|
const name = nameInput.value.trim();
|
|
@@ -116,7 +125,7 @@ function createPulseAgent(options) {
|
|
|
116
125
|
return;
|
|
117
126
|
}
|
|
118
127
|
if (!state.widgetToken) {
|
|
119
|
-
await resolveWidgetToken(state, log);
|
|
128
|
+
await resolveWidgetToken(state, log, whatsappBtn);
|
|
120
129
|
if (!state.widgetToken) {
|
|
121
130
|
return;
|
|
122
131
|
}
|
|
@@ -156,6 +165,7 @@ function createPulseAgent(options) {
|
|
|
156
165
|
connectStream(state, log);
|
|
157
166
|
refreshConversationMeta(state, convoMeta, convoIdLabel);
|
|
158
167
|
}
|
|
168
|
+
scheduleHistorySync(state, log);
|
|
159
169
|
}
|
|
160
170
|
catch (error) {
|
|
161
171
|
const message = error instanceof Error ? error.message : 'Message failed.';
|
|
@@ -166,7 +176,7 @@ function createPulseAgent(options) {
|
|
|
166
176
|
sendBtn.disabled = false;
|
|
167
177
|
}
|
|
168
178
|
});
|
|
169
|
-
resolveWidgetToken(state, log).then(async () => {
|
|
179
|
+
resolveWidgetToken(state, log, whatsappBtn).then(async () => {
|
|
170
180
|
if (state.conversationId) {
|
|
171
181
|
await syncConversationHistory(state, log);
|
|
172
182
|
connectStream(state, log);
|
|
@@ -186,6 +196,10 @@ function createPulseAgent(options) {
|
|
|
186
196
|
if (state.stream) {
|
|
187
197
|
state.stream.close();
|
|
188
198
|
}
|
|
199
|
+
if (state.historySyncTimer != null) {
|
|
200
|
+
window.clearTimeout(state.historySyncTimer);
|
|
201
|
+
state.historySyncTimer = null;
|
|
202
|
+
}
|
|
189
203
|
if (state.reconnectTimer != null) {
|
|
190
204
|
window.clearTimeout(state.reconnectTimer);
|
|
191
205
|
state.reconnectTimer = null;
|
|
@@ -201,12 +215,24 @@ function createPulseAgent(options) {
|
|
|
201
215
|
state.widgetToken = partial.widgetToken.trim();
|
|
202
216
|
persistSession(state);
|
|
203
217
|
}
|
|
218
|
+
if (partial.whatsappUrl !== undefined) {
|
|
219
|
+
state.options.whatsappUrl = normalizeWhatsAppUrl(partial.whatsappUrl);
|
|
220
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
221
|
+
}
|
|
204
222
|
}
|
|
205
223
|
};
|
|
206
224
|
}
|
|
207
225
|
function template(title) {
|
|
208
226
|
return `
|
|
209
|
-
<
|
|
227
|
+
<div class="pulse-agent-fabs">
|
|
228
|
+
<button class="pulse-agent-wa-fab hidden" data-role="whatsapp" aria-label="Open WhatsApp chat" type="button">
|
|
229
|
+
<svg viewBox="0 0 32 32" aria-hidden="true" focusable="false">
|
|
230
|
+
<path d="M19.11 17.33C18.82 17.19 17.44 16.5 17.18 16.41C16.92 16.31 16.73 16.27 16.54 16.56C16.34 16.85 15.79 17.5 15.62 17.7C15.45 17.89 15.28 17.92 14.99 17.78C14.7 17.63 13.77 17.33 12.66 16.34C11.79 15.56 11.2 14.59 11.03 14.3C10.86 14.01 11.02 13.86 11.16 13.72C11.29 13.59 11.45 13.38 11.6 13.21C11.74 13.04 11.79 12.92 11.89 12.72C11.98 12.53 11.94 12.36 11.87 12.21C11.79 12.07 11.2 10.68 10.95 10.08C10.71 9.5 10.46 9.58 10.27 9.57H9.75C9.56 9.57 9.25 9.64 8.98 9.94C8.71 10.23 7.96 10.93 7.96 12.37C7.96 13.8 9.01 15.19 9.16 15.39C9.3 15.58 11.18 18.46 14.06 19.7C16.93 20.94 16.93 20.53 17.42 20.49C17.9 20.44 19 19.81 19.23 19.16C19.45 18.52 19.45 17.97 19.38 17.85C19.31 17.72 19.11 17.63 18.82 17.5M15.64 25.2H15.63C14.16 25.2 12.72 24.8 11.47 24.04L11.17 23.86L8.12 24.65L8.93 21.68L8.73 21.37C7.93 20.1 7.5 18.64 7.5 17.14C7.5 12.73 11.13 9.14 15.64 9.14C17.83 9.14 19.88 9.98 21.43 11.52C22.98 13.06 23.83 15.11 23.83 17.3C23.82 21.71 20.19 25.2 15.64 25.2M15.64 7C10.1 7 5.63 11.45 5.63 16.95C5.63 18.67 6.08 20.35 6.94 21.82L5.5 27L10.83 25.6C12.24 26.37 13.82 26.78 15.44 26.78H15.45C20.98 26.78 25.47 22.33 25.47 16.82C25.47 14.15 24.42 11.63 22.53 9.74C20.64 7.84 18.11 6.79 15.44 6.79"></path>
|
|
231
|
+
</svg>
|
|
232
|
+
<span>WhatsApp</span>
|
|
233
|
+
</button>
|
|
234
|
+
<button class="pulse-agent-fab" data-role="toggle" aria-label="Open Pulse chat" type="button">Pulse Chat</button>
|
|
235
|
+
</div>
|
|
210
236
|
<div class="pulse-agent-panel hidden" data-role="panel" aria-live="polite">
|
|
211
237
|
<header class="pulse-agent-header">
|
|
212
238
|
<strong>${escapeHtml(title)}</strong>
|
|
@@ -252,13 +278,44 @@ function ensureStyle() {
|
|
|
252
278
|
--pulse-brand-soft: #eaf3ff;
|
|
253
279
|
--pulse-brand-focus: #8dc5ff;
|
|
254
280
|
--pulse-brand-shadow: rgba(0, 91, 187, 0.35);
|
|
281
|
+
--pulse-wa: #16a34a;
|
|
282
|
+
--pulse-wa-strong: #15803d;
|
|
255
283
|
position: fixed;
|
|
256
284
|
right: 16px;
|
|
257
285
|
bottom: 16px;
|
|
258
286
|
z-index: 9999;
|
|
259
287
|
font-family: Arial, sans-serif;
|
|
260
288
|
}
|
|
261
|
-
.pulse-agent-
|
|
289
|
+
.pulse-agent-fabs { display: grid; justify-items: end; gap: 10px; }
|
|
290
|
+
.pulse-agent-fab {
|
|
291
|
+
min-height: 52px;
|
|
292
|
+
border-radius: 999px;
|
|
293
|
+
border: 0;
|
|
294
|
+
padding: 0 16px;
|
|
295
|
+
background: linear-gradient(135deg, var(--pulse-brand-primary) 0%, var(--pulse-brand-primary-strong) 100%);
|
|
296
|
+
color: #fff;
|
|
297
|
+
font-weight: 700;
|
|
298
|
+
cursor: pointer;
|
|
299
|
+
box-shadow: 0 10px 26px var(--pulse-brand-shadow);
|
|
300
|
+
white-space: nowrap;
|
|
301
|
+
}
|
|
302
|
+
.pulse-agent-wa-fab {
|
|
303
|
+
min-height: 46px;
|
|
304
|
+
border-radius: 999px;
|
|
305
|
+
border: 0;
|
|
306
|
+
padding: 0 14px;
|
|
307
|
+
display: inline-flex;
|
|
308
|
+
align-items: center;
|
|
309
|
+
gap: 8px;
|
|
310
|
+
background: linear-gradient(135deg, var(--pulse-wa) 0%, var(--pulse-wa-strong) 100%);
|
|
311
|
+
color: #fff;
|
|
312
|
+
font-weight: 700;
|
|
313
|
+
cursor: pointer;
|
|
314
|
+
box-shadow: 0 10px 24px rgba(22, 163, 74, 0.32);
|
|
315
|
+
white-space: nowrap;
|
|
316
|
+
}
|
|
317
|
+
.pulse-agent-wa-fab svg { width: 17px; height: 17px; fill: currentColor; }
|
|
318
|
+
.pulse-agent-wa-fab.hidden { display: none; }
|
|
262
319
|
.pulse-agent-panel { position: absolute; right: 0; bottom: 66px; width: min(380px, calc(100vw - 24px)); height: 540px; background: #fff; border: 1px solid #cbd5e1; border-radius: 14px; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; box-shadow: 0 18px 42px rgba(0,0,0,.2); }
|
|
263
320
|
.pulse-agent-panel.hidden { display: none; }
|
|
264
321
|
.pulse-agent-header { display: flex; justify-content: space-between; align-items: center; background: var(--pulse-brand-ink); color: #fff; padding: 10px 12px; }
|
|
@@ -268,10 +325,32 @@ function ensureStyle() {
|
|
|
268
325
|
.pulse-agent-bubble.visitor { justify-self: end; background: var(--pulse-brand-soft); color: var(--pulse-brand-ink); }
|
|
269
326
|
.pulse-agent-bubble.agent { justify-self: start; background: #e2e8f0; color: #111827; }
|
|
270
327
|
.pulse-agent-bubble.system { justify-self: center; background: #fef9c3; color: #854d0e; }
|
|
271
|
-
.pulse-agent-compose {
|
|
328
|
+
.pulse-agent-compose {
|
|
329
|
+
border-top: 1px solid #dbe2ea;
|
|
330
|
+
padding: 12px;
|
|
331
|
+
display: grid;
|
|
332
|
+
gap: 10px;
|
|
333
|
+
background:
|
|
334
|
+
radial-gradient(120% 160% at 0% 100%, rgba(0, 91, 187, 0.08) 0%, rgba(0, 91, 187, 0) 60%),
|
|
335
|
+
linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
|
|
336
|
+
}
|
|
272
337
|
.pulse-agent-prechat { display: grid; gap: 6px; }
|
|
273
338
|
.pulse-agent-prechat.hidden { display: none; }
|
|
274
|
-
.pulse-agent-compose textarea, .pulse-agent-prechat input {
|
|
339
|
+
.pulse-agent-compose textarea, .pulse-agent-prechat input {
|
|
340
|
+
width: 100%;
|
|
341
|
+
box-sizing: border-box;
|
|
342
|
+
border: 1px solid #bfd5f0;
|
|
343
|
+
border-radius: 12px;
|
|
344
|
+
padding: 10px 12px;
|
|
345
|
+
font: inherit;
|
|
346
|
+
background: #ffffff;
|
|
347
|
+
transition: border-color 120ms ease, box-shadow 120ms ease;
|
|
348
|
+
}
|
|
349
|
+
.pulse-agent-compose textarea:focus, .pulse-agent-prechat input:focus {
|
|
350
|
+
border-color: #7fb6f4;
|
|
351
|
+
box-shadow: 0 0 0 3px rgba(127, 182, 244, 0.3);
|
|
352
|
+
outline: none;
|
|
353
|
+
}
|
|
275
354
|
.pulse-agent-compose button, .pulse-agent-prechat button { border: 0; border-radius: 8px; padding: 8px 10px; background: var(--pulse-brand-primary); color: #fff; cursor: pointer; }
|
|
276
355
|
.pulse-agent-conversation-meta { border: 1px solid #dbeafe; background: #f8fbff; border-radius: 8px; padding: 6px 8px; display: grid; gap: 6px; }
|
|
277
356
|
.pulse-agent-conversation-meta.hidden { display: none; }
|
|
@@ -281,14 +360,29 @@ function ensureStyle() {
|
|
|
281
360
|
.pulse-agent-conversation-action:hover { background: #eff6ff !important; }
|
|
282
361
|
.pulse-agent-new-conversation { justify-self: start; background: transparent !important; color: var(--pulse-brand-primary) !important; border: 1px solid #b8d7ff !important; padding: 4px 8px !important; font-size: 12px; }
|
|
283
362
|
.pulse-agent-new-conversation:hover { background: #f2f8ff !important; }
|
|
284
|
-
.pulse-agent-input-wrap {
|
|
285
|
-
|
|
363
|
+
.pulse-agent-input-wrap {
|
|
364
|
+
position: relative;
|
|
365
|
+
border: 1px solid #d6e6fa;
|
|
366
|
+
border-radius: 14px;
|
|
367
|
+
background: #ffffff;
|
|
368
|
+
box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
|
|
369
|
+
overflow: hidden;
|
|
370
|
+
}
|
|
371
|
+
.pulse-agent-input-wrap textarea {
|
|
372
|
+
border: 0 !important;
|
|
373
|
+
border-radius: 0 !important;
|
|
374
|
+
box-shadow: none !important;
|
|
375
|
+
padding: 12px 56px 12px 12px;
|
|
376
|
+
min-height: 92px;
|
|
377
|
+
resize: vertical;
|
|
378
|
+
background: transparent !important;
|
|
379
|
+
}
|
|
286
380
|
.pulse-agent-send-icon {
|
|
287
381
|
position: absolute;
|
|
288
|
-
right:
|
|
289
|
-
bottom:
|
|
290
|
-
width:
|
|
291
|
-
height:
|
|
382
|
+
right: 9px;
|
|
383
|
+
bottom: 9px;
|
|
384
|
+
width: 38px;
|
|
385
|
+
height: 38px;
|
|
292
386
|
border-radius: 999px !important;
|
|
293
387
|
display: grid;
|
|
294
388
|
place-items: center;
|
|
@@ -338,7 +432,8 @@ function createState(options) {
|
|
|
338
432
|
reconnectTimer: null,
|
|
339
433
|
messages: persistedMessages,
|
|
340
434
|
opened: false,
|
|
341
|
-
sending: false
|
|
435
|
+
sending: false,
|
|
436
|
+
historySyncTimer: null
|
|
342
437
|
};
|
|
343
438
|
}
|
|
344
439
|
function normalizeOptions(options) {
|
|
@@ -350,6 +445,7 @@ function normalizeOptions(options) {
|
|
|
350
445
|
slug: options.slug.trim(),
|
|
351
446
|
apiBaseUrl: options.apiBaseUrl?.trim() || DEFAULT_API_BASE_URL,
|
|
352
447
|
followUpEmailTo: options.followUpEmailTo?.trim() || '',
|
|
448
|
+
whatsappUrl: normalizeWhatsAppUrl(options.whatsappUrl || ''),
|
|
353
449
|
dashboardUrl: options.dashboardUrl?.trim() || DEFAULT_DASHBOARD_URL,
|
|
354
450
|
dashboardSetupPath: options.dashboardSetupPath?.trim() || DEFAULT_DASHBOARD_SETUP_PATH,
|
|
355
451
|
autoOpen: options.autoOpen === true,
|
|
@@ -369,7 +465,32 @@ function resolveMount(mount) {
|
|
|
369
465
|
}
|
|
370
466
|
return mount;
|
|
371
467
|
}
|
|
372
|
-
|
|
468
|
+
function refreshWhatsAppButton(state, button) {
|
|
469
|
+
const url = normalizeWhatsAppUrl(state.options.whatsappUrl || '');
|
|
470
|
+
if (!url) {
|
|
471
|
+
button.classList.add('hidden');
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
button.classList.remove('hidden');
|
|
475
|
+
}
|
|
476
|
+
function normalizeWhatsAppUrl(value) {
|
|
477
|
+
const raw = String(value || '').trim();
|
|
478
|
+
if (!raw) {
|
|
479
|
+
return '';
|
|
480
|
+
}
|
|
481
|
+
if (/^https?:\/\//i.test(raw)) {
|
|
482
|
+
return raw;
|
|
483
|
+
}
|
|
484
|
+
if (/^(wa\.me|api\.whatsapp\.com)/i.test(raw)) {
|
|
485
|
+
return `https://${raw}`;
|
|
486
|
+
}
|
|
487
|
+
const digits = raw.replace(/\D/g, '');
|
|
488
|
+
if (digits.length >= 8) {
|
|
489
|
+
return `https://wa.me/${digits}`;
|
|
490
|
+
}
|
|
491
|
+
return '';
|
|
492
|
+
}
|
|
493
|
+
async function resolveWidgetToken(state, log, whatsappBtn) {
|
|
373
494
|
if (state.widgetToken) {
|
|
374
495
|
return;
|
|
375
496
|
}
|
|
@@ -387,6 +508,13 @@ async function resolveWidgetToken(state, log) {
|
|
|
387
508
|
}
|
|
388
509
|
const body = (await res.json());
|
|
389
510
|
state.widgetToken = body.widgetToken;
|
|
511
|
+
const resolvedWhatsApp = normalizeWhatsAppUrl(body.whatsappUrl || body.whatsAppUrl || body.whatsappNumber || state.options.whatsappUrl || '');
|
|
512
|
+
if (resolvedWhatsApp) {
|
|
513
|
+
state.options.whatsappUrl = resolvedWhatsApp;
|
|
514
|
+
if (whatsappBtn) {
|
|
515
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
390
518
|
persistSession(state);
|
|
391
519
|
pushMessage(state, log, { role: 'system', content: `Connected to ${body.organizationName}.` });
|
|
392
520
|
}
|
|
@@ -436,19 +564,21 @@ function connectStream(state, log) {
|
|
|
436
564
|
const streamUrl = `${trimSlash(state.options.apiBaseUrl)}/api/pulse/public/webchat/${state.widgetToken}/stream?conversationId=${encodeURIComponent(state.conversationId)}`;
|
|
437
565
|
const stream = new EventSource(streamUrl);
|
|
438
566
|
state.stream = stream;
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
const sender = payload.senderType?.trim().toUpperCase();
|
|
443
|
-
const isVisitorMessage = sender === 'VISITOR' || sender === 'CUSTOMER' || sender === 'CLIENT';
|
|
444
|
-
if (!isVisitorMessage && payload.content?.trim()) {
|
|
445
|
-
pushMessage(state, log, { role: 'agent', content: payload.content });
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
catch {
|
|
567
|
+
const onStreamEvent = (event) => {
|
|
568
|
+
const payload = parseStreamPayload(event.data);
|
|
569
|
+
if (!payload) {
|
|
449
570
|
return;
|
|
450
571
|
}
|
|
572
|
+
const sender = payload.senderType?.trim().toUpperCase();
|
|
573
|
+
const isVisitorMessage = sender === 'VISITOR' || sender === 'CUSTOMER' || sender === 'CLIENT';
|
|
574
|
+
if (!isVisitorMessage && payload.content?.trim()) {
|
|
575
|
+
pushMessage(state, log, { role: 'agent', content: payload.content });
|
|
576
|
+
}
|
|
451
577
|
};
|
|
578
|
+
stream.onmessage = onStreamEvent;
|
|
579
|
+
stream.addEventListener('chat-message', onStreamEvent);
|
|
580
|
+
stream.addEventListener('agent-message', onStreamEvent);
|
|
581
|
+
stream.addEventListener('webchat-message', onStreamEvent);
|
|
452
582
|
stream.onerror = () => {
|
|
453
583
|
stream.close();
|
|
454
584
|
state.stream = null;
|
|
@@ -460,6 +590,45 @@ function connectStream(state, log) {
|
|
|
460
590
|
}
|
|
461
591
|
};
|
|
462
592
|
}
|
|
593
|
+
function parseStreamPayload(raw) {
|
|
594
|
+
if (typeof raw !== 'string' || raw.trim().length === 0) {
|
|
595
|
+
return null;
|
|
596
|
+
}
|
|
597
|
+
const trimmed = raw.trim();
|
|
598
|
+
if (trimmed === 'ping' || trimmed === 'heartbeat') {
|
|
599
|
+
return null;
|
|
600
|
+
}
|
|
601
|
+
try {
|
|
602
|
+
const parsed = JSON.parse(trimmed);
|
|
603
|
+
if (typeof parsed === 'string') {
|
|
604
|
+
return { content: parsed };
|
|
605
|
+
}
|
|
606
|
+
if (parsed && typeof parsed === 'object') {
|
|
607
|
+
if (typeof parsed.content === 'string') {
|
|
608
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.content };
|
|
609
|
+
}
|
|
610
|
+
if (typeof parsed.message === 'string') {
|
|
611
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.message };
|
|
612
|
+
}
|
|
613
|
+
if (typeof parsed.data === 'string') {
|
|
614
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.data };
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
return null;
|
|
618
|
+
}
|
|
619
|
+
catch {
|
|
620
|
+
return { content: trimmed };
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
function scheduleHistorySync(state, log) {
|
|
624
|
+
if (state.historySyncTimer != null) {
|
|
625
|
+
window.clearTimeout(state.historySyncTimer);
|
|
626
|
+
}
|
|
627
|
+
state.historySyncTimer = window.setTimeout(() => {
|
|
628
|
+
state.historySyncTimer = null;
|
|
629
|
+
syncConversationHistory(state, log);
|
|
630
|
+
}, 2200);
|
|
631
|
+
}
|
|
463
632
|
function pushMessage(state, log, message) {
|
|
464
633
|
state.messages.push(message);
|
|
465
634
|
const bubble = document.createElement('div');
|
|
@@ -557,6 +726,10 @@ function ensureClientSessionId(state) {
|
|
|
557
726
|
function resetConversation(state, log) {
|
|
558
727
|
state.stream?.close();
|
|
559
728
|
state.stream = null;
|
|
729
|
+
if (state.historySyncTimer != null) {
|
|
730
|
+
window.clearTimeout(state.historySyncTimer);
|
|
731
|
+
state.historySyncTimer = null;
|
|
732
|
+
}
|
|
560
733
|
if (state.reconnectTimer != null) {
|
|
561
734
|
window.clearTimeout(state.reconnectTimer);
|
|
562
735
|
state.reconnectTimer = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse-agent.d.ts","sourceRoot":"","sources":["../../src/widget/pulse-agent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pulse-agent.d.ts","sourceRoot":"","sources":["../../src/widget/pulse-agent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;IAChB,iBAAiB,IAAI,IAAI,CAAC;IAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;CACnD;AAiCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAwO7E"}
|
|
@@ -12,6 +12,7 @@ export function createPulseAgent(options) {
|
|
|
12
12
|
root.innerHTML = template(state.options.title ?? 'Pulse Support');
|
|
13
13
|
mountRoot.appendChild(root);
|
|
14
14
|
const button = root.querySelector('[data-role="toggle"]');
|
|
15
|
+
const whatsappBtn = root.querySelector('[data-role="whatsapp"]');
|
|
15
16
|
const panel = root.querySelector('[data-role="panel"]');
|
|
16
17
|
const closeBtn = root.querySelector('[data-role="close"]');
|
|
17
18
|
const log = root.querySelector('[data-role="log"]');
|
|
@@ -38,7 +39,15 @@ export function createPulseAgent(options) {
|
|
|
38
39
|
pushMessage(state, log, { role: 'system', content: 'Welcome to Pulse. Send us a message.' });
|
|
39
40
|
}
|
|
40
41
|
refreshConversationMeta(state, convoMeta, convoIdLabel);
|
|
42
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
41
43
|
button.addEventListener('click', () => toggle(panel, state));
|
|
44
|
+
whatsappBtn.addEventListener('click', () => {
|
|
45
|
+
const url = normalizeWhatsAppUrl(state.options.whatsappUrl || '');
|
|
46
|
+
if (!url) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
50
|
+
});
|
|
42
51
|
closeBtn.addEventListener('click', () => close(panel, state));
|
|
43
52
|
continueBtn.addEventListener('click', () => {
|
|
44
53
|
const name = nameInput.value.trim();
|
|
@@ -116,7 +125,7 @@ export function createPulseAgent(options) {
|
|
|
116
125
|
return;
|
|
117
126
|
}
|
|
118
127
|
if (!state.widgetToken) {
|
|
119
|
-
await resolveWidgetToken(state, log);
|
|
128
|
+
await resolveWidgetToken(state, log, whatsappBtn);
|
|
120
129
|
if (!state.widgetToken) {
|
|
121
130
|
return;
|
|
122
131
|
}
|
|
@@ -156,6 +165,7 @@ export function createPulseAgent(options) {
|
|
|
156
165
|
connectStream(state, log);
|
|
157
166
|
refreshConversationMeta(state, convoMeta, convoIdLabel);
|
|
158
167
|
}
|
|
168
|
+
scheduleHistorySync(state, log);
|
|
159
169
|
}
|
|
160
170
|
catch (error) {
|
|
161
171
|
const message = error instanceof Error ? error.message : 'Message failed.';
|
|
@@ -166,7 +176,7 @@ export function createPulseAgent(options) {
|
|
|
166
176
|
sendBtn.disabled = false;
|
|
167
177
|
}
|
|
168
178
|
});
|
|
169
|
-
resolveWidgetToken(state, log).then(async () => {
|
|
179
|
+
resolveWidgetToken(state, log, whatsappBtn).then(async () => {
|
|
170
180
|
if (state.conversationId) {
|
|
171
181
|
await syncConversationHistory(state, log);
|
|
172
182
|
connectStream(state, log);
|
|
@@ -186,6 +196,10 @@ export function createPulseAgent(options) {
|
|
|
186
196
|
if (state.stream) {
|
|
187
197
|
state.stream.close();
|
|
188
198
|
}
|
|
199
|
+
if (state.historySyncTimer != null) {
|
|
200
|
+
window.clearTimeout(state.historySyncTimer);
|
|
201
|
+
state.historySyncTimer = null;
|
|
202
|
+
}
|
|
189
203
|
if (state.reconnectTimer != null) {
|
|
190
204
|
window.clearTimeout(state.reconnectTimer);
|
|
191
205
|
state.reconnectTimer = null;
|
|
@@ -201,12 +215,24 @@ export function createPulseAgent(options) {
|
|
|
201
215
|
state.widgetToken = partial.widgetToken.trim();
|
|
202
216
|
persistSession(state);
|
|
203
217
|
}
|
|
218
|
+
if (partial.whatsappUrl !== undefined) {
|
|
219
|
+
state.options.whatsappUrl = normalizeWhatsAppUrl(partial.whatsappUrl);
|
|
220
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
221
|
+
}
|
|
204
222
|
}
|
|
205
223
|
};
|
|
206
224
|
}
|
|
207
225
|
function template(title) {
|
|
208
226
|
return `
|
|
209
|
-
<
|
|
227
|
+
<div class="pulse-agent-fabs">
|
|
228
|
+
<button class="pulse-agent-wa-fab hidden" data-role="whatsapp" aria-label="Open WhatsApp chat" type="button">
|
|
229
|
+
<svg viewBox="0 0 32 32" aria-hidden="true" focusable="false">
|
|
230
|
+
<path d="M19.11 17.33C18.82 17.19 17.44 16.5 17.18 16.41C16.92 16.31 16.73 16.27 16.54 16.56C16.34 16.85 15.79 17.5 15.62 17.7C15.45 17.89 15.28 17.92 14.99 17.78C14.7 17.63 13.77 17.33 12.66 16.34C11.79 15.56 11.2 14.59 11.03 14.3C10.86 14.01 11.02 13.86 11.16 13.72C11.29 13.59 11.45 13.38 11.6 13.21C11.74 13.04 11.79 12.92 11.89 12.72C11.98 12.53 11.94 12.36 11.87 12.21C11.79 12.07 11.2 10.68 10.95 10.08C10.71 9.5 10.46 9.58 10.27 9.57H9.75C9.56 9.57 9.25 9.64 8.98 9.94C8.71 10.23 7.96 10.93 7.96 12.37C7.96 13.8 9.01 15.19 9.16 15.39C9.3 15.58 11.18 18.46 14.06 19.7C16.93 20.94 16.93 20.53 17.42 20.49C17.9 20.44 19 19.81 19.23 19.16C19.45 18.52 19.45 17.97 19.38 17.85C19.31 17.72 19.11 17.63 18.82 17.5M15.64 25.2H15.63C14.16 25.2 12.72 24.8 11.47 24.04L11.17 23.86L8.12 24.65L8.93 21.68L8.73 21.37C7.93 20.1 7.5 18.64 7.5 17.14C7.5 12.73 11.13 9.14 15.64 9.14C17.83 9.14 19.88 9.98 21.43 11.52C22.98 13.06 23.83 15.11 23.83 17.3C23.82 21.71 20.19 25.2 15.64 25.2M15.64 7C10.1 7 5.63 11.45 5.63 16.95C5.63 18.67 6.08 20.35 6.94 21.82L5.5 27L10.83 25.6C12.24 26.37 13.82 26.78 15.44 26.78H15.45C20.98 26.78 25.47 22.33 25.47 16.82C25.47 14.15 24.42 11.63 22.53 9.74C20.64 7.84 18.11 6.79 15.44 6.79"></path>
|
|
231
|
+
</svg>
|
|
232
|
+
<span>WhatsApp</span>
|
|
233
|
+
</button>
|
|
234
|
+
<button class="pulse-agent-fab" data-role="toggle" aria-label="Open Pulse chat" type="button">Pulse Chat</button>
|
|
235
|
+
</div>
|
|
210
236
|
<div class="pulse-agent-panel hidden" data-role="panel" aria-live="polite">
|
|
211
237
|
<header class="pulse-agent-header">
|
|
212
238
|
<strong>${escapeHtml(title)}</strong>
|
|
@@ -252,13 +278,44 @@ function ensureStyle() {
|
|
|
252
278
|
--pulse-brand-soft: #eaf3ff;
|
|
253
279
|
--pulse-brand-focus: #8dc5ff;
|
|
254
280
|
--pulse-brand-shadow: rgba(0, 91, 187, 0.35);
|
|
281
|
+
--pulse-wa: #16a34a;
|
|
282
|
+
--pulse-wa-strong: #15803d;
|
|
255
283
|
position: fixed;
|
|
256
284
|
right: 16px;
|
|
257
285
|
bottom: 16px;
|
|
258
286
|
z-index: 9999;
|
|
259
287
|
font-family: Arial, sans-serif;
|
|
260
288
|
}
|
|
261
|
-
.pulse-agent-
|
|
289
|
+
.pulse-agent-fabs { display: grid; justify-items: end; gap: 10px; }
|
|
290
|
+
.pulse-agent-fab {
|
|
291
|
+
min-height: 52px;
|
|
292
|
+
border-radius: 999px;
|
|
293
|
+
border: 0;
|
|
294
|
+
padding: 0 16px;
|
|
295
|
+
background: linear-gradient(135deg, var(--pulse-brand-primary) 0%, var(--pulse-brand-primary-strong) 100%);
|
|
296
|
+
color: #fff;
|
|
297
|
+
font-weight: 700;
|
|
298
|
+
cursor: pointer;
|
|
299
|
+
box-shadow: 0 10px 26px var(--pulse-brand-shadow);
|
|
300
|
+
white-space: nowrap;
|
|
301
|
+
}
|
|
302
|
+
.pulse-agent-wa-fab {
|
|
303
|
+
min-height: 46px;
|
|
304
|
+
border-radius: 999px;
|
|
305
|
+
border: 0;
|
|
306
|
+
padding: 0 14px;
|
|
307
|
+
display: inline-flex;
|
|
308
|
+
align-items: center;
|
|
309
|
+
gap: 8px;
|
|
310
|
+
background: linear-gradient(135deg, var(--pulse-wa) 0%, var(--pulse-wa-strong) 100%);
|
|
311
|
+
color: #fff;
|
|
312
|
+
font-weight: 700;
|
|
313
|
+
cursor: pointer;
|
|
314
|
+
box-shadow: 0 10px 24px rgba(22, 163, 74, 0.32);
|
|
315
|
+
white-space: nowrap;
|
|
316
|
+
}
|
|
317
|
+
.pulse-agent-wa-fab svg { width: 17px; height: 17px; fill: currentColor; }
|
|
318
|
+
.pulse-agent-wa-fab.hidden { display: none; }
|
|
262
319
|
.pulse-agent-panel { position: absolute; right: 0; bottom: 66px; width: min(380px, calc(100vw - 24px)); height: 540px; background: #fff; border: 1px solid #cbd5e1; border-radius: 14px; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; box-shadow: 0 18px 42px rgba(0,0,0,.2); }
|
|
263
320
|
.pulse-agent-panel.hidden { display: none; }
|
|
264
321
|
.pulse-agent-header { display: flex; justify-content: space-between; align-items: center; background: var(--pulse-brand-ink); color: #fff; padding: 10px 12px; }
|
|
@@ -268,10 +325,32 @@ function ensureStyle() {
|
|
|
268
325
|
.pulse-agent-bubble.visitor { justify-self: end; background: var(--pulse-brand-soft); color: var(--pulse-brand-ink); }
|
|
269
326
|
.pulse-agent-bubble.agent { justify-self: start; background: #e2e8f0; color: #111827; }
|
|
270
327
|
.pulse-agent-bubble.system { justify-self: center; background: #fef9c3; color: #854d0e; }
|
|
271
|
-
.pulse-agent-compose {
|
|
328
|
+
.pulse-agent-compose {
|
|
329
|
+
border-top: 1px solid #dbe2ea;
|
|
330
|
+
padding: 12px;
|
|
331
|
+
display: grid;
|
|
332
|
+
gap: 10px;
|
|
333
|
+
background:
|
|
334
|
+
radial-gradient(120% 160% at 0% 100%, rgba(0, 91, 187, 0.08) 0%, rgba(0, 91, 187, 0) 60%),
|
|
335
|
+
linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
|
|
336
|
+
}
|
|
272
337
|
.pulse-agent-prechat { display: grid; gap: 6px; }
|
|
273
338
|
.pulse-agent-prechat.hidden { display: none; }
|
|
274
|
-
.pulse-agent-compose textarea, .pulse-agent-prechat input {
|
|
339
|
+
.pulse-agent-compose textarea, .pulse-agent-prechat input {
|
|
340
|
+
width: 100%;
|
|
341
|
+
box-sizing: border-box;
|
|
342
|
+
border: 1px solid #bfd5f0;
|
|
343
|
+
border-radius: 12px;
|
|
344
|
+
padding: 10px 12px;
|
|
345
|
+
font: inherit;
|
|
346
|
+
background: #ffffff;
|
|
347
|
+
transition: border-color 120ms ease, box-shadow 120ms ease;
|
|
348
|
+
}
|
|
349
|
+
.pulse-agent-compose textarea:focus, .pulse-agent-prechat input:focus {
|
|
350
|
+
border-color: #7fb6f4;
|
|
351
|
+
box-shadow: 0 0 0 3px rgba(127, 182, 244, 0.3);
|
|
352
|
+
outline: none;
|
|
353
|
+
}
|
|
275
354
|
.pulse-agent-compose button, .pulse-agent-prechat button { border: 0; border-radius: 8px; padding: 8px 10px; background: var(--pulse-brand-primary); color: #fff; cursor: pointer; }
|
|
276
355
|
.pulse-agent-conversation-meta { border: 1px solid #dbeafe; background: #f8fbff; border-radius: 8px; padding: 6px 8px; display: grid; gap: 6px; }
|
|
277
356
|
.pulse-agent-conversation-meta.hidden { display: none; }
|
|
@@ -281,14 +360,29 @@ function ensureStyle() {
|
|
|
281
360
|
.pulse-agent-conversation-action:hover { background: #eff6ff !important; }
|
|
282
361
|
.pulse-agent-new-conversation { justify-self: start; background: transparent !important; color: var(--pulse-brand-primary) !important; border: 1px solid #b8d7ff !important; padding: 4px 8px !important; font-size: 12px; }
|
|
283
362
|
.pulse-agent-new-conversation:hover { background: #f2f8ff !important; }
|
|
284
|
-
.pulse-agent-input-wrap {
|
|
285
|
-
|
|
363
|
+
.pulse-agent-input-wrap {
|
|
364
|
+
position: relative;
|
|
365
|
+
border: 1px solid #d6e6fa;
|
|
366
|
+
border-radius: 14px;
|
|
367
|
+
background: #ffffff;
|
|
368
|
+
box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
|
|
369
|
+
overflow: hidden;
|
|
370
|
+
}
|
|
371
|
+
.pulse-agent-input-wrap textarea {
|
|
372
|
+
border: 0 !important;
|
|
373
|
+
border-radius: 0 !important;
|
|
374
|
+
box-shadow: none !important;
|
|
375
|
+
padding: 12px 56px 12px 12px;
|
|
376
|
+
min-height: 92px;
|
|
377
|
+
resize: vertical;
|
|
378
|
+
background: transparent !important;
|
|
379
|
+
}
|
|
286
380
|
.pulse-agent-send-icon {
|
|
287
381
|
position: absolute;
|
|
288
|
-
right:
|
|
289
|
-
bottom:
|
|
290
|
-
width:
|
|
291
|
-
height:
|
|
382
|
+
right: 9px;
|
|
383
|
+
bottom: 9px;
|
|
384
|
+
width: 38px;
|
|
385
|
+
height: 38px;
|
|
292
386
|
border-radius: 999px !important;
|
|
293
387
|
display: grid;
|
|
294
388
|
place-items: center;
|
|
@@ -338,7 +432,8 @@ function createState(options) {
|
|
|
338
432
|
reconnectTimer: null,
|
|
339
433
|
messages: persistedMessages,
|
|
340
434
|
opened: false,
|
|
341
|
-
sending: false
|
|
435
|
+
sending: false,
|
|
436
|
+
historySyncTimer: null
|
|
342
437
|
};
|
|
343
438
|
}
|
|
344
439
|
function normalizeOptions(options) {
|
|
@@ -350,6 +445,7 @@ function normalizeOptions(options) {
|
|
|
350
445
|
slug: options.slug.trim(),
|
|
351
446
|
apiBaseUrl: options.apiBaseUrl?.trim() || DEFAULT_API_BASE_URL,
|
|
352
447
|
followUpEmailTo: options.followUpEmailTo?.trim() || '',
|
|
448
|
+
whatsappUrl: normalizeWhatsAppUrl(options.whatsappUrl || ''),
|
|
353
449
|
dashboardUrl: options.dashboardUrl?.trim() || DEFAULT_DASHBOARD_URL,
|
|
354
450
|
dashboardSetupPath: options.dashboardSetupPath?.trim() || DEFAULT_DASHBOARD_SETUP_PATH,
|
|
355
451
|
autoOpen: options.autoOpen === true,
|
|
@@ -369,7 +465,32 @@ function resolveMount(mount) {
|
|
|
369
465
|
}
|
|
370
466
|
return mount;
|
|
371
467
|
}
|
|
372
|
-
|
|
468
|
+
function refreshWhatsAppButton(state, button) {
|
|
469
|
+
const url = normalizeWhatsAppUrl(state.options.whatsappUrl || '');
|
|
470
|
+
if (!url) {
|
|
471
|
+
button.classList.add('hidden');
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
button.classList.remove('hidden');
|
|
475
|
+
}
|
|
476
|
+
function normalizeWhatsAppUrl(value) {
|
|
477
|
+
const raw = String(value || '').trim();
|
|
478
|
+
if (!raw) {
|
|
479
|
+
return '';
|
|
480
|
+
}
|
|
481
|
+
if (/^https?:\/\//i.test(raw)) {
|
|
482
|
+
return raw;
|
|
483
|
+
}
|
|
484
|
+
if (/^(wa\.me|api\.whatsapp\.com)/i.test(raw)) {
|
|
485
|
+
return `https://${raw}`;
|
|
486
|
+
}
|
|
487
|
+
const digits = raw.replace(/\D/g, '');
|
|
488
|
+
if (digits.length >= 8) {
|
|
489
|
+
return `https://wa.me/${digits}`;
|
|
490
|
+
}
|
|
491
|
+
return '';
|
|
492
|
+
}
|
|
493
|
+
async function resolveWidgetToken(state, log, whatsappBtn) {
|
|
373
494
|
if (state.widgetToken) {
|
|
374
495
|
return;
|
|
375
496
|
}
|
|
@@ -387,6 +508,13 @@ async function resolveWidgetToken(state, log) {
|
|
|
387
508
|
}
|
|
388
509
|
const body = (await res.json());
|
|
389
510
|
state.widgetToken = body.widgetToken;
|
|
511
|
+
const resolvedWhatsApp = normalizeWhatsAppUrl(body.whatsappUrl || body.whatsAppUrl || body.whatsappNumber || state.options.whatsappUrl || '');
|
|
512
|
+
if (resolvedWhatsApp) {
|
|
513
|
+
state.options.whatsappUrl = resolvedWhatsApp;
|
|
514
|
+
if (whatsappBtn) {
|
|
515
|
+
refreshWhatsAppButton(state, whatsappBtn);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
390
518
|
persistSession(state);
|
|
391
519
|
pushMessage(state, log, { role: 'system', content: `Connected to ${body.organizationName}.` });
|
|
392
520
|
}
|
|
@@ -436,19 +564,21 @@ function connectStream(state, log) {
|
|
|
436
564
|
const streamUrl = `${trimSlash(state.options.apiBaseUrl)}/api/pulse/public/webchat/${state.widgetToken}/stream?conversationId=${encodeURIComponent(state.conversationId)}`;
|
|
437
565
|
const stream = new EventSource(streamUrl);
|
|
438
566
|
state.stream = stream;
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
const sender = payload.senderType?.trim().toUpperCase();
|
|
443
|
-
const isVisitorMessage = sender === 'VISITOR' || sender === 'CUSTOMER' || sender === 'CLIENT';
|
|
444
|
-
if (!isVisitorMessage && payload.content?.trim()) {
|
|
445
|
-
pushMessage(state, log, { role: 'agent', content: payload.content });
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
catch {
|
|
567
|
+
const onStreamEvent = (event) => {
|
|
568
|
+
const payload = parseStreamPayload(event.data);
|
|
569
|
+
if (!payload) {
|
|
449
570
|
return;
|
|
450
571
|
}
|
|
572
|
+
const sender = payload.senderType?.trim().toUpperCase();
|
|
573
|
+
const isVisitorMessage = sender === 'VISITOR' || sender === 'CUSTOMER' || sender === 'CLIENT';
|
|
574
|
+
if (!isVisitorMessage && payload.content?.trim()) {
|
|
575
|
+
pushMessage(state, log, { role: 'agent', content: payload.content });
|
|
576
|
+
}
|
|
451
577
|
};
|
|
578
|
+
stream.onmessage = onStreamEvent;
|
|
579
|
+
stream.addEventListener('chat-message', onStreamEvent);
|
|
580
|
+
stream.addEventListener('agent-message', onStreamEvent);
|
|
581
|
+
stream.addEventListener('webchat-message', onStreamEvent);
|
|
452
582
|
stream.onerror = () => {
|
|
453
583
|
stream.close();
|
|
454
584
|
state.stream = null;
|
|
@@ -460,6 +590,45 @@ function connectStream(state, log) {
|
|
|
460
590
|
}
|
|
461
591
|
};
|
|
462
592
|
}
|
|
593
|
+
function parseStreamPayload(raw) {
|
|
594
|
+
if (typeof raw !== 'string' || raw.trim().length === 0) {
|
|
595
|
+
return null;
|
|
596
|
+
}
|
|
597
|
+
const trimmed = raw.trim();
|
|
598
|
+
if (trimmed === 'ping' || trimmed === 'heartbeat') {
|
|
599
|
+
return null;
|
|
600
|
+
}
|
|
601
|
+
try {
|
|
602
|
+
const parsed = JSON.parse(trimmed);
|
|
603
|
+
if (typeof parsed === 'string') {
|
|
604
|
+
return { content: parsed };
|
|
605
|
+
}
|
|
606
|
+
if (parsed && typeof parsed === 'object') {
|
|
607
|
+
if (typeof parsed.content === 'string') {
|
|
608
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.content };
|
|
609
|
+
}
|
|
610
|
+
if (typeof parsed.message === 'string') {
|
|
611
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.message };
|
|
612
|
+
}
|
|
613
|
+
if (typeof parsed.data === 'string') {
|
|
614
|
+
return { senderType: parsed.senderType ?? parsed.sender, content: parsed.data };
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
return null;
|
|
618
|
+
}
|
|
619
|
+
catch {
|
|
620
|
+
return { content: trimmed };
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
function scheduleHistorySync(state, log) {
|
|
624
|
+
if (state.historySyncTimer != null) {
|
|
625
|
+
window.clearTimeout(state.historySyncTimer);
|
|
626
|
+
}
|
|
627
|
+
state.historySyncTimer = window.setTimeout(() => {
|
|
628
|
+
state.historySyncTimer = null;
|
|
629
|
+
syncConversationHistory(state, log);
|
|
630
|
+
}, 2200);
|
|
631
|
+
}
|
|
463
632
|
function pushMessage(state, log, message) {
|
|
464
633
|
state.messages.push(message);
|
|
465
634
|
const bubble = document.createElement('div');
|
|
@@ -557,6 +726,10 @@ function ensureClientSessionId(state) {
|
|
|
557
726
|
function resetConversation(state, log) {
|
|
558
727
|
state.stream?.close();
|
|
559
728
|
state.stream = null;
|
|
729
|
+
if (state.historySyncTimer != null) {
|
|
730
|
+
window.clearTimeout(state.historySyncTimer);
|
|
731
|
+
state.historySyncTimer = null;
|
|
732
|
+
}
|
|
560
733
|
if (state.reconnectTimer != null) {
|
|
561
734
|
window.clearTimeout(state.reconnectTimer);
|
|
562
735
|
state.reconnectTimer = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse-agent.js","sourceRoot":"","sources":["../../src/widget/pulse-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pulse-agent.js","sourceRoot":"","sources":["../../src/widget/pulse-agent.ts"],"names":[],"mappings":"AAgDA,MAAM,oBAAoB,GAAG,yCAAyC,CAAC;AACvE,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;AAChE,MAAM,4BAA4B,GAAG,eAAe,CAAC;AACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,aAAa,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,CAAC;IAEd,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;IAClE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAoB,sBAAsB,CAAE,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAoB,wBAAwB,CAAE,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAiB,qBAAqB,CAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAoB,qBAAqB,CAAE,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAiB,mBAAmB,CAAE,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAiB,uBAAuB,CAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAiB,iCAAiC,CAAE,CAAC;IACzF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAkB,+BAA+B,CAAE,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAmB,oBAAoB,CAAE,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAmB,qBAAqB,CAAE,CAAC;IAChF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAoB,wBAAwB,CAAE,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAsB,uBAAuB,CAAE,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAoB,oBAAoB,CAAE,CAAC;IAC7E,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAoB,gCAAgC,CAAE,CAAC;IACpG,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAoB,iCAAiC,CAAE,CAAC;IACtG,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAoB,6BAA6B,CAAE,CAAC;IAE9F,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACxD,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAE1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAChC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAChD,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACvD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;gBACvE,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1D,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACnD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC,CAAC;YACvH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAW,CAAC,6BAA6B,KAAK,CAAC,WAAW,oCAAoC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EACnK;oBACE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;wBACtC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI;wBAC1C,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI;qBAC7C,CAAC;iBACH,CACF,CAAC;gBACF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;wBACtB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,mCAAmC,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG;qBAC7E,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,2BAA2B,KAAK,CAAC,cAAc,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,UAAU,kBAAkB,CAAC,EAAE,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1H,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7D,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;gBAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,EAAE;gBAChI,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC;YAE7E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAW,CAAC,6BAA6B,KAAK,CAAC,WAAW,UAAU,EAAE;gBACvH,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;YACvD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;YACxG,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACjC,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;gBACtC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1B,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;gBACnD,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;gBACtC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+DAA+D,EAAE,CAAC,CAAC;gBACtH,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1B,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1D,CAAC;YACD,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC3E,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAC1D,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1C,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;QAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;QAChC,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE;YACtB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACnE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC/C,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACtE,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO;;;;;;;;;;;;gBAYO,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2BxB,CAAC;AACV,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+InB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAgBD,SAAS,WAAW,CAAC,OAA0B;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC9G,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI;QACpF,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI;QAClC,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,IAAI;QACxD,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI;QAC1D,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0B;IAClD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;QACzB,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,oBAAoB;QAC9D,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;QACtD,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5D,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,qBAAqB;QACnE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,4BAA4B;QACtF,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;QACnC,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,KAAK;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA4B;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAc,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY,EAAE,MAAyB;IACpE,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,iBAAiB,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAY,EACZ,GAAmB,EACnB,WAA+B;IAE/B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,0CAA0C,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrI,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,CAAC,IAAI,iDAAiD,CAAC,CAAC;YAC7H,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;QACzD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAC/F,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC7C,IAAI,WAAW,EAAE,CAAC;gBAChB,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;QAC3F,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,KAAY,EAAE,GAAmB;IACtE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,KAAK,CAAC,WAAW,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9K,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,KAAK,CAAC,QAAQ,GAAG,IAAI;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;aACjF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,IAAI,GAAS,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEL,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;QACnB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAY,EAAE,GAAmB;IACtD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,KAAK,CAAC,WAAW,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;IAC3K,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAEtB,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,QAAQ,CAAC;QAC9F,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACjD,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;IACjC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAA8B,CAAC,CAAC;IACxE,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,aAA8B,CAAC,CAAC;IACzE,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,aAA8B,CAAC,CAAC;IAE3E,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YACzD,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAEvB,CAAC;QAEX,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACrF,CAAC;YACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACrF,CAAC;YACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,GAAmB;IAC5D,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;QAC9C,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,KAAY,EAAE,GAAmB,EAAE,OAAoB;IAC1E,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACrC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC;IACjC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,GAAmB,EAAE,QAAuB;IAClE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,GAAG,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB,EAAE,KAAY;IACjD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,KAAqB,EAAE,KAAY;IAC/C,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAqB,EAAE,KAAY;IAChD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAUD,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,uBAAuB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QACnD,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,IAAI,CAAC;QACH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAqB;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YAC3C,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,SAAS;YACjD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,SAAS;YACnD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;SACrC,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY;IACzC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACnF,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,eAAe,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAY,EAAE,GAAmB;IAC1D,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACtB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5C,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IACnB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2DAA2D,EAAE,CAAC,CAAC;IAClH,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAY,EAAE,IAAoB,EAAE,KAAsB;IACzF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,CAAC,WAAW,GAAG,oBAAoB,KAAK,CAAC,cAAc,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|