@projectcor/maia-components 2.11.110-1 → 2.26.0

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 (668) hide show
  1. package/README.md +2 -0
  2. package/package.json +3 -3
  3. package/CHANGELOG.md +0 -642
  4. package/lib/App.js +0 -55
  5. package/lib/components/atoms/ActionableButton.js +0 -60
  6. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +0 -89
  7. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +0 -21
  8. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +0 -9
  9. package/lib/components/atoms/AgentActivityIndicator/index.js +0 -2
  10. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +0 -209
  11. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +0 -93
  12. package/lib/components/atoms/ApprovalBox/index.js +0 -2
  13. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +0 -218
  14. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +0 -52
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +0 -448
  16. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +0 -58
  17. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +0 -55
  18. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +0 -14
  19. package/lib/components/atoms/AttachmentCard/index.js +0 -4
  20. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +0 -442
  21. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +0 -119
  22. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +0 -222
  23. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +0 -313
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +0 -128
  25. package/lib/components/atoms/AttachmentPreviewModal/index.js +0 -2
  26. package/lib/components/atoms/Backdrop/Backdrop.js +0 -17
  27. package/lib/components/atoms/Backdrop/Backdrop.styles.js +0 -9
  28. package/lib/components/atoms/Backdrop/index.js +0 -2
  29. package/lib/components/atoms/CardItem.js +0 -7
  30. package/lib/components/atoms/CardMenu/CardMenu.js +0 -131
  31. package/lib/components/atoms/CardMenu/index.js +0 -2
  32. package/lib/components/atoms/CardMenu/styles.js +0 -21
  33. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +0 -77
  34. package/lib/components/atoms/ChatClientSelector/index.js +0 -2
  35. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  36. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  37. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  38. package/lib/components/atoms/Checkbox/Checkbox.js +0 -34
  39. package/lib/components/atoms/Checkbox/index.js +0 -2
  40. package/lib/components/atoms/Checkbox/styles.js +0 -39
  41. package/lib/components/atoms/Chip/Chip.js +0 -150
  42. package/lib/components/atoms/Chip/index.js +0 -2
  43. package/lib/components/atoms/Chip/styles.js +0 -43
  44. package/lib/components/atoms/ChipLlm/ChipLlm.js +0 -45
  45. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +0 -21
  46. package/lib/components/atoms/ChipLlm/index.js +0 -2
  47. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +0 -2
  48. package/lib/components/atoms/ChipStatus/ChipStatus.js +0 -14
  49. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +0 -27
  50. package/lib/components/atoms/ChipStatus/index.js +0 -2
  51. package/lib/components/atoms/ClearButton.js +0 -6
  52. package/lib/components/atoms/ClientSelector/ClientSelector.js +0 -146
  53. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +0 -15
  54. package/lib/components/atoms/ClientSelector/index.js +0 -2
  55. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
  56. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -188
  57. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
  58. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -445
  59. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  60. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -533
  61. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -10
  62. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  63. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -282
  64. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -148
  65. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  66. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -290
  67. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -108
  68. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  69. package/lib/components/atoms/CopyToClipboard.js +0 -70
  70. package/lib/components/atoms/EditableLabel/EditableLabel.js +0 -110
  71. package/lib/components/atoms/EditableLabel/index.js +0 -2
  72. package/lib/components/atoms/EditableLabel/styles.js +0 -7
  73. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +0 -22
  74. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +0 -18
  75. package/lib/components/atoms/EmptySearchClients/index.js +0 -2
  76. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +0 -19
  77. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +0 -15
  78. package/lib/components/atoms/EmptySearchProjects/index.js +0 -2
  79. package/lib/components/atoms/EntitySelector/EntitySelector.js +0 -247
  80. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +0 -38
  81. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +0 -67
  82. package/lib/components/atoms/EntitySelector/index.js +0 -2
  83. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +0 -14
  84. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +0 -15
  85. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +0 -14
  86. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +0 -15
  87. package/lib/components/atoms/ErrorSearchFaqs/index.js +0 -2
  88. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +0 -18
  89. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +0 -15
  90. package/lib/components/atoms/ErrorSearchProjects/index.js +0 -2
  91. package/lib/components/atoms/Expand/Expand.js +0 -32
  92. package/lib/components/atoms/Expand/index.js +0 -2
  93. package/lib/components/atoms/Fade/Fade.js +0 -56
  94. package/lib/components/atoms/Fade/index.js +0 -2
  95. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +0 -59
  96. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +0 -14
  97. package/lib/components/atoms/FeedbackButton/index.js +0 -2
  98. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +0 -138
  99. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +0 -44
  100. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +0 -43
  101. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +0 -2
  102. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +0 -122
  103. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +0 -43
  104. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +0 -62
  105. package/lib/components/atoms/FrequentlyUsedActions/index.js +0 -2
  106. package/lib/components/atoms/GoBackButton.js +0 -24
  107. package/lib/components/atoms/HelpButton.js +0 -44
  108. package/lib/components/atoms/IconButton.js +0 -56
  109. package/lib/components/atoms/ImagePreview/ImagePreview.js +0 -96
  110. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +0 -70
  111. package/lib/components/atoms/Input/CustomInput.interface.js +0 -2
  112. package/lib/components/atoms/Input/CustomInput.js +0 -91
  113. package/lib/components/atoms/Input/CustomInput.styles.js +0 -39
  114. package/lib/components/atoms/Input/index.js +0 -2
  115. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +0 -41
  116. package/lib/components/atoms/ListMenuOption/index.js +0 -2
  117. package/lib/components/atoms/ListMenuOption/styles.js +0 -9
  118. package/lib/components/atoms/Loader.js +0 -41
  119. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +0 -11
  120. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +0 -6
  121. package/lib/components/atoms/LoadingFaqs/index.js +0 -2
  122. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +0 -11
  123. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +0 -6
  124. package/lib/components/atoms/LoadingSearchClients/index.js +0 -2
  125. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +0 -14
  126. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +0 -10
  127. package/lib/components/atoms/LoadingSearchProjects/index.js +0 -2
  128. package/lib/components/atoms/LoadingText/LoadingText.js +0 -18
  129. package/lib/components/atoms/LoadingText/index.js +0 -2
  130. package/lib/components/atoms/LoadingText/styles.js +0 -7
  131. package/lib/components/atoms/MAIAButton/MAIAButton.js +0 -33
  132. package/lib/components/atoms/MAIAButton/index.js +0 -2
  133. package/lib/components/atoms/MAIAError/MAIAError.js +0 -15
  134. package/lib/components/atoms/MAIAError/index.js +0 -2
  135. package/lib/components/atoms/MAIAInput/MAIAInput.js +0 -1233
  136. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -266
  137. package/lib/components/atoms/MAIAInput/index.js +0 -2
  138. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -25
  139. package/lib/components/atoms/MAIAInput/styles.js +0 -186
  140. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +0 -2
  141. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +0 -22
  142. package/lib/components/atoms/MAIAMessage/index.js +0 -2
  143. package/lib/components/atoms/MAIAMessage/styles.js +0 -7
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +0 -23
  145. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +0 -2
  146. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +0 -51
  147. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +0 -26
  148. package/lib/components/atoms/MaiaStreamdown/index.js +0 -2
  149. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +0 -18
  150. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +0 -84
  151. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +0 -15
  152. package/lib/components/atoms/MaiaWrapper/index.js +0 -3
  153. package/lib/components/atoms/MaiaWrapper/styles.js +0 -21
  154. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +0 -2
  155. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +0 -84
  156. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +0 -53
  157. package/lib/components/atoms/ModalClientAccess/index.js +0 -2
  158. package/lib/components/atoms/ModalInfo/ModalInfo.js +0 -52
  159. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +0 -7
  160. package/lib/components/atoms/ModalInfo/index.js +0 -3
  161. package/lib/components/atoms/ModalInfo/styles.js +0 -7
  162. package/lib/components/atoms/ModalProject/ModalProject.interface.js +0 -2
  163. package/lib/components/atoms/ModalProject/ModalProject.js +0 -112
  164. package/lib/components/atoms/ModalProject/ModalProject.style.js +0 -59
  165. package/lib/components/atoms/ModalProject/index.js +0 -2
  166. package/lib/components/atoms/NextPageLoader.js +0 -33
  167. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +0 -28
  168. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +0 -180
  169. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +0 -34
  170. package/lib/components/atoms/OnboardingModalButton/index.js +0 -3
  171. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +0 -131
  172. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +0 -59
  173. package/lib/components/atoms/OptionAccessibility/index.js +0 -2
  174. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +0 -27
  175. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +0 -18
  176. package/lib/components/atoms/OptionCorPermission/index.js +0 -2
  177. package/lib/components/atoms/PrimaryButton.js +0 -31
  178. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +0 -77
  179. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +0 -61
  180. package/lib/components/atoms/ProjectSelector/index.js +0 -2
  181. package/lib/components/atoms/SecondaryButton.js +0 -20
  182. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -20
  183. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -20
  184. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  185. package/lib/components/atoms/Skeleton/Skeleton.js +0 -36
  186. package/lib/components/atoms/Skeleton/index.js +0 -2
  187. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -208
  188. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -77
  189. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  190. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +0 -16
  191. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +0 -24
  192. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +0 -18
  193. package/lib/components/atoms/SlashCommandChip/index.js +0 -4
  194. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -210
  195. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +0 -53
  196. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  197. package/lib/components/atoms/Switch/Switch.js +0 -27
  198. package/lib/components/atoms/Switch/Switch.styles.js +0 -22
  199. package/lib/components/atoms/Switch/index.js +0 -2
  200. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +0 -2
  201. package/lib/components/atoms/TextArea/CustomTextArea.js +0 -93
  202. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +0 -25
  203. package/lib/components/atoms/TextArea/TextArea.interfaces.js +0 -2
  204. package/lib/components/atoms/TextArea/TextArea.js +0 -172
  205. package/lib/components/atoms/TextArea/TextArea.styles.js +0 -16
  206. package/lib/components/atoms/TextArea/index.js +0 -2
  207. package/lib/components/atoms/ThirdButton.js +0 -19
  208. package/lib/components/atoms/VideoModal/VideoModal.js +0 -76
  209. package/lib/components/atoms/VideoModal/index.js +0 -2
  210. package/lib/components/atoms/WithAppCfg.js +0 -26
  211. package/lib/components/atoms/WithFeatureValidation.js +0 -23
  212. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +0 -9
  213. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +0 -6
  214. package/lib/components/atoms/WrapperCenterIcon/index.js +0 -2
  215. package/lib/components/atoms/icons/AIIcon.js +0 -23
  216. package/lib/components/atoms/icons/AacFile.js +0 -39
  217. package/lib/components/atoms/icons/AccessibilityIcon.js +0 -42
  218. package/lib/components/atoms/icons/ActionAssignIcon.js +0 -111
  219. package/lib/components/atoms/icons/ActionCalendarIcon.js +0 -112
  220. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +0 -111
  221. package/lib/components/atoms/icons/ActionChatIcon.js +0 -71
  222. package/lib/components/atoms/icons/ActionCreateIcon.js +0 -91
  223. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +0 -39
  224. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +0 -37
  225. package/lib/components/atoms/icons/ActionEditIcon.js +0 -39
  226. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +0 -88
  227. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +0 -37
  228. package/lib/components/atoms/icons/ActionTimeBackIcon.js +0 -112
  229. package/lib/components/atoms/icons/AgentMaiaIcon.js +0 -31
  230. package/lib/components/atoms/icons/Brain.js +0 -77
  231. package/lib/components/atoms/icons/CorAccessIcon.js +0 -41
  232. package/lib/components/atoms/icons/CorLogo.js +0 -76
  233. package/lib/components/atoms/icons/CsvFile.js +0 -41
  234. package/lib/components/atoms/icons/DocFile.js +0 -41
  235. package/lib/components/atoms/icons/DocxFile.js +0 -41
  236. package/lib/components/atoms/icons/EmptyClientIllustration.js +0 -67
  237. package/lib/components/atoms/icons/EmptyHistory.js +0 -46
  238. package/lib/components/atoms/icons/EmptySearchIllustration.js +0 -37
  239. package/lib/components/atoms/icons/EmptyState.js +0 -84
  240. package/lib/components/atoms/icons/EmptyStateAgents.js +0 -58
  241. package/lib/components/atoms/icons/ErrorIcon.js +0 -14
  242. package/lib/components/atoms/icons/ErrorSearchIllustration.js +0 -52
  243. package/lib/components/atoms/icons/ErrorState.js +0 -51
  244. package/lib/components/atoms/icons/FaqChevronIcon.js +0 -39
  245. package/lib/components/atoms/icons/FaqsIcon.js +0 -51
  246. package/lib/components/atoms/icons/FlacIcon.js +0 -39
  247. package/lib/components/atoms/icons/FolderIcon.js +0 -29
  248. package/lib/components/atoms/icons/HomeIcon.js +0 -30
  249. package/lib/components/atoms/icons/ImageFile.js +0 -46
  250. package/lib/components/atoms/icons/M4aFile.js +0 -39
  251. package/lib/components/atoms/icons/MAIAIcon.js +0 -20
  252. package/lib/components/atoms/icons/MAIAIsologo.js +0 -65
  253. package/lib/components/atoms/icons/MDFile.js +0 -41
  254. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +0 -41
  255. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +0 -41
  256. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +0 -33
  257. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +0 -41
  258. package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
  259. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
  260. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
  261. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
  262. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
  263. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
  264. package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
  265. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
  266. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
  267. package/lib/components/atoms/icons/MaiaSettingsProject.js +0 -111
  268. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +0 -193
  269. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  270. package/lib/components/atoms/icons/MaiaStoreIcon.js +0 -31
  271. package/lib/components/atoms/icons/Mp3File.js +0 -39
  272. package/lib/components/atoms/icons/Mp4File.js +0 -39
  273. package/lib/components/atoms/icons/MyAgentsNavIcon.js +0 -51
  274. package/lib/components/atoms/icons/NewChat.js +0 -29
  275. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  276. package/lib/components/atoms/icons/OgaFile.js +0 -39
  277. package/lib/components/atoms/icons/OggFile.js +0 -39
  278. package/lib/components/atoms/icons/PdfFile.js +0 -39
  279. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  280. package/lib/components/atoms/icons/PptFile.js +0 -47
  281. package/lib/components/atoms/icons/PptxFile.js +0 -49
  282. package/lib/components/atoms/icons/RetryIcon.js +0 -34
  283. package/lib/components/atoms/icons/SkillCreatedByIcon.js +0 -20
  284. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  285. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  286. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  287. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -24
  288. package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
  289. package/lib/components/atoms/icons/TaskLinkIcon.js +0 -27
  290. package/lib/components/atoms/icons/TelescopeIcon.js +0 -60
  291. package/lib/components/atoms/icons/TemplateGradientIcon.js +0 -42
  292. package/lib/components/atoms/icons/TextFile.js +0 -41
  293. package/lib/components/atoms/icons/WavFile.js +0 -39
  294. package/lib/components/atoms/icons/WebmFile.js +0 -50
  295. package/lib/components/atoms/icons/XlsFile.js +0 -42
  296. package/lib/components/atoms/icons/XlsxFile.js +0 -42
  297. package/lib/components/atoms/icons/index.js +0 -54
  298. package/lib/components/atoms/index.js +0 -42
  299. package/lib/components/index.js +0 -11
  300. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +0 -2
  301. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +0 -149
  302. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +0 -53
  303. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +0 -415
  304. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +0 -152
  305. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +0 -374
  306. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +0 -106
  307. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +0 -92
  308. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +0 -57
  309. package/lib/components/molecules/AbmSection/index.js +0 -4
  310. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +0 -52
  311. package/lib/components/molecules/ChatAIClientSelector/index.js +0 -2
  312. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +0 -119
  313. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +0 -187
  314. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +0 -6
  315. package/lib/components/molecules/ChatAIContent/index.js +0 -2
  316. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +0 -241
  317. package/lib/components/molecules/ChatAIHistory/index.js +0 -2
  318. package/lib/components/molecules/ChatAIHistory/styles.js +0 -22
  319. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +0 -649
  320. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +0 -115
  321. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +0 -95
  322. package/lib/components/molecules/ChatAIHome/index.js +0 -2
  323. package/lib/components/molecules/ChatAIHome/styles.js +0 -335
  324. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +0 -137
  325. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +0 -853
  326. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +0 -47
  327. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +0 -37
  328. package/lib/components/molecules/ChatAIMessages/README.md +0 -101
  329. package/lib/components/molecules/ChatAIMessages/index.js +0 -2
  330. package/lib/components/molecules/ChatAIMessages/newStyles.js +0 -131
  331. package/lib/components/molecules/ChatAIMessages/styles.js +0 -94
  332. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +0 -1254
  333. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +0 -58
  334. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +0 -127
  335. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +0 -34
  336. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +0 -2
  337. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +0 -189
  338. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +0 -26
  339. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +0 -2
  340. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +0 -453
  341. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +0 -108
  342. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +0 -2
  343. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -48
  344. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -38
  345. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  346. package/lib/components/molecules/ChatAIModal/constants.js +0 -40
  347. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +0 -16
  348. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +0 -12
  349. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +0 -13
  350. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +0 -3
  351. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +0 -57
  352. package/lib/components/molecules/ChatAIModal/index.js +0 -2
  353. package/lib/components/molecules/ChatAIModal/layout.js +0 -74
  354. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +0 -457
  355. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +0 -218
  356. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -430
  357. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -169
  358. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  359. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +0 -48
  360. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +0 -49
  361. package/lib/components/molecules/ChatAIProjectSelector/index.js +0 -2
  362. package/lib/components/molecules/ChatFooter/ChatFooter.js +0 -337
  363. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +0 -32
  364. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +0 -14
  365. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -201
  366. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  367. package/lib/components/molecules/ChatFooter/index.js +0 -2
  368. package/lib/components/molecules/ChatFooter/styles.js +0 -23
  369. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -60
  370. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  371. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  372. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +0 -118
  373. package/lib/components/molecules/MessageFeedback/index.js +0 -2
  374. package/lib/components/molecules/MessageFeedback/styles.js +0 -14
  375. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +0 -127
  376. package/lib/components/molecules/ProjectSummaryChat/index.js +0 -2
  377. package/lib/components/molecules/ProjectSummaryChat/styles.js +0 -8
  378. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +0 -152
  379. package/lib/components/molecules/ProjectSummaryConfig/index.js +0 -2
  380. package/lib/components/molecules/ProjectSummaryConfig/styles.js +0 -86
  381. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +0 -49
  382. package/lib/components/molecules/ProjectSummaryContent/index.js +0 -2
  383. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +0 -19
  384. package/lib/components/molecules/ProjectSummaryModal/index.js +0 -2
  385. package/lib/components/molecules/ProjectSummaryModal/styles.js +0 -2
  386. package/lib/components/molecules/Sidebar/Sidebar.js +0 -716
  387. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +0 -157
  388. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +0 -48
  389. package/lib/components/molecules/Sidebar/Sidebar.styles.js +0 -75
  390. package/lib/components/molecules/Sidebar/index.js +0 -2
  391. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +0 -1420
  392. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +0 -93
  393. package/lib/components/organisms/AbmAgentModal/index.js +0 -2
  394. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -182
  395. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  396. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  397. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -585
  398. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -154
  399. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  400. package/lib/components/organisms/ChatAI/ChatAI.js +0 -167
  401. package/lib/components/organisms/ChatAI/index.js +0 -2
  402. package/lib/components/organisms/ChatAI/styles.js +0 -7
  403. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +0 -23
  404. package/lib/components/organisms/ClientAIButton/index.js +0 -2
  405. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +0 -86
  406. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +0 -39
  407. package/lib/components/organisms/DeleteAgentModal/index.js +0 -2
  408. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +0 -122
  409. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +0 -47
  410. package/lib/components/organisms/DeleteQuestionModal/index.js +0 -2
  411. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +0 -138
  412. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +0 -69
  413. package/lib/components/organisms/EditQuestionModal/index.js +0 -2
  414. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +0 -113
  415. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +0 -54
  416. package/lib/components/organisms/ModalFileExceeds/index.js +0 -2
  417. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +0 -26
  418. package/lib/components/organisms/ProjectAIButton/index.js +0 -2
  419. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +0 -60
  420. package/lib/components/organisms/ProjectSummary/index.js +0 -2
  421. package/lib/components/organisms/ProjectSummary/styles.js +0 -7
  422. package/lib/components/organisms/SnackBar/Snackbar.interface.js +0 -2
  423. package/lib/components/organisms/SnackBar/Snackbar.js +0 -73
  424. package/lib/components/organisms/SnackBar/Snackbar.styles.js +0 -9
  425. package/lib/components/organisms/SnackBar/index.js +0 -2
  426. package/lib/components/organisms/SourcesInformation/SourceItem.js +0 -18
  427. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +0 -14
  428. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +0 -66
  429. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +0 -27
  430. package/lib/components/organisms/SourcesInformation/index.js +0 -2
  431. package/lib/constants/config.js +0 -10
  432. package/lib/constants/formatExtensions.js +0 -55
  433. package/lib/constants/gqlClient.js +0 -4
  434. package/lib/constants/maiaHourAgentAccess.js +0 -15
  435. package/lib/constants/maiaTaskPanelAccess.js +0 -24
  436. package/lib/constants/maiaTaskPanelOutsideClick.js +0 -9
  437. package/lib/constants/maiaTaskPanelZIndex.js +0 -19
  438. package/lib/constants/permissions/config.js +0 -72
  439. package/lib/constants/permissions/index.js +0 -3
  440. package/lib/constants/permissions/types.js +0 -2
  441. package/lib/constants/permissions/utils.js +0 -18
  442. package/lib/constants/plannerSyncEvents.js +0 -15
  443. package/lib/constants/taskLinkIcon.js +0 -15
  444. package/lib/constants/taskUrls.js +0 -11
  445. package/lib/context/cor-user.js +0 -31
  446. package/lib/context/global-context.js +0 -39
  447. package/lib/dev/DevChatAI.js +0 -101
  448. package/lib/dev/DevContextMentionInput.js +0 -67
  449. package/lib/dev/ProjectSummary.js +0 -9
  450. package/lib/dev/Providers.js +0 -27
  451. package/lib/exports.js +0 -2
  452. package/lib/hooks/README.md +0 -192
  453. package/lib/hooks/index.js +0 -30
  454. package/lib/hooks/useAccessClient/index.js +0 -2
  455. package/lib/hooks/useAccessClient/useAccessClient.js +0 -81
  456. package/lib/hooks/useAgentModel/index.js +0 -2
  457. package/lib/hooks/useAgentModel/useAgentModel.js +0 -62
  458. package/lib/hooks/useAgentModel/useCreateAgent.js +0 -128
  459. package/lib/hooks/useAgentModel/useDeleteAgent.js +0 -88
  460. package/lib/hooks/useAgentModel/useUpdateAgent.js +0 -129
  461. package/lib/hooks/useAgentSuggestions.js +0 -60
  462. package/lib/hooks/useCaretPosition.js +0 -65
  463. package/lib/hooks/useChatManager/index.js +0 -2
  464. package/lib/hooks/useChatManager/useChatManager.interface.js +0 -2
  465. package/lib/hooks/useChatManager/useChatManager.js +0 -1782
  466. package/lib/hooks/useChatMessages/index.js +0 -2
  467. package/lib/hooks/useChatMessages/useChatMessages.interface.js +0 -2
  468. package/lib/hooks/useChatMessages/useChatMessages.js +0 -722
  469. package/lib/hooks/useChats/index.js +0 -2
  470. package/lib/hooks/useChats/useChats.interfaces.js +0 -2
  471. package/lib/hooks/useChats/useChats.js +0 -187
  472. package/lib/hooks/useClientSearch.js +0 -163
  473. package/lib/hooks/useContextMentions.js +0 -500
  474. package/lib/hooks/useContextPinPopover.js +0 -228
  475. package/lib/hooks/useDebounce.js +0 -18
  476. package/lib/hooks/useEntitySearch.js +0 -1053
  477. package/lib/hooks/useEvent.js +0 -93
  478. package/lib/hooks/useFrequentlyAskedQuestions.js +0 -150
  479. package/lib/hooks/useFrequentlyUsedActions.js +0 -94
  480. package/lib/hooks/useKnowledge/deleteKnowledge.js +0 -69
  481. package/lib/hooks/useKnowledge/downloadKnowledge.js +0 -81
  482. package/lib/hooks/useKnowledge/index.js +0 -4
  483. package/lib/hooks/useKnowledge/saveKnowledge.js +0 -107
  484. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +0 -156
  485. package/lib/hooks/useMaiaTaskPanelZIndex.js +0 -17
  486. package/lib/hooks/useMentionAllowedTypes.js +0 -120
  487. package/lib/hooks/useMentionPopover.js +0 -342
  488. package/lib/hooks/useMinimizedPillBottomOffset.js +0 -110
  489. package/lib/hooks/useModal/index.js +0 -2
  490. package/lib/hooks/useModal/useModal.interfaces.js +0 -2
  491. package/lib/hooks/useModal/useModal.js +0 -47
  492. package/lib/hooks/useOnboardingNavigation.js +0 -20
  493. package/lib/hooks/useOrchestratorStream/index.js +0 -2
  494. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +0 -2
  495. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +0 -269
  496. package/lib/hooks/useProjectSearch.js +0 -183
  497. package/lib/hooks/useProjectSummary.js +0 -101
  498. package/lib/hooks/useProjectSummaryConfig.js +0 -211
  499. package/lib/hooks/useProjects.js +0 -46
  500. package/lib/hooks/useRecentClientsSearch.js +0 -150
  501. package/lib/hooks/useRecentContexts.js +0 -86
  502. package/lib/hooks/useResize.js +0 -29
  503. package/lib/hooks/useSkillsCatalog.js +0 -66
  504. package/lib/hooks/useSlashCommands.js +0 -84
  505. package/lib/hooks/useSmoothStreamText/index.js +0 -2
  506. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +0 -197
  507. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +0 -41
  508. package/lib/hooks/useStreamResponse.js +0 -112
  509. package/lib/hooks/useStreamdownStyles.js +0 -13
  510. package/lib/hooks/useStreamingMessage/index.js +0 -2
  511. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +0 -18
  512. package/lib/hooks/useT.js +0 -17
  513. package/lib/hooks/useTabTaskDefault.js +0 -33
  514. package/lib/hooks/useTaskPanel.js +0 -22
  515. package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
  516. package/lib/hooks/useToggle.js +0 -19
  517. package/lib/hooks/useToggleFavorite/index.js +0 -2
  518. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +0 -83
  519. package/lib/index.css +0 -76
  520. package/lib/index.js +0 -30
  521. package/lib/lang/br/index.js +0 -785
  522. package/lib/lang/en/index.js +0 -785
  523. package/lib/lang/es/index.js +0 -786
  524. package/lib/lang/fr/index.js +0 -606
  525. package/lib/lang/index.js +0 -24
  526. package/lib/lang/utils.js +0 -33
  527. package/lib/mocks/mockChats.js +0 -395
  528. package/lib/mocks/mockOrchestrator.js +0 -5
  529. package/lib/mocks/mockProject.js +0 -11
  530. package/lib/mocks/mockProjectSummary.js +0 -6
  531. package/lib/mocks/mockedUser.js +0 -169
  532. package/lib/services/apolloClient.js +0 -3
  533. package/lib/services/appcues.js +0 -19
  534. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +0 -31
  535. package/lib/services/corpilot/ProjectSummary/index.js +0 -5
  536. package/lib/services/corpilot/client.js +0 -27
  537. package/lib/services/corpilot/index.js +0 -5
  538. package/lib/services/maia/Access/updateAccess.js +0 -59
  539. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +0 -46
  540. package/lib/services/maia/Actions/getSlashCommands.js +0 -39
  541. package/lib/services/maia/Actions/index.js +0 -7
  542. package/lib/services/maia/Agents/createAgent.js +0 -39
  543. package/lib/services/maia/Agents/deleteAgent.js +0 -38
  544. package/lib/services/maia/Agents/fetchAgentDetail.js +0 -122
  545. package/lib/services/maia/Agents/getAgentById.js +0 -162
  546. package/lib/services/maia/Agents/getAgentModels.js +0 -112
  547. package/lib/services/maia/Agents/getAgentSuggestions.js +0 -44
  548. package/lib/services/maia/Agents/getAgents.js +0 -718
  549. package/lib/services/maia/Agents/setAgentToolGroups.js +0 -42
  550. package/lib/services/maia/Agents/toggleFavorite.js +0 -34
  551. package/lib/services/maia/Agents/updateAgent.js +0 -39
  552. package/lib/services/maia/Chats/deleteChat.js +0 -32
  553. package/lib/services/maia/Chats/getChatMessages.js +0 -144
  554. package/lib/services/maia/Chats/getChatsByUserId.js +0 -82
  555. package/lib/services/maia/Chats/index.js +0 -15
  556. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  557. package/lib/services/maia/Chats/patchChat.js +0 -43
  558. package/lib/services/maia/Chats/wasHelpfulChat.js +0 -31
  559. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +0 -55
  560. package/lib/services/maia/Faqs/index.js +0 -5
  561. package/lib/services/maia/Knowledge/delete.js +0 -41
  562. package/lib/services/maia/Knowledge/download.js +0 -48
  563. package/lib/services/maia/Knowledge/index.js +0 -3
  564. package/lib/services/maia/Knowledge/save.js +0 -43
  565. package/lib/services/maia/Orchestrator/index.js +0 -7
  566. package/lib/services/maia/Orchestrator/orchestrator.js +0 -246
  567. package/lib/services/maia/RecentClients/getRecentClients.js +0 -43
  568. package/lib/services/maia/RecentClients/index.js +0 -6
  569. package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
  570. package/lib/services/maia/RecentContexts/index.js +0 -6
  571. package/lib/services/maia/RecentProjects/getRecentProjects.js +0 -55
  572. package/lib/services/maia/RecentProjects/index.js +0 -6
  573. package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
  574. package/lib/services/maia/RecentTasks/index.js +0 -6
  575. package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
  576. package/lib/services/maia/RecentUsers/index.js +0 -6
  577. package/lib/services/maia/Skills/createSkill.js +0 -39
  578. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  579. package/lib/services/maia/Skills/generateSkill.js +0 -41
  580. package/lib/services/maia/Skills/getSkills.js +0 -120
  581. package/lib/services/maia/Skills/updateSkill.js +0 -39
  582. package/lib/services/maia/client.js +0 -27
  583. package/lib/services/maia/index.js +0 -17
  584. package/lib/services/query/ClientSearchQuery.js +0 -5
  585. package/lib/services/query/entitySearchQuery.js +0 -18
  586. package/lib/services/query/index.js +0 -2
  587. package/lib/services/query/projectSearchByValueQuery.js +0 -5
  588. package/lib/services/query/taskUserTabQuery.js +0 -8
  589. package/lib/services/query/usersDirectoryQuery.js +0 -19
  590. package/lib/services/types.js +0 -6
  591. package/lib/services/utils/fetchCOR.js +0 -117
  592. package/lib/services/utils/getCookie.js +0 -10
  593. package/lib/services/utils/index.js +0 -3
  594. package/lib/services/utils/mapChatMessages.js +0 -287
  595. package/lib/services/utils/validateIsMaia.js +0 -4
  596. package/lib/store/chatsSidebarOptimistic.js +0 -92
  597. package/lib/store/chatsStore.types.js +0 -2
  598. package/lib/store/chatsStoreLifecycle.js +0 -8
  599. package/lib/store/faqsStore.types.js +0 -2
  600. package/lib/store/index.js +0 -4
  601. package/lib/store/maiaLastChatPersistence.js +0 -35
  602. package/lib/store/sessions/activeView.js +0 -22
  603. package/lib/store/sessions/index.js +0 -9
  604. package/lib/store/sessions/sessionHitlContext.js +0 -15
  605. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  606. package/lib/store/sessions/sessionNotifications.js +0 -110
  607. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  608. package/lib/store/sessions/sessionStreamManager.js +0 -715
  609. package/lib/store/sessions/sessionStreamingText.js +0 -80
  610. package/lib/store/sessions/sessions.types.js +0 -35
  611. package/lib/store/sessions/useSessionMeta.js +0 -39
  612. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  613. package/lib/store/sessions/useSessionsStore.js +0 -197
  614. package/lib/store/useChatsStore.js +0 -387
  615. package/lib/store/useFaqsStore.js +0 -27
  616. package/lib/streamdownStyles.js +0 -9
  617. package/lib/styles/StyledCleanContainer.js +0 -7
  618. package/lib/styles/cascade.js +0 -14
  619. package/lib/styles/config.js +0 -47
  620. package/lib/styles/shared/scrollable.js +0 -3
  621. package/lib/styles/transitions.js +0 -21
  622. package/lib/types/Action.js +0 -2
  623. package/lib/types/AgentSuggestion.js +0 -2
  624. package/lib/types/Chat.js +0 -10
  625. package/lib/types/Client.js +0 -2
  626. package/lib/types/FrequentlyAskedQuestion.js +0 -2
  627. package/lib/types/Project.js +0 -2
  628. package/lib/types/ProjectSummaryConfigKeys.js +0 -9
  629. package/lib/types/Task.js +0 -2
  630. package/lib/types/agent.js +0 -2
  631. package/lib/types/agentModal.js +0 -2
  632. package/lib/types/contextMention.js +0 -37
  633. package/lib/types/global.d.js +0 -2
  634. package/lib/types/skill.js +0 -2
  635. package/lib/types/streamActivity.js +0 -2
  636. package/lib/types/userType.d.js +0 -2
  637. package/lib/utils/actionCategoryMap.js +0 -37
  638. package/lib/utils/actionIconMap.js +0 -61
  639. package/lib/utils/agentDisplayName.js +0 -42
  640. package/lib/utils/chatInputFiles.js +0 -52
  641. package/lib/utils/contextMentionIcons.js +0 -134
  642. package/lib/utils/contextMentionLabel.js +0 -4
  643. package/lib/utils/contextMentionTriggers.js +0 -51
  644. package/lib/utils/contextMentionTypeLabel.js +0 -17
  645. package/lib/utils/corConnectorMentionTypes.js +0 -41
  646. package/lib/utils/ensureStreamdownStyles.js +0 -21
  647. package/lib/utils/entityLinkRender.js +0 -135
  648. package/lib/utils/fileDownloadHelper.js +0 -40
  649. package/lib/utils/formatQuickActionMessage.js +0 -16
  650. package/lib/utils/formatUnreadCount.js +0 -6
  651. package/lib/utils/getUnitFileSize.js +0 -13
  652. package/lib/utils/hitlAnalytics.js +0 -65
  653. package/lib/utils/hoursPlannerQuickActionType.js +0 -64
  654. package/lib/utils/imagePreprocessor.js +0 -108
  655. package/lib/utils/index.js +0 -3
  656. package/lib/utils/maiaHostOpen.js +0 -19
  657. package/lib/utils/maiaStreamdownRehypePlugins.js +0 -27
  658. package/lib/utils/mapBackendLang.js +0 -8
  659. package/lib/utils/normalizeAgentConnectors.js +0 -70
  660. package/lib/utils/openTaskInCorPanel.js +0 -22
  661. package/lib/utils/orchestratorSubagents.js +0 -11
  662. package/lib/utils/renderContextMentions.js +0 -420
  663. package/lib/utils/retryCompletion.js +0 -85
  664. package/lib/utils/slashCommandMarker.js +0 -30
  665. package/lib/utils/sortManagerHoursHomeFuas.js +0 -14
  666. package/lib/utils/sseStreamContent.js +0 -17
  667. package/lib/utils/streamActivityMessages.js +0 -359
  668. package/lib/utils/validateTrimmedFields.js +0 -8
@@ -1,448 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- import React, { useEffect, useRef, useState } from 'react';
9
- import { Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../icons';
10
- import { SCCAAudioWrapper, SCCAAudioHeader, SCCAAudioIconWrapper, SCCAAudioInfo, SCCAAudioFileName, SCCAAudioDuration, SCCAAudioPlayButton, SCCAAudioPlayerSection, SCCAAudioProgressBar, SCCAAudioProgressFill, SCCAAudioProgressHandle, SCCAAudioTimeWrapper, SCCAAudioTime } from './AttachmentCardAudio.styles';
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- // Gestor global de audio para evitar múltiples reproducciones simultáneas
13
- var AudioManager = /*#__PURE__*/function () {
14
- function AudioManager() {
15
- _classCallCheck(this, AudioManager);
16
- _defineProperty(this, "activeAudios", new Set());
17
- }
18
- return _createClass(AudioManager, [{
19
- key: "register",
20
- value: function register(audio) {
21
- var _this = this;
22
- this.activeAudios.add(audio);
23
- return function () {
24
- _this.activeAudios["delete"](audio);
25
- };
26
- }
27
- }, {
28
- key: "pauseAllExcept",
29
- value: function pauseAllExcept(currentAudio) {
30
- this.activeAudios.forEach(function (audio) {
31
- if (audio !== currentAudio && !audio.paused) {
32
- audio.pause();
33
- }
34
- });
35
- }
36
- }]);
37
- }();
38
- var audioManager = new AudioManager();
39
- var formatTime = function formatTime(seconds) {
40
- var mins = Math.floor(seconds / 60);
41
- var secs = Math.floor(seconds % 60);
42
- return "".concat(mins, ":").concat(secs.toString().padStart(2, '0'));
43
- };
44
- var formatTimeWithHours = function formatTimeWithHours(seconds) {
45
- var hours = Math.floor(seconds / 3600);
46
- var mins = Math.floor(seconds % 3600 / 60);
47
- var secs = Math.floor(seconds % 60);
48
- if (hours > 0) {
49
- return "".concat(hours, ":").concat(mins.toString().padStart(2, '0'), ":").concat(secs.toString().padStart(2, '0'));
50
- }
51
- return "".concat(mins, ":").concat(secs.toString().padStart(2, '0'));
52
- };
53
- export var AttachmentCardAudio = function AttachmentCardAudio(_ref) {
54
- var _fileNameParts$pop, _attachment$type;
55
- var attachment = _ref.attachment;
56
- var _useState = useState(false),
57
- _useState2 = _slicedToArray(_useState, 2),
58
- isPlaying = _useState2[0],
59
- setIsPlaying = _useState2[1];
60
- var _useState3 = useState(0),
61
- _useState4 = _slicedToArray(_useState3, 2),
62
- currentTime = _useState4[0],
63
- setCurrentTime = _useState4[1];
64
- var _useState5 = useState(0),
65
- _useState6 = _slicedToArray(_useState5, 2),
66
- duration = _useState6[0],
67
- setDuration = _useState6[1];
68
- var _useState7 = useState(false),
69
- _useState8 = _slicedToArray(_useState7, 2),
70
- isDragging = _useState8[0],
71
- setIsDragging = _useState8[1];
72
- var _useState9 = useState(0),
73
- _useState0 = _slicedToArray(_useState9, 2),
74
- visualProgress = _useState0[0],
75
- setVisualProgress = _useState0[1];
76
- var audioRef = useRef(null);
77
- var progressBarRef = useRef(null);
78
- var animationFrameRef = useRef(null);
79
- var startTimeRef = useRef(null);
80
- var startProgressRef = useRef(0);
81
- var progressBarWidthRef = useRef(241); // Ancho aproximado de la barra (265px - 24px padding)
82
-
83
- // Obtener el tipo de archivo y el icono correspondiente
84
- var fileNameParts = attachment.name.split('.');
85
- var fileExtension = fileNameParts.length > 1 ? (_fileNameParts$pop = fileNameParts.pop()) === null || _fileNameParts$pop === void 0 ? void 0 : _fileNameParts$pop.toLowerCase() : ((_attachment$type = attachment.type) === null || _attachment$type === void 0 ? void 0 : _attachment$type.toLowerCase()) || '';
86
-
87
- // Construir el nombre completo del archivo (con extensión)
88
- var fullFileName = attachment.name.includes('.') ? attachment.name : "".concat(attachment.name, ".").concat(attachment.type);
89
-
90
- // Mapeo de extensiones a componentes de iconos
91
- var audioIconMap = {
92
- mp3: Mp3FileIcon,
93
- wav: WavFileIcon,
94
- flac: FlacFileIcon,
95
- m4a: M4aFileIcon,
96
- mp4: Mp4FileIcon,
97
- oga: OgaFileIcon,
98
- ogg: OggFileIcon,
99
- webm: WebmFileIcon
100
- };
101
- var AudioIcon = audioIconMap[fileExtension || ''] || Mp3FileIcon;
102
- // Obtener el ancho real de la barra de progreso
103
- useEffect(function () {
104
- if (progressBarRef.current) {
105
- progressBarWidthRef.current = progressBarRef.current.offsetWidth;
106
- }
107
- }, []);
108
-
109
- // Animación de la barra de progreso a velocidad constante
110
- useEffect(function () {
111
- if (!isPlaying || !duration || duration === 0 || isDragging) {
112
- if (animationFrameRef.current) {
113
- cancelAnimationFrame(animationFrameRef.current);
114
- animationFrameRef.current = null;
115
- }
116
- return undefined;
117
- }
118
-
119
- // Calcular velocidad constante: píxeles por segundo
120
- var pixelsPerSecond = progressBarWidthRef.current / duration;
121
- var _animate = function animate() {
122
- if (!audioRef.current || !isPlaying || isDragging) {
123
- return;
124
- }
125
- var now = performance.now();
126
- if (startTimeRef.current === null) {
127
- startTimeRef.current = now;
128
- // Usar el progreso actual almacenado en el ref
129
- startProgressRef.current = visualProgress;
130
- }
131
-
132
- // Calcular tiempo transcurrido desde que empezó la animación
133
- var elapsed = (now - startTimeRef.current) / 1000; // en segundos
134
- var newProgress = startProgressRef.current + elapsed * pixelsPerSecond;
135
-
136
- // Limitar el progreso al 100%
137
- var clampedProgress = Math.min(newProgress, progressBarWidthRef.current);
138
- setVisualProgress(clampedProgress);
139
-
140
- // Actualizar currentTime basado en el progreso visual y sincronizar con el audio
141
- var progressPercentage = clampedProgress / progressBarWidthRef.current;
142
- var newTime = progressPercentage * duration;
143
- setCurrentTime(newTime);
144
-
145
- // Sincronizar el tiempo del audio con el progreso visual
146
- if (audioRef.current && Math.abs(audioRef.current.currentTime - newTime) > 0.1) {
147
- audioRef.current.currentTime = newTime;
148
- }
149
-
150
- // Continuar animación si no ha terminado
151
- if (clampedProgress < progressBarWidthRef.current && isPlaying) {
152
- animationFrameRef.current = requestAnimationFrame(_animate);
153
- } else if (audioRef.current && duration) {
154
- // Si llegó al final, asegurar que el audio también esté al final
155
- audioRef.current.currentTime = duration;
156
- setCurrentTime(duration);
157
- }
158
- };
159
- animationFrameRef.current = requestAnimationFrame(_animate);
160
- return function () {
161
- if (animationFrameRef.current) {
162
- cancelAnimationFrame(animationFrameRef.current);
163
- animationFrameRef.current = null;
164
- }
165
- };
166
- }, [isPlaying, duration, isDragging]);
167
- useEffect(function () {
168
- // Crear URL del blob para el audio
169
- var audioUrl = null;
170
- if (attachment.file instanceof File) {
171
- audioUrl = URL.createObjectURL(attachment.file);
172
- audioRef.current = new Audio(audioUrl);
173
- } else if (attachment.url_original) {
174
- // URL directa del backend/S3 (chat historial - attachments pasados)
175
- audioRef.current = new Audio(attachment.url_original);
176
- } else if (attachment.url_file) {
177
- // Priorizar url_file (del historial - formato alternativo)
178
- audioRef.current = new Audio(attachment.url_file);
179
- } else if (attachment.url_thumbnail) {
180
- // Fallback: URL del servidor
181
- audioRef.current = new Audio(attachment.url_thumbnail);
182
- }
183
- if (!audioRef.current) {
184
- return undefined;
185
- }
186
- var audio = audioRef.current;
187
-
188
- // Registrar este audio en el gestor global
189
- var unregister = audioManager.register(audio);
190
- var updateDuration = function updateDuration() {
191
- var newDuration = audio.duration || 0;
192
- setDuration(newDuration);
193
- // Resetear progreso visual cuando se carga nueva duración
194
- setVisualProgress(0);
195
- startProgressRef.current = 0;
196
- };
197
- var handleEnded = function handleEnded() {
198
- setIsPlaying(false);
199
- // Reiniciar el audio al inicio
200
- audio.currentTime = 0;
201
- setCurrentTime(0);
202
- setVisualProgress(0);
203
- startTimeRef.current = null;
204
- startProgressRef.current = 0;
205
- };
206
- var handlePlay = function handlePlay() {
207
- // Asegurar que otros audios se detengan cuando este comienza a reproducirse
208
- audioManager.pauseAllExcept(audio);
209
- setIsPlaying(true);
210
- // Sincronizar el progreso visual con el tiempo actual del audio
211
- if (audio.currentTime > 0 && duration > 0) {
212
- var _progressPercentage = audio.currentTime / duration;
213
- var currentProgress = _progressPercentage * progressBarWidthRef.current;
214
- setVisualProgress(currentProgress);
215
- startProgressRef.current = currentProgress;
216
- } else {
217
- setVisualProgress(0);
218
- startProgressRef.current = 0;
219
- }
220
- startTimeRef.current = performance.now();
221
- };
222
- var handlePause = function handlePause() {
223
- setIsPlaying(false);
224
- startTimeRef.current = null;
225
- // Guardar el progreso actual
226
- if (audio.currentTime > 0 && duration > 0) {
227
- var _progressPercentage2 = audio.currentTime / duration;
228
- startProgressRef.current = _progressPercentage2 * progressBarWidthRef.current;
229
- }
230
- };
231
- audio.addEventListener('loadedmetadata', updateDuration);
232
- audio.addEventListener('ended', handleEnded);
233
- audio.addEventListener('play', handlePlay);
234
- audio.addEventListener('pause', handlePause);
235
- return function () {
236
- audio.removeEventListener('loadedmetadata', updateDuration);
237
- audio.removeEventListener('ended', handleEnded);
238
- audio.removeEventListener('play', handlePlay);
239
- audio.removeEventListener('pause', handlePause);
240
- unregister();
241
- if (audioUrl) {
242
- URL.revokeObjectURL(audioUrl);
243
- }
244
- if (audio) {
245
- audio.pause();
246
- audio.src = '';
247
- }
248
- if (animationFrameRef.current) {
249
- cancelAnimationFrame(animationFrameRef.current);
250
- animationFrameRef.current = null;
251
- }
252
- };
253
- }, [attachment, duration]);
254
- var togglePlay = /*#__PURE__*/function () {
255
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
256
- var _progressPercentage3, currentProgress, _t;
257
- return _regeneratorRuntime.wrap(function (_context) {
258
- while (1) switch (_context.prev = _context.next) {
259
- case 0:
260
- if (!(!audioRef.current || !duration)) {
261
- _context.next = 1;
262
- break;
263
- }
264
- return _context.abrupt("return");
265
- case 1:
266
- if (!isPlaying) {
267
- _context.next = 2;
268
- break;
269
- }
270
- audioRef.current.pause();
271
- setIsPlaying(false);
272
- _context.next = 5;
273
- break;
274
- case 2:
275
- _context.prev = 2;
276
- // Pausar todos los demás audios antes de reproducir este
277
- audioManager.pauseAllExcept(audioRef.current);
278
- _context.next = 3;
279
- return audioRef.current.play();
280
- case 3:
281
- setIsPlaying(true);
282
- // Sincronizar progreso visual con el tiempo actual del audio
283
- if (audioRef.current.currentTime > 0) {
284
- _progressPercentage3 = audioRef.current.currentTime / duration;
285
- currentProgress = _progressPercentage3 * progressBarWidthRef.current;
286
- setVisualProgress(currentProgress);
287
- startProgressRef.current = currentProgress;
288
- } else {
289
- setVisualProgress(0);
290
- startProgressRef.current = 0;
291
- }
292
- startTimeRef.current = performance.now();
293
- _context.next = 5;
294
- break;
295
- case 4:
296
- _context.prev = 4;
297
- _t = _context["catch"](2);
298
- console.error('Error playing audio:', _t);
299
- case 5:
300
- case "end":
301
- return _context.stop();
302
- }
303
- }, _callee, null, [[2, 4]]);
304
- }));
305
- return function togglePlay() {
306
- return _ref2.apply(this, arguments);
307
- };
308
- }();
309
- var handleProgressClick = function handleProgressClick(e) {
310
- if (!audioRef.current || !progressBarRef.current || !duration) return;
311
- var rect = progressBarRef.current.getBoundingClientRect();
312
- var clickX = e.clientX - rect.left;
313
- var percentage = Math.max(0, Math.min(1, clickX / rect.width));
314
- var newTime = percentage * duration;
315
- var newProgress = percentage * progressBarWidthRef.current;
316
- audioRef.current.currentTime = newTime;
317
- setCurrentTime(newTime);
318
- setVisualProgress(newProgress);
319
- startProgressRef.current = newProgress;
320
- startTimeRef.current = performance.now();
321
- };
322
- var handleProgressMouseDown = function handleProgressMouseDown(e) {
323
- setIsDragging(true);
324
- handleProgressClick(e);
325
- };
326
- useEffect(function () {
327
- var handleMouseMove = function handleMouseMove(e) {
328
- if (!isDragging || !audioRef.current || !progressBarRef.current || !duration) return;
329
- var rect = progressBarRef.current.getBoundingClientRect();
330
- var clickX = e.clientX - rect.left;
331
- var percentage = Math.max(0, Math.min(1, clickX / rect.width));
332
- var newTime = percentage * duration;
333
- var newProgress = percentage * progressBarWidthRef.current;
334
- audioRef.current.currentTime = newTime;
335
- setCurrentTime(newTime);
336
- setVisualProgress(newProgress);
337
- startProgressRef.current = newProgress;
338
- startTimeRef.current = performance.now();
339
- };
340
- var handleMouseUp = function handleMouseUp() {
341
- setIsDragging(false);
342
- };
343
- if (isDragging) {
344
- document.addEventListener('mousemove', handleMouseMove);
345
- document.addEventListener('mouseup', handleMouseUp);
346
- }
347
- return function () {
348
- document.removeEventListener('mousemove', handleMouseMove);
349
- document.removeEventListener('mouseup', handleMouseUp);
350
- };
351
- }, [isDragging, duration]);
352
-
353
- // Calcular porcentaje basado en el progreso visual (en píxeles)
354
- var progressPercentage = progressBarWidthRef.current > 0 ? visualProgress / progressBarWidthRef.current * 100 : 0;
355
- var remainingTime = duration - currentTime;
356
-
357
- // Calcular la posición del handle asegurando que esté siempre visible
358
- // El handle tiene 9px de ancho, así que cuando está al 100% debe estar completamente visible
359
- var handleSize = 9;
360
- var maxLeft = progressBarWidthRef.current > 0 ? (progressBarWidthRef.current - handleSize / 2) / progressBarWidthRef.current * 100 : 0;
361
- var handlePosition = Math.min(progressPercentage, maxLeft);
362
- return /*#__PURE__*/_jsxs(SCCAAudioWrapper, {
363
- children: [/*#__PURE__*/_jsxs(SCCAAudioHeader, {
364
- children: [/*#__PURE__*/_jsxs("div", {
365
- style: {
366
- display: 'flex',
367
- alignItems: 'center',
368
- gap: '10px',
369
- flex: 1,
370
- minWidth: 0
371
- },
372
- children: [/*#__PURE__*/_jsx(SCCAAudioIconWrapper, {
373
- children: /*#__PURE__*/_jsx(AudioIcon, {
374
- width: "36",
375
- height: "36"
376
- })
377
- }), /*#__PURE__*/_jsxs(SCCAAudioInfo, {
378
- children: [/*#__PURE__*/_jsx(SCCAAudioFileName, {
379
- title: fullFileName,
380
- children: fullFileName
381
- }), /*#__PURE__*/_jsx(SCCAAudioDuration, {
382
- children: duration > 0 ? formatTime(duration) : '0:00'
383
- })]
384
- })]
385
- }), /*#__PURE__*/_jsx(SCCAAudioPlayButton, {
386
- onClick: togglePlay,
387
- children: isPlaying ? /*#__PURE__*/_jsxs("svg", {
388
- width: "18",
389
- height: "18",
390
- viewBox: "0 0 18 18",
391
- fill: "none",
392
- xmlns: "http://www.w3.org/2000/svg",
393
- children: [/*#__PURE__*/_jsx("rect", {
394
- x: "5",
395
- y: "3",
396
- width: "3",
397
- height: "12",
398
- fill: "rgba(135, 64, 191, 1)"
399
- }), /*#__PURE__*/_jsx("rect", {
400
- x: "10",
401
- y: "3",
402
- width: "3",
403
- height: "12",
404
- fill: "rgba(135, 64, 191, 1)"
405
- })]
406
- }) : /*#__PURE__*/_jsx("svg", {
407
- width: "18",
408
- height: "18",
409
- viewBox: "0 0 18 18",
410
- fill: "none",
411
- xmlns: "http://www.w3.org/2000/svg",
412
- children: /*#__PURE__*/_jsx("path", {
413
- d: "M6 3L15 9L6 15V3Z",
414
- fill: "rgba(135, 64, 191, 1)",
415
- stroke: "rgba(135, 64, 191, 1)",
416
- strokeWidth: "1",
417
- strokeLinecap: "round",
418
- strokeLinejoin: "round"
419
- })
420
- })
421
- })]
422
- }), /*#__PURE__*/_jsxs(SCCAAudioPlayerSection, {
423
- children: [/*#__PURE__*/_jsxs(SCCAAudioProgressBar, {
424
- ref: progressBarRef,
425
- onMouseDown: handleProgressMouseDown,
426
- children: [/*#__PURE__*/_jsx(SCCAAudioProgressFill, {
427
- style: {
428
- width: "".concat(progressPercentage, "%")
429
- }
430
- }), /*#__PURE__*/_jsx(SCCAAudioProgressHandle, {
431
- style: {
432
- left: "".concat(handlePosition, "%")
433
- }
434
- })]
435
- }), /*#__PURE__*/_jsxs(SCCAAudioTimeWrapper, {
436
- children: [/*#__PURE__*/_jsx(SCCAAudioTime, {
437
- children: formatTimeWithHours(currentTime)
438
- }), /*#__PURE__*/_jsxs(SCCAAudioTime, {
439
- style: {
440
- textAlign: 'right'
441
- },
442
- children: ["-", formatTimeWithHours(remainingTime)]
443
- })]
444
- })]
445
- })]
446
- });
447
- };
448
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTXAzRmlsZUljb24iLCJXYXZGaWxlSWNvbiIsIkZsYWNGaWxlSWNvbiIsIk00YUZpbGVJY29uIiwiTXA0RmlsZUljb24iLCJPZ2FGaWxlSWNvbiIsIk9nZ0ZpbGVJY29uIiwiV2VibUZpbGVJY29uIiwiU0NDQUF1ZGlvV3JhcHBlciIsIlNDQ0FBdWRpb0hlYWRlciIsIlNDQ0FBdWRpb0ljb25XcmFwcGVyIiwiU0NDQUF1ZGlvSW5mbyIsIlNDQ0FBdWRpb0ZpbGVOYW1lIiwiU0NDQUF1ZGlvRHVyYXRpb24iLCJTQ0NBQXVkaW9QbGF5QnV0dG9uIiwiU0NDQUF1ZGlvUGxheWVyU2VjdGlvbiIsIlNDQ0FBdWRpb1Byb2dyZXNzQmFyIiwiU0NDQUF1ZGlvUHJvZ3Jlc3NGaWxsIiwiU0NDQUF1ZGlvUHJvZ3Jlc3NIYW5kbGUiLCJTQ0NBQXVkaW9UaW1lV3JhcHBlciIsIlNDQ0FBdWRpb1RpbWUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQXVkaW9NYW5hZ2VyIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnR5IiwiU2V0IiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJyZWdpc3RlciIsImF1ZGlvIiwiX3RoaXMiLCJhY3RpdmVBdWRpb3MiLCJhZGQiLCJwYXVzZUFsbEV4Y2VwdCIsImN1cnJlbnRBdWRpbyIsImZvckVhY2giLCJwYXVzZWQiLCJwYXVzZSIsImF1ZGlvTWFuYWdlciIsImZvcm1hdFRpbWUiLCJzZWNvbmRzIiwibWlucyIsIk1hdGgiLCJmbG9vciIsInNlY3MiLCJjb25jYXQiLCJ0b1N0cmluZyIsInBhZFN0YXJ0IiwiZm9ybWF0VGltZVdpdGhIb3VycyIsImhvdXJzIiwiQXR0YWNobWVudENhcmRBdWRpbyIsIl9yZWYiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJfYXR0YWNobWVudCR0eXBlIiwiYXR0YWNobWVudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzUGxheWluZyIsInNldElzUGxheWluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiY3VycmVudFRpbWUiLCJzZXRDdXJyZW50VGltZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZHVyYXRpb24iLCJzZXREdXJhdGlvbiIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNEcmFnZ2luZyIsInNldElzRHJhZ2dpbmciLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInZpc3VhbFByb2dyZXNzIiwic2V0VmlzdWFsUHJvZ3Jlc3MiLCJhdWRpb1JlZiIsInByb2dyZXNzQmFyUmVmIiwiYW5pbWF0aW9uRnJhbWVSZWYiLCJzdGFydFRpbWVSZWYiLCJzdGFydFByb2dyZXNzUmVmIiwicHJvZ3Jlc3NCYXJXaWR0aFJlZiIsImZpbGVOYW1lUGFydHMiLCJuYW1lIiwic3BsaXQiLCJmaWxlRXh0ZW5zaW9uIiwibGVuZ3RoIiwicG9wIiwidG9Mb3dlckNhc2UiLCJ0eXBlIiwiZnVsbEZpbGVOYW1lIiwiaW5jbHVkZXMiLCJhdWRpb0ljb25NYXAiLCJtcDMiLCJ3YXYiLCJmbGFjIiwibTRhIiwibXA0Iiwib2dhIiwib2dnIiwid2VibSIsIkF1ZGlvSWNvbiIsImN1cnJlbnQiLCJvZmZzZXRXaWR0aCIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwidW5kZWZpbmVkIiwicGl4ZWxzUGVyU2Vjb25kIiwiYW5pbWF0ZSIsIm5vdyIsInBlcmZvcm1hbmNlIiwiZWxhcHNlZCIsIm5ld1Byb2dyZXNzIiwiY2xhbXBlZFByb2dyZXNzIiwibWluIiwicHJvZ3Jlc3NQZXJjZW50YWdlIiwibmV3VGltZSIsImFicyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImF1ZGlvVXJsIiwiZmlsZSIsIkZpbGUiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJBdWRpbyIsInVybF9vcmlnaW5hbCIsInVybF9maWxlIiwidXJsX3RodW1ibmFpbCIsInVucmVnaXN0ZXIiLCJ1cGRhdGVEdXJhdGlvbiIsIm5ld0R1cmF0aW9uIiwiaGFuZGxlRW5kZWQiLCJoYW5kbGVQbGF5IiwiY3VycmVudFByb2dyZXNzIiwiaGFuZGxlUGF1c2UiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJldm9rZU9iamVjdFVSTCIsInNyYyIsInRvZ2dsZVBsYXkiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3Byb2dyZXNzUGVyY2VudGFnZTMiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYWJydXB0IiwicGxheSIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZVByb2dyZXNzQ2xpY2siLCJlIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWNrWCIsImNsaWVudFgiLCJsZWZ0IiwicGVyY2VudGFnZSIsIm1heCIsIndpZHRoIiwiaGFuZGxlUHJvZ3Jlc3NNb3VzZURvd24iLCJoYW5kbGVNb3VzZU1vdmUiLCJoYW5kbGVNb3VzZVVwIiwiZG9jdW1lbnQiLCJyZW1haW5pbmdUaW1lIiwiaGFuZGxlU2l6ZSIsIm1heExlZnQiLCJoYW5kbGVQb3NpdGlvbiIsImNoaWxkcmVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImZsZXgiLCJtaW5XaWR0aCIsImhlaWdodCIsInRpdGxlIiwib25DbGljayIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJ4IiwieSIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInJlZiIsIm9uTW91c2VEb3duIiwidGV4dEFsaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXR0YWNobWVudENhcmQvQXR0YWNobWVudENhcmRBdWRpby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHtcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uL2ljb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUF1ZGlvV3JhcHBlcixcbiAgU0NDQUF1ZGlvSGVhZGVyLFxuICBTQ0NBQXVkaW9JY29uV3JhcHBlcixcbiAgU0NDQUF1ZGlvSW5mbyxcbiAgU0NDQUF1ZGlvRmlsZU5hbWUsXG4gIFNDQ0FBdWRpb0R1cmF0aW9uLFxuICBTQ0NBQXVkaW9QbGF5QnV0dG9uLFxuICBTQ0NBQXVkaW9QbGF5ZXJTZWN0aW9uLFxuICBTQ0NBQXVkaW9Qcm9ncmVzc0JhcixcbiAgU0NDQUF1ZGlvUHJvZ3Jlc3NGaWxsLFxuICBTQ0NBQXVkaW9Qcm9ncmVzc0hhbmRsZSxcbiAgU0NDQUF1ZGlvVGltZVdyYXBwZXIsXG4gIFNDQ0FBdWRpb1RpbWUsXG59IGZyb20gJy4vQXR0YWNobWVudENhcmRBdWRpby5zdHlsZXMnXG5cbnR5cGUgQXR0YWNobWVudENhcmRBdWRpb1Byb3BzID0ge1xuICBhdHRhY2htZW50OiBBdHRhY2htZW50RmlsZVxufVxuXG4vLyBHZXN0b3IgZ2xvYmFsIGRlIGF1ZGlvIHBhcmEgZXZpdGFyIG3Dumx0aXBsZXMgcmVwcm9kdWNjaW9uZXMgc2ltdWx0w6FuZWFzXG5jbGFzcyBBdWRpb01hbmFnZXIge1xuICBwcml2YXRlIGFjdGl2ZUF1ZGlvczogU2V0PEhUTUxBdWRpb0VsZW1lbnQ+ID0gbmV3IFNldCgpXG5cbiAgcmVnaXN0ZXIoYXVkaW86IEhUTUxBdWRpb0VsZW1lbnQpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUF1ZGlvcy5hZGQoYXVkaW8pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlQXVkaW9zLmRlbGV0ZShhdWRpbylcbiAgICB9XG4gIH1cblxuICBwYXVzZUFsbEV4Y2VwdChjdXJyZW50QXVkaW86IEhUTUxBdWRpb0VsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUF1ZGlvcy5mb3JFYWNoKGF1ZGlvID0+IHtcbiAgICAgIGlmIChhdWRpbyAhPT0gY3VycmVudEF1ZGlvICYmICFhdWRpby5wYXVzZWQpIHtcbiAgICAgICAgYXVkaW8ucGF1c2UoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuY29uc3QgYXVkaW9NYW5hZ2VyID0gbmV3IEF1ZGlvTWFuYWdlcigpXG5cbmNvbnN0IGZvcm1hdFRpbWUgPSAoc2Vjb25kczogbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWlucyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKVxuICBjb25zdCBzZWNzID0gTWF0aC5mbG9vcihzZWNvbmRzICUgNjApXG4gIHJldHVybiBgJHttaW5zfToke3NlY3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWBcbn1cblxuY29uc3QgZm9ybWF0VGltZVdpdGhIb3VycyA9IChzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBob3VycyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDM2MDApXG4gIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKChzZWNvbmRzICUgMzYwMCkgLyA2MClcbiAgY29uc3Qgc2VjcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDYwKVxuICBpZiAoaG91cnMgPiAwKSB7XG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlY3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWBcbiAgfVxuICByZXR1cm4gYCR7bWluc306JHtzZWNzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gXG59XG5cbmV4cG9ydCBjb25zdCBBdHRhY2htZW50Q2FyZEF1ZGlvID0gKHsgYXR0YWNobWVudCB9OiBBdHRhY2htZW50Q2FyZEF1ZGlvUHJvcHMpID0+IHtcbiAgY29uc3QgW2lzUGxheWluZywgc2V0SXNQbGF5aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY3VycmVudFRpbWUsIHNldEN1cnJlbnRUaW1lXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFtkdXJhdGlvbiwgc2V0RHVyYXRpb25dID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW2lzRHJhZ2dpbmcsIHNldElzRHJhZ2dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt2aXN1YWxQcm9ncmVzcywgc2V0VmlzdWFsUHJvZ3Jlc3NdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgYXVkaW9SZWYgPSB1c2VSZWY8SFRNTEF1ZGlvRWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHByb2dyZXNzQmFyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgYW5pbWF0aW9uRnJhbWVSZWYgPSB1c2VSZWY8bnVtYmVyIHwgbnVsbD4obnVsbClcbiAgY29uc3Qgc3RhcnRUaW1lUmVmID0gdXNlUmVmPG51bWJlciB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHN0YXJ0UHJvZ3Jlc3NSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICBjb25zdCBwcm9ncmVzc0JhcldpZHRoUmVmID0gdXNlUmVmPG51bWJlcj4oMjQxKSAvLyBBbmNobyBhcHJveGltYWRvIGRlIGxhIGJhcnJhICgyNjVweCAtIDI0cHggcGFkZGluZylcblxuICAvLyBPYnRlbmVyIGVsIHRpcG8gZGUgYXJjaGl2byB5IGVsIGljb25vIGNvcnJlc3BvbmRpZW50ZVxuICBjb25zdCBmaWxlTmFtZVBhcnRzID0gYXR0YWNobWVudC5uYW1lLnNwbGl0KCcuJylcbiAgY29uc3QgZmlsZUV4dGVuc2lvbiA9XG4gICAgZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKSA6IGF0dGFjaG1lbnQudHlwZT8udG9Mb3dlckNhc2UoKSB8fCAnJ1xuXG4gIC8vIENvbnN0cnVpciBlbCBub21icmUgY29tcGxldG8gZGVsIGFyY2hpdm8gKGNvbiBleHRlbnNpw7NuKVxuICBjb25zdCBmdWxsRmlsZU5hbWUgPSBhdHRhY2htZW50Lm5hbWUuaW5jbHVkZXMoJy4nKSA/IGF0dGFjaG1lbnQubmFtZSA6IGAke2F0dGFjaG1lbnQubmFtZX0uJHthdHRhY2htZW50LnR5cGV9YFxuXG4gIC8vIE1hcGVvIGRlIGV4dGVuc2lvbmVzIGEgY29tcG9uZW50ZXMgZGUgaWNvbm9zXG4gIGNvbnN0IGF1ZGlvSWNvbk1hcDogUmVjb3JkPHN0cmluZywgUmVhY3QuQ29tcG9uZW50VHlwZTx7IHdpZHRoPzogc3RyaW5nOyBoZWlnaHQ/OiBzdHJpbmcgfT4+ID0ge1xuICAgIG1wMzogTXAzRmlsZUljb24sXG4gICAgd2F2OiBXYXZGaWxlSWNvbixcbiAgICBmbGFjOiBGbGFjRmlsZUljb24sXG4gICAgbTRhOiBNNGFGaWxlSWNvbixcbiAgICBtcDQ6IE1wNEZpbGVJY29uLFxuICAgIG9nYTogT2dhRmlsZUljb24sXG4gICAgb2dnOiBPZ2dGaWxlSWNvbixcbiAgICB3ZWJtOiBXZWJtRmlsZUljb24sXG4gIH1cblxuICBjb25zdCBBdWRpb0ljb24gPSBhdWRpb0ljb25NYXBbZmlsZUV4dGVuc2lvbiB8fCAnJ10gfHwgTXAzRmlsZUljb25cbiAgLy8gT2J0ZW5lciBlbCBhbmNobyByZWFsIGRlIGxhIGJhcnJhIGRlIHByb2dyZXNvXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb2dyZXNzQmFyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudCA9IHByb2dyZXNzQmFyUmVmLmN1cnJlbnQub2Zmc2V0V2lkdGhcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIEFuaW1hY2nDs24gZGUgbGEgYmFycmEgZGUgcHJvZ3Jlc28gYSB2ZWxvY2lkYWQgY29uc3RhbnRlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1BsYXlpbmcgfHwgIWR1cmF0aW9uIHx8IGR1cmF0aW9uID09PSAwIHx8IGlzRHJhZ2dpbmcpIHtcbiAgICAgIGlmIChhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQpXG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgLy8gQ2FsY3VsYXIgdmVsb2NpZGFkIGNvbnN0YW50ZTogcMOteGVsZXMgcG9yIHNlZ3VuZG9cbiAgICBjb25zdCBwaXhlbHNQZXJTZWNvbmQgPSBwcm9ncmVzc0JhcldpZHRoUmVmLmN1cnJlbnQgLyBkdXJhdGlvblxuXG4gICAgY29uc3QgYW5pbWF0ZSA9ICgpID0+IHtcbiAgICAgIGlmICghYXVkaW9SZWYuY3VycmVudCB8fCAhaXNQbGF5aW5nIHx8IGlzRHJhZ2dpbmcpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpXG5cbiAgICAgIGlmIChzdGFydFRpbWVSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICBzdGFydFRpbWVSZWYuY3VycmVudCA9IG5vd1xuICAgICAgICAvLyBVc2FyIGVsIHByb2dyZXNvIGFjdHVhbCBhbG1hY2VuYWRvIGVuIGVsIHJlZlxuICAgICAgICBzdGFydFByb2dyZXNzUmVmLmN1cnJlbnQgPSB2aXN1YWxQcm9ncmVzc1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxjdWxhciB0aWVtcG8gdHJhbnNjdXJyaWRvIGRlc2RlIHF1ZSBlbXBlesOzIGxhIGFuaW1hY2nDs25cbiAgICAgIGNvbnN0IGVsYXBzZWQgPSAobm93IC0gc3RhcnRUaW1lUmVmLmN1cnJlbnQpIC8gMTAwMCAvLyBlbiBzZWd1bmRvc1xuICAgICAgY29uc3QgbmV3UHJvZ3Jlc3MgPSBzdGFydFByb2dyZXNzUmVmLmN1cnJlbnQgKyBlbGFwc2VkICogcGl4ZWxzUGVyU2Vjb25kXG5cbiAgICAgIC8vIExpbWl0YXIgZWwgcHJvZ3Jlc28gYWwgMTAwJVxuICAgICAgY29uc3QgY2xhbXBlZFByb2dyZXNzID0gTWF0aC5taW4obmV3UHJvZ3Jlc3MsIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudClcblxuICAgICAgc2V0VmlzdWFsUHJvZ3Jlc3MoY2xhbXBlZFByb2dyZXNzKVxuXG4gICAgICAvLyBBY3R1YWxpemFyIGN1cnJlbnRUaW1lIGJhc2FkbyBlbiBlbCBwcm9ncmVzbyB2aXN1YWwgeSBzaW5jcm9uaXphciBjb24gZWwgYXVkaW9cbiAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudGFnZSA9IGNsYW1wZWRQcm9ncmVzcyAvIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudFxuICAgICAgY29uc3QgbmV3VGltZSA9IHByb2dyZXNzUGVyY2VudGFnZSAqIGR1cmF0aW9uXG4gICAgICBzZXRDdXJyZW50VGltZShuZXdUaW1lKVxuXG4gICAgICAvLyBTaW5jcm9uaXphciBlbCB0aWVtcG8gZGVsIGF1ZGlvIGNvbiBlbCBwcm9ncmVzbyB2aXN1YWxcbiAgICAgIGlmIChhdWRpb1JlZi5jdXJyZW50ICYmIE1hdGguYWJzKGF1ZGlvUmVmLmN1cnJlbnQuY3VycmVudFRpbWUgLSBuZXdUaW1lKSA+IDAuMSkge1xuICAgICAgICBhdWRpb1JlZi5jdXJyZW50LmN1cnJlbnRUaW1lID0gbmV3VGltZVxuICAgICAgfVxuXG4gICAgICAvLyBDb250aW51YXIgYW5pbWFjacOzbiBzaSBubyBoYSB0ZXJtaW5hZG9cbiAgICAgIGlmIChjbGFtcGVkUHJvZ3Jlc3MgPCBwcm9ncmVzc0JhcldpZHRoUmVmLmN1cnJlbnQgJiYgaXNQbGF5aW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSlcbiAgICAgIH0gZWxzZSBpZiAoYXVkaW9SZWYuY3VycmVudCAmJiBkdXJhdGlvbikge1xuICAgICAgICAvLyBTaSBsbGVnw7MgYWwgZmluYWwsIGFzZWd1cmFyIHF1ZSBlbCBhdWRpbyB0YW1iacOpbiBlc3TDqSBhbCBmaW5hbFxuICAgICAgICBhdWRpb1JlZi5jdXJyZW50LmN1cnJlbnRUaW1lID0gZHVyYXRpb25cbiAgICAgICAgc2V0Q3VycmVudFRpbWUoZHVyYXRpb24pXG4gICAgICB9XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uRnJhbWVSZWYuY3VycmVudCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQpXG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNQbGF5aW5nLCBkdXJhdGlvbiwgaXNEcmFnZ2luZ10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDcmVhciBVUkwgZGVsIGJsb2IgcGFyYSBlbCBhdWRpb1xuICAgIGxldCBhdWRpb1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICAgIGlmIChhdHRhY2htZW50LmZpbGUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICBhdWRpb1VybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYXR0YWNobWVudC5maWxlKVxuICAgICAgYXVkaW9SZWYuY3VycmVudCA9IG5ldyBBdWRpbyhhdWRpb1VybClcbiAgICB9IGVsc2UgaWYgKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKSB7XG4gICAgICAvLyBVUkwgZGlyZWN0YSBkZWwgYmFja2VuZC9TMyAoY2hhdCBoaXN0b3JpYWwgLSBhdHRhY2htZW50cyBwYXNhZG9zKVxuICAgICAgYXVkaW9SZWYuY3VycmVudCA9IG5ldyBBdWRpbyhhdHRhY2htZW50LnVybF9vcmlnaW5hbClcbiAgICB9IGVsc2UgaWYgKGF0dGFjaG1lbnQudXJsX2ZpbGUpIHtcbiAgICAgIC8vIFByaW9yaXphciB1cmxfZmlsZSAoZGVsIGhpc3RvcmlhbCAtIGZvcm1hdG8gYWx0ZXJuYXRpdm8pXG4gICAgICBhdWRpb1JlZi5jdXJyZW50ID0gbmV3IEF1ZGlvKGF0dGFjaG1lbnQudXJsX2ZpbGUpXG4gICAgfSBlbHNlIGlmIChhdHRhY2htZW50LnVybF90aHVtYm5haWwpIHtcbiAgICAgIC8vIEZhbGxiYWNrOiBVUkwgZGVsIHNlcnZpZG9yXG4gICAgICBhdWRpb1JlZi5jdXJyZW50ID0gbmV3IEF1ZGlvKGF0dGFjaG1lbnQudXJsX3RodW1ibmFpbClcbiAgICB9XG5cbiAgICBpZiAoIWF1ZGlvUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBhdWRpbyA9IGF1ZGlvUmVmLmN1cnJlbnRcblxuICAgIC8vIFJlZ2lzdHJhciBlc3RlIGF1ZGlvIGVuIGVsIGdlc3RvciBnbG9iYWxcbiAgICBjb25zdCB1bnJlZ2lzdGVyID0gYXVkaW9NYW5hZ2VyLnJlZ2lzdGVyKGF1ZGlvKVxuXG4gICAgY29uc3QgdXBkYXRlRHVyYXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXdEdXJhdGlvbiA9IGF1ZGlvLmR1cmF0aW9uIHx8IDBcbiAgICAgIHNldER1cmF0aW9uKG5ld0R1cmF0aW9uKVxuICAgICAgLy8gUmVzZXRlYXIgcHJvZ3Jlc28gdmlzdWFsIGN1YW5kbyBzZSBjYXJnYSBudWV2YSBkdXJhY2nDs25cbiAgICAgIHNldFZpc3VhbFByb2dyZXNzKDApXG4gICAgICBzdGFydFByb2dyZXNzUmVmLmN1cnJlbnQgPSAwXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlRW5kZWQgPSAoKSA9PiB7XG4gICAgICBzZXRJc1BsYXlpbmcoZmFsc2UpXG4gICAgICAvLyBSZWluaWNpYXIgZWwgYXVkaW8gYWwgaW5pY2lvXG4gICAgICBhdWRpby5jdXJyZW50VGltZSA9IDBcbiAgICAgIHNldEN1cnJlbnRUaW1lKDApXG4gICAgICBzZXRWaXN1YWxQcm9ncmVzcygwKVxuICAgICAgc3RhcnRUaW1lUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICBzdGFydFByb2dyZXNzUmVmLmN1cnJlbnQgPSAwXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlUGxheSA9ICgpID0+IHtcbiAgICAgIC8vIEFzZWd1cmFyIHF1ZSBvdHJvcyBhdWRpb3Mgc2UgZGV0ZW5nYW4gY3VhbmRvIGVzdGUgY29taWVuemEgYSByZXByb2R1Y2lyc2VcbiAgICAgIGF1ZGlvTWFuYWdlci5wYXVzZUFsbEV4Y2VwdChhdWRpbylcbiAgICAgIHNldElzUGxheWluZyh0cnVlKVxuICAgICAgLy8gU2luY3Jvbml6YXIgZWwgcHJvZ3Jlc28gdmlzdWFsIGNvbiBlbCB0aWVtcG8gYWN0dWFsIGRlbCBhdWRpb1xuICAgICAgaWYgKGF1ZGlvLmN1cnJlbnRUaW1lID4gMCAmJiBkdXJhdGlvbiA+IDApIHtcbiAgICAgICAgY29uc3QgcHJvZ3Jlc3NQZXJjZW50YWdlID0gYXVkaW8uY3VycmVudFRpbWUgLyBkdXJhdGlvblxuICAgICAgICBjb25zdCBjdXJyZW50UHJvZ3Jlc3MgPSBwcm9ncmVzc1BlcmNlbnRhZ2UgKiBwcm9ncmVzc0JhcldpZHRoUmVmLmN1cnJlbnRcbiAgICAgICAgc2V0VmlzdWFsUHJvZ3Jlc3MoY3VycmVudFByb2dyZXNzKVxuICAgICAgICBzdGFydFByb2dyZXNzUmVmLmN1cnJlbnQgPSBjdXJyZW50UHJvZ3Jlc3NcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFZpc3VhbFByb2dyZXNzKDApXG4gICAgICAgIHN0YXJ0UHJvZ3Jlc3NSZWYuY3VycmVudCA9IDBcbiAgICAgIH1cbiAgICAgIHN0YXJ0VGltZVJlZi5jdXJyZW50ID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVQYXVzZSA9ICgpID0+IHtcbiAgICAgIHNldElzUGxheWluZyhmYWxzZSlcbiAgICAgIHN0YXJ0VGltZVJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgLy8gR3VhcmRhciBlbCBwcm9ncmVzbyBhY3R1YWxcbiAgICAgIGlmIChhdWRpby5jdXJyZW50VGltZSA+IDAgJiYgZHVyYXRpb24gPiAwKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudGFnZSA9IGF1ZGlvLmN1cnJlbnRUaW1lIC8gZHVyYXRpb25cbiAgICAgICAgc3RhcnRQcm9ncmVzc1JlZi5jdXJyZW50ID0gcHJvZ3Jlc3NQZXJjZW50YWdlICogcHJvZ3Jlc3NCYXJXaWR0aFJlZi5jdXJyZW50XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXVkaW8uYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVkbWV0YWRhdGEnLCB1cGRhdGVEdXJhdGlvbilcbiAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdlbmRlZCcsIGhhbmRsZUVuZGVkKVxuICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXknLCBoYW5kbGVQbGF5KVxuICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgaGFuZGxlUGF1c2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZGVkbWV0YWRhdGEnLCB1cGRhdGVEdXJhdGlvbilcbiAgICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgaGFuZGxlRW5kZWQpXG4gICAgICBhdWRpby5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5JywgaGFuZGxlUGxheSlcbiAgICAgIGF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgaGFuZGxlUGF1c2UpXG4gICAgICB1bnJlZ2lzdGVyKClcbiAgICAgIGlmIChhdWRpb1VybCkge1xuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGF1ZGlvVXJsKVxuICAgICAgfVxuICAgICAgaWYgKGF1ZGlvKSB7XG4gICAgICAgIGF1ZGlvLnBhdXNlKClcbiAgICAgICAgYXVkaW8uc3JjID0gJydcbiAgICAgIH1cbiAgICAgIGlmIChhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQpXG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICB9XG4gICAgfVxuICB9LCBbYXR0YWNobWVudCwgZHVyYXRpb25dKVxuXG4gIGNvbnN0IHRvZ2dsZVBsYXkgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFhdWRpb1JlZi5jdXJyZW50IHx8ICFkdXJhdGlvbikgcmV0dXJuXG5cbiAgICBpZiAoaXNQbGF5aW5nKSB7XG4gICAgICBhdWRpb1JlZi5jdXJyZW50LnBhdXNlKClcbiAgICAgIHNldElzUGxheWluZyhmYWxzZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUGF1c2FyIHRvZG9zIGxvcyBkZW3DoXMgYXVkaW9zIGFudGVzIGRlIHJlcHJvZHVjaXIgZXN0ZVxuICAgICAgICBhdWRpb01hbmFnZXIucGF1c2VBbGxFeGNlcHQoYXVkaW9SZWYuY3VycmVudClcbiAgICAgICAgYXdhaXQgYXVkaW9SZWYuY3VycmVudC5wbGF5KClcbiAgICAgICAgc2V0SXNQbGF5aW5nKHRydWUpXG4gICAgICAgIC8vIFNpbmNyb25pemFyIHByb2dyZXNvIHZpc3VhbCBjb24gZWwgdGllbXBvIGFjdHVhbCBkZWwgYXVkaW9cbiAgICAgICAgaWYgKGF1ZGlvUmVmLmN1cnJlbnQuY3VycmVudFRpbWUgPiAwKSB7XG4gICAgICAgICAgY29uc3QgcHJvZ3Jlc3NQZXJjZW50YWdlID0gYXVkaW9SZWYuY3VycmVudC5jdXJyZW50VGltZSAvIGR1cmF0aW9uXG4gICAgICAgICAgY29uc3QgY3VycmVudFByb2dyZXNzID0gcHJvZ3Jlc3NQZXJjZW50YWdlICogcHJvZ3Jlc3NCYXJXaWR0aFJlZi5jdXJyZW50XG4gICAgICAgICAgc2V0VmlzdWFsUHJvZ3Jlc3MoY3VycmVudFByb2dyZXNzKVxuICAgICAgICAgIHN0YXJ0UHJvZ3Jlc3NSZWYuY3VycmVudCA9IGN1cnJlbnRQcm9ncmVzc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFZpc3VhbFByb2dyZXNzKDApXG4gICAgICAgICAgc3RhcnRQcm9ncmVzc1JlZi5jdXJyZW50ID0gMFxuICAgICAgICB9XG4gICAgICAgIHN0YXJ0VGltZVJlZi5jdXJyZW50ID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBsYXlpbmcgYXVkaW86JywgZXJyb3IpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUHJvZ3Jlc3NDbGljayA9IChlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmICghYXVkaW9SZWYuY3VycmVudCB8fCAhcHJvZ3Jlc3NCYXJSZWYuY3VycmVudCB8fCAhZHVyYXRpb24pIHJldHVyblxuXG4gICAgY29uc3QgcmVjdCA9IHByb2dyZXNzQmFyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCBjbGlja1ggPSBlLmNsaWVudFggLSByZWN0LmxlZnRcbiAgICBjb25zdCBwZXJjZW50YWdlID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgY2xpY2tYIC8gcmVjdC53aWR0aCkpXG4gICAgY29uc3QgbmV3VGltZSA9IHBlcmNlbnRhZ2UgKiBkdXJhdGlvblxuICAgIGNvbnN0IG5ld1Byb2dyZXNzID0gcGVyY2VudGFnZSAqIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudFxuXG4gICAgYXVkaW9SZWYuY3VycmVudC5jdXJyZW50VGltZSA9IG5ld1RpbWVcbiAgICBzZXRDdXJyZW50VGltZShuZXdUaW1lKVxuICAgIHNldFZpc3VhbFByb2dyZXNzKG5ld1Byb2dyZXNzKVxuICAgIHN0YXJ0UHJvZ3Jlc3NSZWYuY3VycmVudCA9IG5ld1Byb2dyZXNzXG4gICAgc3RhcnRUaW1lUmVmLmN1cnJlbnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUHJvZ3Jlc3NNb3VzZURvd24gPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBzZXRJc0RyYWdnaW5nKHRydWUpXG4gICAgaGFuZGxlUHJvZ3Jlc3NDbGljayhlKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVNb3VzZU1vdmUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKCFpc0RyYWdnaW5nIHx8ICFhdWRpb1JlZi5jdXJyZW50IHx8ICFwcm9ncmVzc0JhclJlZi5jdXJyZW50IHx8ICFkdXJhdGlvbikgcmV0dXJuXG5cbiAgICAgIGNvbnN0IHJlY3QgPSBwcm9ncmVzc0JhclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICBjb25zdCBjbGlja1ggPSBlLmNsaWVudFggLSByZWN0LmxlZnRcbiAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCBjbGlja1ggLyByZWN0LndpZHRoKSlcbiAgICAgIGNvbnN0IG5ld1RpbWUgPSBwZXJjZW50YWdlICogZHVyYXRpb25cbiAgICAgIGNvbnN0IG5ld1Byb2dyZXNzID0gcGVyY2VudGFnZSAqIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudFxuXG4gICAgICBhdWRpb1JlZi5jdXJyZW50LmN1cnJlbnRUaW1lID0gbmV3VGltZVxuICAgICAgc2V0Q3VycmVudFRpbWUobmV3VGltZSlcbiAgICAgIHNldFZpc3VhbFByb2dyZXNzKG5ld1Byb2dyZXNzKVxuICAgICAgc3RhcnRQcm9ncmVzc1JlZi5jdXJyZW50ID0gbmV3UHJvZ3Jlc3NcbiAgICAgIHN0YXJ0VGltZVJlZi5jdXJyZW50ID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVNb3VzZVVwID0gKCkgPT4ge1xuICAgICAgc2V0SXNEcmFnZ2luZyhmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoaXNEcmFnZ2luZykge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlTW91c2VNb3ZlKVxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGhhbmRsZU1vdXNlVXApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZU1vdXNlTW92ZSlcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBoYW5kbGVNb3VzZVVwKVxuICAgIH1cbiAgfSwgW2lzRHJhZ2dpbmcsIGR1cmF0aW9uXSlcblxuICAvLyBDYWxjdWxhciBwb3JjZW50YWplIGJhc2FkbyBlbiBlbCBwcm9ncmVzbyB2aXN1YWwgKGVuIHDDrXhlbGVzKVxuICBjb25zdCBwcm9ncmVzc1BlcmNlbnRhZ2UgPSBwcm9ncmVzc0JhcldpZHRoUmVmLmN1cnJlbnQgPiAwID8gKHZpc3VhbFByb2dyZXNzIC8gcHJvZ3Jlc3NCYXJXaWR0aFJlZi5jdXJyZW50KSAqIDEwMCA6IDBcbiAgY29uc3QgcmVtYWluaW5nVGltZSA9IGR1cmF0aW9uIC0gY3VycmVudFRpbWVcblxuICAvLyBDYWxjdWxhciBsYSBwb3NpY2nDs24gZGVsIGhhbmRsZSBhc2VndXJhbmRvIHF1ZSBlc3TDqSBzaWVtcHJlIHZpc2libGVcbiAgLy8gRWwgaGFuZGxlIHRpZW5lIDlweCBkZSBhbmNobywgYXPDrSBxdWUgY3VhbmRvIGVzdMOhIGFsIDEwMCUgZGViZSBlc3RhciBjb21wbGV0YW1lbnRlIHZpc2libGVcbiAgY29uc3QgaGFuZGxlU2l6ZSA9IDlcbiAgY29uc3QgbWF4TGVmdCA9XG4gICAgcHJvZ3Jlc3NCYXJXaWR0aFJlZi5jdXJyZW50ID4gMFxuICAgICAgPyAoKHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudCAtIGhhbmRsZVNpemUgLyAyKSAvIHByb2dyZXNzQmFyV2lkdGhSZWYuY3VycmVudCkgKiAxMDBcbiAgICAgIDogMFxuICBjb25zdCBoYW5kbGVQb3NpdGlvbiA9IE1hdGgubWluKHByb2dyZXNzUGVyY2VudGFnZSwgbWF4TGVmdClcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBQXVkaW9XcmFwcGVyPlxuICAgICAgPFNDQ0FBdWRpb0hlYWRlcj5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICcxMHB4JywgZmxleDogMSwgbWluV2lkdGg6IDAgfX0+XG4gICAgICAgICAgPFNDQ0FBdWRpb0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgPEF1ZGlvSWNvbiB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiAvPlxuICAgICAgICAgIDwvU0NDQUF1ZGlvSWNvbldyYXBwZXI+XG4gICAgICAgICAgPFNDQ0FBdWRpb0luZm8+XG4gICAgICAgICAgICA8U0NDQUF1ZGlvRmlsZU5hbWUgdGl0bGU9e2Z1bGxGaWxlTmFtZX0+e2Z1bGxGaWxlTmFtZX08L1NDQ0FBdWRpb0ZpbGVOYW1lPlxuICAgICAgICAgICAgPFNDQ0FBdWRpb0R1cmF0aW9uPntkdXJhdGlvbiA+IDAgPyBmb3JtYXRUaW1lKGR1cmF0aW9uKSA6ICcwOjAwJ308L1NDQ0FBdWRpb0R1cmF0aW9uPlxuICAgICAgICAgIDwvU0NDQUF1ZGlvSW5mbz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxTQ0NBQXVkaW9QbGF5QnV0dG9uIG9uQ2xpY2s9e3RvZ2dsZVBsYXl9PlxuICAgICAgICAgIHtpc1BsYXlpbmcgPyAoXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgPHJlY3QgeD1cIjVcIiB5PVwiM1wiIHdpZHRoPVwiM1wiIGhlaWdodD1cIjEyXCIgZmlsbD1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIC8+XG4gICAgICAgICAgICAgIDxyZWN0IHg9XCIxMFwiIHk9XCIzXCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwicmdiYSgxMzUsIDY0LCAxOTEsIDEpXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTYgM0wxNSA5TDYgMTVWM1pcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJyZ2JhKDEzNSwgNjQsIDE5MSwgMSlcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCIxXCJcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBQXVkaW9QbGF5QnV0dG9uPlxuICAgICAgPC9TQ0NBQXVkaW9IZWFkZXI+XG4gICAgICA8U0NDQUF1ZGlvUGxheWVyU2VjdGlvbj5cbiAgICAgICAgPFNDQ0FBdWRpb1Byb2dyZXNzQmFyIHJlZj17cHJvZ3Jlc3NCYXJSZWZ9IG9uTW91c2VEb3duPXtoYW5kbGVQcm9ncmVzc01vdXNlRG93bn0+XG4gICAgICAgICAgPFNDQ0FBdWRpb1Byb2dyZXNzRmlsbCBzdHlsZT17eyB3aWR0aDogYCR7cHJvZ3Jlc3NQZXJjZW50YWdlfSVgIH19IC8+XG4gICAgICAgICAgPFNDQ0FBdWRpb1Byb2dyZXNzSGFuZGxlIHN0eWxlPXt7IGxlZnQ6IGAke2hhbmRsZVBvc2l0aW9ufSVgIH19IC8+XG4gICAgICAgIDwvU0NDQUF1ZGlvUHJvZ3Jlc3NCYXI+XG4gICAgICAgIDxTQ0NBQXVkaW9UaW1lV3JhcHBlcj5cbiAgICAgICAgICA8U0NDQUF1ZGlvVGltZT57Zm9ybWF0VGltZVdpdGhIb3VycyhjdXJyZW50VGltZSl9PC9TQ0NBQXVkaW9UaW1lPlxuICAgICAgICAgIDxTQ0NBQXVkaW9UaW1lIHN0eWxlPXt7IHRleHRBbGlnbjogJ3JpZ2h0JyB9fT4te2Zvcm1hdFRpbWVXaXRoSG91cnMocmVtYWluaW5nVGltZSl9PC9TQ0NBQXVkaW9UaW1lPlxuICAgICAgICA8L1NDQ0FBdWRpb1RpbWVXcmFwcGVyPlxuICAgICAgPC9TQ0NBQXVkaW9QbGF5ZXJTZWN0aW9uPlxuICAgIDwvU0NDQUF1ZGlvV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRTFELFNBQ0VDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsWUFBWSxRQUNQLFVBQVU7QUFDakIsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxlQUFl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
@@ -1,58 +0,0 @@
1
- import styled from 'styled-components';
2
- export var SCCAAudioWrapper = styled.div.withConfig({
3
- displayName: "AttachmentCardAudiostyles__SCCAAudioWrapper",
4
- componentId: "sc-8uvncj-0"
5
- })(["display:flex;flex-direction:column;gap:10px;padding:9px 12px;background-color:white;border-radius:6px;border:1px solid rgba(191,191,191,1);width:265px;"]);
6
- export var SCCAAudioHeader = styled.div.withConfig({
7
- displayName: "AttachmentCardAudiostyles__SCCAAudioHeader",
8
- componentId: "sc-8uvncj-1"
9
- })(["display:flex;align-items:center;justify-content:space-between;width:100%;"]);
10
- export var SCCAAudioIconWrapper = styled.div.withConfig({
11
- displayName: "AttachmentCardAudiostyles__SCCAAudioIconWrapper",
12
- componentId: "sc-8uvncj-2"
13
- })(["position:relative;width:40px;height:40px;flex-shrink:0;"]);
14
- export var SCCAAudioIconBadge = styled.div.withConfig({
15
- displayName: "AttachmentCardAudiostyles__SCCAAudioIconBadge",
16
- componentId: "sc-8uvncj-3"
17
- })(["position:absolute;left:1px;top:20px;background-color:#711db6;color:white;font-size:10px;font-weight:700;padding:3px 2px;border-radius:2px;text-align:center;line-height:normal;font-family:'Poppins',sans-serif;"]);
18
- export var SCCAAudioInfo = styled.div.withConfig({
19
- displayName: "AttachmentCardAudiostyles__SCCAAudioInfo",
20
- componentId: "sc-8uvncj-4"
21
- })(["display:flex;flex-direction:column;gap:0;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:1.4;color:rgba(102,102,102,1);letter-spacing:-0.21px;min-width:0;flex:1;overflow:hidden;"]);
22
- export var SCCAAudioFileName = styled.p.withConfig({
23
- displayName: "AttachmentCardAudiostyles__SCCAAudioFileName",
24
- componentId: "sc-8uvncj-5"
25
- })(["margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.4;max-width:100%;"]);
26
- export var SCCAAudioDuration = styled.p.withConfig({
27
- displayName: "AttachmentCardAudiostyles__SCCAAudioDuration",
28
- componentId: "sc-8uvncj-6"
29
- })(["margin:0;font-size:14px;line-height:1.4;color:rgba(102,102,102,1);"]);
30
- export var SCCAAudioPlayButton = styled.button.withConfig({
31
- displayName: "AttachmentCardAudiostyles__SCCAAudioPlayButton",
32
- componentId: "sc-8uvncj-7"
33
- })(["width:34px;height:34px;border-radius:16px;background-color:rgba(247,240,252,1);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color 0.2s;&:hover{background-color:rgba(235,220,245,1);}&:active{background-color:rgba(223,200,238,1);}svg{display:block;}"]);
34
- export var SCCAAudioPlayerSection = styled.div.withConfig({
35
- displayName: "AttachmentCardAudiostyles__SCCAAudioPlayerSection",
36
- componentId: "sc-8uvncj-8"
37
- })(["display:flex;flex-direction:column;gap:0;width:100%;"]);
38
- export var SCCAAudioProgressBar = styled.div.withConfig({
39
- displayName: "AttachmentCardAudiostyles__SCCAAudioProgressBar",
40
- componentId: "sc-8uvncj-9"
41
- })(["position:relative;width:100%;height:5px;background-color:rgba(230,230,230,1);border-radius:16px;cursor:pointer;overflow:visible;"]);
42
- export var SCCAAudioProgressFill = styled.div.withConfig({
43
- displayName: "AttachmentCardAudiostyles__SCCAAudioProgressFill",
44
- componentId: "sc-8uvncj-10"
45
- })(["position:absolute;left:0;top:0;height:100%;background-color:rgba(135,64,191,1);border-radius:16px;"]);
46
- export var SCCAAudioProgressHandle = styled.div.withConfig({
47
- displayName: "AttachmentCardAudiostyles__SCCAAudioProgressHandle",
48
- componentId: "sc-8uvncj-11"
49
- })(["position:absolute;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;background-color:rgba(135,64,191,1);border-radius:50%;cursor:grab;&:active{cursor:grabbing;}"]);
50
- export var SCCAAudioTimeWrapper = styled.div.withConfig({
51
- displayName: "AttachmentCardAudiostyles__SCCAAudioTimeWrapper",
52
- componentId: "sc-8uvncj-12"
53
- })(["display:flex;justify-content:space-between;width:100%;margin-top:6px;font-family:'Work Sans',sans-serif;font-size:10px;font-weight:400;line-height:1.2;color:rgba(140,140,140,1);letter-spacing:-0.1px;"]);
54
- export var SCCAAudioTime = styled.div.withConfig({
55
- displayName: "AttachmentCardAudiostyles__SCCAAudioTime",
56
- componentId: "sc-8uvncj-13"
57
- })(["white-space:nowrap;"]);
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0NBQXVkaW9XcmFwcGVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0NBQXVkaW9IZWFkZXIiLCJTQ0NBQXVkaW9JY29uV3JhcHBlciIsIlNDQ0FBdWRpb0ljb25CYWRnZSIsIlNDQ0FBdWRpb0luZm8iLCJTQ0NBQXVkaW9GaWxlTmFtZSIsInAiLCJTQ0NBQXVkaW9EdXJhdGlvbiIsIlNDQ0FBdWRpb1BsYXlCdXR0b24iLCJidXR0b24iLCJTQ0NBQXVkaW9QbGF5ZXJTZWN0aW9uIiwiU0NDQUF1ZGlvUHJvZ3Jlc3NCYXIiLCJTQ0NBQXVkaW9Qcm9ncmVzc0ZpbGwiLCJTQ0NBQXVkaW9Qcm9ncmVzc0hhbmRsZSIsIlNDQ0FBdWRpb1RpbWVXcmFwcGVyIiwiU0NDQUF1ZGlvVGltZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0F0dGFjaG1lbnRDYXJkL0F0dGFjaG1lbnRDYXJkQXVkaW8uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NDQUF1ZGlvV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogOXB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkxLCAxOTEsIDE5MSwgMSk7XG4gIHdpZHRoOiAyNjVweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FBdWRpb0hlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9JY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9JY29uQmFkZ2UgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDFweDtcbiAgdG9wOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzExZGI2O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogM3B4IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9JbmZvID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuICBtaW4td2lkdGg6IDA7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9GaWxlTmFtZSA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1heC13aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FBdWRpb0R1cmF0aW9uID0gc3R5bGVkLnBgXG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FBdWRpb1BsYXlCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NywgMjQwLCAyNTIsIDEpO1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzUsIDIyMCwgMjQ1LCAxKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMywgMjAwLCAyMzgsIDEpO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUF1ZGlvUGxheWVyU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9Qcm9ncmVzc0JhciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDEpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUF1ZGlvUHJvZ3Jlc3NGaWxsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzUsIDY0LCAxOTEsIDEpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUF1ZGlvUHJvZ3Jlc3NIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDlweDtcbiAgaGVpZ2h0OiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IGdyYWI7XG5cbiAgJjphY3RpdmUge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FBdWRpb1RpbWVXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6IHJnYmEoMTQwLCAxNDAsIDE0MCwgMSk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBQXVkaW9UaW1lID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLGdCQUFnQixHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFTekM7QUFFRCxPQUFPLElBQU1DLGVBQWUsR0FBR04sTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUZBS3hDO0FBRUQsT0FBTyxJQUFNRSxvQkFBb0IsR0FBR1AsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0RBSzdDO0FBRUQsT0FBTyxJQUFNRyxrQkFBa0IsR0FBR1IsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd05BYTNDO0FBRUQsT0FBTyxJQUFNSSxhQUFhLEdBQUdULE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVOQWF0QztBQUVELE9BQU8sSUFBTUssaUJBQWlCLEdBQUdWLE1BQU0sQ0FBQ1csQ0FBQyxDQUFBUixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlIQVF4QztBQUVELE9BQU8sSUFBTU8saUJBQWlCLEdBQUdaLE1BQU0sQ0FBQ1csQ0FBQyxDQUFBUixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBFQUt4QztBQUVELE9BQU8sSUFBTVEsbUJBQW1CLEdBQUdiLE1BQU0sQ0FBQ2MsTUFBTSxDQUFBWCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdVQXdCL0M7QUFFRCxPQUFPLElBQU1VLHNCQUFzQixHQUFHZixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0REFLL0M7QUFFRCxPQUFPLElBQU1XLG9CQUFvQixHQUFHaEIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd0lBUTdDO0FBRUQsT0FBTyxJQUFNWSxxQkFBcUIsR0FBR2pCLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBHQU85QztBQUVELE9BQU8sSUFBTWEsdUJBQXVCLEdBQUdsQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrTEFhaEQ7QUFFRCxPQUFPLElBQU1jLG9CQUFvQixHQUFHbkIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK01BVzdDO0FBRUQsT0FBTyxJQUFNZSxhQUFhLEdBQUdwQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyQkFFdEMiLCJpZ25vcmVMaXN0IjpbXX0=