@hivegpt/hiveai-angular 0.0.381 → 0.0.382

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.
Files changed (87) hide show
  1. package/bundles/hivegpt-hiveai-angular.umd.js +3145 -0
  2. package/bundles/hivegpt-hiveai-angular.umd.js.map +1 -0
  3. package/bundles/hivegpt-hiveai-angular.umd.min.js +2 -0
  4. package/bundles/hivegpt-hiveai-angular.umd.min.js.map +1 -0
  5. package/environments/environment.d.ts +15 -0
  6. package/environments/environment.d.ts.map +1 -0
  7. package/esm2015/environments/environment.js +15 -0
  8. package/esm2015/hivegpt-hiveai-angular.js +13 -0
  9. package/esm2015/lib/components/NotificationSocket.js +39 -0
  10. package/esm2015/lib/components/bot-html-editor/bot-html-editor.component.js +112 -0
  11. package/esm2015/lib/components/bot.service.js +50 -0
  12. package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +1743 -0
  13. package/esm2015/lib/components/chatbot/chatbot.component.js +50 -0
  14. package/esm2015/lib/components/conversation.service.js +49 -0
  15. package/esm2015/lib/components/socket-service.service.js +72 -0
  16. package/esm2015/lib/components/translations/translation.service.js +244 -0
  17. package/esm2015/lib/components/video-player/video-player.component.js +123 -0
  18. package/esm2015/lib/hivegpt.module.js +21 -0
  19. package/esm2015/lib/models/video.js +2 -0
  20. package/esm2015/lib/pipes/safe-html.pipe.js +19 -0
  21. package/esm2015/lib/utils/utils.js +36 -0
  22. package/esm2015/public-api.js +7 -0
  23. package/fesm2015/hivegpt-hiveai-angular.js +2541 -0
  24. package/fesm2015/hivegpt-hiveai-angular.js.map +1 -0
  25. package/hivegpt-hiveai-angular.d.ts +13 -0
  26. package/hivegpt-hiveai-angular.d.ts.map +1 -0
  27. package/hivegpt-hiveai-angular.metadata.json +1 -0
  28. package/lib/components/NotificationSocket.d.ts +5 -0
  29. package/lib/components/NotificationSocket.d.ts.map +1 -0
  30. package/lib/components/bot-html-editor/bot-html-editor.component.d.ts +36 -0
  31. package/lib/components/bot-html-editor/bot-html-editor.component.d.ts.map +1 -0
  32. package/lib/components/bot.service.d.ts +12 -0
  33. package/lib/components/bot.service.d.ts.map +1 -0
  34. package/lib/components/chat-drawer/chat-drawer.component.d.ts +255 -0
  35. package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -0
  36. package/lib/components/chatbot/chatbot.component.d.ts +36 -0
  37. package/lib/components/chatbot/chatbot.component.d.ts.map +1 -0
  38. package/lib/components/conversation.service.d.ts +13 -0
  39. package/lib/components/conversation.service.d.ts.map +1 -0
  40. package/lib/components/socket-service.service.d.ts +20 -0
  41. package/lib/components/socket-service.service.d.ts.map +1 -0
  42. package/lib/components/translations/translation.service.d.ts +8 -0
  43. package/lib/components/translations/translation.service.d.ts.map +1 -0
  44. package/lib/components/video-player/video-player.component.d.ts +36 -0
  45. package/lib/components/video-player/video-player.component.d.ts.map +1 -0
  46. package/lib/hivegpt.module.d.ts +3 -0
  47. package/lib/hivegpt.module.d.ts.map +1 -0
  48. package/lib/models/video.d.ts +35 -0
  49. package/lib/models/video.d.ts.map +1 -0
  50. package/lib/pipes/safe-html.pipe.d.ts +8 -0
  51. package/lib/pipes/safe-html.pipe.d.ts.map +1 -0
  52. package/lib/utils/utils.d.ts +3 -0
  53. package/lib/utils/utils.d.ts.map +1 -0
  54. package/package.json +10 -10
  55. package/{src/public-api.ts → public-api.d.ts} +1 -4
  56. package/public-api.d.ts.map +1 -0
  57. package/karma.conf.js +0 -32
  58. package/ng-package.json +0 -7
  59. package/src/environments/environment.ts +0 -19
  60. package/src/lib/components/NotificationSocket.ts +0 -38
  61. package/src/lib/components/bot-html-editor/bot-html-editor.component.css +0 -10
  62. package/src/lib/components/bot-html-editor/bot-html-editor.component.html +0 -11
  63. package/src/lib/components/bot-html-editor/bot-html-editor.component.spec.ts +0 -25
  64. package/src/lib/components/bot-html-editor/bot-html-editor.component.ts +0 -152
  65. package/src/lib/components/bot.service.ts +0 -52
  66. package/src/lib/components/chat-drawer/chat-drawer.component.html +0 -1586
  67. package/src/lib/components/chat-drawer/chat-drawer.component.scss +0 -2907
  68. package/src/lib/components/chat-drawer/chat-drawer.component.ts +0 -2143
  69. package/src/lib/components/chatbot/chatbot.component.html +0 -37
  70. package/src/lib/components/chatbot/chatbot.component.scss +0 -97
  71. package/src/lib/components/chatbot/chatbot.component.ts +0 -44
  72. package/src/lib/components/conversation.service.spec.ts +0 -16
  73. package/src/lib/components/conversation.service.ts +0 -54
  74. package/src/lib/components/socket-service.service.spec.ts +0 -16
  75. package/src/lib/components/socket-service.service.ts +0 -77
  76. package/src/lib/components/translations/translation.service.ts +0 -221
  77. package/src/lib/components/video-player/video-player.component.html +0 -51
  78. package/src/lib/components/video-player/video-player.component.scss +0 -262
  79. package/src/lib/components/video-player/video-player.component.ts +0 -148
  80. package/src/lib/hivegpt.module.ts +0 -18
  81. package/src/lib/models/video.ts +0 -36
  82. package/src/lib/pipes/safe-html.pipe.ts +0 -16
  83. package/src/lib/utils/utils.ts +0 -37
  84. package/tsconfig.lib.json +0 -25
  85. package/tsconfig.lib.prod.json +0 -10
  86. package/tsconfig.spec.json +0 -17
  87. package/tslint.json +0 -17
@@ -1,1586 +0,0 @@
1
- <button
2
- *ngIf="isShowEditorButton && !checkForCop29BotId()"
3
- (click)="openOuterEditor()"
4
- class="fixed-btn"
5
- >
6
- <span style="font-size: 12px" class="material-icons notranslate">
7
- create
8
- </span>
9
- Editor
10
- </button>
11
-
12
- <button
13
- *ngIf="!isShowEditorButton"
14
- (click)="onCloseEditor()"
15
- class="fixed-btn-close"
16
- >
17
- <span style="font-size: 12px" class="material-icons notranslate">
18
- close
19
- </span>
20
- {{ getTranslation("Close") }}
21
- </button>
22
-
23
- <mat-drawer-container
24
- class="hivegpt-chat-wrapper"
25
- [ngClass]="{ 'mat-drawer-container-has-open': isDrawerOpen }"
26
- [class.ios-device]="isIOSDevice"
27
- [hasBackdrop]="hasBackdropValue"
28
- >
29
- <mat-drawer
30
- class="drawer"
31
- #drawer
32
- [position]="'start'"
33
- [mode]="'over'"
34
- opened="true"
35
- [class.full-width-drawer]="fullView"
36
- [style.background]="
37
- 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'
38
- "
39
- >
40
- <mat-drawer-content>
41
- <div class="chat-main">
42
- <!-- <div class="chat-header">
43
- <h2> -->
44
- <!-- {{eventName}} -->
45
- <!-- </h2> -->
46
- <!-- <button class="closeIcon" (click)="onClose()">
47
- <span class="material-symbols-outlined">
48
- close
49
- </span>
50
- </button> -->
51
- <!-- </div> -->
52
-
53
- <div class="innerChat" #chatMain>
54
- <div (click)="startNewConversation()" class="new-conversationbutton">
55
- {{ getTranslation("New Chat") }}
56
- <span
57
- ><svg
58
- xmlns="http://www.w3.org/2000/svg"
59
- width="14.061"
60
- height="14.261"
61
- viewBox="0 0 14.061 14.261"
62
- >
63
- <path
64
- id="Path_164"
65
- data-name="Path 164"
66
- d="M10.146,5.075H4.531A1.544,1.544,0,0,0,3,6.631v7.262A1.544,1.544,0,0,0,4.531,15.45h7.146a1.544,1.544,0,0,0,1.531-1.556V8.187m-7.146,4.15L15.25,3m0,0H11.677M15.25,3V6.631"
67
- transform="translate(-2.25 -1.939)"
68
- fill="none"
69
- stroke="#06f"
70
- stroke-linecap="round"
71
- stroke-linejoin="round"
72
- stroke-width="1.5"
73
- />
74
- </svg>
75
- </span>
76
- </div>
77
- <div class="sticky-header-chat">
78
- <div class="title_chat">
79
- <h2>
80
- <span>
81
- {{ getTranslation(botName) }}
82
- <svg
83
- *ngIf="!checkForCop29BotId()"
84
- xmlns="http://www.w3.org/2000/svg"
85
- width="31.499"
86
- height="31.501"
87
- viewBox="0 0 31.499 31.501"
88
- >
89
- <path
90
- id="Icon_ion-shield-checkmark"
91
- data-name="Icon ion-shield-checkmark"
92
- d="M33.685,7.83a1.125,1.125,0,0,0-.925-1.036,49.227,49.227,0,0,1-14.3-4.444,1.125,1.125,0,0,0-.927,0A49.226,49.226,0,0,1,3.24,6.794,1.125,1.125,0,0,0,2.315,7.83a27.621,27.621,0,0,0,1.718,11.9A24.572,24.572,0,0,0,9.07,27.641a25.712,25.712,0,0,0,8.513,6.028,1.125,1.125,0,0,0,.844,0,25.712,25.712,0,0,0,8.513-6.028,24.572,24.572,0,0,0,5.027-7.911,27.621,27.621,0,0,0,1.718-11.9Zm-9.211,5.281-7.791,9a1.125,1.125,0,0,1-.8.389h-.046a1.125,1.125,0,0,1-.788-.322L11.587,18.79a1.125,1.125,0,1,1,1.575-1.607l2.6,2.552,7.01-8.1a1.125,1.125,0,0,1,1.7,1.472Z"
93
- transform="translate(-2.25 -2.25)"
94
- fill="#06f"
95
- />
96
- </svg>
97
- </span>
98
- <span *ngIf="!checkForCop29BotId()">
99
- <p class="small-title">
100
- {{ getTranslation("AI-powered")
101
- }}<span>{{ getTranslation("copilot") }}</span>
102
- </p>
103
- </span>
104
- </h2>
105
- </div>
106
- <div class="chatType" style="display: none">
107
- <h4 class="labelChat">Choose a conversation style</h4>
108
- <ul>
109
- <li (click)="changeTemperature(0)">
110
- <button [ngClass]="{ active: temperature === 0 }">
111
- <span class="top-section-title"> More Creative </span>
112
- </button>
113
- </li>
114
- <li (click)="changeTemperature(1)" class="fdssfd">
115
- <button [ngClass]="{ active: temperature === 1 }">
116
- <span class="top-section-title"> More Balanced </span>
117
- </button>
118
- </li>
119
- <li (click)="changeTemperature(2)">
120
- <button [ngClass]="{ active: temperature === 2 }">
121
- <span class="top-section-title"> More Precise </span>
122
- </button>
123
- </li>
124
- </ul>
125
- </div>
126
- </div>
127
- <!-- chattype -->
128
- <div
129
- id="allChats"
130
- class="chat bot"
131
- *ngFor="let chat of chatLog; let i = index"
132
- >
133
- <div class="chat-box">
134
- <div class="message">
135
- <div
136
- class="time-cta"
137
- [ngClass]="{
138
- 'time-cta din': showFeedBackIconsIndex === i,
139
- 'time-cta': showFeedBackIconsIndex != i
140
- }"
141
- >
142
- <div class="Icon_TimeSTamp" *ngIf="chat?.type === 'ai'">
143
- <!-- <img [src]="botIcon" [alt]="botName || 'Assistant'" /> -->
144
- <svg
145
- xmlns="http://www.w3.org/2000/svg"
146
- width="44"
147
- height="44"
148
- viewBox="0 0 44 44"
149
- >
150
- <g
151
- id="Group_121"
152
- data-name="Group 121"
153
- transform="translate(4843 -371)"
154
- >
155
- <g
156
- id="Ellipse_18"
157
- data-name="Ellipse 18"
158
- transform="translate(-4843 371)"
159
- fill="#fcfcfc"
160
- stroke="#dfdfdf"
161
- stroke-width="1"
162
- >
163
- <circle cx="22" cy="22" r="22" stroke="none" />
164
- <circle cx="22" cy="22" r="21.5" fill="none" />
165
- </g>
166
- <g
167
- id="Group_120"
168
- data-name="Group 120"
169
- transform="translate(-4835.141 378.855)"
170
- >
171
- <g
172
- id="Group_1"
173
- data-name="Group 1"
174
- transform="translate(7.29 0)"
175
- >
176
- <path
177
- id="Path_1"
178
- data-name="Path 1"
179
- d="M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z"
180
- transform="translate(-87.03 -39.29)"
181
- fill="gray"
182
- />
183
- </g>
184
- <g
185
- id="Group_2"
186
- data-name="Group 2"
187
- transform="translate(0 12.717)"
188
- >
189
- <path
190
- id="Path_2"
191
- data-name="Path 2"
192
- d="M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
193
- transform="translate(-45.63 -111.51)"
194
- fill="gray"
195
- />
196
- </g>
197
- <g
198
- id="Group_3"
199
- data-name="Group 3"
200
- transform="translate(14.793 12.717)"
201
- >
202
- <path
203
- id="Path_3"
204
- data-name="Path 3"
205
- d="M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
206
- transform="translate(-129.64 -111.51)"
207
- fill="gray"
208
- />
209
- </g>
210
- </g>
211
- </g>
212
- </svg>
213
-
214
- <div
215
- class="dateTime"
216
- [style.color]="dateTimeColor ? '' : ''"
217
- >
218
- <span>{{ getTranslation("Assistant") }}</span>
219
- {{ chat?.time }}
220
- </div>
221
- </div>
222
-
223
- <div class="Icon_TimeSTamp" *ngIf="chat?.type === 'user'">
224
- <div class="user-Box">
225
- <svg
226
- xmlns="http://www.w3.org/2000/svg"
227
- width="44"
228
- height="44"
229
- viewBox="0 0 44 44"
230
- >
231
- <g
232
- id="Ellipse_17"
233
- data-name="Ellipse 17"
234
- fill="#fcfcfc"
235
- stroke="#dfdfdf"
236
- stroke-width="1"
237
- >
238
- <circle cx="22" cy="22" r="22" stroke="none" />
239
- <circle cx="22" cy="22" r="21.5" fill="none" />
240
- </g>
241
- <path
242
- id="Icon_grommet-user-expert"
243
- data-name="Icon grommet-user-expert"
244
- d="M14.24,20.443a9.472,9.472,0,1,0-9.472-9.472,9.472,9.472,0,0,0,9.472,9.472Zm10.329,5.225c-1.957-3.347-6.516-5.225-10.329-5.225-3.145,0-8.046.805-10.761,5.225"
245
- transform="translate(7.976 8.416)"
246
- fill="none"
247
- stroke="gray"
248
- stroke-width="1.5"
249
- />
250
- </svg>
251
-
252
- <div class="dateTime">
253
- <span>{{ getTranslation("You") }}</span>
254
- {{ chat?.time }}
255
- </div>
256
- </div>
257
- <div class="bards">
258
- <div
259
- class="bars"
260
- *ngIf="
261
- chat?.WorkflowExecutionId ||
262
- chat?.showWorkflowExecutionLoader
263
- "
264
- >
265
- <button
266
- class="icon-button"
267
- (click)="
268
- showWorkflowHistoryDetails(chat.WorkflowExecutionId)
269
- "
270
- >
271
- <i class="fas fa-bars"></i>
272
- </button>
273
- </div>
274
- </div>
275
- </div>
276
- </div>
277
- <div class="researchingCard">
278
- <div
279
- *ngIf="
280
- (chat?.searchTerms && chat?.searchTerms.length > 0) ||
281
- (chat?.sourcesList && chat?.sourcesList.length > 0)
282
- "
283
- class="card-header d-flex align-items-center"
284
- (click)="toggleCollapse()"
285
- >
286
- <span class="icon"
287
- ><i class="bx bx-plus-circle bx-sm"></i
288
- ></span>
289
- <span class="ml-2"
290
- >Researching
291
- <i
292
- id="toggleIcon"
293
- class="toggle-icon ml-2 fa"
294
- [ngClass]="{
295
- 'fa-chevron-down': isCollapsed,
296
- 'fa-chevron-up': !isCollapsed
297
- }"
298
- ></i
299
- ></span>
300
- </div>
301
- <div
302
- *ngIf="chat?.searchTerms && chat?.searchTerms.length > 0"
303
- [ngClass]="{ collapse: isCollapsed }"
304
- >
305
- <ul class="list-group list-group-flush uptList">
306
- <li
307
- *ngFor="let term of chat?.searchTerms"
308
- class="list-group-item"
309
- >
310
- Searching for
311
- <strong>{{ term }}</strong>
312
- </li>
313
- </ul>
314
-
315
- <h5
316
- class="mt-2"
317
- *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"
318
- >
319
- <i class="bx bx-unite"></i> Sources
320
- </h5>
321
- <div
322
- class="sources-container"
323
- *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"
324
- >
325
- <div
326
- class="source-card"
327
- *ngFor="
328
- let source of chat?.displayedSources;
329
- let i = index
330
- "
331
- >
332
- <div>
333
- <div class="source-title">{{ source.title }}</div>
334
- <div class="source-url">
335
- <img
336
- class="relative block"
337
- [src]="getFaviconUrl(source.link)"
338
- [alt]="getDomainName(source.link) + ' favicon'"
339
- />
340
- {{ getDomainName(source.link) }}
341
- </div>
342
- <div class="popup">
343
- <div
344
- class="source-url"
345
- (click)="openLinkInNewTab(source.link)"
346
- >
347
- <img
348
- class="relative block"
349
- [src]="getFaviconUrl(source.link)"
350
- [alt]="getDomainName(source.link) + ' favicon'"
351
- />
352
- {{ getDomainName(source.link) }}
353
- </div>
354
- <h5 (click)="openLinkInNewTab(source.link)">
355
- {{ source.title }}
356
- </h5>
357
- <p (click)="openLinkInNewTab(source.link)">
358
- {{ source.desc }}
359
- </p>
360
- </div>
361
- </div>
362
- </div>
363
- <ng-container
364
- *ngIf="
365
- chat?.remainingSources &&
366
- chat?.remainingSources.length > 0
367
- "
368
- >
369
- <div
370
- class="source-card"
371
- (click)="onCardClick(chat?.sourcesList)"
372
- >
373
- <div>
374
- <div class="source-title">
375
- <img
376
- *ngFor="
377
- let source of chat?.remainingSources;
378
- let i = index
379
- "
380
- class="relative block"
381
- [src]="getFaviconUrl(source.link)"
382
- [alt]="getDomainName(source.link) + ' favicon'"
383
- />
384
- </div>
385
- <div class="source-url">
386
- View {{ chat?.remainingSources.length }} more
387
- </div>
388
- </div>
389
- </div>
390
- </ng-container>
391
- </div>
392
- </div>
393
- </div>
394
-
395
- <div
396
- *ngIf="chat?.type === 'ai' || chat?.type === 'user'"
397
- [ngStyle]="{
398
- background:
399
- chat?.type === 'ai' && bgBubbleAi
400
- ? ''
401
- : chat?.type === 'user' && bgBubbleUser
402
- ? ''
403
- : ''
404
- }"
405
- >
406
- <div id="messageText_{{ i }}">
407
- <p
408
- *ngIf="chat?.type === 'ai' || chat?.type === 'user'"
409
- [ngClass]="{
410
- 'SearchTitle ai': chat?.type === 'ai',
411
- 'SearchTitle user': chat?.type === 'user'
412
- }"
413
- [ngStyle]="{
414
- background:
415
- chat?.type === 'ai' && messageTextColorAi
416
- ? messageTextColorAi
417
- : chat?.type === 'user' && messageTextColorUser
418
- ? messageTextColorUser
419
- : 'defaultBackground',
420
- color:
421
- chat?.type === 'ai' && messageTextColorAi
422
- ? messageTextColorAi
423
- : chat?.type === 'user' && messageTextColorUser
424
- ? messageTextColorUser
425
- : 'defaultColor'
426
- }"
427
- [innerHTML]="chat?.message"
428
- ></p>
429
- </div>
430
- </div>
431
-
432
- <div
433
- class="progress-container"
434
- *ngIf="chat?.showWorkflowExecutionLoader"
435
- >
436
- <div class="circular-loader">
437
- <div
438
- class="loader-spinner"
439
- *ngIf="currentWorkflowActionProgress < 100"
440
- [ngStyle]="{
441
- transform: 'rotate(' + percentage * 3.6 + 'deg)'
442
- }"
443
- ></div>
444
- <div
445
- class="checkmark"
446
- *ngIf="currentWorkflowActionProgress == 100"
447
- >
448
- <svg viewBox="0 0 52 52">
449
- <circle
450
- class="checkmark-circle"
451
- cx="26"
452
- cy="26"
453
- r="25"
454
- fill="none"
455
- />
456
- <path
457
- class="checkmark-check"
458
- fill="none"
459
- d="M14 27l7 7 16-16"
460
- />
461
- </svg>
462
- </div>
463
-
464
- <div
465
- class="loader-text"
466
- *ngIf="currentWorkflowActionProgress < 100"
467
- >
468
- {{ currentWorkflowActionProgress }}%
469
- </div>
470
- </div>
471
- <div class="loader-label">{{ currentWorkflowAction }}...</div>
472
- </div>
473
-
474
- <div
475
- class="exicution mt-2"
476
- *ngIf="
477
- chat?.type === 'ai' &&
478
- chat?.graphs &&
479
- chat?.graphs.length > 0
480
- "
481
- >
482
- <h5 *ngIf="chat?.type === 'ai'">
483
- <i class="bx bx-network-chart"></i> Graphs
484
- <i
485
- (click)="toggleCollapseFGraph()"
486
- class="toggle-icon ml-2 fa"
487
- [ngClass]="{
488
- 'fas fa-chevron-down': isCollapsedForFGraph,
489
- 'fas fa-chevron-up': !isCollapsedForFGraph
490
- }"
491
- ></i>
492
- </h5>
493
- <img
494
- *ngFor="let image of chat?.graphs"
495
- class="graph-img"
496
- [ngClass]="{ collapse: isCollapsedForFGraph }"
497
- [src]="image"
498
- alt=""
499
- />
500
- </div>
501
- <ng-container *ngIf="!checkForCop29BotId()">
502
- <div
503
- class="exicution mt-2"
504
- *ngIf="
505
- chat?.type === 'ai' &&
506
- chat?.executionGraphs &&
507
- chat?.executionGraphs?.length > 0
508
- "
509
- >
510
- <h5 *ngIf="chat?.type === 'ai'">
511
- <i class="bx bx-network-chart"></i> Execution Path Diagram
512
- For Data Visualization Workflow
513
- <i
514
- (click)="toggleCollapseGraph()"
515
- class="toggle-icon ml-2 fa"
516
- [ngClass]="{
517
- 'fas fa-chevron-down': isCollapsedForGraph,
518
- 'fas fa-chevron-up': !isCollapsedForGraph
519
- }"
520
- ></i>
521
- </h5>
522
- <img
523
- *ngFor="let image of chat?.executionGraphs"
524
- class="graph-img"
525
- [ngClass]="{ collapse: isCollapsedForGraph }"
526
- [src]="image"
527
- alt=""
528
- />
529
- </div>
530
- </ng-container>
531
- <div class="cta" *ngIf="chat?.type === 'ai' && i > 0">
532
- <div
533
- class="copyBox"
534
- title="Copy"
535
- [ngClass]="
536
- showFeedBackIconsIndex == i ? 'show-always' : 'show-hover'
537
- "
538
- >
539
- <button
540
- title="{{ chat?.copied ? 'Copied!' : 'Copy' }}"
541
- class="copy"
542
- [class.active]="chat?.copied"
543
- (click)="handleCopyClick(i)"
544
- >
545
- <i *ngIf="chat?.copied">
546
- <svg
547
- width="18"
548
- height="18"
549
- viewBox="0 0 24 24"
550
- fill="none"
551
- xmlns="http://www.w3.org/2000/svg"
552
- >
553
- <path
554
- d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"
555
- fill="#566563"
556
- />
557
- </svg>
558
- </i>
559
-
560
- <i *ngIf="!chat?.copied">
561
- <svg
562
- width="18"
563
- height="18"
564
- viewBox="0 0 24 24"
565
- fill="none"
566
- xmlns="http://www.w3.org/2000/svg"
567
- >
568
- <path
569
- d="M19.24 2H8.84C8.14 2 7.58 2.56 7.58 3.26V16.84C7.58 17.54 8.14 18.1 8.84 18.1H19.24C19.94 18.1 20.5 17.54 20.5 16.84V3.26C20.5 2.56 19.94 2 19.24 2ZM19.24 16.84H8.84V3.26H19.24V16.84ZM4.74 6.52C4.04 6.52 3.48 7.08 3.48 7.78V20.36C3.48 21.06 4.04 21.62 4.74 21.62H15.14C15.84 21.62 16.4 21.06 16.4 20.36V18.88H14.96V20.36H4.74V7.78H6.18V6.52H4.74Z"
570
- fill="#566563"
571
- />
572
- </svg>
573
- </i>
574
- </button>
575
-
576
- <button
577
- *ngIf="!checkForCop29BotId()"
578
- class="up copy"
579
- title="{{ chat?.isEditor ? 'Added!' : 'Add to editor' }}"
580
- (click)="handleEditorClick(i)"
581
- >
582
- <svg
583
- *ngIf="!chat?.isEditor"
584
- xmlns="http://www.w3.org/2000/svg"
585
- width="20.152"
586
- height="20.152"
587
- viewBox="0 0 20.152 20.152"
588
- >
589
- <g
590
- id="Icon_feather-edit"
591
- data-name="Icon feather-edit"
592
- transform="translate(-2.5 -2.166)"
593
- >
594
- <path
595
- id="Path_166"
596
- data-name="Path 166"
597
- d="M11.5,6H4.889A1.889,1.889,0,0,0,3,7.889v13.22A1.889,1.889,0,0,0,4.889,23h13.22A1.889,1.889,0,0,0,20,21.108V14.5"
598
- transform="translate(0 -1.179)"
599
- fill="none"
600
- stroke="#393939"
601
- stroke-linecap="round"
602
- stroke-linejoin="round"
603
- stroke-width="1"
604
- />
605
- <path
606
- id="Path_167"
607
- data-name="Path 167"
608
- d="M21.915,3.4a2,2,0,0,1,2.833,2.833l-8.971,8.971L12,16.152l.944-3.777Z"
609
- transform="translate(-3.334 0)"
610
- fill="none"
611
- stroke="#393939"
612
- stroke-linecap="round"
613
- stroke-linejoin="round"
614
- stroke-width="1"
615
- />
616
- </g>
617
- </svg>
618
-
619
- <i *ngIf="chat?.isEditor">
620
- <svg
621
- width="18"
622
- height="18"
623
- viewBox="0 0 24 24"
624
- fill="none"
625
- xmlns="http://www.w3.org/2000/svg"
626
- >
627
- <path
628
- d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"
629
- fill="#566563"
630
- />
631
- </svg>
632
- </i>
633
- </button>
634
-
635
- <button
636
- class="up copy"
637
- title="Like"
638
- [class.active]="chat?.liked"
639
- (click)="handleUpClick(i)"
640
- >
641
- <i *ngIf="chat?.liked">
642
- <svg
643
- width="18"
644
- height="18"
645
- viewBox="0 0 24 24"
646
- fill="none"
647
- xmlns="http://www.w3.org/2000/svg"
648
- >
649
- <path
650
- d="M8.38989 18.4902V8.33022C8.38989 7.93022 8.50989 7.54022 8.72989 7.21022L11.4599 3.15022C11.8899 2.50022 12.9599 2.04022 13.8699 2.38022C14.8499 2.71022 15.4999 3.81022 15.2899 4.79022L14.7699 8.06022C14.7299 8.36022 14.8099 8.63022 14.9799 8.84022C15.1499 9.03022 15.3999 9.15022 15.6699 9.15022H19.7799C20.5699 9.15022 21.2499 9.47022 21.6499 10.0302C22.0299 10.5702 22.0999 11.2702 21.8499 11.9802L19.3899 19.4702C19.0799 20.7102 17.7299 21.7202 16.3899 21.7202H12.4899C11.8199 21.7202 10.8799 21.4902 10.4499 21.0602L9.16989 20.0702C8.67989 19.7002 8.38989 19.1102 8.38989 18.4902Z"
651
- fill="#17235B"
652
- />
653
- <path
654
- d="M5.21 6.37988H4.18C2.63 6.37988 2 6.97988 2 8.45988V18.5199C2 19.9999 2.63 20.5999 4.18 20.5999H5.21C6.76 20.5999 7.39 19.9999 7.39 18.5199V8.45988C7.39 6.97988 6.76 6.37988 5.21 6.37988Z"
655
- fill="#17235B"
656
- />
657
- </svg>
658
- </i>
659
- <i *ngIf="!chat?.liked">
660
- <svg
661
- width="18"
662
- height="18"
663
- viewBox="0 0 24 24"
664
- fill="none"
665
- xmlns="http://www.w3.org/2000/svg"
666
- >
667
- <path
668
- d="M10.4037 20.9264L10.381 20.9038L10.3557 20.8843L7.72165 18.85L8.02965 18.4516L10.7161 20.5315C10.9228 20.7195 11.2181 20.8517 11.4962 20.9377C11.7978 21.0309 12.1451 21.09 12.4801 21.09H16.2801C16.8572 21.09 17.4266 20.8625 17.8751 20.5306C18.3159 20.2044 18.6912 19.7385 18.8305 19.1997L21.2428 11.8732C21.4379 11.3309 21.4287 10.749 21.0965 10.2887C20.7583 9.81377 20.1844 9.58999 19.5801 9.58999H15.5801C15.2031 9.58999 14.8615 9.43143 14.6276 9.16215L14.627 9.16142C14.3873 8.88649 14.2756 8.51549 14.3345 8.11501L14.8322 4.9195C14.9978 4.1052 14.4664 3.24596 13.7053 2.98804C13.3277 2.85165 12.9297 2.89129 12.61 2.99839C12.2949 3.10396 11.9772 3.30172 11.7881 3.57673L11.7881 3.57671L11.7851 3.58107L7.96352 9.26689L7.55454 8.99314L11.3751 3.30891L11.3755 3.30836C11.8763 2.56103 13.0109 2.19028 13.8726 2.51744L13.8834 2.52151L13.8943 2.52509C14.9044 2.8564 15.556 3.98765 15.3317 5.01314L15.3284 5.02805L15.326 5.04314L14.836 8.19314L14.836 8.19313L14.8351 8.19928C14.8184 8.31642 14.7981 8.60268 15.0138 8.84924L15.0248 8.86177L15.0366 8.87354C15.1833 9.02026 15.3817 9.09999 15.5901 9.09999H19.5901C20.4308 9.09999 21.1176 9.44886 21.5113 10.0079L21.5124 10.0095C21.8964 10.5502 21.9908 11.2849 21.7202 12.0291L21.7175 12.0365L21.7151 12.044L19.3251 19.324L19.3198 19.34L19.3156 19.3564C19.0058 20.5707 17.6766 21.6 16.2801 21.6H12.4801C12.2411 21.6 11.8403 21.5625 11.4297 21.4512C11.0123 21.338 10.6406 21.1633 10.4037 20.9264Z"
669
- fill="#566563"
670
- stroke="#566563"
671
- />
672
- <path
673
- d="M5.37988 20.4999H4.37988C3.52442 20.4999 2.98559 20.2982 2.65822 19.9825C2.33437 19.6702 2.12988 19.1614 2.12988 18.3499V8.5499C2.12988 7.73843 2.33437 7.22962 2.65822 6.91731C2.98559 6.6016 3.52442 6.3999 4.37988 6.3999H5.37988C6.23534 6.3999 6.77418 6.6016 7.10155 6.91731C7.4254 7.22962 7.62988 7.73843 7.62988 8.5499V18.3499C7.62988 19.1614 7.4254 19.6702 7.10155 19.9825C6.77418 20.2982 6.23534 20.4999 5.37988 20.4999ZM4.37988 6.8999C4.0934 6.8999 3.83578 6.9164 3.61382 6.96689C3.38745 7.01838 3.16822 7.11196 2.99258 7.2876C2.81559 7.46459 2.72807 7.67966 2.68301 7.89002C2.63948 8.09318 2.62988 8.31967 2.62988 8.5499V18.3499C2.62988 18.5801 2.63948 18.8066 2.68301 19.0098C2.72807 19.2201 2.81559 19.4352 2.99258 19.6122C3.16822 19.7878 3.38745 19.8814 3.61382 19.9329C3.83578 19.9834 4.0934 19.9999 4.37988 19.9999H5.37988C5.66637 19.9999 5.92398 19.9834 6.14595 19.9329C6.37232 19.8814 6.59155 19.7878 6.76719 19.6122C6.94418 19.4352 7.0317 19.2201 7.07676 19.0098C7.12028 18.8066 7.12988 18.5801 7.12988 18.3499V8.5499C7.12988 8.31967 7.12028 8.09318 7.07676 7.89002C7.0317 7.67966 6.94418 7.46459 6.76719 7.2876C6.59155 7.11196 6.37232 7.01838 6.14595 6.96689C5.92398 6.9164 5.66637 6.8999 5.37988 6.8999H4.37988Z"
674
- fill="#566563"
675
- stroke="#566563"
676
- />
677
- </svg>
678
- </i>
679
- </button>
680
- <button
681
- class="down copy"
682
- title="Dislike"
683
- [class.active]="chat?.unliked"
684
- (click)="handleDownClick(i)"
685
- >
686
- <i *ngIf="chat?.unliked">
687
- <svg
688
- width="18"
689
- height="18"
690
- viewBox="0 0 24 24"
691
- fill="none"
692
- xmlns="http://www.w3.org/2000/svg"
693
- >
694
- <path
695
- d="M15.61 5.50002V15.66C15.61 16.06 15.49 16.45 15.27 16.78L12.54 20.84C12.11 21.49 11.04 21.95 10.13 21.61C9.15002 21.28 8.50002 20.18 8.71002 19.2L9.23002 15.93C9.27002 15.63 9.19002 15.36 9.02002 15.15C8.85002 14.96 8.60002 14.84 8.33002 14.84H4.22002C3.43002 14.84 2.75002 14.52 2.35002 13.96C1.97002 13.42 1.90002 12.72 2.15002 12.01L4.61002 4.52002C4.92002 3.28002 6.27002 2.27002 7.61002 2.27002H11.51C12.18 2.27002 13.12 2.50002 13.55 2.93002L14.83 3.92002C15.32 4.30002 15.61 4.88002 15.61 5.50002Z"
696
- fill="#17235B"
697
- />
698
-
699
- <path
700
- d="M18.7901 17.6099H19.8201C21.3701 17.6099 22.0001 17.0099 22.0001 15.5299V5.4799C22.0001 3.9999 21.3701 3.3999 19.8201 3.3999H18.7901C17.2401 3.3999 16.6101 3.9999 16.6101 5.4799V15.5399C16.6101 17.0099 17.2401 17.6099 18.7901 17.6099Z"
701
- fill="#17235B"
702
- />
703
- </svg>
704
- </i>
705
-
706
- <i *ngIf="!chat?.unliked">
707
- <svg
708
- width="18"
709
- height="18"
710
- viewBox="0 0 24 24"
711
- fill="none"
712
- xmlns="http://www.w3.org/2000/svg"
713
- >
714
- <path
715
- d="M10.1237 21.481L10.1148 21.4778L10.1059 21.4748C9.09577 21.1435 8.44416 20.0122 8.66849 18.9867L8.67175 18.9718L8.6741 18.9568L9.1641 15.8068L9.16413 15.8068L9.16501 15.8006C9.18175 15.6835 9.20207 15.3972 8.98633 15.1507L8.97536 15.1381L8.96359 15.1263C8.81687 14.9796 8.61841 14.8999 8.41004 14.8999H4.41004C3.56937 14.8999 2.88252 14.551 2.48884 13.992L2.4877 13.9904C2.10371 13.4497 2.00931 12.715 2.27994 11.9708L2.28263 11.9634L2.28509 11.9559L4.67509 4.67586L4.68035 4.65985L4.68451 4.64353C4.99418 3.42996 6.33271 2.3999 7.72004 2.3999H11.52C11.7591 2.3999 12.1599 2.43736 12.5704 2.54872C12.9878 2.66194 13.3596 2.83655 13.5965 3.07346L13.6191 3.09608L13.6444 3.11563L16.2785 5.14986L15.9705 5.54825L13.2875 3.47111C13.0799 3.2763 12.7837 3.1413 12.5061 3.05412C12.2031 2.95897 11.8551 2.8999 11.52 2.8999H7.72004C7.1429 2.8999 6.57353 3.12735 6.12508 3.45926C5.68428 3.78551 5.30892 4.25142 5.16963 4.79019L2.75738 12.1167C2.56223 12.659 2.57147 13.2409 2.90366 13.7012C3.24183 14.1761 3.81578 14.3999 4.42004 14.3999H8.42004C8.79702 14.3999 9.13867 14.5585 9.37252 14.8277L9.37315 14.8285C9.61286 15.1034 9.72457 15.4745 9.66568 15.875C9.6656 15.8755 9.66552 15.8761 9.66544 15.8766L9.16795 19.0704C9.00242 19.8841 9.53299 20.7428 10.2933 21.0013C10.6685 21.1391 11.0675 21.0978 11.3857 20.9917C11.7001 20.8869 12.0218 20.6898 12.2121 20.4132L12.2121 20.4132L12.215 20.4088L16.0351 14.7253L16.4472 15.0045L12.6251 20.691L12.6249 20.6912C12.259 21.2361 11.5347 21.5999 10.8 21.5999C10.5668 21.5999 10.3358 21.5596 10.1237 21.481Z"
716
- fill="#566563"
717
- stroke="#566563"
718
- />
719
- <path
720
- d="M19.6201 17.6H18.6201C17.7647 17.6 17.2258 17.3983 16.8985 17.0826C16.5746 16.7703 16.3701 16.2615 16.3701 15.45V5.65C16.3701 4.83853 16.5746 4.32972 16.8985 4.0174C17.2258 3.7017 17.7647 3.5 18.6201 3.5H19.6201C20.4756 3.5 21.0144 3.7017 21.3418 4.0174C21.6656 4.32972 21.8701 4.83853 21.8701 5.65V15.45C21.8701 16.2615 21.6656 16.7703 21.3418 17.0826C21.0144 17.3983 20.4756 17.6 19.6201 17.6ZM18.6201 4C18.3336 4 18.076 4.01649 17.8541 4.06699C17.6277 4.11848 17.4085 4.21206 17.2328 4.3877C17.0558 4.56469 16.9683 4.77976 16.9232 4.99011C16.8797 5.19328 16.8701 5.41977 16.8701 5.65V15.45C16.8701 15.6802 16.8797 15.9067 16.9232 16.1099C16.9683 16.3202 17.0558 16.5353 17.2328 16.7123C17.4085 16.8879 17.6277 16.9815 17.8541 17.033C18.076 17.0835 18.3336 17.1 18.6201 17.1H19.6201C19.9066 17.1 20.1642 17.0835 20.3862 17.033C20.6126 16.9815 20.8318 16.8879 21.0074 16.7123C21.1844 16.5353 21.2719 16.3202 21.317 16.1099C21.3605 15.9067 21.3701 15.6802 21.3701 15.45V5.65C21.3701 5.41977 21.3605 5.19328 21.317 4.99011C21.2719 4.77976 21.1844 4.56469 21.0074 4.3877C20.8318 4.21206 20.6126 4.11848 20.3862 4.06699C20.1642 4.01649 19.9066 4 19.6201 4H18.6201Z"
721
- fill="#566563"
722
- stroke="#566563"
723
- />
724
- </svg>
725
- </i>
726
- </button>
727
- </div>
728
- </div>
729
- <div
730
- class="Related mt-2"
731
- *ngIf="
732
- showFeedBackIconsIndex === i &&
733
- !isChatingWithAi &&
734
- chat?.relatedListItems &&
735
- chat?.relatedListItems.length > 0
736
- "
737
- >
738
- <h5 *ngIf="chat?.type === 'ai'">
739
- <i class="bx bx-list-check"></i> Related
740
- </h5>
741
- <div class="card-container" *ngIf="chat?.type === 'ai'">
742
- <ul class="list-container">
743
- <ng-container *ngFor="let item of chat?.relatedListItems">
744
- <li (click)="fetchDataFor(item, chat)">{{ item }}</li>
745
- </ng-container>
746
- </ul>
747
- </div>
748
- </div>
749
- </div>
750
- </div>
751
-
752
- <div
753
- class="cta-faqs quick-prompts-extended"
754
- *ngIf="i == 0 && quickPrompts?.length"
755
- >
756
- <!-- <div *ngFor="let tile of quickPrompts" class="cta"
757
- (click)="sendMessageWithTile(tile.prompt)">
758
- Q: {{ tile.text }}
759
- </div> -->
760
- <div class="cta_suggestions">
761
- <button
762
- *ngFor="let tile of quickPrompts"
763
- (click)="sendMessageWithTile(tile.prompt)"
764
- >
765
- <ng-container *ngIf="tile">{{ tile.text }}</ng-container>
766
- </button>
767
- </div>
768
- </div>
769
- <div class="chat bot" *ngIf="i == 0 && botSkills">
770
- <div class="chat-box">
771
- <div class="message">
772
- <p [innerHTML]="processMessageForDisplay(botSkills)"></p>
773
- &nbsp;
774
- </div>
775
- </div>
776
- </div>
777
- <div *ngIf="chat?.suggestions?.length">
778
- <h4 class="labelChat">
779
- Here are some things EventsGPT Copilot can help you do:
780
- </h4>
781
- <div class="cta_suggestions">
782
- <button
783
- *ngFor="let suggestion of chat?.suggestions"
784
- (click)="sendMessageWithTile(suggestion)"
785
- >
786
- <ng-container *ngIf="suggestion">{{
787
- suggestion
788
- }}</ng-container>
789
- </button>
790
- </div>
791
- </div>
792
- <div
793
- *ngIf="
794
- chat?.action?.section_id == 'company_search' ||
795
- chat?.action?.section_id == 'user_search' ||
796
- chat?.action?.section_id == 'industry_company_search'
797
- "
798
- >
799
- <div class="box">
800
- <div class="tiktokwrapper">
801
- <div
802
- class="tiktokshell"
803
- *ngFor="let user of chat?.action.users"
804
- >
805
- <div class="videoPhotobox">
806
- <ng-conatiner
807
- *ngIf="user?.photoPath && !user.userVideosModel"
808
- >
809
- <img [src]="user?.photoPath" />
810
- </ng-conatiner>
811
- <ng-conatiner *ngIf="user.userVideosModel">
812
- <app-video-player
813
- *ngIf="user?.userVideosModel"
814
- [isDev]="isDev"
815
- [currentUserId]="userId"
816
- [videoObj]="user?.userVideosModel"
817
- [user]="user"
818
- [eventId]="eventId"
819
- type="1"
820
- >
821
- </app-video-player>
822
- </ng-conatiner>
823
- </div>
824
-
825
- <div
826
- class="noPhoto"
827
- *ngIf="!user?.photoPath && !user.userVideosModel"
828
- >
829
- <h3>
830
- {{ user.firstName | slice : 0 : 1
831
- }}{{ user.lastName | slice : 0 : 1 }}
832
- </h3>
833
- </div>
834
- <div class="overlymask" *ngIf="!user.userVideosModel"></div>
835
- <div class="onshell-content">
836
- <div class="title-shell">
837
- <h3>{{ user.firstName }} {{ user.lastName }}</h3>
838
- <h3 class="companyName">{{ user.company }}</h3>
839
- </div>
840
- <div class="button-shell">
841
- <button
842
- class="Connectbtn"
843
- (click)="connectToUser(user.userId)"
844
- >
845
- {{
846
- canConnect(user.userId)
847
- ? "Connect"
848
- : canDisconnect(user.userId)
849
- ? "Disconnect"
850
- : "Request
851
- Sent"
852
- }}
853
- </button>
854
- <button
855
- class="schedulebtn"
856
- (click)="scheduleMeetingWithUser(user)"
857
- >
858
- Schedule
859
- </button>
860
- </div>
861
- </div>
862
- </div>
863
- </div>
864
- </div>
865
- </div>
866
- <div *ngIf="chat?.action?.section_id == myUpcomingSessionAction">
867
- <div class="agenda-items-wrapper" class="agenda-items-wrapper">
868
- <div class="list-view">
869
- <div
870
- class="session-detail-wrapper card-background-session"
871
- *ngFor="let upcomingSession of chat?.action.content"
872
- >
873
- <div class="thumbnail">
874
- <img
875
- alt="Introduction to the Imaging Radar Academy"
876
- src="https://s27media.azureedge.net/8008/profile_pic/453cea2c-feba-11ed-8c0b-00155d025b0a.png"
877
- class=""
878
- />
879
- <!---->
880
- <!---->
881
- <!----><button
882
- class="play-btn color-primary"
883
- title="Play Session: Introduction to the Imaging Radar Academy"
884
- >
885
- <span class="material-icons notranslate">
886
- play_circle_outline
887
- </span>
888
- <!---->
889
- </button>
890
- <!---->
891
- <!---->
892
- </div>
893
- <!---->
894
- <!---->
895
- <div class="content p-3">
896
- <div
897
- class="d-flex justify-content-between align-items-center"
898
- >
899
- <div class="d-flex flex-column">
900
- <p class="fs-xs mb-0 body-text-color">
901
- {{
902
- upcomingSession.dateTimeRange.start
903
- | date
904
- : "MM-dd-yyyy
905
- HH:mm"
906
- : "UTC"
907
- }}
908
- -
909
- {{
910
- upcomingSession.dateTimeRange.end
911
- | date : "MM-dd-yyyy HH:mm" : "UTC"
912
- }}
913
- {{ upcomingSession.timeZone.id }}
914
- </p>
915
- <!---->
916
- <!---->
917
- <!-- <p class="fs-xs mb-2 color-secondary" title="Session Type: Generative AI">Generative AI </p> -->
918
- <!---->
919
- </div>
920
- <div class="d-flex align-items-center actions px-2">
921
- <!---->
922
- <button
923
- (click)="
924
- performSessionAction(
925
- upcomingSession.id,
926
- 'view-session'
927
- )
928
- "
929
- class="s27-btn-icon body-text-color"
930
- title="View Session Information: Introduction to the Imaging Radar Academy"
931
- >
932
- <span class="material-icons notranslate">
933
- remove_red_eye
934
- </span>
935
- </button>
936
-
937
- <button
938
- (click)="
939
- performSessionAction(
940
- upcomingSession.id,
941
- 'add-to-agenda'
942
- )
943
- "
944
- class="s27-btn-icon body-text-color"
945
- >
946
- <span
947
- class="material-icons notranslate"
948
- title="Add Session: Introduction to the Imaging Radar Academy to My agendaa"
949
- >
950
- event_available
951
- </span>
952
- </button>
953
- <!---->
954
- <!---->
955
- <!---->
956
- <!---->
957
-
958
- <button
959
- (click)="
960
- performSessionAction(upcomingSession.id, 'play')
961
- "
962
- class="s27-btn-icon body-text-color"
963
- title="Copy session link to share"
964
- >
965
- <span class="material-icons notranslate">
966
- play_circle_outline
967
- </span>
968
- </button>
969
- <!---->
970
- </div>
971
- </div>
972
- <h2 class="body-text-color">
973
- {{ upcomingSession.title }}
974
- </h2>
975
- <div
976
- class="session-description color-secondary"
977
- [innerHTML]="sanitizeHtml(upcomingSession.description)"
978
- ></div>
979
- <ul
980
- class="speakers grid-2-cols"
981
- *ngFor="let speakerId of upcomingSession.speakers"
982
- >
983
- <li class="">
984
- <div class="image" title="Blair Wunderlich">
985
- <img
986
- alt="Blair Wunderlich"
987
- [src]="speakers[speakerId]?.photoPath"
988
- class=""
989
- />
990
- <!---->
991
- <!---->
992
- <!---->
993
- </div>
994
- <!---->
995
- <div
996
- class="content pl-3"
997
- style="text-transform: none"
998
- >
999
- <div class="mb-0 body-text-color fs-xs fw-500">
1000
- {{ speakers[speakerId]?.firstName }}
1001
- {{ speakers[speakerId]?.lastName }}
1002
- </div>
1003
- <div class="color-secondary fs-xxs">
1004
- {{ speakers[speakerId]?.jobTitle }}
1005
- </div>
1006
- <div class="color-secondary fs-xxs">
1007
- {{ speakers[speakerId]?.company }}
1008
- </div>
1009
- </div>
1010
- <!---->
1011
- </li>
1012
- </ul>
1013
- <!---->
1014
- </div>
1015
- </div>
1016
- </div>
1017
- </div>
1018
- </div>
1019
- </div>
1020
-
1021
- <div class="chat bot" *ngIf="isChatingWithAi && !executingWorkflow">
1022
- <div class="chat-box">
1023
- <div class="message">
1024
- <div class="time-cta">
1025
- <div class="Icon_TimeSTamp">
1026
- <svg
1027
- xmlns="http://www.w3.org/2000/svg"
1028
- width="44"
1029
- height="44"
1030
- viewBox="0 0 44 44"
1031
- >
1032
- <g
1033
- id="Group_121"
1034
- data-name="Group 121"
1035
- transform="translate(4843 -371)"
1036
- >
1037
- <g
1038
- id="Ellipse_18"
1039
- data-name="Ellipse 18"
1040
- transform="translate(-4843 371)"
1041
- fill="#fcfcfc"
1042
- stroke="#dfdfdf"
1043
- stroke-width="1"
1044
- >
1045
- <circle cx="22" cy="22" r="22" stroke="none" />
1046
- <circle cx="22" cy="22" r="21.5" fill="none" />
1047
- </g>
1048
- <g
1049
- id="Group_120"
1050
- data-name="Group 120"
1051
- transform="translate(-4835.141 378.855)"
1052
- >
1053
- <g
1054
- id="Group_1"
1055
- data-name="Group 1"
1056
- transform="translate(7.29 0)"
1057
- >
1058
- <path
1059
- id="Path_1"
1060
- data-name="Path 1"
1061
- d="M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z"
1062
- transform="translate(-87.03 -39.29)"
1063
- fill="gray"
1064
- />
1065
- </g>
1066
- <g
1067
- id="Group_2"
1068
- data-name="Group 2"
1069
- transform="translate(0 12.717)"
1070
- >
1071
- <path
1072
- id="Path_2"
1073
- data-name="Path 2"
1074
- d="M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
1075
- transform="translate(-45.63 -111.51)"
1076
- fill="gray"
1077
- />
1078
- </g>
1079
- <g
1080
- id="Group_3"
1081
- data-name="Group 3"
1082
- transform="translate(14.793 12.717)"
1083
- >
1084
- <path
1085
- id="Path_3"
1086
- data-name="Path 3"
1087
- d="M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
1088
- transform="translate(-129.64 -111.51)"
1089
- fill="gray"
1090
- />
1091
- </g>
1092
- </g>
1093
- </g>
1094
- </svg>
1095
- <div
1096
- class="dateTime"
1097
- [style.color]="dateTimeColor ? '' : ''"
1098
- >
1099
- <span> {{ getTranslation("Assistant") }}</span>
1100
- {{ this.getLatestTime(chat?.time) }}
1101
- </div>
1102
- </div>
1103
- </div>
1104
- <div class="loaderbox">
1105
- <div class="loader-pkg">
1106
- <div class="loader--dot"></div>
1107
- <div class="loader--dot"></div>
1108
- <div class="loader--dot"></div>
1109
- <div class="loader--dot"></div>
1110
- <div class="loader--dot"></div>
1111
- <div class="loader--dot"></div>
1112
- </div>
1113
- </div>
1114
- </div>
1115
- </div>
1116
- </div>
1117
- <div class="chat bot" *ngIf="loading">
1118
- <div class="chat-box">
1119
- <div class="message">
1120
- <div class="time-cta">
1121
- <div class="Icon_TimeSTamp">
1122
- <svg
1123
- xmlns="http://www.w3.org/2000/svg"
1124
- width="44"
1125
- height="44"
1126
- viewBox="0 0 44 44"
1127
- >
1128
- <g
1129
- id="Group_121"
1130
- data-name="Group 121"
1131
- transform="translate(4843 -371)"
1132
- >
1133
- <g
1134
- id="Ellipse_18"
1135
- data-name="Ellipse 18"
1136
- transform="translate(-4843 371)"
1137
- fill="#fcfcfc"
1138
- stroke="#dfdfdf"
1139
- stroke-width="1"
1140
- >
1141
- <circle cx="22" cy="22" r="22" stroke="none" />
1142
- <circle cx="22" cy="22" r="21.5" fill="none" />
1143
- </g>
1144
- <g
1145
- id="Group_120"
1146
- data-name="Group 120"
1147
- transform="translate(-4835.141 378.855)"
1148
- >
1149
- <g
1150
- id="Group_1"
1151
- data-name="Group 1"
1152
- transform="translate(7.29 0)"
1153
- >
1154
- <path
1155
- id="Path_1"
1156
- data-name="Path 1"
1157
- d="M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z"
1158
- transform="translate(-87.03 -39.29)"
1159
- fill="gray"
1160
- />
1161
- </g>
1162
- <g
1163
- id="Group_2"
1164
- data-name="Group 2"
1165
- transform="translate(0 12.717)"
1166
- >
1167
- <path
1168
- id="Path_2"
1169
- data-name="Path 2"
1170
- d="M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
1171
- transform="translate(-45.63 -111.51)"
1172
- fill="gray"
1173
- />
1174
- </g>
1175
- <g
1176
- id="Group_3"
1177
- data-name="Group 3"
1178
- transform="translate(14.793 12.717)"
1179
- >
1180
- <path
1181
- id="Path_3"
1182
- data-name="Path 3"
1183
- d="M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z"
1184
- transform="translate(-129.64 -111.51)"
1185
- fill="gray"
1186
- />
1187
- </g>
1188
- </g>
1189
- </g>
1190
- </svg>
1191
- <div
1192
- class="dateTime"
1193
- [style.color]="dateTimeColor ? '' : ''"
1194
- >
1195
- <span>{{ "Loading ..." }}</span>
1196
- </div>
1197
- </div>
1198
- </div>
1199
- <div class="loaderbox">
1200
- <div class="loader-pkg">
1201
- <div class="loader--dot"></div>
1202
- <div class="loader--dot"></div>
1203
- <div class="loader--dot"></div>
1204
- <div class="loader--dot"></div>
1205
- <div class="loader--dot"></div>
1206
- <div class="loader--dot"></div>
1207
- </div>
1208
- </div>
1209
- </div>
1210
- </div>
1211
- </div>
1212
- </div>
1213
- </div>
1214
- <!-- <div #chatMain></div> -->
1215
- <div
1216
- *ngIf="openWorkflowInput && selectedWorkflow && !executingWorkflow"
1217
- class="chatFooterWrapper"
1218
- >
1219
- <!-- new UI for Chat Message Section by Amit -->
1220
- <div class="chat-footer-upt">
1221
- <div class="topinfo-containerbox">
1222
- <div class="agents_note_wrapper">
1223
- <div>
1224
- <h6>{{ selectedWorkflow?.Name }}</h6>
1225
- {{ selectedWorkflow?.Description }}
1226
- </div>
1227
- </div>
1228
-
1229
- <div class="agents_note_wrapper">
1230
- <button
1231
- mat-icon-button
1232
- class="closeButtonSource"
1233
- (click)="toggleWorkflows(false)"
1234
- >
1235
- <mat-icon>close</mat-icon>
1236
- </button>
1237
- </div>
1238
- </div>
1239
- <div class="bottombox-wrapper">
1240
- <!-- here i need to loop through all the input fields selectedWorkflow.Trigger.InputSchema and render the input fields -->
1241
- <!-- Form for Workflow Inputs -->
1242
- <form
1243
- [formGroup]="workflowForm"
1244
- (ngSubmit)="onWorkflowSubmit()"
1245
- class="form-container"
1246
- >
1247
- <div
1248
- *ngFor="let input of selectedWorkflow?.Trigger?.InputSchema"
1249
- class="form-group"
1250
- >
1251
- <label>{{ input.Label }}</label>
1252
-
1253
- <!-- Handle Text Input or Text Area based on requirement -->
1254
- <textarea
1255
- *ngIf="input.Type === 'string'"
1256
- formControlName="{{ input.InputId }}"
1257
- [placeholder]="input.Placeholder"
1258
- [rows]="2"
1259
- [required]="input.Required"
1260
- class="form-control"
1261
- ></textarea>
1262
-
1263
- <!-- Dropdown for Select Options -->
1264
- <select
1265
- *ngIf="input.Type === 'select'"
1266
- formControlName="{{ input.InputId }}"
1267
- class="form-control"
1268
- >
1269
- <option
1270
- *ngFor="let option of input.Options"
1271
- [value]="option.Value"
1272
- >
1273
- {{ option.Label }}
1274
- </option>
1275
- </select>
1276
- </div>
1277
-
1278
- <!-- Submit button aligned to the right -->
1279
- <div class="form-group">
1280
- <button type="submit" class="btn btn-primary submit-button">
1281
- Submit
1282
- </button>
1283
- </div>
1284
- </form>
1285
- </div>
1286
- </div>
1287
-
1288
- <!-- new UI for Chat Message Section by Amit -->
1289
- </div>
1290
- <div *ngIf="!openWorkflowInput" class="chatFooterWrapper">
1291
- <!-- new UI for Chat Message Section by Amit -->
1292
- <div class="chat-footer-upt">
1293
- <div class="topinfo-containerbox" *ngIf="!checkForCop29BotId()">
1294
- <div class="agents_note_wrapper">
1295
- <div class="agents-dropdown-wrapper">
1296
- <div class="dropdown-wrapper" (click)="toggleDropdown()">
1297
- <div class="dropdown-header">
1298
- <span>{{ getDropdownHeaderText() }}</span>
1299
- <svg
1300
- xmlns="http://www.w3.org/2000/svg"
1301
- width="24"
1302
- height="24"
1303
- fill="none"
1304
- stroke="currentColor"
1305
- stroke-width="2"
1306
- viewBox="0 0 24 24"
1307
- >
1308
- <path d="M19 9l-7 7-7-7" />
1309
- </svg>
1310
- </div>
1311
- <div class="dropdown-menu" *ngIf="isDropdownOpen">
1312
- <label (click)="onSelectAll()">
1313
- <input type="checkbox" [checked]="areAllSelected()" />
1314
- All
1315
- </label>
1316
- <label
1317
- *ngFor="let agent of agents"
1318
- (click)="onAgentChange(agent)"
1319
- >
1320
- <input type="checkbox" [(ngModel)]="agent.selected" />
1321
- {{ agent.agentName }}
1322
- </label>
1323
- </div>
1324
- </div>
1325
- </div>
1326
- </div>
1327
-
1328
- <div class="agents_note_wrapper">
1329
- <div class="agents-dropdown-wrapper">
1330
- <div class="dropdown-wrapper" (click)="toggleWorkflows()">
1331
- <div class="dropdown-header">
1332
- <svg
1333
- stroke="currentColor"
1334
- fill="currentColor"
1335
- stroke-width="0"
1336
- viewBox="0 0 256 256"
1337
- class="h-5 w-5"
1338
- height="1.3em"
1339
- width="1.3em"
1340
- xmlns="http://www.w3.org/2000/svg"
1341
- >
1342
- <path
1343
- d="M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H192a74.49,74.49,0,0,0-28.35,6.73c-13.62,6.29-30.83,19.71-35.54,48-5.32,31.94-29.1,39.22-41,40.86a40,40,0,1,0,.18,16.06A71.65,71.65,0,0,0,108.13,178C121.75,172,139,158.6,143.89,129.31,150.65,88.77,190.34,88,192,88h28.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z"
1344
- ></path></svg
1345
- >&nbsp; Workflows
1346
- </div>
1347
- <div class="dropdown-menu" *ngIf="isWorkflowOpen">
1348
- <label
1349
- *ngFor="let orgWorkflow of orgWorkflows"
1350
- (click)="onWorkflowSelected(orgWorkflow)"
1351
- >
1352
- {{ orgWorkflow.Name }}
1353
- </label>
1354
- </div>
1355
- </div>
1356
- </div>
1357
- </div>
1358
- </div>
1359
- <div class="bottombox-wrapper">
1360
- <!-- <input [disabled]="isChatingWithAi" type="text" class="form-control-1 s27-scroll"
1361
-
1362
- placeholder="Ask anything..." [style.background]="formFieldBgColor ? formFieldBgColor : ''"
1363
- [style.color]="formFieldTextColor ? formFieldTextColor : ''" [(ngModel)]="input"
1364
- (keyup.enter)="handleSubmit()" #myInput /> -->
1365
- <textarea
1366
- [disabled]="isChatingWithAi"
1367
- class="form-control-1 s27-scroll chat-textarea"
1368
- placeholder="{{ getTranslation('Ask anything') }}"
1369
- [(ngModel)]="input"
1370
- (keydown)="handleKeydown($event)"
1371
- (input)="adjustTextareaHeight($event)"
1372
- #myInput
1373
- ></textarea>
1374
-
1375
- <button
1376
- (click)="toggleRecording()"
1377
- [disabled]="isChatingWithAi"
1378
- title="{{ isRecording ? 'Stop Recording' : 'Start Recording' }}"
1379
- class="btn cta-chat mr-1 vj-test"
1380
- >
1381
- <svg
1382
- *ngIf="!isRecording"
1383
- stroke="currentColor"
1384
- fill="currentColor"
1385
- stroke-width="0"
1386
- viewBox="0 0 512 512"
1387
- height="1em"
1388
- width="1em"
1389
- xmlns="http://www.w3.org/2000/svg"
1390
- >
1391
- <!-- Mic Icon -->
1392
- <path
1393
- d="M256 320c53 0 96-43 96-96V96c0-53-43-96-96-96s-96 43-96 96v128c0 53 43 96 96 96zm144-96h-16c0 66.27-52.73 120-120 120s-120-53.73-120-120h-16c-17.67 0-32 14.33-32 32v32c0 53.87 38.13 100.64 91.21 112.27C210.13 457.77 231.58 464 256 464s45.87-6.23 65.79-17.73C374.87 388.64 416 341.87 416 288v-32c0-17.67-14.33-32-32-32z"
1394
- ></path>
1395
- </svg>
1396
- <svg
1397
- *ngIf="isRecording"
1398
- stroke="currentColor"
1399
- fill="currentColor"
1400
- stroke-width="0"
1401
- viewBox="0 0 24 24"
1402
- height="1em"
1403
- width="1em"
1404
- xmlns="http://www.w3.org/2000/svg"
1405
- >
1406
- <!-- Square Stop Icon -->
1407
- <path d="M5 5h14v14H5z"></path>
1408
- </svg>
1409
- </button>
1410
-
1411
- <button
1412
- class="btn cta-chat rotate"
1413
- (click)="handleSubmit()"
1414
- [style.background]="sendButtonColor ? sendButtonColor : ''"
1415
- [style.color]="sendButtonTextColor ? sendButtonTextColor : ''"
1416
- title="{{ getTranslation('Send Message') }}"
1417
- >
1418
- <svg
1419
- stroke="currentColor"
1420
- fill="currentColor"
1421
- stroke-width="0"
1422
- viewBox="0 0 512 512"
1423
- height="1em"
1424
- width="1em"
1425
- xmlns="http://www.w3.org/2000/svg"
1426
- >
1427
- <path
1428
- d="M476.59 227.05l-.16-.07L49.35 49.84A23.56 23.56 0 0027.14 52 24.65 24.65 0 0016 72.59v113.29a24 24 0 0019.52 23.57l232.93 43.07a4 4 0 010 7.86L35.53 303.45A24 24 0 0016 327v113.31A23.57 23.57 0 0026.59 460a23.94 23.94 0 0013.22 4 24.55 24.55 0 009.52-1.93L476.4 285.94l.19-.09a32 32 0 000-58.8z"
1429
- ></path>
1430
- </svg>
1431
- <!-- SEND -->
1432
- </button>
1433
- </div>
1434
- </div>
1435
-
1436
- <!-- new UI for Chat Message Section by Amit -->
1437
- </div>
1438
-
1439
- <div class="NoteTxt">
1440
- <div class="note">
1441
- <svg
1442
- xmlns="http://www.w3.org/2000/svg"
1443
- width="12.882"
1444
- height="12.883"
1445
- viewBox="0 0 12.882 12.883"
1446
- >
1447
- <path
1448
- id="Icon_ion-shield-checkmark"
1449
- data-name="Icon ion-shield-checkmark"
1450
- d="M15.106,4.532a.46.46,0,0,0-.378-.424A20.132,20.132,0,0,1,8.881,2.291a.46.46,0,0,0-.379,0A20.132,20.132,0,0,1,2.655,4.108a.46.46,0,0,0-.378.424A11.3,11.3,0,0,0,2.98,9.4a10.049,10.049,0,0,0,2.06,3.235A10.516,10.516,0,0,0,8.521,15.1a.46.46,0,0,0,.345,0,10.516,10.516,0,0,0,3.481-2.465A10.049,10.049,0,0,0,14.4,9.4,11.3,11.3,0,0,0,15.106,4.532Zm-3.767,2.16L8.153,10.373a.46.46,0,0,1-.328.159H7.806a.46.46,0,0,1-.322-.131L6.069,9.014a.46.46,0,1,1,.644-.657L7.777,9.4,10.644,6.09a.46.46,0,0,1,.7.6Z"
1451
- transform="translate(-2.25 -2.25)"
1452
- fill="#06f"
1453
- />
1454
- </svg>
1455
-
1456
- <span class="text">{{
1457
- getTranslation(
1458
- "Your personal or company information is kept private and secure
1459
- within this chat."
1460
- )
1461
- }}</span>
1462
- </div>
1463
- </div>
1464
- </mat-drawer-content>
1465
- </mat-drawer>
1466
- <mat-drawer
1467
- class="drawer edit-boxDrawer"
1468
- style="width: 45%"
1469
- #sourcesDrawer
1470
- [position]="'end'"
1471
- [mode]="'over'"
1472
- [style.background]="
1473
- 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'
1474
- "
1475
- >
1476
- <mat-drawer-content>
1477
- <div class="sourceDraweContainer">
1478
- <div class="container-fluid">
1479
- <button
1480
- mat-icon-button
1481
- class="closeButtonSource"
1482
- (click)="onCloseSource()"
1483
- >
1484
- <mat-icon>close</mat-icon>
1485
- </button>
1486
- <h1>{{ currentSourcesList?.length }} Sources</h1>
1487
- <!-- <p>Tell me about latest news from Mistral about AI agents announcement done this month</p> -->
1488
- <hr />
1489
- <ul class="sources-list">
1490
- <li *ngFor="let item of currentSourcesList; let si = index">
1491
- <!-- <input type="checkbox" id="source1"> -->
1492
- <div class="source-content" (click)="openLinkInNewTab(item.link)">
1493
- <label for="source1">
1494
- <span class="source-title"
1495
- ><span class="ml-1">{{ si + 1 }}.</span
1496
- >{{ item.title }}</span
1497
- >
1498
- <span class="image-container">
1499
- <img
1500
- class="relative block"
1501
- [src]="getFaviconUrl(item.link)"
1502
- [alt]="getDomainName(item.link) + ' favicon'"
1503
- />
1504
- <span> {{ getDomainName(item.link) }}</span>
1505
- </span>
1506
- <span class="source-description">{{ item.desc }}</span>
1507
- </label>
1508
- </div>
1509
- </li>
1510
- </ul>
1511
- </div>
1512
- </div>
1513
- </mat-drawer-content>
1514
- </mat-drawer>
1515
- <mat-drawer
1516
- class="drawer edit-boxDrawer"
1517
- style="width: 45%"
1518
- #editorsDrawer
1519
- [position]="'end'"
1520
- [mode]="'push'"
1521
- [style.background]="
1522
- 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'
1523
- "
1524
- >
1525
- <mat-drawer-content>
1526
- <lib-bot-html-editor
1527
- *ngIf="isContentLoaded"
1528
- [editorContent]="currentMessageForEditor"
1529
- [isDocInEditMode]="isDocInEditMode"
1530
- [documentContent]="documentContent"
1531
- [conversationId]="conversationId"
1532
- [botId]="botId"
1533
- ></lib-bot-html-editor>
1534
- </mat-drawer-content>
1535
- </mat-drawer>
1536
- </mat-drawer-container>
1537
-
1538
- <div *ngIf="showWorkflowExecutionDetails" class="modal">
1539
- <div class="modal-content">
1540
- <div class="close-wrapper">
1541
- <span class="close_pop" (click)="closeModal()">&times;</span>
1542
- </div>
1543
- <div class="titleSection">
1544
- <!-- Workflow Title -->
1545
- <h2>{{ workflowExecutionDetails.WorkflowName }}</h2>
1546
- <!-- Workflow Title -->
1547
- </div>
1548
- <!-- Inputs Section -->
1549
- <div class="inputs-section">
1550
- <h3>Inputs</h3>
1551
- <ul>
1552
- <li
1553
- *ngFor="let input of objectToArray(workflowExecutionDetails.Inputs)"
1554
- >
1555
- {{ input.key }}: {{ input.value }}
1556
- </li>
1557
- </ul>
1558
- </div>
1559
-
1560
- <!-- Actions Section (Displayed as Timeline) -->
1561
- <div class="actions-section">
1562
- <h3>Agent Actions</h3>
1563
- <div class="timeline">
1564
- <div
1565
- *ngFor="let action of workflowExecutionDetails.Actions"
1566
- class="timeline-item"
1567
- >
1568
- <div class="timestamp-section">
1569
- <h4>{{ action.ActionName || action.Name }}</h4>
1570
- <p><strong></strong> {{ action.InsertTimeStamp }}</p>
1571
- </div>
1572
- <p [innerHTML]="processMessageForDisplay(action.Output)"></p>
1573
- <!-- <pre>{{ action.Output }}</pre> -->
1574
- </div>
1575
- </div>
1576
- </div>
1577
-
1578
- <!-- Insert Timestamp -->
1579
- <div class="timestamp-section">
1580
- <p>
1581
- <strong>Inserted At:</strong>
1582
- {{ workflowExecutionDetails.InsertTimeStamp }}
1583
- </p>
1584
- </div>
1585
- </div>
1586
- </div>