@projectcor/maia-components 2.28.0 → 2.30.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.
- package/lib/App.js +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +182 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +50 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +13 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +463 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1239 -0
- package/lib/hooks/useEvent.js +93 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +136 -0
- package/lib/hooks/useMentionPopover.js +366 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +761 -0
- package/lib/lang/en/index.js +761 -0
- package/lib/lang/es/index.js +762 -0
- package/lib/lang/fr/index.js +582 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +54 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +70 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +399 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import i18next from 'i18next';
|
|
2
|
+
import br from './br';
|
|
3
|
+
import en from './en';
|
|
4
|
+
import es from './es';
|
|
5
|
+
import fr from './fr';
|
|
6
|
+
var fallbackLng = 'es';
|
|
7
|
+
export var LANG = window.lang || fallbackLng;
|
|
8
|
+
var i18n = i18next.createInstance();
|
|
9
|
+
i18n.init({
|
|
10
|
+
lng: LANG,
|
|
11
|
+
fallbackLng: fallbackLng,
|
|
12
|
+
resources: {
|
|
13
|
+
en: en,
|
|
14
|
+
es: es,
|
|
15
|
+
br: br,
|
|
16
|
+
fr: fr
|
|
17
|
+
},
|
|
18
|
+
keySeparator: '.',
|
|
19
|
+
interpolation: {
|
|
20
|
+
escapeValue: false
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export default i18n;
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpMThuZXh0IiwiYnIiLCJlbiIsImVzIiwiZnIiLCJmYWxsYmFja0xuZyIsIkxBTkciLCJ3aW5kb3ciLCJsYW5nIiwiaTE4biIsImNyZWF0ZUluc3RhbmNlIiwiaW5pdCIsImxuZyIsInJlc291cmNlcyIsImtleVNlcGFyYXRvciIsImludGVycG9sYXRpb24iLCJlc2NhcGVWYWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW5nL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgYnIgZnJvbSAnLi9icidcbmltcG9ydCBlbiBmcm9tICcuL2VuJ1xuaW1wb3J0IGVzIGZyb20gJy4vZXMnXG5pbXBvcnQgZnIgZnJvbSAnLi9mcidcblxuY29uc3QgZmFsbGJhY2tMbmcgPSAnZXMnXG5leHBvcnQgY29uc3QgTEFORzogc3RyaW5nID0gd2luZG93LmxhbmcgfHwgZmFsbGJhY2tMbmdcblxuY29uc3QgaTE4biA9IGkxOG5leHQuY3JlYXRlSW5zdGFuY2UoKVxuXG5pMThuLmluaXQoe1xuICBsbmc6IExBTkcsXG4gIGZhbGxiYWNrTG5nLFxuICByZXNvdXJjZXM6IHtcbiAgICBlbixcbiAgICBlcyxcbiAgICBicixcbiAgICBmcixcbiAgfSxcbiAga2V5U2VwYXJhdG9yOiAnLicsXG4gIGludGVycG9sYXRpb246IHtcbiAgICBlc2NhcGVWYWx1ZTogZmFsc2UsXG4gIH0sXG59KVxuXG5leHBvcnQgZGVmYXVsdCBpMThuXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE9BQU8sTUFBTSxTQUFTO0FBQzdCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBRXJCLElBQU1DLFdBQVcsR0FBRyxJQUFJO0FBQ3hCLE9BQU8sSUFBTUMsSUFBWSxHQUFHQyxNQUFNLENBQUNDLElBQUksSUFBSUgsV0FBVztBQUV0RCxJQUFNSSxJQUFJLEdBQUdULE9BQU8sQ0FBQ1UsY0FBYyxDQUFDLENBQUM7QUFFckNELElBQUksQ0FBQ0UsSUFBSSxDQUFDO0VBQ1JDLEdBQUcsRUFBRU4sSUFBSTtFQUNURCxXQUFXLEVBQVhBLFdBQVc7RUFDWFEsU0FBUyxFQUFFO0lBQ1RYLEVBQUUsRUFBRkEsRUFBRTtJQUNGQyxFQUFFLEVBQUZBLEVBQUU7SUFDRkYsRUFBRSxFQUFGQSxFQUFFO0lBQ0ZHLEVBQUUsRUFBRkE7RUFDRixDQUFDO0VBQ0RVLFlBQVksRUFBRSxHQUFHO0VBQ2pCQyxhQUFhLEVBQUU7SUFDYkMsV0FBVyxFQUFFO0VBQ2Y7QUFDRixDQUFDLENBQUM7QUFFRixlQUFlUCxJQUFJIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import i18n from './index';
|
|
3
|
+
export var mapCORLang = function mapCORLang(lang) {
|
|
4
|
+
if (lang === 'br') return 'pt';
|
|
5
|
+
return lang;
|
|
6
|
+
};
|
|
7
|
+
export var LANGS = /*#__PURE__*/function (LANGS) {
|
|
8
|
+
LANGS["ES"] = "es";
|
|
9
|
+
LANGS["EN"] = "en";
|
|
10
|
+
LANGS["BR"] = "br";
|
|
11
|
+
LANGS["MOMENT_BR"] = "pt-BR";
|
|
12
|
+
LANGS["EJ2_BR"] = "pt";
|
|
13
|
+
return LANGS;
|
|
14
|
+
}({});
|
|
15
|
+
export var getMomentLocale = function getMomentLocale() {
|
|
16
|
+
var current = i18n.language;
|
|
17
|
+
switch (current) {
|
|
18
|
+
case LANGS.BR:
|
|
19
|
+
return LANGS.MOMENT_BR;
|
|
20
|
+
default:
|
|
21
|
+
return current;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export var formatDate = function formatDate(date) {
|
|
25
|
+
var momentLocale = getMomentLocale();
|
|
26
|
+
var formatted = moment(date).locale(momentLocale).format('DD MMM, YYYY').replace(/\./g, '');
|
|
27
|
+
// Capitalize the month (which is the second word in the string)
|
|
28
|
+
return formatted.replace(/\b\w/g, function (match, offset) {
|
|
29
|
+
// Only capitalize if it's the month (second word)
|
|
30
|
+
return offset > 2 ? match.toUpperCase() : match;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtb21lbnQiLCJpMThuIiwibWFwQ09STGFuZyIsImxhbmciLCJMQU5HUyIsImdldE1vbWVudExvY2FsZSIsImN1cnJlbnQiLCJsYW5ndWFnZSIsIkJSIiwiTU9NRU5UX0JSIiwiZm9ybWF0RGF0ZSIsImRhdGUiLCJtb21lbnRMb2NhbGUiLCJmb3JtYXR0ZWQiLCJsb2NhbGUiLCJmb3JtYXQiLCJyZXBsYWNlIiwibWF0Y2giLCJvZmZzZXQiLCJ0b1VwcGVyQ2FzZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW5nL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50J1xuaW1wb3J0IGkxOG4gZnJvbSAnLi9pbmRleCdcblxuZXhwb3J0IGNvbnN0IG1hcENPUkxhbmcgPSAobGFuZzogc3RyaW5nKSA9PiB7XG4gIGlmIChsYW5nID09PSAnYnInKSByZXR1cm4gJ3B0J1xuICByZXR1cm4gbGFuZ1xufVxuXG5leHBvcnQgZW51bSBMQU5HUyB7XG4gIEVTID0gJ2VzJyxcbiAgRU4gPSAnZW4nLFxuICBCUiA9ICdicicsXG4gIE1PTUVOVF9CUiA9ICdwdC1CUicsXG4gIEVKMl9CUiA9ICdwdCcsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNb21lbnRMb2NhbGUgPSAoKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnQgPSBpMThuLmxhbmd1YWdlXG5cbiAgc3dpdGNoIChjdXJyZW50KSB7XG4gICAgY2FzZSBMQU5HUy5CUjpcbiAgICAgIHJldHVybiBMQU5HUy5NT01FTlRfQlJcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGN1cnJlbnRcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gIGNvbnN0IG1vbWVudExvY2FsZSA9IGdldE1vbWVudExvY2FsZSgpXG4gIGNvbnN0IGZvcm1hdHRlZCA9IG1vbWVudChkYXRlKS5sb2NhbGUobW9tZW50TG9jYWxlKS5mb3JtYXQoJ0REIE1NTSwgWVlZWScpLnJlcGxhY2UoL1xcLi9nLCAnJylcbiAgLy8gQ2FwaXRhbGl6ZSB0aGUgbW9udGggKHdoaWNoIGlzIHRoZSBzZWNvbmQgd29yZCBpbiB0aGUgc3RyaW5nKVxuICByZXR1cm4gZm9ybWF0dGVkLnJlcGxhY2UoL1xcYlxcdy9nLCAobWF0Y2gsIG9mZnNldCkgPT4ge1xuICAgIC8vIE9ubHkgY2FwaXRhbGl6ZSBpZiBpdCdzIHRoZSBtb250aCAoc2Vjb25kIHdvcmQpXG4gICAgcmV0dXJuIG9mZnNldCA+IDIgPyBtYXRjaC50b1VwcGVyQ2FzZSgpIDogbWF0Y2hcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFFBQVE7QUFDM0IsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBTyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsSUFBWSxFQUFLO0VBQzFDLElBQUlBLElBQUksS0FBSyxJQUFJLEVBQUUsT0FBTyxJQUFJO0VBQzlCLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBRUQsV0FBWUMsS0FBSywwQkFBTEEsS0FBSztFQUFMQSxLQUFLO0VBQUxBLEtBQUs7RUFBTEEsS0FBSztFQUFMQSxLQUFLO0VBQUxBLEtBQUs7RUFBQSxPQUFMQSxLQUFLO0FBQUE7QUFRakIsT0FBTyxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztFQUNuQyxJQUFNQyxPQUFPLEdBQUdMLElBQUksQ0FBQ00sUUFBUTtFQUU3QixRQUFRRCxPQUFPO0lBQ2IsS0FBS0YsS0FBSyxDQUFDSSxFQUFFO01BQ1gsT0FBT0osS0FBSyxDQUFDSyxTQUFTO0lBQ3hCO01BQ0UsT0FBT0gsT0FBTztFQUNsQjtBQUNGLENBQUM7QUFFRCxPQUFPLElBQU1JLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxJQUFVLEVBQUs7RUFDeEMsSUFBTUMsWUFBWSxHQUFHUCxlQUFlLENBQUMsQ0FBQztFQUN0QyxJQUFNUSxTQUFTLEdBQUdiLE1BQU0sQ0FBQ1csSUFBSSxDQUFDLENBQUNHLE1BQU0sQ0FBQ0YsWUFBWSxDQUFDLENBQUNHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7RUFDN0Y7RUFDQSxPQUFPSCxTQUFTLENBQUNHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBQ0MsS0FBSyxFQUFFQyxNQUFNLEVBQUs7SUFDbkQ7SUFDQSxPQUFPQSxNQUFNLEdBQUcsQ0FBQyxHQUFHRCxLQUFLLENBQUNFLFdBQVcsQ0FBQyxDQUFDLEdBQUdGLEtBQUs7RUFDakQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
export var MOCK_TIME_SLEEP_RESPONSE = 1000; // milliseconds
|
|
6
|
+
|
|
7
|
+
export var MOCK_CHATS_RESPONSE = {
|
|
8
|
+
items: [{
|
|
9
|
+
chat_id: 'bfcad520-dbf7-4d99-ba9b-0eed93424459',
|
|
10
|
+
chat_status: 'active',
|
|
11
|
+
last_question: 'What is the profitability of this project?',
|
|
12
|
+
last_question_date: '2025-05-14T17:48:08Z',
|
|
13
|
+
message_id: uuidv4(),
|
|
14
|
+
q_answers: 1,
|
|
15
|
+
general_rating: 5,
|
|
16
|
+
user_id: '47138',
|
|
17
|
+
agent_id: '123'
|
|
18
|
+
}, {
|
|
19
|
+
chat_id: 'e5711ca1-00f5-4e35-afc8-22f1a230ca25',
|
|
20
|
+
chat_status: 'active',
|
|
21
|
+
last_question: 'What are the upcoming tasks due?',
|
|
22
|
+
last_question_date: '2025-05-14T15:16:06Z',
|
|
23
|
+
message_id: uuidv4(),
|
|
24
|
+
q_answers: 1,
|
|
25
|
+
general_rating: 5,
|
|
26
|
+
user_id: '47138',
|
|
27
|
+
agent_id: '123'
|
|
28
|
+
}, {
|
|
29
|
+
chat_id: '415bc2ff-6061-461a-b867-039ee905c118',
|
|
30
|
+
chat_status: 'active',
|
|
31
|
+
last_question: 'What is the progress of this project?',
|
|
32
|
+
last_question_date: '2025-05-14T15:16:03Z',
|
|
33
|
+
message_id: uuidv4(),
|
|
34
|
+
q_answers: 1,
|
|
35
|
+
general_rating: 5,
|
|
36
|
+
user_id: '47138',
|
|
37
|
+
agent_id: '123'
|
|
38
|
+
}, {
|
|
39
|
+
chat_id: '9c4699b3-0e7f-4540-9fad-4cfb7ef6242a',
|
|
40
|
+
chat_status: 'active',
|
|
41
|
+
last_question: 'What is the progress of this project?',
|
|
42
|
+
last_question_date: '2025-05-14T15:16:00Z',
|
|
43
|
+
message_id: uuidv4(),
|
|
44
|
+
q_answers: 1,
|
|
45
|
+
general_rating: 5,
|
|
46
|
+
user_id: '47138',
|
|
47
|
+
agent_id: '123'
|
|
48
|
+
}, {
|
|
49
|
+
chat_id: '51b67392-5ea7-4f2e-ac44-83f4c825767c',
|
|
50
|
+
chat_status: 'active',
|
|
51
|
+
last_question: 'What is the profitability of this project?',
|
|
52
|
+
last_question_date: '2025-05-14T15:15:59Z',
|
|
53
|
+
message_id: uuidv4(),
|
|
54
|
+
q_answers: 1,
|
|
55
|
+
general_rating: 5,
|
|
56
|
+
user_id: '47138',
|
|
57
|
+
agent_id: '123'
|
|
58
|
+
}, {
|
|
59
|
+
chat_id: '3e9ba276-c688-45a8-8fe1-c491629bbba3',
|
|
60
|
+
chat_status: 'active',
|
|
61
|
+
last_question: 'What are the upcoming tasks due?',
|
|
62
|
+
last_question_date: '2025-05-14T15:15:55Z',
|
|
63
|
+
message_id: uuidv4(),
|
|
64
|
+
q_answers: 1,
|
|
65
|
+
general_rating: 5,
|
|
66
|
+
user_id: '47138',
|
|
67
|
+
agent_id: '123'
|
|
68
|
+
}, {
|
|
69
|
+
chat_id: '04ff2f62-b07b-4c3b-b224-39f2d50e0734',
|
|
70
|
+
chat_status: 'active',
|
|
71
|
+
last_question: 'What is the progress of this project?',
|
|
72
|
+
last_question_date: '2025-05-14T15:15:53Z',
|
|
73
|
+
message_id: uuidv4(),
|
|
74
|
+
q_answers: 1,
|
|
75
|
+
general_rating: 5,
|
|
76
|
+
user_id: '47138',
|
|
77
|
+
agent_id: '123'
|
|
78
|
+
}, {
|
|
79
|
+
chat_id: '4b286566-8bf3-4f84-bd04-6f79f5575dbf',
|
|
80
|
+
chat_status: 'active',
|
|
81
|
+
last_question: 'What is the profitability of this project?',
|
|
82
|
+
last_question_date: '2025-05-14T15:15:51Z',
|
|
83
|
+
message_id: uuidv4(),
|
|
84
|
+
q_answers: 1,
|
|
85
|
+
general_rating: 5,
|
|
86
|
+
user_id: '47138',
|
|
87
|
+
agent_id: '123'
|
|
88
|
+
}, {
|
|
89
|
+
chat_id: 'cc6b91ea-f8ed-4862-acf3-e4ecb454f547',
|
|
90
|
+
chat_status: 'active',
|
|
91
|
+
last_question: 'What are the upcoming tasks due?',
|
|
92
|
+
last_question_date: '2025-05-14T15:15:35Z',
|
|
93
|
+
message_id: uuidv4(),
|
|
94
|
+
q_answers: 1,
|
|
95
|
+
general_rating: 5,
|
|
96
|
+
user_id: '47138',
|
|
97
|
+
agent_id: '123'
|
|
98
|
+
}, {
|
|
99
|
+
chat_id: '5d9eb5fa-733d-4e7c-aea8-0d599a8b01af',
|
|
100
|
+
chat_status: 'active',
|
|
101
|
+
last_question: 'What is the profitability of this project?',
|
|
102
|
+
last_question_date: '2025-05-14T15:15:30Z',
|
|
103
|
+
message_id: uuidv4(),
|
|
104
|
+
q_answers: 1,
|
|
105
|
+
general_rating: 5,
|
|
106
|
+
user_id: '47138',
|
|
107
|
+
agent_id: '123'
|
|
108
|
+
}],
|
|
109
|
+
last_evaluated_key: '%7B%22index%22%3A%2010%7D'
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
// Base de datos de preguntas y respuestas por tipo de chat
|
|
113
|
+
var CHAT_MESSAGES_DATABASE = {
|
|
114
|
+
'bfcad520-dbf7-4d99-ba9b-0eed93424459': [{
|
|
115
|
+
question: '¿Cuál es la rentabilidad esperada del proyecto?',
|
|
116
|
+
answer: 'La rentabilidad proyectada del proyecto es del 28% anual. Los principales indicadores son:\n- ROI esperado: 2.8x\n- Margen de beneficio: 35%\n- Período de recuperación: 18 meses\n\nEstos números están basados en las proyecciones actuales y el análisis de mercado realizado en Q1 2025.',
|
|
117
|
+
project_id: 40532
|
|
118
|
+
}, {
|
|
119
|
+
question: '¿Cuáles son los costos operativos mensuales?',
|
|
120
|
+
answer: 'Los costos operativos mensuales ascienden a $45,000 distribuidos de la siguiente manera:\n- Infraestructura y hosting: $12,000\n- Licencias de software: $8,000\n- Recursos humanos: $20,000\n- Marketing y publicidad: $5,000\n\nEstos costos están dentro del presupuesto proyectado.',
|
|
121
|
+
project_id: 40532
|
|
122
|
+
}, {
|
|
123
|
+
question: '¿Cuál es el margen de contribución actual?',
|
|
124
|
+
answer: 'El margen de contribución actual es del 65%. Esto significa que por cada $100 de ingresos, $65 contribuyen directamente a cubrir los costos fijos y generar utilidades. Este margen está por encima del objetivo del 60%.',
|
|
125
|
+
project_id: 40532
|
|
126
|
+
}],
|
|
127
|
+
'e5711ca1-00f5-4e35-afc8-22f1a230ca25': [{
|
|
128
|
+
question: '¿Cuáles son las próximas tareas pendientes?',
|
|
129
|
+
answer: 'Las próximas tareas prioritarias son:\n1. Finalizar la integración con el sistema de pagos (Fecha límite: 2025-05-20)\n2. Implementar el nuevo módulo de reportes (Fecha límite: 2025-05-25)\n3. Realizar pruebas de carga del sistema (Fecha límite: 2025-05-28)\n4. Preparar la documentación para el lanzamiento (Fecha límite: 2025-06-01)',
|
|
130
|
+
project_id: 40532
|
|
131
|
+
}, {
|
|
132
|
+
question: '¿Quién está asignado a la tarea de integración?',
|
|
133
|
+
answer: 'La tarea de integración está asignada al equipo de desarrollo backend:\n- Líder técnico: María González\n- Desarrolladores: Carlos Ruiz, Ana López\n- QA: Pedro Martínez\n\nEl equipo está trabajando en modalidad híbrida con reuniones diarias de seguimiento.',
|
|
134
|
+
project_id: 40532
|
|
135
|
+
}, {
|
|
136
|
+
question: '¿Cuál es el estado de las tareas críticas?',
|
|
137
|
+
answer: 'Estado de las tareas críticas:\n- ✅ Integración API: 85% completado\n- 🔄 Módulo de reportes: 60% completado\n- ⏳ Pruebas de carga: 30% completado\n- 📋 Documentación: 20% completado\n\nTodas las tareas están en camino de cumplir sus fechas límite.',
|
|
138
|
+
project_id: 40532
|
|
139
|
+
}],
|
|
140
|
+
'415bc2ff-6061-461a-b867-039ee905c118': [{
|
|
141
|
+
question: '¿Cuál es el estado actual del proyecto?',
|
|
142
|
+
answer: 'El proyecto actualmente tiene un progreso del 75%. Los hitos principales completados incluyen la fase de diseño (100%), desarrollo del backend (90%), y la interfaz de usuario (60%). El sprint actual está enfocado en la implementación de nuevas características y la optimización del rendimiento.',
|
|
143
|
+
project_id: 40532
|
|
144
|
+
}, {
|
|
145
|
+
question: '¿Cuáles son los hitos alcanzados este mes?',
|
|
146
|
+
answer: 'Hitos alcanzados en mayo 2025:\n- ✅ Lanzamiento de la versión beta\n- ✅ Integración completa con sistemas externos\n- ✅ Implementación del sistema de autenticación\n- ✅ Optimización del rendimiento en un 40%\n- 🔄 Migración a la nueva infraestructura (80% completado)',
|
|
147
|
+
project_id: 40532
|
|
148
|
+
}, {
|
|
149
|
+
question: '¿Cómo se compara el progreso con el plan original?',
|
|
150
|
+
answer: 'El progreso actual está 5% adelantado respecto al plan original:\n- Plan original: 70% completado\n- Progreso actual: 75% completado\n- Adelanto: +5%\n\nEste adelanto se debe principalmente a la eficiencia del equipo y la optimización de procesos.',
|
|
151
|
+
project_id: 40532
|
|
152
|
+
}],
|
|
153
|
+
'9c4699b3-0e7f-4540-9fad-4cfb7ef6242a': [{
|
|
154
|
+
question: '¿Cuál es el progreso del desarrollo frontend?',
|
|
155
|
+
answer: 'El desarrollo frontend está al 60% completado:\n- Componentes principales: 90%\n- Integración con APIs: 75%\n- Responsive design: 85%\n- Testing: 40%\n- Optimización: 30%\n\nEl equipo frontend está trabajando en paralelo con el backend.',
|
|
156
|
+
project_id: 40531
|
|
157
|
+
}, {
|
|
158
|
+
question: '¿Cuándo estará lista la versión beta?',
|
|
159
|
+
answer: 'La versión beta estará lista para el 25 de mayo de 2025. El cronograma detallado es:\n- Semana 1: Finalización de funcionalidades core\n- Semana 2: Testing y corrección de bugs\n- Semana 3: Preparación de documentación\n- Semana 4: Lanzamiento beta con usuarios selectos',
|
|
160
|
+
project_id: 40531
|
|
161
|
+
}, {
|
|
162
|
+
question: '¿Cuáles son los principales desafíos técnicos?',
|
|
163
|
+
answer: 'Los principales desafíos técnicos identificados son:\n1. Optimización de consultas de base de datos\n2. Implementación de cache distribuido\n3. Manejo de concurrencia en tiempo real\n4. Integración con sistemas legacy\n\nSe están aplicando soluciones escalables para cada desafío.',
|
|
164
|
+
project_id: 40531
|
|
165
|
+
}],
|
|
166
|
+
'51b67392-5ea7-4f2e-ac44-83f4c825767c': [{
|
|
167
|
+
question: '¿Cuál es el ROI esperado del proyecto?',
|
|
168
|
+
answer: 'El ROI esperado del proyecto es de 2.8x en un período de 18 meses. Desglose:\n- Inversión inicial: $500,000\n- Ingresos proyectados: $1,400,000\n- ROI: 180%\n- Período de recuperación: 18 meses\n\nEstas proyecciones están basadas en análisis de mercado y tendencias actuales.',
|
|
169
|
+
project_id: 155671
|
|
170
|
+
}, {
|
|
171
|
+
question: '¿Cuáles son las fuentes de ingresos principales?',
|
|
172
|
+
answer: 'Las fuentes de ingresos principales son:\n1. Suscripciones premium: 45% ($630,000)\n2. Licencias empresariales: 35% ($490,000)\n3. Servicios de consultoría: 15% ($210,000)\n4. Integraciones personalizadas: 5% ($70,000)\n\nLa estrategia se enfoca en diversificar las fuentes de ingresos.',
|
|
173
|
+
project_id: 155671
|
|
174
|
+
}, {
|
|
175
|
+
question: '¿Cómo se compara con la competencia?',
|
|
176
|
+
answer: 'Comparación con la competencia:\n- Nuestro margen: 35%\n- Competencia promedio: 25%\n- Ventaja competitiva: +10%\n\nEsta ventaja se debe a nuestra tecnología propietaria y eficiencia operativa.',
|
|
177
|
+
project_id: 155671
|
|
178
|
+
}],
|
|
179
|
+
'3e9ba276-c688-45a8-8fe1-c491629bbba3': [{
|
|
180
|
+
question: '¿Cuáles son las tareas del sprint actual?',
|
|
181
|
+
answer: 'Tareas del sprint actual (Sprint 12):\n1. Implementar filtros avanzados (8 puntos)\n2. Optimizar consultas de base de datos (5 puntos)\n3. Agregar exportación a PDF (3 puntos)\n4. Corregir bugs de UI (2 puntos)\n5. Actualizar documentación (1 punto)\n\nTotal: 19 puntos - 85% completado',
|
|
182
|
+
project_id: 40532
|
|
183
|
+
}, {
|
|
184
|
+
question: '¿Quién está disponible para nuevas tareas?',
|
|
185
|
+
answer: 'Disponibilidad del equipo:\n- María (Frontend): Disponible desde 2025-05-20\n- Carlos (Backend): Ocupado hasta 2025-05-25\n- Ana (QA): Disponible desde 2025-05-18\n- Pedro (DevOps): Ocupado hasta 2025-05-30\n\nRecomendación: Asignar tareas frontend a María y Ana.',
|
|
186
|
+
project_id: 40532
|
|
187
|
+
}, {
|
|
188
|
+
question: '¿Cuál es la velocidad del equipo?',
|
|
189
|
+
answer: 'La velocidad promedio del equipo es de 45 puntos por sprint:\n- Sprint 10: 42 puntos\n- Sprint 11: 48 puntos\n- Sprint 12 (actual): 38 puntos (proyectado)\n- Promedio: 45 puntos\n\nEl equipo está estable y consistente en su rendimiento.',
|
|
190
|
+
project_id: 40532
|
|
191
|
+
}],
|
|
192
|
+
'04ff2f62-b07b-4c3b-b224-39f2d50e0734': [{
|
|
193
|
+
question: '¿Cuál es el progreso de la fase de testing?',
|
|
194
|
+
answer: 'Progreso de la fase de testing:\n- Tests unitarios: 95% completado\n- Tests de integración: 80% completado\n- Tests de aceptación: 70% completado\n- Tests de rendimiento: 60% completado\n- Tests de seguridad: 85% completado\n\nCobertura total: 78% - Objetivo: 85%',
|
|
195
|
+
project_id: 40532
|
|
196
|
+
}, {
|
|
197
|
+
question: '¿Cuántos bugs críticos quedan por resolver?',
|
|
198
|
+
answer: 'Estado de bugs por prioridad:\n- Críticos: 2 bugs (ambos en proceso)\n- Altos: 8 bugs (5 resueltos)\n- Medios: 15 bugs (12 resueltos)\n- Bajos: 25 bugs (20 resueltos)\n\nLos bugs críticos están programados para resolución antes del 2025-05-20.',
|
|
199
|
+
project_id: 40532
|
|
200
|
+
}, {
|
|
201
|
+
question: '¿Cuándo estará lista la versión de producción?',
|
|
202
|
+
answer: 'La versión de producción estará lista el 15 de junio de 2025:\n- Semana 1: Finalización de testing\n- Semana 2: Corrección de bugs críticos\n- Semana 3: Preparación de despliegue\n- Semana 4: Lanzamiento gradual\n\nEl cronograma está alineado con los objetivos del proyecto.',
|
|
203
|
+
project_id: 40532
|
|
204
|
+
}],
|
|
205
|
+
'4b286566-8bf3-4f84-bd04-6f79f5575dbf': [{
|
|
206
|
+
question: '¿Cuál es el análisis de rentabilidad por segmento?',
|
|
207
|
+
answer: 'Análisis de rentabilidad por segmento:\n- Segmento SMB: 25% margen, $200K ingresos\n- Segmento Enterprise: 40% margen, $800K ingresos\n- Segmento Gobierno: 30% margen, $400K ingresos\n\nEl segmento Enterprise es el más rentable y representa el 57% de los ingresos.',
|
|
208
|
+
project_id: 155671
|
|
209
|
+
}, {
|
|
210
|
+
question: '¿Cuáles son las proyecciones para el próximo trimestre?',
|
|
211
|
+
answer: 'Proyecciones Q2 2025:\n- Ingresos totales: $450,000 (+15% vs Q1)\n- Nuevos clientes: 25 (+20% vs Q1)\n- Churn rate: 5% (objetivo: <8%)\n- LTV promedio: $18,000 (+10% vs Q1)\n\nLas proyecciones están basadas en el pipeline actual y tendencias de mercado.',
|
|
212
|
+
project_id: 155671
|
|
213
|
+
}, {
|
|
214
|
+
question: '¿Cómo afecta la inflación a la rentabilidad?',
|
|
215
|
+
answer: 'Impacto de la inflación en la rentabilidad:\n- Costos operativos: +8% (vs 5% proyectado)\n- Precios: +12% (ajuste implementado)\n- Margen neto: +2% (beneficio del ajuste de precios)\n\nLa estrategia de precios ha compensado el aumento de costos.',
|
|
216
|
+
project_id: 155671
|
|
217
|
+
}],
|
|
218
|
+
'cc6b91ea-f8ed-4862-acf3-e4ecb454f547': [{
|
|
219
|
+
question: '¿Cuáles son las tareas bloqueadas actualmente?',
|
|
220
|
+
answer: 'Tareas bloqueadas:\n1. Integración con sistema de pagos (bloqueada por dependencia externa)\n2. Implementación de notificaciones push (bloqueada por aprobación de seguridad)\n3. Migración de datos (bloqueada por mantenimiento de BD)\n\nSe están coordinando con los equipos externos para resolver los bloqueos.',
|
|
221
|
+
project_id: 40532
|
|
222
|
+
}, {
|
|
223
|
+
question: '¿Quién puede ayudar con las tareas bloqueadas?',
|
|
224
|
+
answer: 'Recursos disponibles para desbloquear tareas:\n- Juan (Arquitecto): Puede ayudar con dependencias técnicas\n- Laura (Product Manager): Puede coordinar con stakeholders externos\n- Roberto (DevOps): Puede resolver problemas de infraestructura\n\nSe ha asignado un coordinador para cada tarea bloqueada.',
|
|
225
|
+
project_id: 40532
|
|
226
|
+
}, {
|
|
227
|
+
question: '¿Cuál es el plan de contingencia?',
|
|
228
|
+
answer: 'Plan de contingencia para tareas bloqueadas:\n- Alternativa 1: Usar sistema de pagos alternativo (implementación: 3 días)\n- Alternativa 2: Implementar notificaciones por email (implementación: 1 día)\n- Alternativa 3: Migración incremental de datos (implementación: 5 días)\n\nSe activará el plan de contingencia si los bloqueos persisten más de 48 horas.',
|
|
229
|
+
project_id: 40532
|
|
230
|
+
}],
|
|
231
|
+
'5d9eb5fa-733d-4e7c-aea8-0d599a8b01af': [{
|
|
232
|
+
question: '¿Cuál es el análisis de costos vs beneficios?',
|
|
233
|
+
answer: 'Análisis costo-beneficio:\n- Costos totales: $350,000\n- Beneficios proyectados: $1,200,000\n- Ratio beneficio/costo: 3.4:1\n- Valor presente neto: $750,000\n- Tasa interna de retorno: 45%\n\nEl proyecto es altamente rentable y supera todos los criterios de inversión.',
|
|
234
|
+
project_id: 155671
|
|
235
|
+
}, {
|
|
236
|
+
question: '¿Cuáles son los riesgos financieros?',
|
|
237
|
+
answer: 'Riesgos financieros identificados:\n1. Fluctuación de divisas (Probabilidad: Media, Impacto: Alto)\n2. Cambios regulatorios (Probabilidad: Baja, Impacto: Alto)\n3. Competencia agresiva (Probabilidad: Alta, Impacto: Medio)\n4. Recesión económica (Probabilidad: Baja, Impacto: Alto)\n\nSe han implementado estrategias de mitigación para cada riesgo.',
|
|
238
|
+
project_id: 155671
|
|
239
|
+
}, {
|
|
240
|
+
question: '¿Cómo se distribuye el presupuesto?',
|
|
241
|
+
answer: 'Distribución del presupuesto:\n- Desarrollo: 40% ($140,000)\n- Infraestructura: 25% ($87,500)\n- Marketing: 20% ($70,000)\n- Operaciones: 10% ($35,000)\n- Contingencia: 5% ($17,500)\n\nEl presupuesto está alineado con las mejores prácticas del sector.',
|
|
242
|
+
project_id: 155671
|
|
243
|
+
}]
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
// Función para generar mensajes aleatorios basados en el chatId
|
|
247
|
+
export var generateMockChatMessages = function generateMockChatMessages(chatId) {
|
|
248
|
+
var messagesForChat = CHAT_MESSAGES_DATABASE[chatId] || CHAT_MESSAGES_DATABASE['bfcad520-dbf7-4d99-ba9b-0eed93424459'];
|
|
249
|
+
|
|
250
|
+
// Generar entre 3 y 6 mensajes aleatorios
|
|
251
|
+
var numMessages = Math.floor(Math.random() * 4) + 3;
|
|
252
|
+
var selectedMessages = [];
|
|
253
|
+
for (var i = 0; i < numMessages; i += 1) {
|
|
254
|
+
var randomIndex = Math.floor(Math.random() * messagesForChat.length);
|
|
255
|
+
var message = messagesForChat[randomIndex];
|
|
256
|
+
|
|
257
|
+
// Generar fecha aleatoria en los últimos 7 días
|
|
258
|
+
var randomDate = new Date();
|
|
259
|
+
randomDate.setDate(randomDate.getDate() - Math.floor(Math.random() * 7));
|
|
260
|
+
randomDate.setHours(Math.floor(Math.random() * 24));
|
|
261
|
+
randomDate.setMinutes(Math.floor(Math.random() * 60));
|
|
262
|
+
selectedMessages.push(_objectSpread(_objectSpread({}, message), {}, {
|
|
263
|
+
date: randomDate.toISOString(),
|
|
264
|
+
message_id: "msg_".concat(Date.now(), "_").concat(i),
|
|
265
|
+
user_id: '15',
|
|
266
|
+
was_helpful: Math.random() > 0.3 ? 1 : 0
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// Ordenar por fecha
|
|
271
|
+
selectedMessages.sort(function (a, b) {
|
|
272
|
+
return new Date(a.date).getTime() - new Date(b.date).getTime();
|
|
273
|
+
});
|
|
274
|
+
return {
|
|
275
|
+
items: selectedMessages,
|
|
276
|
+
last_evaluated_key: "%7B%22PK%22%3A%20%22staging%23CHATID%23".concat(chatId, "%23PROJECT%23pm_agent%22%2C%20%22SK%22%3A%20").concat(Date.now(), "%7D")
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
// Mock original para compatibilidad
|
|
281
|
+
export var MOCK_CHAT_MESSAGES_RESPONSE = {
|
|
282
|
+
items: [{
|
|
283
|
+
answer: 'El proyecto actualmente tiene un progreso del 75%. Los hitos principales completados incluyen la fase de diseño (100%), desarrollo del backend (90%), y la interfaz de usuario (60%). El sprint actual está enfocado en la implementación de nuevas características y la optimización del rendimiento.',
|
|
284
|
+
date: '2025-05-14T17:52:44.117485',
|
|
285
|
+
message_id: 'msg_20250514_001',
|
|
286
|
+
question: '¿Cuál es el estado actual del proyecto?',
|
|
287
|
+
user_id: '15',
|
|
288
|
+
was_helpful: true,
|
|
289
|
+
project_id: 40532,
|
|
290
|
+
agent_id: '123',
|
|
291
|
+
timestamp: '',
|
|
292
|
+
memory_session_id: ''
|
|
293
|
+
}, {
|
|
294
|
+
answer: 'La rentabilidad proyectada del proyecto es del 28% anual. Los principales indicadores son:\n- ROI esperado: 2.8x\n- Margen de beneficio: 35%\n- Período de recuperación: 18 meses\n\nEstos números están basados en las proyecciones actuales y el análisis de mercado realizado en Q1 2025.',
|
|
295
|
+
date: '2025-05-14T17:52:46.543980',
|
|
296
|
+
message_id: 'msg_20250514_002',
|
|
297
|
+
question: '¿Cuál es la rentabilidad esperada del proyecto?',
|
|
298
|
+
user_id: '15',
|
|
299
|
+
was_helpful: true,
|
|
300
|
+
project_id: 40532,
|
|
301
|
+
agent_id: '123',
|
|
302
|
+
timestamp: '',
|
|
303
|
+
memory_session_id: ''
|
|
304
|
+
}, {
|
|
305
|
+
answer: 'Las próximas tareas prioritarias son:\n1. Finalizar la integración con el sistema de pagos (Fecha límite: 2025-05-20)\n2. Implementar el nuevo módulo de reportes (Fecha límite: 2025-05-25)\n3. Realizar pruebas de carga del sistema (Fecha límite: 2025-05-28)\n4. Preparar la documentación para el lanzamiento (Fecha límite: 2025-06-01)',
|
|
306
|
+
date: '2025-05-14T17:52:48.786884',
|
|
307
|
+
message_id: 'msg_20250514_003',
|
|
308
|
+
question: '¿Cuáles son las próximas tareas pendientes?',
|
|
309
|
+
user_id: '15',
|
|
310
|
+
was_helpful: true,
|
|
311
|
+
project_id: 40532,
|
|
312
|
+
agent_id: '123',
|
|
313
|
+
timestamp: '',
|
|
314
|
+
memory_session_id: ''
|
|
315
|
+
}, {
|
|
316
|
+
answer: 'El equipo actual está compuesto por:\n- 3 desarrolladores backend\n- 2 desarrolladores frontend\n- 1 diseñador UX/UI\n- 1 Project Manager\n- 1 QA Engineer\n\nTodos los miembros están asignados al 100% al proyecto y trabajan en modalidad híbrida.',
|
|
317
|
+
date: '2025-05-14T17:52:50.657815',
|
|
318
|
+
message_id: 'msg_20250514_004',
|
|
319
|
+
question: '¿Cómo está conformado el equipo del proyecto?',
|
|
320
|
+
user_id: '15',
|
|
321
|
+
was_helpful: true,
|
|
322
|
+
project_id: 40531,
|
|
323
|
+
agent_id: '123',
|
|
324
|
+
timestamp: '',
|
|
325
|
+
memory_session_id: ''
|
|
326
|
+
}, {
|
|
327
|
+
answer: 'Los principales riesgos identificados son:\n1. Dependencias de terceros (Probabilidad: Media, Impacto: Alto)\n2. Escalabilidad del sistema (Probabilidad: Baja, Impacto: Alto)\n3. Cumplimiento regulatorio (Probabilidad: Media, Impacto: Medio)\n\nSe están implementando planes de mitigación para cada uno de estos riesgos.',
|
|
328
|
+
date: '2025-05-14T17:52:53.271657',
|
|
329
|
+
message_id: 'msg_20250514_005',
|
|
330
|
+
question: '¿Cuáles son los principales riesgos del proyecto?',
|
|
331
|
+
user_id: '15',
|
|
332
|
+
was_helpful: true,
|
|
333
|
+
project_id: 40532,
|
|
334
|
+
agent_id: '123',
|
|
335
|
+
timestamp: '',
|
|
336
|
+
memory_session_id: ''
|
|
337
|
+
}, {
|
|
338
|
+
answer: 'El presupuesto actual del proyecto es de $450,000. Hasta la fecha, se han gastado $320,000 (71% del presupuesto). Los principales gastos han sido en desarrollo (45%), infraestructura (25%), y recursos humanos (30%). El presupuesto está alineado con las proyecciones iniciales.',
|
|
339
|
+
date: '2025-05-14T17:52:54.872512',
|
|
340
|
+
message_id: 'msg_20250514_006',
|
|
341
|
+
question: '¿Cuál es el estado del presupuesto del proyecto?',
|
|
342
|
+
user_id: '15',
|
|
343
|
+
was_helpful: true,
|
|
344
|
+
project_id: 155671,
|
|
345
|
+
agent_id: '123',
|
|
346
|
+
timestamp: '',
|
|
347
|
+
memory_session_id: ''
|
|
348
|
+
}, {
|
|
349
|
+
answer: 'Las métricas clave (KPIs) del proyecto son:\n- Velocidad del equipo: 45 puntos por sprint\n- Calidad del código: 98% de cobertura de pruebas\n- Satisfacción del cliente: 4.8/5\n- Tiempo de respuesta a incidencias: < 2 horas\n\nTodas las métricas están dentro de los rangos objetivos establecidos.',
|
|
350
|
+
date: '2025-05-14T17:53:11.677306',
|
|
351
|
+
message_id: 'msg_20250514_007',
|
|
352
|
+
question: '¿Cuáles son las métricas actuales del proyecto?',
|
|
353
|
+
user_id: '15',
|
|
354
|
+
was_helpful: true,
|
|
355
|
+
project_id: 40532,
|
|
356
|
+
agent_id: '123',
|
|
357
|
+
timestamp: '',
|
|
358
|
+
memory_session_id: ''
|
|
359
|
+
}, {
|
|
360
|
+
answer: 'El cronograma actual indica que el proyecto está en la Fase 3 de 5. Las fechas clave son:\n- Fase 3 (Actual): 2025-05-01 a 2025-06-15\n- Fase 4: 2025-06-16 a 2025-07-31\n- Fase 5 (Final): 2025-08-01 a 2025-08-31\n\nEl proyecto está avanzando según lo planificado.',
|
|
361
|
+
date: '2025-05-14T17:53:12.618905',
|
|
362
|
+
message_id: 'msg_20250514_008',
|
|
363
|
+
question: '¿Cuál es el cronograma actual del proyecto?',
|
|
364
|
+
user_id: '15',
|
|
365
|
+
was_helpful: true,
|
|
366
|
+
project_id: 40532,
|
|
367
|
+
agent_id: '123',
|
|
368
|
+
timestamp: '',
|
|
369
|
+
memory_session_id: ''
|
|
370
|
+
}, {
|
|
371
|
+
answer: 'Los stakeholders principales son:\n1. Cliente final: Empresa XYZ\n2. Patrocinador: Director de Innovación\n3. Usuarios finales: Equipo de Operaciones\n4. Proveedores: Cloud Services Inc.\n\nSe realizan reuniones semanales con los stakeholders para mantenerlos informados del progreso.',
|
|
372
|
+
date: '2025-05-14T17:53:15.706412',
|
|
373
|
+
message_id: 'msg_20250514_009',
|
|
374
|
+
question: '¿Quiénes son los stakeholders del proyecto?',
|
|
375
|
+
user_id: '15',
|
|
376
|
+
was_helpful: true,
|
|
377
|
+
project_id: 40532,
|
|
378
|
+
agent_id: '123',
|
|
379
|
+
timestamp: '',
|
|
380
|
+
memory_session_id: ''
|
|
381
|
+
}, {
|
|
382
|
+
answer: 'Los entregables pendientes para este trimestre son:\n\n| Título de la Tarea | Estado |\n|--------------------|--------|\n| Propuesta creativa | Nueva |\n| Aplicaciones de marca | Nueva |\n| Brainstorming Conceptos visuales | Nueva |\n| Brainstorming Naming | Nueva |\n| Consolidación de Brief | Nueva |\n| Análisis de la Marca | Nueva |\n| tarea de Prueba | Nueva |\n| Presentación de propuesta (1) | Nueva |\n| Manual de marca | Nueva |\n| Ajustes de Diseño Propuesta 1 | Nueva |\n| tarea al medio | Nueva |\n| La tarea para refrescar | Nueva |\n\nTodos los entregables tienen sus fechas de entrega definidas y están siendo monitoreados activamente.',
|
|
383
|
+
date: '2025-05-14T17:53:16.918493',
|
|
384
|
+
message_id: 'msg_20250514_010',
|
|
385
|
+
question: '¿Cuáles son los entregables pendientes?',
|
|
386
|
+
user_id: '15',
|
|
387
|
+
was_helpful: true,
|
|
388
|
+
project_id: 40532,
|
|
389
|
+
agent_id: '123',
|
|
390
|
+
timestamp: '',
|
|
391
|
+
memory_session_id: ''
|
|
392
|
+
}],
|
|
393
|
+
last_evaluated_key: '%7B%22PK%22%3A%20%22staging%23CHATID%2390491d3c-058a-4149-b87e-f37f00681839%23PROJECT%23pm_agent%22%2C%20%22SK%22%3A%201747245164%7D'
|
|
394
|
+
};
|
|
395
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2NCIsInV1aWR2NCIsIk1PQ0tfVElNRV9TTEVFUF9SRVNQT05TRSIsIk1PQ0tfQ0hBVFNfUkVTUE9OU0UiLCJpdGVtcyIsImNoYXRfaWQiLCJjaGF0X3N0YXR1cyIsImxhc3RfcXVlc3Rpb24iLCJsYXN0X3F1ZXN0aW9uX2RhdGUiLCJtZXNzYWdlX2lkIiwicV9hbnN3ZXJzIiwiZ2VuZXJhbF9yYXRpbmciLCJ1c2VyX2lkIiwiYWdlbnRfaWQiLCJsYXN0X2V2YWx1YXRlZF9rZXkiLCJDSEFUX01FU1NBR0VTX0RBVEFCQVNFIiwicXVlc3Rpb24iLCJhbnN3ZXIiLCJwcm9qZWN0X2lkIiwiZ2VuZXJhdGVNb2NrQ2hhdE1lc3NhZ2VzIiwiY2hhdElkIiwibWVzc2FnZXNGb3JDaGF0IiwibnVtTWVzc2FnZXMiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJzZWxlY3RlZE1lc3NhZ2VzIiwiaSIsInJhbmRvbUluZGV4IiwibGVuZ3RoIiwibWVzc2FnZSIsInJhbmRvbURhdGUiLCJEYXRlIiwic2V0RGF0ZSIsImdldERhdGUiLCJzZXRIb3VycyIsInNldE1pbnV0ZXMiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImRhdGUiLCJ0b0lTT1N0cmluZyIsImNvbmNhdCIsIm5vdyIsIndhc19oZWxwZnVsIiwic29ydCIsImEiLCJiIiwiZ2V0VGltZSIsIk1PQ0tfQ0hBVF9NRVNTQUdFU19SRVNQT05TRSIsInRpbWVzdGFtcCIsIm1lbW9yeV9zZXNzaW9uX2lkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vY2tzL21vY2tDaGF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgQ2hhdE1lc3NhZ2VzUmVzcG9uc2VTY2hlbWEsIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcblxuZXhwb3J0IGNvbnN0IE1PQ0tfVElNRV9TTEVFUF9SRVNQT05TRSA9IDEwMDAgLy8gbWlsbGlzZWNvbmRzXG5cbmV4cG9ydCBjb25zdCBNT0NLX0NIQVRTX1JFU1BPTlNFID0ge1xuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICdiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2ZpdGFiaWxpdHkgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE3OjQ4OjA4WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICdlNTcxMWNhMS0wMGY1LTRlMzUtYWZjOC0yMmYxYTIzMGNhMjUnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgYXJlIHRoZSB1cGNvbWluZyB0YXNrcyBkdWU/JyxcbiAgICAgIGxhc3RfcXVlc3Rpb25fZGF0ZTogJzIwMjUtMDUtMTRUMTU6MTY6MDZaJyxcbiAgICAgIG1lc3NhZ2VfaWQ6IHV1aWR2NCgpLFxuICAgICAgcV9hbnN3ZXJzOiAxLFxuICAgICAgZ2VuZXJhbF9yYXRpbmc6IDUsXG4gICAgICB1c2VyX2lkOiAnNDcxMzgnLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hhdF9pZDogJzQxNWJjMmZmLTYwNjEtNDYxYS1iODY3LTAzOWVlOTA1YzExOCcsXG4gICAgICBjaGF0X3N0YXR1czogJ2FjdGl2ZScsXG4gICAgICBsYXN0X3F1ZXN0aW9uOiAnV2hhdCBpcyB0aGUgcHJvZ3Jlc3Mgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE2OjAzWicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICc5YzQ2OTliMy0wZTdmLTQ1NDAtOWZhZC00Y2ZiN2VmNjI0MmEnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2dyZXNzIG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNjowMFonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnNTFiNjczOTItNWVhNy00ZjJlLWFjNDQtODNmNGM4MjU3NjdjJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGlzIHRoZSBwcm9maXRhYmlsaXR5IG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1OVonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnM2U5YmEyNzYtYzY4OC00NWE4LThmZTEtYzQ5MTYyOWJiYmEzJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGFyZSB0aGUgdXBjb21pbmcgdGFza3MgZHVlPycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjU1WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICcwNGZmMmY2Mi1iMDdiLTRjM2ItYjIyNC0zOWYyZDUwZTA3MzQnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2dyZXNzIG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1M1onLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnNGIyODY1NjYtOGJmMy00Zjg0LWJkMDQtNmY3OWY1NTc1ZGJmJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGlzIHRoZSBwcm9maXRhYmlsaXR5IG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1MVonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnY2M2YjkxZWEtZjhlZC00ODYyLWFjZjMtZTRlY2I0NTRmNTQ3JyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGFyZSB0aGUgdXBjb21pbmcgdGFza3MgZHVlPycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjM1WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICc1ZDllYjVmYS03MzNkLTRlN2MtYWVhOC0wZDU5OWE4YjAxYWYnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2ZpdGFiaWxpdHkgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjMwWicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICBdLFxuICBsYXN0X2V2YWx1YXRlZF9rZXk6ICclN0IlMjJpbmRleCUyMiUzQSUyMDEwJTdEJyxcbn1cblxuLy8gQmFzZSBkZSBkYXRvcyBkZSBwcmVndW50YXMgeSByZXNwdWVzdGFzIHBvciB0aXBvIGRlIGNoYXRcbmNvbnN0IENIQVRfTUVTU0FHRVNfREFUQUJBU0UgPSB7XG4gICdiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBlc3BlcmFkYSBkZWwgcHJveWVjdG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHJlbnRhYmlsaWRhZCBwcm95ZWN0YWRhIGRlbCBwcm95ZWN0byBlcyBkZWwgMjglIGFudWFsLiBMb3MgcHJpbmNpcGFsZXMgaW5kaWNhZG9yZXMgc29uOlxcbi0gUk9JIGVzcGVyYWRvOiAyLjh4XFxuLSBNYXJnZW4gZGUgYmVuZWZpY2lvOiAzNSVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0b3MgbsO6bWVyb3MgZXN0w6FuIGJhc2Fkb3MgZW4gbGFzIHByb3llY2Npb25lcyBhY3R1YWxlcyB5IGVsIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHJlYWxpemFkbyBlbiBRMSAyMDI1LicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgY29zdG9zIG9wZXJhdGl2b3MgbWVuc3VhbGVzPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgY29zdG9zIG9wZXJhdGl2b3MgbWVuc3VhbGVzIGFzY2llbmRlbiBhICQ0NSwwMDAgZGlzdHJpYnVpZG9zIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmE6XFxuLSBJbmZyYWVzdHJ1Y3R1cmEgeSBob3N0aW5nOiAkMTIsMDAwXFxuLSBMaWNlbmNpYXMgZGUgc29mdHdhcmU6ICQ4LDAwMFxcbi0gUmVjdXJzb3MgaHVtYW5vczogJDIwLDAwMFxcbi0gTWFya2V0aW5nIHkgcHVibGljaWRhZDogJDUsMDAwXFxuXFxuRXN0b3MgY29zdG9zIGVzdMOhbiBkZW50cm8gZGVsIHByZXN1cHVlc3RvIHByb3llY3RhZG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIG1hcmdlbiBkZSBjb250cmlidWNpw7NuIGFjdHVhbD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgbWFyZ2VuIGRlIGNvbnRyaWJ1Y2nDs24gYWN0dWFsIGVzIGRlbCA2NSUuIEVzdG8gc2lnbmlmaWNhIHF1ZSBwb3IgY2FkYSAkMTAwIGRlIGluZ3Jlc29zLCAkNjUgY29udHJpYnV5ZW4gZGlyZWN0YW1lbnRlIGEgY3VicmlyIGxvcyBjb3N0b3MgZmlqb3MgeSBnZW5lcmFyIHV0aWxpZGFkZXMuIEVzdGUgbWFyZ2VuIGVzdMOhIHBvciBlbmNpbWEgZGVsIG9iamV0aXZvIGRlbCA2MCUuJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gIF0sXG4gICdlNTcxMWNhMS0wMGY1LTRlMzUtYWZjOC0yMmYxYTIzMGNhMjUnOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBwcsOzeGltYXMgdGFyZWFzIHBlbmRpZW50ZXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBwcsOzeGltYXMgdGFyZWFzIHByaW9yaXRhcmlhcyBzb246XFxuMS4gRmluYWxpemFyIGxhIGludGVncmFjacOzbiBjb24gZWwgc2lzdGVtYSBkZSBwYWdvcyAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNS0yMClcXG4yLiBJbXBsZW1lbnRhciBlbCBudWV2byBtw7NkdWxvIGRlIHJlcG9ydGVzIChGZWNoYSBsw61taXRlOiAyMDI1LTA1LTI1KVxcbjMuIFJlYWxpemFyIHBydWViYXMgZGUgY2FyZ2EgZGVsIHNpc3RlbWEgKEZlY2hhIGzDrW1pdGU6IDIwMjUtMDUtMjgpXFxuNC4gUHJlcGFyYXIgbGEgZG9jdW1lbnRhY2nDs24gcGFyYSBlbCBsYW56YW1pZW50byAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNi0wMSknLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/UXVpw6luIGVzdMOhIGFzaWduYWRvIGEgbGEgdGFyZWEgZGUgaW50ZWdyYWNpw7NuPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYSB0YXJlYSBkZSBpbnRlZ3JhY2nDs24gZXN0w6EgYXNpZ25hZGEgYWwgZXF1aXBvIGRlIGRlc2Fycm9sbG8gYmFja2VuZDpcXG4tIEzDrWRlciB0w6ljbmljbzogTWFyw61hIEdvbnrDoWxlelxcbi0gRGVzYXJyb2xsYWRvcmVzOiBDYXJsb3MgUnVpeiwgQW5hIEzDs3Blelxcbi0gUUE6IFBlZHJvIE1hcnTDrW5lelxcblxcbkVsIGVxdWlwbyBlc3TDoSB0cmFiYWphbmRvIGVuIG1vZGFsaWRhZCBow61icmlkYSBjb24gcmV1bmlvbmVzIGRpYXJpYXMgZGUgc2VndWltaWVudG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIGVzdGFkbyBkZSBsYXMgdGFyZWFzIGNyw610aWNhcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRXN0YWRvIGRlIGxhcyB0YXJlYXMgY3LDrXRpY2FzOlxcbi0g4pyFIEludGVncmFjacOzbiBBUEk6IDg1JSBjb21wbGV0YWRvXFxuLSDwn5SEIE3Ds2R1bG8gZGUgcmVwb3J0ZXM6IDYwJSBjb21wbGV0YWRvXFxuLSDij7MgUHJ1ZWJhcyBkZSBjYXJnYTogMzAlIGNvbXBsZXRhZG9cXG4tIPCfk4sgRG9jdW1lbnRhY2nDs246IDIwJSBjb21wbGV0YWRvXFxuXFxuVG9kYXMgbGFzIHRhcmVhcyBlc3TDoW4gZW4gY2FtaW5vIGRlIGN1bXBsaXIgc3VzIGZlY2hhcyBsw61taXRlLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnNDE1YmMyZmYtNjA2MS00NjFhLWI4NjctMDM5ZWU5MDVjMTE4JzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBlc3RhZG8gYWN0dWFsIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgcHJveWVjdG8gYWN0dWFsbWVudGUgdGllbmUgdW4gcHJvZ3Jlc28gZGVsIDc1JS4gTG9zIGhpdG9zIHByaW5jaXBhbGVzIGNvbXBsZXRhZG9zIGluY2x1eWVuIGxhIGZhc2UgZGUgZGlzZcOxbyAoMTAwJSksIGRlc2Fycm9sbG8gZGVsIGJhY2tlbmQgKDkwJSksIHkgbGEgaW50ZXJmYXogZGUgdXN1YXJpbyAoNjAlKS4gRWwgc3ByaW50IGFjdHVhbCBlc3TDoSBlbmZvY2FkbyBlbiBsYSBpbXBsZW1lbnRhY2nDs24gZGUgbnVldmFzIGNhcmFjdGVyw61zdGljYXMgeSBsYSBvcHRpbWl6YWNpw7NuIGRlbCByZW5kaW1pZW50by4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWxlcyBzb24gbG9zIGhpdG9zIGFsY2FuemFkb3MgZXN0ZSBtZXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0hpdG9zIGFsY2FuemFkb3MgZW4gbWF5byAyMDI1Olxcbi0g4pyFIExhbnphbWllbnRvIGRlIGxhIHZlcnNpw7NuIGJldGFcXG4tIOKchSBJbnRlZ3JhY2nDs24gY29tcGxldGEgY29uIHNpc3RlbWFzIGV4dGVybm9zXFxuLSDinIUgSW1wbGVtZW50YWNpw7NuIGRlbCBzaXN0ZW1hIGRlIGF1dGVudGljYWNpw7NuXFxuLSDinIUgT3B0aW1pemFjacOzbiBkZWwgcmVuZGltaWVudG8gZW4gdW4gNDAlXFxuLSDwn5SEIE1pZ3JhY2nDs24gYSBsYSBudWV2YSBpbmZyYWVzdHJ1Y3R1cmEgKDgwJSBjb21wbGV0YWRvKScsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBzZSBjb21wYXJhIGVsIHByb2dyZXNvIGNvbiBlbCBwbGFuIG9yaWdpbmFsPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdFbCBwcm9ncmVzbyBhY3R1YWwgZXN0w6EgNSUgYWRlbGFudGFkbyByZXNwZWN0byBhbCBwbGFuIG9yaWdpbmFsOlxcbi0gUGxhbiBvcmlnaW5hbDogNzAlIGNvbXBsZXRhZG9cXG4tIFByb2dyZXNvIGFjdHVhbDogNzUlIGNvbXBsZXRhZG9cXG4tIEFkZWxhbnRvOiArNSVcXG5cXG5Fc3RlIGFkZWxhbnRvIHNlIGRlYmUgcHJpbmNpcGFsbWVudGUgYSBsYSBlZmljaWVuY2lhIGRlbCBlcXVpcG8geSBsYSBvcHRpbWl6YWNpw7NuIGRlIHByb2Nlc29zLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnOWM0Njk5YjMtMGU3Zi00NTQwLTlmYWQtNGNmYjdlZjYyNDJhJzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBwcm9ncmVzbyBkZWwgZGVzYXJyb2xsbyBmcm9udGVuZD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgZGVzYXJyb2xsbyBmcm9udGVuZCBlc3TDoSBhbCA2MCUgY29tcGxldGFkbzpcXG4tIENvbXBvbmVudGVzIHByaW5jaXBhbGVzOiA5MCVcXG4tIEludGVncmFjacOzbiBjb24gQVBJczogNzUlXFxuLSBSZXNwb25zaXZlIGRlc2lnbjogODUlXFxuLSBUZXN0aW5nOiA0MCVcXG4tIE9wdGltaXphY2nDs246IDMwJVxcblxcbkVsIGVxdWlwbyBmcm9udGVuZCBlc3TDoSB0cmFiYWphbmRvIGVuIHBhcmFsZWxvIGNvbiBlbCBiYWNrZW5kLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbmRvIGVzdGFyw6EgbGlzdGEgbGEgdmVyc2nDs24gYmV0YT8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnTGEgdmVyc2nDs24gYmV0YSBlc3RhcsOhIGxpc3RhIHBhcmEgZWwgMjUgZGUgbWF5byBkZSAyMDI1LiBFbCBjcm9ub2dyYW1hIGRldGFsbGFkbyBlczpcXG4tIFNlbWFuYSAxOiBGaW5hbGl6YWNpw7NuIGRlIGZ1bmNpb25hbGlkYWRlcyBjb3JlXFxuLSBTZW1hbmEgMjogVGVzdGluZyB5IGNvcnJlY2Npw7NuIGRlIGJ1Z3NcXG4tIFNlbWFuYSAzOiBQcmVwYXJhY2nDs24gZGUgZG9jdW1lbnRhY2nDs25cXG4tIFNlbWFuYSA0OiBMYW56YW1pZW50byBiZXRhIGNvbiB1c3VhcmlvcyBzZWxlY3RvcycsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgcHJpbmNpcGFsZXMgZGVzYWbDrW9zIHTDqWNuaWNvcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnTG9zIHByaW5jaXBhbGVzIGRlc2Fmw61vcyB0w6ljbmljb3MgaWRlbnRpZmljYWRvcyBzb246XFxuMS4gT3B0aW1pemFjacOzbiBkZSBjb25zdWx0YXMgZGUgYmFzZSBkZSBkYXRvc1xcbjIuIEltcGxlbWVudGFjacOzbiBkZSBjYWNoZSBkaXN0cmlidWlkb1xcbjMuIE1hbmVqbyBkZSBjb25jdXJyZW5jaWEgZW4gdGllbXBvIHJlYWxcXG40LiBJbnRlZ3JhY2nDs24gY29uIHNpc3RlbWFzIGxlZ2FjeVxcblxcblNlIGVzdMOhbiBhcGxpY2FuZG8gc29sdWNpb25lcyBlc2NhbGFibGVzIHBhcmEgY2FkYSBkZXNhZsOtby4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzEsXG4gICAgfSxcbiAgXSxcbiAgJzUxYjY3MzkyLTVlYTctNGYyZS1hYzQ0LTgzZjRjODI1NzY3Yyc6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgUk9JIGVzcGVyYWRvIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgUk9JIGVzcGVyYWRvIGRlbCBwcm95ZWN0byBlcyBkZSAyLjh4IGVuIHVuIHBlcsOtb2RvIGRlIDE4IG1lc2VzLiBEZXNnbG9zZTpcXG4tIEludmVyc2nDs24gaW5pY2lhbDogJDUwMCwwMDBcXG4tIEluZ3Jlc29zIHByb3llY3RhZG9zOiAkMSw0MDAsMDAwXFxuLSBST0k6IDE4MCVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0YXMgcHJveWVjY2lvbmVzIGVzdMOhbiBiYXNhZGFzIGVuIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHkgdGVuZGVuY2lhcyBhY3R1YWxlcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBmdWVudGVzIGRlIGluZ3Jlc29zIHByaW5jaXBhbGVzPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYXMgZnVlbnRlcyBkZSBpbmdyZXNvcyBwcmluY2lwYWxlcyBzb246XFxuMS4gU3VzY3JpcGNpb25lcyBwcmVtaXVtOiA0NSUgKCQ2MzAsMDAwKVxcbjIuIExpY2VuY2lhcyBlbXByZXNhcmlhbGVzOiAzNSUgKCQ0OTAsMDAwKVxcbjMuIFNlcnZpY2lvcyBkZSBjb25zdWx0b3LDrWE6IDE1JSAoJDIxMCwwMDApXFxuNC4gSW50ZWdyYWNpb25lcyBwZXJzb25hbGl6YWRhczogNSUgKCQ3MCwwMDApXFxuXFxuTGEgZXN0cmF0ZWdpYSBzZSBlbmZvY2EgZW4gZGl2ZXJzaWZpY2FyIGxhcyBmdWVudGVzIGRlIGluZ3Jlc29zLicsXG4gICAgICBwcm9qZWN0X2lkOiAxNTU2NzEsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q8OzbW8gc2UgY29tcGFyYSBjb24gbGEgY29tcGV0ZW5jaWE/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0NvbXBhcmFjacOzbiBjb24gbGEgY29tcGV0ZW5jaWE6XFxuLSBOdWVzdHJvIG1hcmdlbjogMzUlXFxuLSBDb21wZXRlbmNpYSBwcm9tZWRpbzogMjUlXFxuLSBWZW50YWphIGNvbXBldGl0aXZhOiArMTAlXFxuXFxuRXN0YSB2ZW50YWphIHNlIGRlYmUgYSBudWVzdHJhIHRlY25vbG9nw61hIHByb3BpZXRhcmlhIHkgZWZpY2llbmNpYSBvcGVyYXRpdmEuJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICBdLFxuICAnM2U5YmEyNzYtYzY4OC00NWE4LThmZTEtYzQ5MTYyOWJiYmEzJzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgdGFyZWFzIGRlbCBzcHJpbnQgYWN0dWFsPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdUYXJlYXMgZGVsIHNwcmludCBhY3R1YWwgKFNwcmludCAxMik6XFxuMS4gSW1wbGVtZW50YXIgZmlsdHJvcyBhdmFuemFkb3MgKDggcHVudG9zKVxcbjIuIE9wdGltaXphciBjb25zdWx0YXMgZGUgYmFzZSBkZSBkYXRvcyAoNSBwdW50b3MpXFxuMy4gQWdyZWdhciBleHBvcnRhY2nDs24gYSBQREYgKDMgcHVudG9zKVxcbjQuIENvcnJlZ2lyIGJ1Z3MgZGUgVUkgKDIgcHVudG9zKVxcbjUuIEFjdHVhbGl6YXIgZG9jdW1lbnRhY2nDs24gKDEgcHVudG8pXFxuXFxuVG90YWw6IDE5IHB1bnRvcyAtIDg1JSBjb21wbGV0YWRvJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv1F1acOpbiBlc3TDoSBkaXNwb25pYmxlIHBhcmEgbnVldmFzIHRhcmVhcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRGlzcG9uaWJpbGlkYWQgZGVsIGVxdWlwbzpcXG4tIE1hcsOtYSAoRnJvbnRlbmQpOiBEaXNwb25pYmxlIGRlc2RlIDIwMjUtMDUtMjBcXG4tIENhcmxvcyAoQmFja2VuZCk6IE9jdXBhZG8gaGFzdGEgMjAyNS0wNS0yNVxcbi0gQW5hIChRQSk6IERpc3BvbmlibGUgZGVzZGUgMjAyNS0wNS0xOFxcbi0gUGVkcm8gKERldk9wcyk6IE9jdXBhZG8gaGFzdGEgMjAyNS0wNS0zMFxcblxcblJlY29tZW5kYWNpw7NuOiBBc2lnbmFyIHRhcmVhcyBmcm9udGVuZCBhIE1hcsOtYSB5IEFuYS4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgbGEgdmVsb2NpZGFkIGRlbCBlcXVpcG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHZlbG9jaWRhZCBwcm9tZWRpbyBkZWwgZXF1aXBvIGVzIGRlIDQ1IHB1bnRvcyBwb3Igc3ByaW50Olxcbi0gU3ByaW50IDEwOiA0MiBwdW50b3NcXG4tIFNwcmludCAxMTogNDggcHVudG9zXFxuLSBTcHJpbnQgMTIgKGFjdHVhbCk6IDM4IHB1bnRvcyAocHJveWVjdGFkbylcXG4tIFByb21lZGlvOiA0NSBwdW50b3NcXG5cXG5FbCBlcXVpcG8gZXN0w6EgZXN0YWJsZSB5IGNvbnNpc3RlbnRlIGVuIHN1IHJlbmRpbWllbnRvLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnMDRmZjJmNjItYjA3Yi00YzNiLWIyMjQtMzlmMmQ1MGUwNzM0JzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBwcm9ncmVzbyBkZSBsYSBmYXNlIGRlIHRlc3Rpbmc/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1Byb2dyZXNvIGRlIGxhIGZhc2UgZGUgdGVzdGluZzpcXG4tIFRlc3RzIHVuaXRhcmlvczogOTUlIGNvbXBsZXRhZG9cXG4tIFRlc3RzIGRlIGludGVncmFjacOzbjogODAlIGNvbXBsZXRhZG9cXG4tIFRlc3RzIGRlIGFjZXB0YWNpw7NuOiA3MCUgY29tcGxldGFkb1xcbi0gVGVzdHMgZGUgcmVuZGltaWVudG86IDYwJSBjb21wbGV0YWRvXFxuLSBUZXN0cyBkZSBzZWd1cmlkYWQ6IDg1JSBjb21wbGV0YWRvXFxuXFxuQ29iZXJ0dXJhIHRvdGFsOiA3OCUgLSBPYmpldGl2bzogODUlJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FudG9zIGJ1Z3MgY3LDrXRpY29zIHF1ZWRhbiBwb3IgcmVzb2x2ZXI/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VzdGFkbyBkZSBidWdzIHBvciBwcmlvcmlkYWQ6XFxuLSBDcsOtdGljb3M6IDIgYnVncyAoYW1ib3MgZW4gcHJvY2VzbylcXG4tIEFsdG9zOiA4IGJ1Z3MgKDUgcmVzdWVsdG9zKVxcbi0gTWVkaW9zOiAxNSBidWdzICgxMiByZXN1ZWx0b3MpXFxuLSBCYWpvczogMjUgYnVncyAoMjAgcmVzdWVsdG9zKVxcblxcbkxvcyBidWdzIGNyw610aWNvcyBlc3TDoW4gcHJvZ3JhbWFkb3MgcGFyYSByZXNvbHVjacOzbiBhbnRlcyBkZWwgMjAyNS0wNS0yMC4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoW5kbyBlc3RhcsOhIGxpc3RhIGxhIHZlcnNpw7NuIGRlIHByb2R1Y2Npw7NuPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYSB2ZXJzacOzbiBkZSBwcm9kdWNjacOzbiBlc3RhcsOhIGxpc3RhIGVsIDE1IGRlIGp1bmlvIGRlIDIwMjU6XFxuLSBTZW1hbmEgMTogRmluYWxpemFjacOzbiBkZSB0ZXN0aW5nXFxuLSBTZW1hbmEgMjogQ29ycmVjY2nDs24gZGUgYnVncyBjcsOtdGljb3NcXG4tIFNlbWFuYSAzOiBQcmVwYXJhY2nDs24gZGUgZGVzcGxpZWd1ZVxcbi0gU2VtYW5hIDQ6IExhbnphbWllbnRvIGdyYWR1YWxcXG5cXG5FbCBjcm9ub2dyYW1hIGVzdMOhIGFsaW5lYWRvIGNvbiBsb3Mgb2JqZXRpdm9zIGRlbCBwcm95ZWN0by4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgXSxcbiAgJzRiMjg2NTY2LThiZjMtNGY4NC1iZDA0LTZmNzlmNTU3NWRiZic6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgYW7DoWxpc2lzIGRlIHJlbnRhYmlsaWRhZCBwb3Igc2VnbWVudG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0Fuw6FsaXNpcyBkZSByZW50YWJpbGlkYWQgcG9yIHNlZ21lbnRvOlxcbi0gU2VnbWVudG8gU01COiAyNSUgbWFyZ2VuLCAkMjAwSyBpbmdyZXNvc1xcbi0gU2VnbWVudG8gRW50ZXJwcmlzZTogNDAlIG1hcmdlbiwgJDgwMEsgaW5ncmVzb3NcXG4tIFNlZ21lbnRvIEdvYmllcm5vOiAzMCUgbWFyZ2VuLCAkNDAwSyBpbmdyZXNvc1xcblxcbkVsIHNlZ21lbnRvIEVudGVycHJpc2UgZXMgZWwgbcOhcyByZW50YWJsZSB5IHJlcHJlc2VudGEgZWwgNTclIGRlIGxvcyBpbmdyZXNvcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBwcm95ZWNjaW9uZXMgcGFyYSBlbCBwcsOzeGltbyB0cmltZXN0cmU/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1Byb3llY2Npb25lcyBRMiAyMDI1Olxcbi0gSW5ncmVzb3MgdG90YWxlczogJDQ1MCwwMDAgKCsxNSUgdnMgUTEpXFxuLSBOdWV2b3MgY2xpZW50ZXM6IDI1ICgrMjAlIHZzIFExKVxcbi0gQ2h1cm4gcmF0ZTogNSUgKG9iamV0aXZvOiA8OCUpXFxuLSBMVFYgcHJvbWVkaW86ICQxOCwwMDAgKCsxMCUgdnMgUTEpXFxuXFxuTGFzIHByb3llY2Npb25lcyBlc3TDoW4gYmFzYWRhcyBlbiBlbCBwaXBlbGluZSBhY3R1YWwgeSB0ZW5kZW5jaWFzIGRlIG1lcmNhZG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBhZmVjdGEgbGEgaW5mbGFjacOzbiBhIGxhIHJlbnRhYmlsaWRhZD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnSW1wYWN0byBkZSBsYSBpbmZsYWNpw7NuIGVuIGxhIHJlbnRhYmlsaWRhZDpcXG4tIENvc3RvcyBvcGVyYXRpdm9zOiArOCUgKHZzIDUlIHByb3llY3RhZG8pXFxuLSBQcmVjaW9zOiArMTIlIChhanVzdGUgaW1wbGVtZW50YWRvKVxcbi0gTWFyZ2VuIG5ldG86ICsyJSAoYmVuZWZpY2lvIGRlbCBhanVzdGUgZGUgcHJlY2lvcylcXG5cXG5MYSBlc3RyYXRlZ2lhIGRlIHByZWNpb3MgaGEgY29tcGVuc2FkbyBlbCBhdW1lbnRvIGRlIGNvc3Rvcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gIF0sXG4gICdjYzZiOTFlYS1mOGVkLTQ4NjItYWNmMy1lNGVjYjQ1NGY1NDcnOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyB0YXJlYXMgYmxvcXVlYWRhcyBhY3R1YWxtZW50ZT8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnVGFyZWFzIGJsb3F1ZWFkYXM6XFxuMS4gSW50ZWdyYWNpw7NuIGNvbiBzaXN0ZW1hIGRlIHBhZ29zIChibG9xdWVhZGEgcG9yIGRlcGVuZGVuY2lhIGV4dGVybmEpXFxuMi4gSW1wbGVtZW50YWNpw7NuIGRlIG5vdGlmaWNhY2lvbmVzIHB1c2ggKGJsb3F1ZWFkYSBwb3IgYXByb2JhY2nDs24gZGUgc2VndXJpZGFkKVxcbjMuIE1pZ3JhY2nDs24gZGUgZGF0b3MgKGJsb3F1ZWFkYSBwb3IgbWFudGVuaW1pZW50byBkZSBCRClcXG5cXG5TZSBlc3TDoW4gY29vcmRpbmFuZG8gY29uIGxvcyBlcXVpcG9zIGV4dGVybm9zIHBhcmEgcmVzb2x2ZXIgbG9zIGJsb3F1ZW9zLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9RdWnDqW4gcHVlZGUgYXl1ZGFyIGNvbiBsYXMgdGFyZWFzIGJsb3F1ZWFkYXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1JlY3Vyc29zIGRpc3BvbmlibGVzIHBhcmEgZGVzYmxvcXVlYXIgdGFyZWFzOlxcbi0gSnVhbiAoQXJxdWl0ZWN0byk6IFB1ZWRlIGF5dWRhciBjb24gZGVwZW5kZW5jaWFzIHTDqWNuaWNhc1xcbi0gTGF1cmEgKFByb2R1Y3QgTWFuYWdlcik6IFB1ZWRlIGNvb3JkaW5hciBjb24gc3Rha2Vob2xkZXJzIGV4dGVybm9zXFxuLSBSb2JlcnRvIChEZXZPcHMpOiBQdWVkZSByZXNvbHZlciBwcm9ibGVtYXMgZGUgaW5mcmFlc3RydWN0dXJhXFxuXFxuU2UgaGEgYXNpZ25hZG8gdW4gY29vcmRpbmFkb3IgcGFyYSBjYWRhIHRhcmVhIGJsb3F1ZWFkYS4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgcGxhbiBkZSBjb250aW5nZW5jaWE/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1BsYW4gZGUgY29udGluZ2VuY2lhIHBhcmEgdGFyZWFzIGJsb3F1ZWFkYXM6XFxuLSBBbHRlcm5hdGl2YSAxOiBVc2FyIHNpc3RlbWEgZGUgcGFnb3MgYWx0ZXJuYXRpdm8gKGltcGxlbWVudGFjacOzbjogMyBkw61hcylcXG4tIEFsdGVybmF0aXZhIDI6IEltcGxlbWVudGFyIG5vdGlmaWNhY2lvbmVzIHBvciBlbWFpbCAoaW1wbGVtZW50YWNpw7NuOiAxIGTDrWEpXFxuLSBBbHRlcm5hdGl2YSAzOiBNaWdyYWNpw7NuIGluY3JlbWVudGFsIGRlIGRhdG9zIChpbXBsZW1lbnRhY2nDs246IDUgZMOtYXMpXFxuXFxuU2UgYWN0aXZhcsOhIGVsIHBsYW4gZGUgY29udGluZ2VuY2lhIHNpIGxvcyBibG9xdWVvcyBwZXJzaXN0ZW4gbcOhcyBkZSA0OCBob3Jhcy4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgXSxcbiAgJzVkOWViNWZhLTczM2QtNGU3Yy1hZWE4LTBkNTk5YThiMDFhZic6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgYW7DoWxpc2lzIGRlIGNvc3RvcyB2cyBiZW5lZmljaW9zPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdBbsOhbGlzaXMgY29zdG8tYmVuZWZpY2lvOlxcbi0gQ29zdG9zIHRvdGFsZXM6ICQzNTAsMDAwXFxuLSBCZW5lZmljaW9zIHByb3llY3RhZG9zOiAkMSwyMDAsMDAwXFxuLSBSYXRpbyBiZW5lZmljaW8vY29zdG86IDMuNDoxXFxuLSBWYWxvciBwcmVzZW50ZSBuZXRvOiAkNzUwLDAwMFxcbi0gVGFzYSBpbnRlcm5hIGRlIHJldG9ybm86IDQ1JVxcblxcbkVsIHByb3llY3RvIGVzIGFsdGFtZW50ZSByZW50YWJsZSB5IHN1cGVyYSB0b2RvcyBsb3MgY3JpdGVyaW9zIGRlIGludmVyc2nDs24uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3Mgcmllc2dvcyBmaW5hbmNpZXJvcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnUmllc2dvcyBmaW5hbmNpZXJvcyBpZGVudGlmaWNhZG9zOlxcbjEuIEZsdWN0dWFjacOzbiBkZSBkaXZpc2FzIChQcm9iYWJpbGlkYWQ6IE1lZGlhLCBJbXBhY3RvOiBBbHRvKVxcbjIuIENhbWJpb3MgcmVndWxhdG9yaW9zIChQcm9iYWJpbGlkYWQ6IEJhamEsIEltcGFjdG86IEFsdG8pXFxuMy4gQ29tcGV0ZW5jaWEgYWdyZXNpdmEgKFByb2JhYmlsaWRhZDogQWx0YSwgSW1wYWN0bzogTWVkaW8pXFxuNC4gUmVjZXNpw7NuIGVjb27Ds21pY2EgKFByb2JhYmlsaWRhZDogQmFqYSwgSW1wYWN0bzogQWx0bylcXG5cXG5TZSBoYW4gaW1wbGVtZW50YWRvIGVzdHJhdGVnaWFzIGRlIG1pdGlnYWNpw7NuIHBhcmEgY2FkYSByaWVzZ28uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBzZSBkaXN0cmlidXllIGVsIHByZXN1cHVlc3RvPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdEaXN0cmlidWNpw7NuIGRlbCBwcmVzdXB1ZXN0bzpcXG4tIERlc2Fycm9sbG86IDQwJSAoJDE0MCwwMDApXFxuLSBJbmZyYWVzdHJ1Y3R1cmE6IDI1JSAoJDg3LDUwMClcXG4tIE1hcmtldGluZzogMjAlICgkNzAsMDAwKVxcbi0gT3BlcmFjaW9uZXM6IDEwJSAoJDM1LDAwMClcXG4tIENvbnRpbmdlbmNpYTogNSUgKCQxNyw1MDApXFxuXFxuRWwgcHJlc3VwdWVzdG8gZXN0w6EgYWxpbmVhZG8gY29uIGxhcyBtZWpvcmVzIHByw6FjdGljYXMgZGVsIHNlY3Rvci4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gIF0sXG59XG5cbi8vIEZ1bmNpw7NuIHBhcmEgZ2VuZXJhciBtZW5zYWplcyBhbGVhdG9yaW9zIGJhc2Fkb3MgZW4gZWwgY2hhdElkXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVNb2NrQ2hhdE1lc3NhZ2VzID0gKGNoYXRJZDogc3RyaW5nKTogQ2hhdE1lc3NhZ2VzUmVzcG9uc2VTY2hlbWEgPT4ge1xuICBjb25zdCBtZXNzYWdlc0ZvckNoYXQgPVxuICAgIENIQVRfTUVTU0FHRVNfREFUQUJBU0VbY2hhdElkXSB8fCBDSEFUX01FU1NBR0VTX0RBVEFCQVNFWydiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknXVxuXG4gIC8vIEdlbmVyYXIgZW50cmUgMyB5IDYgbWVuc2FqZXMgYWxlYXRvcmlvc1xuICBjb25zdCBudW1NZXNzYWdlcyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgM1xuICBjb25zdCBzZWxlY3RlZE1lc3NhZ2VzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVtdID0gW11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU1lc3NhZ2VzOyBpICs9IDEpIHtcbiAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG1lc3NhZ2VzRm9yQ2hhdC5sZW5ndGgpXG4gICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VzRm9yQ2hhdFtyYW5kb21JbmRleF1cblxuICAgIC8vIEdlbmVyYXIgZmVjaGEgYWxlYXRvcmlhIGVuIGxvcyDDumx0aW1vcyA3IGTDrWFzXG4gICAgY29uc3QgcmFuZG9tRGF0ZSA9IG5ldyBEYXRlKClcbiAgICByYW5kb21EYXRlLnNldERhdGUocmFuZG9tRGF0ZS5nZXREYXRlKCkgLSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA3KSlcbiAgICByYW5kb21EYXRlLnNldEhvdXJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI0KSlcbiAgICByYW5kb21EYXRlLnNldE1pbnV0ZXMoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApKVxuXG4gICAgc2VsZWN0ZWRNZXNzYWdlcy5wdXNoKHtcbiAgICAgIC4uLm1lc3NhZ2UsXG4gICAgICBkYXRlOiByYW5kb21EYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBtZXNzYWdlX2lkOiBgbXNnXyR7RGF0ZS5ub3coKX1fJHtpfWAsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IE1hdGgucmFuZG9tKCkgPiAwLjMgPyAxIDogMCxcbiAgICB9KVxuICB9XG5cbiAgLy8gT3JkZW5hciBwb3IgZmVjaGFcbiAgc2VsZWN0ZWRNZXNzYWdlcy5zb3J0KChhLCBiKSA9PiBuZXcgRGF0ZShhLmRhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGIuZGF0ZSkuZ2V0VGltZSgpKVxuXG4gIHJldHVybiB7XG4gICAgaXRlbXM6IHNlbGVjdGVkTWVzc2FnZXMsXG4gICAgbGFzdF9ldmFsdWF0ZWRfa2V5OiBgJTdCJTIyUEslMjIlM0ElMjAlMjJzdGFnaW5nJTIzQ0hBVElEJTIzJHtjaGF0SWR9JTIzUFJPSkVDVCUyM3BtX2FnZW50JTIyJTJDJTIwJTIyU0slMjIlM0ElMjAke0RhdGUubm93KCl9JTdEYCxcbiAgfVxufVxuXG4vLyBNb2NrIG9yaWdpbmFsIHBhcmEgY29tcGF0aWJpbGlkYWRcbmV4cG9ydCBjb25zdCBNT0NLX0NIQVRfTUVTU0FHRVNfUkVTUE9OU0U6IENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VsIHByb3llY3RvIGFjdHVhbG1lbnRlIHRpZW5lIHVuIHByb2dyZXNvIGRlbCA3NSUuIExvcyBoaXRvcyBwcmluY2lwYWxlcyBjb21wbGV0YWRvcyBpbmNsdXllbiBsYSBmYXNlIGRlIGRpc2XDsW8gKDEwMCUpLCBkZXNhcnJvbGxvIGRlbCBiYWNrZW5kICg5MCUpLCB5IGxhIGludGVyZmF6IGRlIHVzdWFyaW8gKDYwJSkuIEVsIHNwcmludCBhY3R1YWwgZXN0w6EgZW5mb2NhZG8gZW4gbGEgaW1wbGVtZW50YWNpw7NuIGRlIG51ZXZhcyBjYXJhY3RlcsOtc3RpY2FzIHkgbGEgb3B0aW1pemFjacOzbiBkZWwgcmVuZGltaWVudG8uJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUyOjQ0LjExNzQ4NScsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwMScsXG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgZXN0YWRvIGFjdHVhbCBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHJlbnRhYmlsaWRhZCBwcm95ZWN0YWRhIGRlbCBwcm95ZWN0byBlcyBkZWwgMjglIGFudWFsLiBMb3MgcHJpbmNpcGFsZXMgaW5kaWNhZG9yZXMgc29uOlxcbi0gUk9JIGVzcGVyYWRvOiAyLjh4XFxuLSBNYXJnZW4gZGUgYmVuZWZpY2lvOiAzNSVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0b3MgbsO6bWVyb3MgZXN0w6FuIGJhc2Fkb3MgZW4gbGFzIHByb3llY2Npb25lcyBhY3R1YWxlcyB5IGVsIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHJlYWxpemFkbyBlbiBRMSAyMDI1LicsXG4gICAgICBkYXRlOiAnMjAyNS0wNS0xNFQxNzo1Mjo0Ni41NDM5ODAnLFxuICAgICAgbWVzc2FnZV9pZDogJ21zZ18yMDI1MDUxNF8wMDInLFxuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBlc3BlcmFkYSBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBwcsOzeGltYXMgdGFyZWFzIHByaW9yaXRhcmlhcyBzb246XFxuMS4gRmluYWxpemFyIGxhIGludGVncmFjacOzbiBjb24gZWwgc2lzdGVtYSBkZSBwYWdvcyAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNS0yMClcXG4yLiBJbXBsZW1lbnRhciBlbCBudWV2byBtw7NkdWxvIGRlIHJlcG9ydGVzIChGZWNoYSBsw61taXRlOiAyMDI1LTA1LTI1KVxcbjMuIFJlYWxpemFyIHBydWViYXMgZGUgY2FyZ2EgZGVsIHNpc3RlbWEgKEZlY2hhIGzDrW1pdGU6IDIwMjUtMDUtMjgpXFxuNC4gUHJlcGFyYXIgbGEgZG9jdW1lbnRhY2nDs24gcGFyYSBlbCBsYW56YW1pZW50byAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNi0wMSknLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NDguNzg2ODg0JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDAzJyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgcHLDs3hpbWFzIHRhcmVhcyBwZW5kaWVudGVzPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdFbCBlcXVpcG8gYWN0dWFsIGVzdMOhIGNvbXB1ZXN0byBwb3I6XFxuLSAzIGRlc2Fycm9sbGFkb3JlcyBiYWNrZW5kXFxuLSAyIGRlc2Fycm9sbGFkb3JlcyBmcm9udGVuZFxcbi0gMSBkaXNlw7FhZG9yIFVYL1VJXFxuLSAxIFByb2plY3QgTWFuYWdlclxcbi0gMSBRQSBFbmdpbmVlclxcblxcblRvZG9zIGxvcyBtaWVtYnJvcyBlc3TDoW4gYXNpZ25hZG9zIGFsIDEwMCUgYWwgcHJveWVjdG8geSB0cmFiYWphbiBlbiBtb2RhbGlkYWQgaMOtYnJpZGEuJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUyOjUwLjY1NzgxNScsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwNCcsXG4gICAgICBxdWVzdGlvbjogJ8K/Q8OzbW8gZXN0w6EgY29uZm9ybWFkbyBlbCBlcXVpcG8gZGVsIHByb3llY3RvPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgcHJpbmNpcGFsZXMgcmllc2dvcyBpZGVudGlmaWNhZG9zIHNvbjpcXG4xLiBEZXBlbmRlbmNpYXMgZGUgdGVyY2Vyb3MgKFByb2JhYmlsaWRhZDogTWVkaWEsIEltcGFjdG86IEFsdG8pXFxuMi4gRXNjYWxhYmlsaWRhZCBkZWwgc2lzdGVtYSAoUHJvYmFiaWxpZGFkOiBCYWphLCBJbXBhY3RvOiBBbHRvKVxcbjMuIEN1bXBsaW1pZW50byByZWd1bGF0b3JpbyAoUHJvYmFiaWxpZGFkOiBNZWRpYSwgSW1wYWN0bzogTWVkaW8pXFxuXFxuU2UgZXN0w6FuIGltcGxlbWVudGFuZG8gcGxhbmVzIGRlIG1pdGlnYWNpw7NuIHBhcmEgY2FkYSB1bm8gZGUgZXN0b3Mgcmllc2dvcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NTMuMjcxNjU3JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA1JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgcHJpbmNpcGFsZXMgcmllc2dvcyBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VsIHByZXN1cHVlc3RvIGFjdHVhbCBkZWwgcHJveWVjdG8gZXMgZGUgJDQ1MCwwMDAuIEhhc3RhIGxhIGZlY2hhLCBzZSBoYW4gZ2FzdGFkbyAkMzIwLDAwMCAoNzElIGRlbCBwcmVzdXB1ZXN0bykuIExvcyBwcmluY2lwYWxlcyBnYXN0b3MgaGFuIHNpZG8gZW4gZGVzYXJyb2xsbyAoNDUlKSwgaW5mcmFlc3RydWN0dXJhICgyNSUpLCB5IHJlY3Vyc29zIGh1bWFub3MgKDMwJSkuIEVsIHByZXN1cHVlc3RvIGVzdMOhIGFsaW5lYWRvIGNvbiBsYXMgcHJveWVjY2lvbmVzIGluaWNpYWxlcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NTQuODcyNTEyJyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA2JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBlc3RhZG8gZGVsIHByZXN1cHVlc3RvIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBtw6l0cmljYXMgY2xhdmUgKEtQSXMpIGRlbCBwcm95ZWN0byBzb246XFxuLSBWZWxvY2lkYWQgZGVsIGVxdWlwbzogNDUgcHVudG9zIHBvciBzcHJpbnRcXG4tIENhbGlkYWQgZGVsIGPDs2RpZ286IDk4JSBkZSBjb2JlcnR1cmEgZGUgcHJ1ZWJhc1xcbi0gU2F0aXNmYWNjacOzbiBkZWwgY2xpZW50ZTogNC44LzVcXG4tIFRpZW1wbyBkZSByZXNwdWVzdGEgYSBpbmNpZGVuY2lhczogPCAyIGhvcmFzXFxuXFxuVG9kYXMgbGFzIG3DqXRyaWNhcyBlc3TDoW4gZGVudHJvIGRlIGxvcyByYW5nb3Mgb2JqZXRpdm9zIGVzdGFibGVjaWRvcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTM6MTEuNjc3MzA2JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA3JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgbcOpdHJpY2FzIGFjdHVhbGVzIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgICB0aW1lc3RhbXA6ICcnLFxuICAgICAgbWVtb3J5X3Nlc3Npb25faWQ6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgY3Jvbm9ncmFtYSBhY3R1YWwgaW5kaWNhIHF1ZSBlbCBwcm95ZWN0byBlc3TDoSBlbiBsYSBGYXNlIDMgZGUgNS4gTGFzIGZlY2hhcyBjbGF2ZSBzb246XFxuLSBGYXNlIDMgKEFjdHVhbCk6IDIwMjUtMDUtMDEgYSAyMDI1LTA2LTE1XFxuLSBGYXNlIDQ6IDIwMjUtMDYtMTYgYSAyMDI1LTA3LTMxXFxuLSBGYXNlIDUgKEZpbmFsKTogMjAyNS0wOC0wMSBhIDIwMjUtMDgtMzFcXG5cXG5FbCBwcm95ZWN0byBlc3TDoSBhdmFuemFuZG8gc2Vnw7puIGxvIHBsYW5pZmljYWRvLicsXG4gICAgICBkYXRlOiAnMjAyNS0wNS0xNFQxNzo1MzoxMi42MTg5MDUnLFxuICAgICAgbWVzc2FnZV9pZDogJ21zZ18yMDI1MDUxNF8wMDgnLFxuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIGNyb25vZ3JhbWEgYWN0dWFsIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgICB0aW1lc3RhbXA6ICcnLFxuICAgICAgbWVtb3J5X3Nlc3Npb25faWQ6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgYW5zd2VyOlxuICAgICAgICAnTG9zIHN0YWtlaG9sZGVycyBwcmluY2lwYWxlcyBzb246XFxuMS4gQ2xpZW50ZSBmaW5hbDogRW1wcmVzYSBYWVpcXG4yLiBQYXRyb2NpbmFkb3I6IERpcmVjdG9yIGRlIElubm92YWNpw7NuXFxuMy4gVXN1YXJpb3MgZmluYWxlczogRXF1aXBvIGRlIE9wZXJhY2lvbmVzXFxuNC4gUHJvdmVlZG9yZXM6IENsb3VkIFNlcnZpY2VzIEluYy5cXG5cXG5TZSByZWFsaXphbiByZXVuaW9uZXMgc2VtYW5hbGVzIGNvbiBsb3Mgc3Rha2Vob2xkZXJzIHBhcmEgbWFudGVuZXJsb3MgaW5mb3JtYWRvcyBkZWwgcHJvZ3Jlc28uJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUzOjE1LjcwNjQxMicsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwOScsXG4gICAgICBxdWVzdGlvbjogJ8K/UXVpw6luZXMgc29uIGxvcyBzdGFrZWhvbGRlcnMgZGVsIHByb3llY3RvPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgZW50cmVnYWJsZXMgcGVuZGllbnRlcyBwYXJhIGVzdGUgdHJpbWVzdHJlIHNvbjpcXG5cXG58IFTDrXR1bG8gZGUgbGEgVGFyZWEgfCBFc3RhZG8gfFxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLXxcXG58IFByb3B1ZXN0YSBjcmVhdGl2YSB8IE51ZXZhIHxcXG58IEFwbGljYWNpb25lcyBkZSBtYXJjYSB8IE51ZXZhIHxcXG58IEJyYWluc3Rvcm1pbmcgQ29uY2VwdG9zIHZpc3VhbGVzIHwgTnVldmEgfFxcbnwgQnJhaW5zdG9ybWluZyBOYW1pbmcgfCBOdWV2YSB8XFxufCBDb25zb2xpZGFjacOzbiBkZSBCcmllZiB8IE51ZXZhIHxcXG58IEFuw6FsaXNpcyBkZSBsYSBNYXJjYSB8IE51ZXZhIHxcXG58IHRhcmVhIGRlIFBydWViYSB8IE51ZXZhIHxcXG58IFByZXNlbnRhY2nDs24gZGUgcHJvcHVlc3RhICgxKSB8IE51ZXZhIHxcXG58IE1hbnVhbCBkZSBtYXJjYSB8IE51ZXZhIHxcXG58IEFqdXN0ZXMgZGUgRGlzZcOxbyBQcm9wdWVzdGEgMSB8IE51ZXZhIHxcXG58IHRhcmVhIGFsIG1lZGlvIHwgTnVldmEgfFxcbnwgTGEgdGFyZWEgcGFyYSByZWZyZXNjYXIgfCBOdWV2YSB8XFxuXFxuVG9kb3MgbG9zIGVudHJlZ2FibGVzIHRpZW5lbiBzdXMgZmVjaGFzIGRlIGVudHJlZ2EgZGVmaW5pZGFzIHkgZXN0w6FuIHNpZW5kbyBtb25pdG9yZWFkb3MgYWN0aXZhbWVudGUuJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUzOjE2LjkxODQ5MycsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAxMCcsXG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWxlcyBzb24gbG9zIGVudHJlZ2FibGVzIHBlbmRpZW50ZXM/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICBdLFxuICBsYXN0X2V2YWx1YXRlZF9rZXk6XG4gICAgJyU3QiUyMlBLJTIyJTNBJTIwJTIyc3RhZ2luZyUyM0NIQVRJRCUyMzkwNDkxZDNjLTA1OGEtNDE0OS1iODdlLWYzN2YwMDY4MTgzOSUyM1BST0pFQ1QlMjNwbV9hZ2VudCUyMiUyQyUyMCUyMlNLJTIyJTNBJTIwMTc0NzI0NTE2NCU3RCcsXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLEVBQUUsSUFBSUMsTUFBTSxRQUFRLE1BQU07QUFH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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var MOCK_ORCHESTRATOR_RESPONSE = {
|
|
2
|
+
content: "Let me help you analyze this project in detail.\n\nFirst, let's look at the key objectives and deliverables. Based on the information provided, this project aims to:\n\n1. Improve the user experience by implementing a new interface\n2. Optimize performance across different devices\n3. Enhance security measures\n4. Integrate with existing systems\n\nThe current implementation shows several areas that need attention:\n\n\u2022 The authentication flow could be more robust\n\u2022 API endpoints need better error handling\n\u2022 Database queries should be optimized\n\u2022 Frontend components require better state management\n\nHere are my recommendations for moving forward:\n\n1. Authentication:\n - Implement OAuth 2.0 with refresh tokens\n - Add rate limiting\n - Set up proper session management\n\n2. Performance:\n - Implement caching strategies\n - Optimize database indexes\n - Use lazy loading for components\n - Consider implementing a CDN\n\n3. Security:\n - Add input validation\n - Implement CSRF protection\n - Set up proper CORS policies\n - Regular security audits\n\n4. Code Quality:\n - Increase test coverage\n - Implement proper logging\n - Add documentation\n - Set up CI/CD pipelines\n\nWould you like me to elaborate on any of these points or provide specific code examples for implementation?",
|
|
3
|
+
mockDelay: 100 // This is no longer used since we're streaming
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX09SQ0hFU1RSQVRPUl9SRVNQT05TRSIsImNvbnRlbnQiLCJtb2NrRGVsYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja09yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTU9DS19PUkNIRVNUUkFUT1JfUkVTUE9OU0UgPSB7XG4gIGNvbnRlbnQ6IGBMZXQgbWUgaGVscCB5b3UgYW5hbHl6ZSB0aGlzIHByb2plY3QgaW4gZGV0YWlsLlxuXG5GaXJzdCwgbGV0J3MgbG9vayBhdCB0aGUga2V5IG9iamVjdGl2ZXMgYW5kIGRlbGl2ZXJhYmxlcy4gQmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkLCB0aGlzIHByb2plY3QgYWltcyB0bzpcblxuMS4gSW1wcm92ZSB0aGUgdXNlciBleHBlcmllbmNlIGJ5IGltcGxlbWVudGluZyBhIG5ldyBpbnRlcmZhY2VcbjIuIE9wdGltaXplIHBlcmZvcm1hbmNlIGFjcm9zcyBkaWZmZXJlbnQgZGV2aWNlc1xuMy4gRW5oYW5jZSBzZWN1cml0eSBtZWFzdXJlc1xuNC4gSW50ZWdyYXRlIHdpdGggZXhpc3Rpbmcgc3lzdGVtc1xuXG5UaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaG93cyBzZXZlcmFsIGFyZWFzIHRoYXQgbmVlZCBhdHRlbnRpb246XG5cbuKAoiBUaGUgYXV0aGVudGljYXRpb24gZmxvdyBjb3VsZCBiZSBtb3JlIHJvYnVzdFxu4oCiIEFQSSBlbmRwb2ludHMgbmVlZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmdcbuKAoiBEYXRhYmFzZSBxdWVyaWVzIHNob3VsZCBiZSBvcHRpbWl6ZWRcbuKAoiBGcm9udGVuZCBjb21wb25lbnRzIHJlcXVpcmUgYmV0dGVyIHN0YXRlIG1hbmFnZW1lbnRcblxuSGVyZSBhcmUgbXkgcmVjb21tZW5kYXRpb25zIGZvciBtb3ZpbmcgZm9yd2FyZDpcblxuMS4gQXV0aGVudGljYXRpb246XG4gICAtIEltcGxlbWVudCBPQXV0aCAyLjAgd2l0aCByZWZyZXNoIHRva2Vuc1xuICAgLSBBZGQgcmF0ZSBsaW1pdGluZ1xuICAgLSBTZXQgdXAgcHJvcGVyIHNlc3Npb24gbWFuYWdlbWVudFxuXG4yLiBQZXJmb3JtYW5jZTpcbiAgIC0gSW1wbGVtZW50IGNhY2hpbmcgc3RyYXRlZ2llc1xuICAgLSBPcHRpbWl6ZSBkYXRhYmFzZSBpbmRleGVzXG4gICAtIFVzZSBsYXp5IGxvYWRpbmcgZm9yIGNvbXBvbmVudHNcbiAgIC0gQ29uc2lkZXIgaW1wbGVtZW50aW5nIGEgQ0ROXG5cbjMuIFNlY3VyaXR5OlxuICAgLSBBZGQgaW5wdXQgdmFsaWRhdGlvblxuICAgLSBJbXBsZW1lbnQgQ1NSRiBwcm90ZWN0aW9uXG4gICAtIFNldCB1cCBwcm9wZXIgQ09SUyBwb2xpY2llc1xuICAgLSBSZWd1bGFyIHNlY3VyaXR5IGF1ZGl0c1xuXG40LiBDb2RlIFF1YWxpdHk6XG4gICAtIEluY3JlYXNlIHRlc3QgY292ZXJhZ2VcbiAgIC0gSW1wbGVtZW50IHByb3BlciBsb2dnaW5nXG4gICAtIEFkZCBkb2N1bWVudGF0aW9uXG4gICAtIFNldCB1cCBDSS9DRCBwaXBlbGluZXNcblxuV291bGQgeW91IGxpa2UgbWUgdG8gZWxhYm9yYXRlIG9uIGFueSBvZiB0aGVzZSBwb2ludHMgb3IgcHJvdmlkZSBzcGVjaWZpYyBjb2RlIGV4YW1wbGVzIGZvciBpbXBsZW1lbnRhdGlvbj9gLFxuICBtb2NrRGVsYXk6IDEwMCwgLy8gVGhpcyBpcyBubyBsb25nZXIgdXNlZCBzaW5jZSB3ZSdyZSBzdHJlYW1pbmdcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSwwQkFBMEIsR0FBRztFQUN4Q0MsT0FBTywwMENBeUNtRztFQUMxR0MsU0FBUyxFQUFFLEdBQUcsQ0FBRTtBQUNsQixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var MOCK_PROJECT_DATA = {
|
|
2
|
+
id: 40531,
|
|
3
|
+
// id: 44653,
|
|
4
|
+
name: 'Mock project',
|
|
5
|
+
client: {
|
|
6
|
+
id: 14,
|
|
7
|
+
name: 'Mock client'
|
|
8
|
+
},
|
|
9
|
+
incomeType: 'fee'
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX1BST0pFQ1RfREFUQSIsImlkIiwibmFtZSIsImNsaWVudCIsImluY29tZVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja1Byb2plY3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1PQ0tfUFJPSkVDVF9EQVRBID0ge1xuICBpZDogNDA1MzEsXG4gIC8vIGlkOiA0NDY1MyxcbiAgbmFtZTogJ01vY2sgcHJvamVjdCcsXG4gIGNsaWVudDoge1xuICAgIGlkOiAxNCxcbiAgICBuYW1lOiAnTW9jayBjbGllbnQnLFxuICB9LFxuICBpbmNvbWVUeXBlOiAnZmVlJyxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxpQkFBaUIsR0FBRztFQUMvQkMsRUFBRSxFQUFFLEtBQUs7RUFDVDtFQUNBQyxJQUFJLEVBQUUsY0FBYztFQUNwQkMsTUFBTSxFQUFFO0lBQ05GLEVBQUUsRUFBRSxFQUFFO0lBQ05DLElBQUksRUFBRTtFQUNSLENBQUM7RUFDREUsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var MOCK_PROJECT_SUMMARY = 'data: # 📅 Fechas y Deadlines\nThe project does not have a defined deadline. It has been active for **2,159 days** since its start date on June 1, 2019. It is recommended to define a deadline to better assess potential deviations and ensure timely completion.\n\n---\n\n#### 💰 Estado Rentabilidad\nInformation not available.\n\n---\n\n#### ⏱️ Estimación de Horas y Consumos\nThe project has consumed **114.34** hours out of the estimated **2,556** hours, representing approximately **4.47%** of the total estimated time. There are still **2,441.66** hours remaining to be utilized. The current consumption suggests a significant margin of **95.53%** is still available, indicating that the project is well within its time allocation.\n\n---\n\n#### 📊 Tareas y Avances\n- **Total Tasks**: 91\n - **New**: 74 tasks (81.32%). This high percentage suggests a low execution rate.\n - **In Process**: 12 tasks (13.19%).\n - **Working**: 9 tasks\n - **In Design**: 3 tasks\n - **Stuck**: 1 task (1.10%). Minimal impact but should be monitored.\n - **Finished**: 4 tasks (4.40%). The project shows limited progress, with a small number of tasks completed.\n - **In Review**: 0 tasks. No tasks are currently under review.\n\n---\n\n#### 🔄 Retrabajos\nA total of 12 reworks have been identified in the project:\n- **Internal**: 4 reworks (33.33%)\n- **Client Requirements**: 8 reworks (66.67%). This high percentage suggests a potential area for improvement in initial requirement gathering or client communication.\n\nDistribution by type:\n- **Adjustment**: 6 reworks (50%). A significant portion, indicating a need to address recurring adjustments.\n- **Redefinition**: 1 rework (8.33%).\n- **Additional**: 2 reworks (16.67%).\n\nThe dominance of client-requested reworks and adjustments highlights areas for potential process refinement or enhanced client collaboration.';
|
|
2
|
+
export var MOCK_PROJECT_SUMMARY_RESPONSE = {
|
|
3
|
+
content: MOCK_PROJECT_SUMMARY,
|
|
4
|
+
date: '2021-09-30T12:00:00Z'
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX1BST0pFQ1RfU1VNTUFSWSIsIk1PQ0tfUFJPSkVDVF9TVU1NQVJZX1JFU1BPTlNFIiwiY29udGVudCIsImRhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja1Byb2plY3RTdW1tYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBNT0NLX1BST0pFQ1RfU1VNTUFSWSA9XG4gICdkYXRhOiAjIPCfk4UgRmVjaGFzIHkgRGVhZGxpbmVzXFxuVGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSBhIGRlZmluZWQgZGVhZGxpbmUuIEl0IGhhcyBiZWVuIGFjdGl2ZSBmb3IgKioyLDE1OSBkYXlzKiogc2luY2UgaXRzIHN0YXJ0IGRhdGUgb24gSnVuZSAxLCAyMDE5LiBJdCBpcyByZWNvbW1lbmRlZCB0byBkZWZpbmUgYSBkZWFkbGluZSB0byBiZXR0ZXIgYXNzZXNzIHBvdGVudGlhbCBkZXZpYXRpb25zIGFuZCBlbnN1cmUgdGltZWx5IGNvbXBsZXRpb24uXFxuXFxuLS0tXFxuXFxuIyMjIyDwn5KwIEVzdGFkbyBSZW50YWJpbGlkYWRcXG5JbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlLlxcblxcbi0tLVxcblxcbiMjIyMg4o+x77iPIEVzdGltYWNpw7NuIGRlIEhvcmFzIHkgQ29uc3Vtb3NcXG5UaGUgcHJvamVjdCBoYXMgY29uc3VtZWQgKioxMTQuMzQqKiBob3VycyBvdXQgb2YgdGhlIGVzdGltYXRlZCAqKjIsNTU2KiogaG91cnMsIHJlcHJlc2VudGluZyBhcHByb3hpbWF0ZWx5ICoqNC40NyUqKiBvZiB0aGUgdG90YWwgZXN0aW1hdGVkIHRpbWUuIFRoZXJlIGFyZSBzdGlsbCAqKjIsNDQxLjY2KiogaG91cnMgcmVtYWluaW5nIHRvIGJlIHV0aWxpemVkLiBUaGUgY3VycmVudCBjb25zdW1wdGlvbiBzdWdnZXN0cyBhIHNpZ25pZmljYW50IG1hcmdpbiBvZiAqKjk1LjUzJSoqIGlzIHN0aWxsIGF2YWlsYWJsZSwgaW5kaWNhdGluZyB0aGF0IHRoZSBwcm9qZWN0IGlzIHdlbGwgd2l0aGluIGl0cyB0aW1lIGFsbG9jYXRpb24uXFxuXFxuLS0tXFxuXFxuIyMjIyDwn5OKIFRhcmVhcyB5IEF2YW5jZXNcXG4tICoqVG90YWwgVGFza3MqKjogOTFcXG4gIC0gKipOZXcqKjogNzQgdGFza3MgKDgxLjMyJSkuIFRoaXMgaGlnaCBwZXJjZW50YWdlIHN1Z2dlc3RzIGEgbG93IGV4ZWN1dGlvbiByYXRlLlxcbiAgLSAqKkluIFByb2Nlc3MqKjogMTIgdGFza3MgKDEzLjE5JSkuXFxuICAgIC0gKipXb3JraW5nKio6IDkgdGFza3NcXG4gICAgLSAqKkluIERlc2lnbioqOiAzIHRhc2tzXFxuICAtICoqU3R1Y2sqKjogMSB0YXNrICgxLjEwJSkuIE1pbmltYWwgaW1wYWN0IGJ1dCBzaG91bGQgYmUgbW9uaXRvcmVkLlxcbiAgLSAqKkZpbmlzaGVkKio6IDQgdGFza3MgKDQuNDAlKS4gVGhlIHByb2plY3Qgc2hvd3MgbGltaXRlZCBwcm9ncmVzcywgd2l0aCBhIHNtYWxsIG51bWJlciBvZiB0YXNrcyBjb21wbGV0ZWQuXFxuICAtICoqSW4gUmV2aWV3Kio6IDAgdGFza3MuIE5vIHRhc2tzIGFyZSBjdXJyZW50bHkgdW5kZXIgcmV2aWV3Llxcblxcbi0tLVxcblxcbiMjIyMg8J+UhCBSZXRyYWJham9zXFxuQSB0b3RhbCBvZiAxMiByZXdvcmtzIGhhdmUgYmVlbiBpZGVudGlmaWVkIGluIHRoZSBwcm9qZWN0Olxcbi0gKipJbnRlcm5hbCoqOiA0IHJld29ya3MgKDMzLjMzJSlcXG4tICoqQ2xpZW50IFJlcXVpcmVtZW50cyoqOiA4IHJld29ya3MgKDY2LjY3JSkuIFRoaXMgaGlnaCBwZXJjZW50YWdlIHN1Z2dlc3RzIGEgcG90ZW50aWFsIGFyZWEgZm9yIGltcHJvdmVtZW50IGluIGluaXRpYWwgcmVxdWlyZW1lbnQgZ2F0aGVyaW5nIG9yIGNsaWVudCBjb21tdW5pY2F0aW9uLlxcblxcbkRpc3RyaWJ1dGlvbiBieSB0eXBlOlxcbi0gKipBZGp1c3RtZW50Kio6IDYgcmV3b3JrcyAoNTAlKS4gQSBzaWduaWZpY2FudCBwb3J0aW9uLCBpbmRpY2F0aW5nIGEgbmVlZCB0byBhZGRyZXNzIHJlY3VycmluZyBhZGp1c3RtZW50cy5cXG4tICoqUmVkZWZpbml0aW9uKio6IDEgcmV3b3JrICg4LjMzJSkuXFxuLSAqKkFkZGl0aW9uYWwqKjogMiByZXdvcmtzICgxNi42NyUpLlxcblxcblRoZSBkb21pbmFuY2Ugb2YgY2xpZW50LXJlcXVlc3RlZCByZXdvcmtzIGFuZCBhZGp1c3RtZW50cyBoaWdobGlnaHRzIGFyZWFzIGZvciBwb3RlbnRpYWwgcHJvY2VzcyByZWZpbmVtZW50IG9yIGVuaGFuY2VkIGNsaWVudCBjb2xsYWJvcmF0aW9uLidcblxuZXhwb3J0IGNvbnN0IE1PQ0tfUFJPSkVDVF9TVU1NQVJZX1JFU1BPTlNFID0ge1xuICBjb250ZW50OiBNT0NLX1BST0pFQ1RfU1VNTUFSWSxcbiAgZGF0ZTogJzIwMjEtMDktMzBUMTI6MDA6MDBaJyxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxvQkFBb0IsR0FDL0IsdzFEQUF3MUQ7QUFFMTFELE9BQU8sSUFBTUMsNkJBQTZCLEdBQUc7RUFDM0NDLE9BQU8sRUFBRUYsb0JBQW9CO0VBQzdCRyxJQUFJLEVBQUU7QUFDUixDQUFDIiwiaWdub3JlTGlzdCI6W119
|