@symphony-talent/component-library 4.217.0 → 4.218.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/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.mjs +3 -3
- package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.mjs +1 -1
- package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.mjs +3 -3
- package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.mjs +1 -1
- package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +2 -2
- package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
- package/fesm2015/symphony-talent-component-library.mjs +2 -2
- package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
- package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +2 -2
- package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
- package/fesm2020/symphony-talent-component-library.mjs +2 -2
- package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
- package/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.d.ts +1 -0
- package/package.json +1 -1
- package/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.d.ts +1 -0
package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.mjs
CHANGED
|
@@ -179,10 +179,10 @@ export class AISearchAssistantDrawerComponent {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
AISearchAssistantDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
-
AISearchAssistantDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AISearchAssistantDrawerComponent, selector: "symphony-ai-search-assistant-drawer", inputs: { model: "model", config: "config", contextId: "contextId" }, outputs: { startOverClicked: "startOverClicked", undoClicked: "undoClicked", redoClicked: "redoClicked", drawerClosed: "drawerClosed", promptSelected: "promptSelected", messageSent: "messageSent", inputChanged: "inputChanged", retryClicked: "retryClicked", taskCancelled: "taskCancelled", suggestionsToggled: "suggestionsToggled" }, viewQueries: [{ propertyName: "chatContainer", first: true, predicate: ["chatContainer"], descendants: true }, { propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }], ngImport: i0, template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\"\n [id]=\"getPendoId('aiAssistantDrawer')\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isOpen ? 'Close Tala Assistant' : 'Tala Assisted Messaging'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close Tala Assistant' : 'Open Tala Assistant'\"\n [id]=\"getPendoId('aiAssistantToggle')\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-title sfx-m-0\">\n Build your email with \n <span class=\"ai-drawer-title-highlight\">Tala</span>, Symphony Talent's AI-powered Talent Acquisition Assistant.\n </div>\n </div>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-ai-withoutBorder'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- AI Task Status (Progress Bar and Error Handling) -->\n\n <div \n *ngIf=\"model.aiTaskStatus\"\n class=\"ai-message-wrapper task-status-wrapper\"\n id=\"taskStatusMessage\">\n <symphony-task-status\n [taskStatusModel]=\"model.aiTaskStatus\"\n (cancelTask)=\"onCancelTask()\"\n (retryTask)=\"onRetryTask()\"\n [id]=\"getPendoId('aiTaskStatus')\">\n </symphony-task-status>\n </div>\n </div>\n </div>\n\n <!-- Suggested Prompts Section -->\n <div \n class=\"ai-suggested-prompts-section\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n <div class=\"ai-prompts-intro-row\">\n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n {{ model.isSuggestionsOpen ? 'Here are a few suggested prompts to get you started.' : 'Need help getting started?' }}\n </symphony-paragraph>\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button\n class=\"ai-suggestions-toggle-compact\"\n [class.suggestions-open]=\"model.isSuggestionsOpen\"\n (click)=\"onToggleSuggestions()\"\n [attr.aria-label]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [id]=\"getPendoId('aiSuggestionsToggle')\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <symphony-icon [icon]=\"'si-arrow-hide-reveal'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n </div>\n <div \n class=\"ai-suggested-prompts\" \n *ngIf=\"model.isSuggestionsOpen\"\n [class.open]=\"model.isSuggestionsOpen\"\n [id]=\"getPendoId('aiSuggestedPrompts')\"\n [class.disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts; let i = index\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [id]=\"getPendoId('aiPromptButton-' + i)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\"\n [id]=\"getPendoId('aiMessageInput')\"\n [showStartOverButton]=\"config.showStartOverButton\"\n [startOverDisabled]=\"false\"\n [startOverButtonId]=\"getPendoId('aiStartOverButton')\"\n [startOverButtonTitle]=\"'Start Again'\"\n (startOverClicked)=\"onStartOverClick()\"\n [showUndoRedoButtons]=\"config.showUndoRedoButtons\"\n [undoDisabled]=\"config.undoDisabled\"\n [undoButtonId]=\"getPendoId('aiUndoButton')\"\n (undoClicked)=\"onUndoClick()\"\n [redoDisabled]=\"config.redoDisabled\"\n [redoButtonId]=\"getPendoId('aiRedoButton')\"\n (redoClicked)=\"onRedoClick()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.toolTipV2 .tooltip{max-width:none!important;width:auto!important}.toolTipV2 .tooltip .tooltip-inner{background-color:#565656!important;padding:8px 15px;border-radius:.625rem;max-width:none!important;width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;font-size:12px;color:#fff;white-space:nowrap}.toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-container>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){position:absolute!important;top:50%!important;left:-48px!important;transform:translateY(-50%)!important;z-index:10001!important;width:48px!important;height:48px!important;display:block!important}.ai-drawer-container.open>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){left:-35px!important}.ai-drawer-container .toolTipV2 .tooltip .tooltip-inner{background-color:#565656;padding:8px 15px;border-radius:.625rem;max-width:250px;font-size:12px;color:#fff;width:-webkit-max-content;width:-moz-max-content;width:max-content}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-edge-toggle{position:relative;top:0;left:0;transform:none;width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:.625rem .9375rem;border-bottom:1px solid #D2D8E5;background-color:#c5aeff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:18px;color:#000;text-align:center}.ai-drawer-header .ai-drawer-title-highlight{font-weight:700}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px;background:linear-gradient(90deg,#a21aff,#351cc1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-suggested-prompts-section{border-top:1px solid #E4E7EF;background-color:#f1f2f5;margin-bottom:0;position:relative;min-height:48px}.ai-prompts-intro-row{position:relative;padding:12px 14px 0;display:flex;align-items:center}.ai-prompts-intro-row .ai-prompts-intro{margin:0 auto;padding:0;font-size:.875rem;color:#5b6d80;line-height:1.4;text-align:center;position:relative;max-width:calc(100% - 60px);display:block}.ai-prompts-intro-row .ai-suggestions-toggle-compact{right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#fff;color:#712ace;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;box-shadow:0 1px 4px rgba(80,0,120,.04);font-size:15px;padding:0;margin:0}.ai-prompts-intro-row .ai-suggestions-toggle-compact:hover:not(:disabled){background:#f3f0ff;color:#5a21a4}.ai-prompts-intro-row .ai-suggestions-toggle-compact:focus{outline:2px solid #814DFF;outline-offset:2px}.ai-prompts-intro-row .ai-suggestions-toggle-compact:disabled{opacity:.5;cursor:not-allowed}.ai-prompts-intro-row .ai-suggestions-toggle-compact symphony-icon{font-size:15px;transition:transform .2s;transform:rotate(0)}.ai-prompts-intro-row .ai-suggestions-toggle-compact.suggestions-open symphony-icon{transform:rotate(180deg)}.ai-suggested-prompts{position:static;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);opacity:0;padding:1.25rem 1.5625rem;background-color:#f1f2f5}.ai-suggested-prompts.open{max-height:500px;opacity:1}.ai-suggested-prompts.disabled{opacity:.7;pointer-events:none}.ai-suggested-prompts .ai-prompt-button:disabled{cursor:not-allowed;opacity:.7}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px;display:flex}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-suggested-prompts-section+.ai-drawer-footer{padding-top:.3rem;padding-bottom:.9375rem}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"], components: [{ type: i1.TooltipWrapperComponent, selector: "symphony-tooltip-wrapper", inputs: ["placement", "tooltipHtml", "toolTipClass"] }, { type: i2.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i3.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary", "isFontBold"] }, { type: i4.TaskStatusComponent, selector: "symphony-task-status", inputs: ["taskStatusModel"], outputs: ["cancelTask", "retryTask"] }, { type: i5.InputTextareaWithSendComponent, selector: "symphony-input-textarea-with-send", inputs: ["placeholder", "isDisabled", "maxCharacterLimit", "showCharacterCount", "minRows", "maxRows", "sendButtonIcon", "sendButtonAriaLabel", "autoResize", "showStartOverButton", "showUndoRedoButtons", "startOverButtonId", "startOverDisabled", "startOverButtonIcon", "startOverButtonTitle", "undoButtonId", "undoDisabled", "undoButtonIcon", "redoButtonId", "redoDisabled", "redoButtonIcon"], outputs: ["sendClicked", "enterPressed", "valueChanged", "startOverClicked", "undoClicked", "redoClicked"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "newLineToBr": i8.NewLineToBrPipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
182
|
+
AISearchAssistantDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AISearchAssistantDrawerComponent, selector: "symphony-ai-search-assistant-drawer", inputs: { model: "model", config: "config", contextId: "contextId" }, outputs: { startOverClicked: "startOverClicked", undoClicked: "undoClicked", redoClicked: "redoClicked", drawerClosed: "drawerClosed", promptSelected: "promptSelected", messageSent: "messageSent", inputChanged: "inputChanged", retryClicked: "retryClicked", taskCancelled: "taskCancelled", suggestionsToggled: "suggestionsToggled" }, viewQueries: [{ propertyName: "chatContainer", first: true, predicate: ["chatContainer"], descendants: true }, { propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }], ngImport: i0, template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\"\n [id]=\"getPendoId('aiAssistantDrawer')\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isOpen ? 'Close Tala Assistant' : 'Tala Assisted Messaging'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close Tala Assistant' : 'Open Tala Assistant'\"\n [id]=\"getPendoId('aiAssistantToggle')\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-title sfx-m-0\">\n Build your email with \n <span class=\"ai-drawer-title-highlight\">Tala</span>, Symphony Talent's AI-powered Talent Acquisition Assistant.\n </div>\n </div>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-ai-withoutBorder'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- AI Task Status (Progress Bar and Error Handling) -->\n\n <div \n *ngIf=\"model.aiTaskStatus\"\n class=\"ai-message-wrapper task-status-wrapper\"\n id=\"taskStatusMessage\">\n <symphony-task-status\n [taskStatusModel]=\"model.aiTaskStatus\"\n (cancelTask)=\"onCancelTask()\"\n (retryTask)=\"onRetryTask()\"\n [id]=\"getPendoId('aiTaskStatus')\">\n </symphony-task-status>\n </div>\n </div>\n </div>\n\n <!-- Suggested Prompts Section -->\n <div \n class=\"ai-suggested-prompts-section\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n <div class=\"ai-prompts-intro-row\">\n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n {{ model.isSuggestionsOpen ? 'Here are a few suggested prompts to get you started.' : 'Need help getting started?' }}\n </symphony-paragraph>\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button\n class=\"ai-suggestions-toggle-compact\"\n [class.suggestions-open]=\"model.isSuggestionsOpen\"\n (click)=\"onToggleSuggestions()\"\n [attr.aria-label]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [id]=\"getPendoId('aiSuggestionsToggle')\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <symphony-icon [icon]=\"'si-arrow-hide-reveal'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n </div>\n <div \n class=\"ai-suggested-prompts\" \n *ngIf=\"model.isSuggestionsOpen\"\n [class.open]=\"model.isSuggestionsOpen\"\n [id]=\"getPendoId('aiSuggestedPrompts')\"\n [class.disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts; let i = index\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [id]=\"getPendoId('aiPromptButton-' + i)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\"\n [id]=\"getPendoId('aiMessageInput')\"\n [showStartOverButton]=\"config.showStartOverButton\"\n [startOverDisabled]=\"config.startOverDisabled\"\n [startOverButtonId]=\"getPendoId('aiStartOverButton')\"\n [startOverButtonTitle]=\"'Start Again'\"\n (startOverClicked)=\"onStartOverClick()\"\n [showUndoRedoButtons]=\"config.showUndoRedoButtons\"\n [undoDisabled]=\"config.undoDisabled\"\n [undoButtonId]=\"getPendoId('aiUndoButton')\"\n (undoClicked)=\"onUndoClick()\"\n [redoDisabled]=\"config.redoDisabled\"\n [redoButtonId]=\"getPendoId('aiRedoButton')\"\n (redoClicked)=\"onRedoClick()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.toolTipV2 .tooltip{max-width:none!important;width:auto!important}.toolTipV2 .tooltip .tooltip-inner{background-color:#565656!important;padding:8px 15px;border-radius:.625rem;max-width:none!important;width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;font-size:12px;color:#fff;white-space:nowrap}.toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-container>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){position:absolute!important;top:50%!important;left:-48px!important;transform:translateY(-50%)!important;z-index:10001!important;width:48px!important;height:48px!important;display:block!important}.ai-drawer-container.open>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){left:-35px!important}.ai-drawer-container .toolTipV2 .tooltip .tooltip-inner{background-color:#565656;padding:8px 15px;border-radius:.625rem;max-width:250px;font-size:12px;color:#fff;width:-webkit-max-content;width:-moz-max-content;width:max-content}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-edge-toggle{position:relative;top:0;left:0;transform:none;width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:.625rem .9375rem;border-bottom:1px solid #D2D8E5;background-color:#c5aeff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:18px;color:#000;text-align:center}.ai-drawer-header .ai-drawer-title-highlight{font-weight:700}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px;background:linear-gradient(90deg,#a21aff,#351cc1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-suggested-prompts-section{border-top:1px solid #E4E7EF;background-color:#f1f2f5;margin-bottom:0;position:relative;min-height:48px}.ai-prompts-intro-row{position:relative;padding:12px 14px 0;display:flex;align-items:center}.ai-prompts-intro-row .ai-prompts-intro{margin:0 auto;padding:0;font-size:.875rem;color:#5b6d80;line-height:1.4;text-align:center;position:relative;max-width:calc(100% - 60px);display:block}.ai-prompts-intro-row .ai-suggestions-toggle-compact{right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#fff;color:#712ace;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;box-shadow:0 1px 4px rgba(80,0,120,.04);font-size:15px;padding:0;margin:0}.ai-prompts-intro-row .ai-suggestions-toggle-compact:hover:not(:disabled){background:#f3f0ff;color:#5a21a4}.ai-prompts-intro-row .ai-suggestions-toggle-compact:focus{outline:2px solid #814DFF;outline-offset:2px}.ai-prompts-intro-row .ai-suggestions-toggle-compact:disabled{opacity:.5;cursor:not-allowed}.ai-prompts-intro-row .ai-suggestions-toggle-compact symphony-icon{font-size:15px;transition:transform .2s;transform:rotate(0)}.ai-prompts-intro-row .ai-suggestions-toggle-compact.suggestions-open symphony-icon{transform:rotate(180deg)}.ai-suggested-prompts{position:static;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);opacity:0;padding:1.25rem 1.5625rem;background-color:#f1f2f5}.ai-suggested-prompts.open{max-height:500px;opacity:1}.ai-suggested-prompts.disabled{opacity:.7;pointer-events:none}.ai-suggested-prompts .ai-prompt-button:disabled{cursor:not-allowed;opacity:.7}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px;display:flex}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-suggested-prompts-section+.ai-drawer-footer{padding-top:.3rem;padding-bottom:.9375rem}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"], components: [{ type: i1.TooltipWrapperComponent, selector: "symphony-tooltip-wrapper", inputs: ["placement", "tooltipHtml", "toolTipClass"] }, { type: i2.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i3.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary", "isFontBold"] }, { type: i4.TaskStatusComponent, selector: "symphony-task-status", inputs: ["taskStatusModel"], outputs: ["cancelTask", "retryTask"] }, { type: i5.InputTextareaWithSendComponent, selector: "symphony-input-textarea-with-send", inputs: ["placeholder", "isDisabled", "maxCharacterLimit", "showCharacterCount", "minRows", "maxRows", "sendButtonIcon", "sendButtonAriaLabel", "autoResize", "showStartOverButton", "showUndoRedoButtons", "startOverButtonId", "startOverDisabled", "startOverButtonIcon", "startOverButtonTitle", "undoButtonId", "undoDisabled", "undoButtonIcon", "redoButtonId", "redoDisabled", "redoButtonIcon"], outputs: ["sendClicked", "enterPressed", "valueChanged", "startOverClicked", "undoClicked", "redoClicked"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "newLineToBr": i8.NewLineToBrPipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
183
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerComponent, decorators: [{
|
|
184
184
|
type: Component,
|
|
185
|
-
args: [{ selector: 'symphony-ai-search-assistant-drawer', encapsulation: ViewEncapsulation.None, template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\"\n [id]=\"getPendoId('aiAssistantDrawer')\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isOpen ? 'Close Tala Assistant' : 'Tala Assisted Messaging'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close Tala Assistant' : 'Open Tala Assistant'\"\n [id]=\"getPendoId('aiAssistantToggle')\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-title sfx-m-0\">\n Build your email with \n <span class=\"ai-drawer-title-highlight\">Tala</span>, Symphony Talent's AI-powered Talent Acquisition Assistant.\n </div>\n </div>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-ai-withoutBorder'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- AI Task Status (Progress Bar and Error Handling) -->\n\n <div \n *ngIf=\"model.aiTaskStatus\"\n class=\"ai-message-wrapper task-status-wrapper\"\n id=\"taskStatusMessage\">\n <symphony-task-status\n [taskStatusModel]=\"model.aiTaskStatus\"\n (cancelTask)=\"onCancelTask()\"\n (retryTask)=\"onRetryTask()\"\n [id]=\"getPendoId('aiTaskStatus')\">\n </symphony-task-status>\n </div>\n </div>\n </div>\n\n <!-- Suggested Prompts Section -->\n <div \n class=\"ai-suggested-prompts-section\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n <div class=\"ai-prompts-intro-row\">\n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n {{ model.isSuggestionsOpen ? 'Here are a few suggested prompts to get you started.' : 'Need help getting started?' }}\n </symphony-paragraph>\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button\n class=\"ai-suggestions-toggle-compact\"\n [class.suggestions-open]=\"model.isSuggestionsOpen\"\n (click)=\"onToggleSuggestions()\"\n [attr.aria-label]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [id]=\"getPendoId('aiSuggestionsToggle')\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <symphony-icon [icon]=\"'si-arrow-hide-reveal'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n </div>\n <div \n class=\"ai-suggested-prompts\" \n *ngIf=\"model.isSuggestionsOpen\"\n [class.open]=\"model.isSuggestionsOpen\"\n [id]=\"getPendoId('aiSuggestedPrompts')\"\n [class.disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts; let i = index\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [id]=\"getPendoId('aiPromptButton-' + i)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\"\n [id]=\"getPendoId('aiMessageInput')\"\n [showStartOverButton]=\"config.showStartOverButton\"\n [startOverDisabled]=\"false\"\n [startOverButtonId]=\"getPendoId('aiStartOverButton')\"\n [startOverButtonTitle]=\"'Start Again'\"\n (startOverClicked)=\"onStartOverClick()\"\n [showUndoRedoButtons]=\"config.showUndoRedoButtons\"\n [undoDisabled]=\"config.undoDisabled\"\n [undoButtonId]=\"getPendoId('aiUndoButton')\"\n (undoClicked)=\"onUndoClick()\"\n [redoDisabled]=\"config.redoDisabled\"\n [redoButtonId]=\"getPendoId('aiRedoButton')\"\n (redoClicked)=\"onRedoClick()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.toolTipV2 .tooltip{max-width:none!important;width:auto!important}.toolTipV2 .tooltip .tooltip-inner{background-color:#565656!important;padding:8px 15px;border-radius:.625rem;max-width:none!important;width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;font-size:12px;color:#fff;white-space:nowrap}.toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-container>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){position:absolute!important;top:50%!important;left:-48px!important;transform:translateY(-50%)!important;z-index:10001!important;width:48px!important;height:48px!important;display:block!important}.ai-drawer-container.open>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){left:-35px!important}.ai-drawer-container .toolTipV2 .tooltip .tooltip-inner{background-color:#565656;padding:8px 15px;border-radius:.625rem;max-width:250px;font-size:12px;color:#fff;width:-webkit-max-content;width:-moz-max-content;width:max-content}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-edge-toggle{position:relative;top:0;left:0;transform:none;width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:.625rem .9375rem;border-bottom:1px solid #D2D8E5;background-color:#c5aeff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:18px;color:#000;text-align:center}.ai-drawer-header .ai-drawer-title-highlight{font-weight:700}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px;background:linear-gradient(90deg,#a21aff,#351cc1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-suggested-prompts-section{border-top:1px solid #E4E7EF;background-color:#f1f2f5;margin-bottom:0;position:relative;min-height:48px}.ai-prompts-intro-row{position:relative;padding:12px 14px 0;display:flex;align-items:center}.ai-prompts-intro-row .ai-prompts-intro{margin:0 auto;padding:0;font-size:.875rem;color:#5b6d80;line-height:1.4;text-align:center;position:relative;max-width:calc(100% - 60px);display:block}.ai-prompts-intro-row .ai-suggestions-toggle-compact{right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#fff;color:#712ace;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;box-shadow:0 1px 4px rgba(80,0,120,.04);font-size:15px;padding:0;margin:0}.ai-prompts-intro-row .ai-suggestions-toggle-compact:hover:not(:disabled){background:#f3f0ff;color:#5a21a4}.ai-prompts-intro-row .ai-suggestions-toggle-compact:focus{outline:2px solid #814DFF;outline-offset:2px}.ai-prompts-intro-row .ai-suggestions-toggle-compact:disabled{opacity:.5;cursor:not-allowed}.ai-prompts-intro-row .ai-suggestions-toggle-compact symphony-icon{font-size:15px;transition:transform .2s;transform:rotate(0)}.ai-prompts-intro-row .ai-suggestions-toggle-compact.suggestions-open symphony-icon{transform:rotate(180deg)}.ai-suggested-prompts{position:static;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);opacity:0;padding:1.25rem 1.5625rem;background-color:#f1f2f5}.ai-suggested-prompts.open{max-height:500px;opacity:1}.ai-suggested-prompts.disabled{opacity:.7;pointer-events:none}.ai-suggested-prompts .ai-prompt-button:disabled{cursor:not-allowed;opacity:.7}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px;display:flex}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-suggested-prompts-section+.ai-drawer-footer{padding-top:.3rem;padding-bottom:.9375rem}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"] }]
|
|
185
|
+
args: [{ selector: 'symphony-ai-search-assistant-drawer', encapsulation: ViewEncapsulation.None, template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\"\n [id]=\"getPendoId('aiAssistantDrawer')\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isOpen ? 'Close Tala Assistant' : 'Tala Assisted Messaging'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close Tala Assistant' : 'Open Tala Assistant'\"\n [id]=\"getPendoId('aiAssistantToggle')\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <div class=\"ai-drawer-title sfx-m-0\">\n Build your email with \n <span class=\"ai-drawer-title-highlight\">Tala</span>, Symphony Talent's AI-powered Talent Acquisition Assistant.\n </div>\n </div>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-ai-withoutBorder'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- AI Task Status (Progress Bar and Error Handling) -->\n\n <div \n *ngIf=\"model.aiTaskStatus\"\n class=\"ai-message-wrapper task-status-wrapper\"\n id=\"taskStatusMessage\">\n <symphony-task-status\n [taskStatusModel]=\"model.aiTaskStatus\"\n (cancelTask)=\"onCancelTask()\"\n (retryTask)=\"onRetryTask()\"\n [id]=\"getPendoId('aiTaskStatus')\">\n </symphony-task-status>\n </div>\n </div>\n </div>\n\n <!-- Suggested Prompts Section -->\n <div \n class=\"ai-suggested-prompts-section\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n <div class=\"ai-prompts-intro-row\">\n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n {{ model.isSuggestionsOpen ? 'Here are a few suggested prompts to get you started.' : 'Need help getting started?' }}\n </symphony-paragraph>\n <symphony-tooltip-wrapper\n [tooltipHtml]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [placement]=\"'left'\"\n class=\"toolTipV2\"\n >\n <button\n class=\"ai-suggestions-toggle-compact\"\n [class.suggestions-open]=\"model.isSuggestionsOpen\"\n (click)=\"onToggleSuggestions()\"\n [attr.aria-label]=\"model.isSuggestionsOpen ? 'Hide suggestions' : 'Show suggestions'\"\n [id]=\"getPendoId('aiSuggestionsToggle')\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <symphony-icon [icon]=\"'si-arrow-hide-reveal'\"></symphony-icon>\n </button>\n </symphony-tooltip-wrapper>\n </div>\n <div \n class=\"ai-suggested-prompts\" \n *ngIf=\"model.isSuggestionsOpen\"\n [class.open]=\"model.isSuggestionsOpen\"\n [id]=\"getPendoId('aiSuggestedPrompts')\"\n [class.disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\">\n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts; let i = index\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\"\n [disabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [id]=\"getPendoId('aiPromptButton-' + i)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading || model.aiTaskStatus?.showProgressBar\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\"\n [id]=\"getPendoId('aiMessageInput')\"\n [showStartOverButton]=\"config.showStartOverButton\"\n [startOverDisabled]=\"config.startOverDisabled\"\n [startOverButtonId]=\"getPendoId('aiStartOverButton')\"\n [startOverButtonTitle]=\"'Start Again'\"\n (startOverClicked)=\"onStartOverClick()\"\n [showUndoRedoButtons]=\"config.showUndoRedoButtons\"\n [undoDisabled]=\"config.undoDisabled\"\n [undoButtonId]=\"getPendoId('aiUndoButton')\"\n (undoClicked)=\"onUndoClick()\"\n [redoDisabled]=\"config.redoDisabled\"\n [redoButtonId]=\"getPendoId('aiRedoButton')\"\n (redoClicked)=\"onRedoClick()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.toolTipV2 .tooltip{max-width:none!important;width:auto!important}.toolTipV2 .tooltip .tooltip-inner{background-color:#565656!important;padding:8px 15px;border-radius:.625rem;max-width:none!important;width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;font-size:12px;color:#fff;white-space:nowrap}.toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-container>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){position:absolute!important;top:50%!important;left:-48px!important;transform:translateY(-50%)!important;z-index:10001!important;width:48px!important;height:48px!important;display:block!important}.ai-drawer-container.open>symphony-tooltip-wrapper:has(.ai-drawer-edge-toggle){left:-35px!important}.ai-drawer-container .toolTipV2 .tooltip .tooltip-inner{background-color:#565656;padding:8px 15px;border-radius:.625rem;max-width:250px;font-size:12px;color:#fff;width:-webkit-max-content;width:-moz-max-content;width:max-content}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.top .tooltip-arrow.arrow{border-top-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right{left:5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.right .tooltip-arrow.arrow{border-right-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.bottom .tooltip-arrow.arrow{border-bottom-color:#565656}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left{left:-5px!important}.ai-drawer-container .toolTipV2 .sfx-info-tooltip.item-tooltip.left .tooltip-arrow.arrow{border-left-color:#565656}.ai-drawer-edge-toggle{position:relative;top:0;left:0;transform:none;width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:.625rem .9375rem;border-bottom:1px solid #D2D8E5;background-color:#c5aeff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:18px;color:#000;text-align:center}.ai-drawer-header .ai-drawer-title-highlight{font-weight:700}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px;background:linear-gradient(90deg,#a21aff,#351cc1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-suggested-prompts-section{border-top:1px solid #E4E7EF;background-color:#f1f2f5;margin-bottom:0;position:relative;min-height:48px}.ai-prompts-intro-row{position:relative;padding:12px 14px 0;display:flex;align-items:center}.ai-prompts-intro-row .ai-prompts-intro{margin:0 auto;padding:0;font-size:.875rem;color:#5b6d80;line-height:1.4;text-align:center;position:relative;max-width:calc(100% - 60px);display:block}.ai-prompts-intro-row .ai-suggestions-toggle-compact{right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#fff;color:#712ace;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;box-shadow:0 1px 4px rgba(80,0,120,.04);font-size:15px;padding:0;margin:0}.ai-prompts-intro-row .ai-suggestions-toggle-compact:hover:not(:disabled){background:#f3f0ff;color:#5a21a4}.ai-prompts-intro-row .ai-suggestions-toggle-compact:focus{outline:2px solid #814DFF;outline-offset:2px}.ai-prompts-intro-row .ai-suggestions-toggle-compact:disabled{opacity:.5;cursor:not-allowed}.ai-prompts-intro-row .ai-suggestions-toggle-compact symphony-icon{font-size:15px;transition:transform .2s;transform:rotate(0)}.ai-prompts-intro-row .ai-suggestions-toggle-compact.suggestions-open symphony-icon{transform:rotate(180deg)}.ai-suggested-prompts{position:static;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);opacity:0;padding:1.25rem 1.5625rem;background-color:#f1f2f5}.ai-suggested-prompts.open{max-height:500px;opacity:1}.ai-suggested-prompts.disabled{opacity:.7;pointer-events:none}.ai-suggested-prompts .ai-prompt-button:disabled{cursor:not-allowed;opacity:.7}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px;display:flex}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-suggested-prompts-section+.ai-drawer-footer{padding-top:.3rem;padding-bottom:.9375rem}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"] }]
|
|
186
186
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
|
|
187
187
|
type: Input
|
|
188
188
|
}], config: [{
|
|
@@ -216,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
216
216
|
type: ViewChild,
|
|
217
217
|
args: ['messageInput']
|
|
218
218
|
}] } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0IsU0FBUyxFQUF5QyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVU5SixNQUFNLE9BQU8sZ0NBQWdDO0lBZ0QzQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9DakMsVUFBSyxHQUEyQjtZQUN2QyxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsRUFBRTtZQUNkLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUMzQyxDQUFDO1FBRU8sV0FBTSxHQUE0QjtZQUN6QyxjQUFjLEVBQUUsNkNBQTZDO1lBQzdELFdBQVcsRUFBRSxjQUFjO1lBQzNCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLHNCQUFzQixFQUFFLElBQUk7U0FDN0IsQ0FBQztRQU9RLHFC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QyxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7OzZIQTNNVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyw2cUJDVjdDLGcyT0E0TE87MkZEbExNLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSxxQ0FBcUMsaUJBR2hDLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFVRyxNQUFNO3NCQUFkLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFHRyxhQUFhO3NCQUF0QixNQUFNO2dCQUdHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNDLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBBZnRlclZpZXdDaGVja2VkLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVNlYXJjaEFzc2lzdGFudE1vZGVsLCBDaGF0TWVzc2FnZSwgU3VnZ2VzdGVkUHJvbXB0LCBBSVNlYXJjaEFzc2lzdGFudENvbmZpZywgTWVzc2FnZUV2ZW50IH0gZnJvbSAnLi9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci5tb2RlbCc7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhV2l0aFNlbmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC10ZXh0YXJlYS13aXRoLXNlbmQvaW5wdXQtdGV4dGFyZWEtd2l0aC1zZW5kLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFpLXNlYXJjaC1hc3Npc3RhbnQtZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FpLXNlYXJjaC1hc3Npc3RhbnQtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBSVNlYXJjaEFzc2lzdGFudERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBBSVNlYXJjaEFzc2lzdGFudE1vZGVsID0ge1xuICAgIGlzT3BlbjogZmFsc2UsXG4gICAgbWVzc2FnZXM6IFtdLFxuICAgIHN1Z2dlc3RlZFByb21wdHM6IFtdLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgaW5wdXRWYWx1ZTogJycsXG4gICAgbWF4Q2hhcmFjdGVyTGltaXQ6IDEwMDAsXG4gICAgaXNTdWdnZXN0aW9uc09wZW46IHRydWUgLy8gRGVmYXVsdCB0byBvcGVuXG4gIH07XG5cbiAgQElucHV0KCkgY29uZmlnOiBBSVNlYXJjaEFzc2lzdGFudENvbmZpZyA9IHtcbiAgICB3ZWxjb21lTWVzc2FnZTogJ0hlbGxvLCBJXFwnbSBUYWxhLiBIb3cgY2FuIEkgaGVscCB5b3UgdG9kYXk/JyxcbiAgICBwbGFjZWhvbGRlcjogJ01lc3NhZ2UgVGFsYScsXG4gICAgbWF4TWVzc2FnZXM6IDEwMCxcbiAgICBhdXRvU2Nyb2xsOiB0cnVlLFxuICAgIHNob3dUaW1lc3RhbXBzOiB0cnVlLFxuICAgIGVuYWJsZVN1Z2dlc3RlZFByb21wdHM6IHRydWVcbiAgfTtcblxuICAvKipcbiAgICogQ29udGV4dCBpZGVudGlmaWVyIGZvciBkeW5hbWljIFBlbmRvIElEcyAoZS5nLiwgJ0dlbkFJQnVpbGRlcicsICdFbWFpbENvbXBvc2VyJylcbiAgICogVGhpcyBhbGxvd3MgdGhlIHNhbWUgY29tcG9uZW50IHRvIGhhdmUgZGlmZmVyZW50IFBlbmRvIHRyYWNraW5nIGJhc2VkIG9uIHdoZXJlIGl0J3MgdXNlZFxuICAgKi9cbiAgQElucHV0KCkgY29udGV4dElkPzogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhcnRPdmVyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHVuZG9DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVkb0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gU2ltcGxlIGV2ZW50IG91dHB1dHMgZm9sbG93aW5nIFN5bXBob255IHBhdHRlcm5zXG4gIEBPdXRwdXQoKSBkcmF3ZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwcm9tcHRTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VnZ2VzdGVkUHJvbXB0PigpO1xuICBAT3V0cHV0KCkgbWVzc2FnZVNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lc3NhZ2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcmV0cnlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgLy8gQUkgVGFzayBTdGF0dXMgZXZlbnRzXG4gIEBPdXRwdXQoKSB0YXNrQ2FuY2VsbGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgLy8gU3VnZ2VzdGlvbnMgdG9nZ2xlIGV2ZW50XG4gIEBPdXRwdXQoKSBzdWdnZXN0aW9uc1RvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2hhdENvbnRhaW5lcicpIGNoYXRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnbWVzc2FnZUlucHV0JykgbWVzc2FnZUlucHV0ITogSW5wdXRUZXh0YXJlYVdpdGhTZW5kQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgc2hvdWxkU2Nyb2xsVG9Cb3R0b20gPSBmYWxzZTtcbiAgcHJpdmF0ZSBoYXNBZGRlZFdlbGNvbWVNZXNzYWdlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEFkZCB3ZWxjb21lIG1lc3NhZ2UgaWYgY29uZmlndXJlZCBhbmQgbm8gbWVzc2FnZXMgZXhpc3RcbiAgICB0aGlzLmFkZFdlbGNvbWVNZXNzYWdlSWZOZWVkZWQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG91bGRTY3JvbGxUb0JvdHRvbSAmJiB0aGlzLmNvbmZpZy5hdXRvU2Nyb2xsKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICB0aGlzLnNob3VsZFNjcm9sbFRvQm90dG9tID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeU1lc3NhZ2VJZChpbmRleDogbnVtYmVyLCBtZXNzYWdlOiBDaGF0TWVzc2FnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1lc3NhZ2UuaWQ7XG4gIH1cblxuICBvblRvZ2dsZURyYXdlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmlzT3BlbiA9ICF0aGlzLm1vZGVsLmlzT3BlbjtcbiAgICBpZiAodGhpcy5tb2RlbC5pc09wZW4pIHtcbiAgICAgIC8vIEFkZCB3ZWxjb21lIG1lc3NhZ2UgYXMgZmlyc3QgbWVzc2FnZSBpZiBub3QgYWxyZWFkeSBhZGRlZCBhbmQgbm8gbWVzc2FnZXMgZXhpc3RcbiAgICAgIHRoaXMuYWRkV2VsY29tZU1lc3NhZ2VJZk5lZWRlZCgpO1xuICAgICAgXG4gICAgICAvLyBGb2N1cyB0aGUgaW5wdXQgZmllbGQgd2hlbiBvcGVuaW5nXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZUlucHV0KSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlSW5wdXQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMzAwKTsgLy8gV2FpdCBmb3IgYW5pbWF0aW9uIHRvIGNvbXBsZXRlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJhd2VyQ2xvc2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvblRvZ2dsZVN1Z2dlc3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuaXNTdWdnZXN0aW9uc09wZW4gPSAhdGhpcy5tb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbjtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zVG9nZ2xlZC5lbWl0KHRoaXMubW9kZWwuaXNTdWdnZXN0aW9uc09wZW4pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uUHJvbXB0Q2xpY2socHJvbXB0OiBTdWdnZXN0ZWRQcm9tcHQpOiB2b2lkIHtcbiAgICB0aGlzLnByb21wdFNlbGVjdGVkLmVtaXQocHJvbXB0KTtcbiAgICAvLyBDb3B5IHByb21wdCB0ZXh0IHRvIGlucHV0IGluc3RlYWQgb2YgYXV0by1zZW5kaW5nXG4gICAgdGhpcy5tb2RlbC5pbnB1dFZhbHVlID0gcHJvbXB0LnRleHQ7XG4gICAgdGhpcy5pbnB1dENoYW5nZWQuZW1pdChwcm9tcHQudGV4dCk7XG4gICAgXG4gICAgLy8gRm9jdXMgdGhlIGlucHV0IGZpZWxkIGZvciBiZXR0ZXIgVVhcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VJbnB1dCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VJbnB1dC5jbGVhcigpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG9uU2VuZE1lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubW9kZWwuaW5wdXRWYWx1ZT8udHJpbSgpO1xuICAgIGlmIChtZXNzYWdlICYmICF0aGlzLm1vZGVsLmlzTG9hZGluZyAmJiAhdGhpcy5tb2RlbC5haVRhc2tTdGF0dXM/LnNob3dQcm9ncmVzc0Jhcikge1xuICAgICAgLy8gQ3JlYXRlIGdlbmVyaWMgZXZlbnQgcGF5bG9hZFxuICAgICAgY29uc3QgbWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQgPSB7XG4gICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2UsXG4gICAgICAgIGNvbnRleHQ6IHRoaXMubW9kZWwuY29udGV4dCAvLyBQYXNzIGFueSBjb250ZXh0IGRhdGFcbiAgICAgIH07XG5cbiAgICAgIC8vIENsZWFyIGlucHV0IGltbWVkaWF0ZWx5IGZvciBiZXR0ZXIgVVhcbiAgICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgdGhpcy5tZXNzYWdlSW5wdXQuY2xlYXIoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIC8vIEVtaXQgZXZlbnQgZm9yIHBhcmVudCB0byBoYW5kbGVcbiAgICAgIHRoaXMubWVzc2FnZVNlbnQuZW1pdChtZXNzYWdlRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaW5wdXRDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLy8gQUkgVGFzayBTdGF0dXMgZXZlbnQgaGFuZGxlcnNcbiAgb25DYW5jZWxUYXNrKCk6IHZvaWQge1xuICAgIHRoaXMudGFza0NhbmNlbGxlZC5lbWl0KCk7XG4gIH1cblxuICBvblJldHJ5VGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnJldHJ5Q2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYXRDb250YWluZXIpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNoYXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgZm9ybWF0dGVkIHRpbWUgc3RyaW5nIGZvciBtZXNzYWdlIHRpbWVzdGFtcFxuICAgKi9cbiAgZ2V0TWVzc2FnZVRpbWUodGltZXN0YW1wOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gdHlwZW9mIHRpbWVzdGFtcCA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZSh0aW1lc3RhbXApIDogdGltZXN0YW1wO1xuICAgIFxuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgIG1vbnRoOiAnc2hvcnQnLCBcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICBob3VyMTI6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkaXNwbGF5IHRleHQgZm9yIG1lc3NhZ2Ugc3RhdHVzXG4gICAqL1xuICBnZXRTdGF0dXNUZXh0KHN0YXR1czogJ3BlbmRpbmcnIHwgJ2RlbGl2ZXJlZCcgfCAnZXJyb3InKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0dXNNYXAgPSB7XG4gICAgICAncGVuZGluZyc6ICdTZW5kaW5nLi4uJyxcbiAgICAgICdkZWxpdmVyZWQnOiAnRGVsaXZlcmVkJyxcbiAgICAgICdlcnJvcic6ICdGYWlsZWQgdG8gc2VuZCdcbiAgICB9O1xuICAgIFxuICAgIHJldHVybiBzdGF0dXNNYXBbc3RhdHVzXSB8fCAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBQZW5kbyBJRCB3aXRoIG9wdGlvbmFsIGR5bmFtaWMgY29udGV4dFxuICAgKiBAcGFyYW0gYmFzZUlkIC0gVGhlIGJhc2UgaWRlbnRpZmllciBmb3IgdGhlIGVsZW1lbnRcbiAgICogQHJldHVybnMgQ29tcGxldGUgUGVuZG8gSUQgc3RyaW5nXG4gICAqL1xuICBnZXRQZW5kb0lkKGJhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0SWQgPyBgJHtiYXNlSWR9LSR7dGhpcy5jb250ZXh0SWR9YCA6IGJhc2VJZDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2VsY29tZU1lc3NhZ2VJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQWRkZWRXZWxjb21lTWVzc2FnZSAmJiB0aGlzLm1vZGVsLm1lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmNvbmZpZy53ZWxjb21lTWVzc2FnZSkge1xuICAgICAgdGhpcy5tb2RlbC5tZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgaWQ6ICd3ZWxjb21lLW1lc3NhZ2UnLFxuICAgICAgICBjb250ZW50OiB0aGlzLmNvbmZpZy53ZWxjb21lTWVzc2FnZSxcbiAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgICB0eXBlOiAnYWknXG4gICAgICB9KTtcbiAgICAgIHRoaXMuaGFzQWRkZWRXZWxjb21lTWVzc2FnZSA9IHRydWU7XG4gICAgICB0aGlzLnNob3VsZFNjcm9sbFRvQm90dG9tID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvblN0YXJ0T3ZlckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRPdmVyQ2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBvblVuZG9DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnVuZG9DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUmVkb0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVkb0NsaWNrZWQuZW1pdCgpO1xuICB9XG59IFxuIiwiPCEtLSBEcmF3ZXIgQ29udGFpbmVyIC0tPlxuPGRpdiBcbiAgY2xhc3M9XCJhaS1kcmF3ZXItY29udGFpbmVyXCIgXG4gIFtjbGFzcy5vcGVuXT1cIm1vZGVsLmlzT3BlblwiXG4gIFtpZF09XCJnZXRQZW5kb0lkKCdhaUFzc2lzdGFudERyYXdlcicpXCI+XG4gIFxuICA8IS0tIEVkZ2UgVG9nZ2xlIEJ1dHRvbiAoaW5zaWRlIGRyYXdlciBjb250YWluZXIpIC0tPlxuICA8c3ltcGhvbnktdG9vbHRpcC13cmFwcGVyXG4gICAgW3Rvb2x0aXBIdG1sXT1cIm1vZGVsLmlzT3BlbiA/ICdDbG9zZSBUYWxhIEFzc2lzdGFudCcgOiAnVGFsYSBBc3Npc3RlZCBNZXNzYWdpbmcnXCJcbiAgICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gICAgY2xhc3M9XCJ0b29sVGlwVjJcIlxuICA+XG4gICAgPGJ1dHRvbiBcbiAgICAgIGNsYXNzPVwiYWktZHJhd2VyLWVkZ2UtdG9nZ2xlXCJcbiAgICAgIFtjbGFzcy5kcmF3ZXItb3Blbl09XCJtb2RlbC5pc09wZW5cIlxuICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRHJhd2VyKClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5pc09wZW4gPyAnQ2xvc2UgVGFsYSBBc3Npc3RhbnQnIDogJ09wZW4gVGFsYSBBc3Npc3RhbnQnXCJcbiAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaUFzc2lzdGFudFRvZ2dsZScpXCI+XG4gICAgICA8c3ltcGhvbnktaWNvbiBbaWNvbl09XCJtb2RlbC5pc09wZW4gPyAnc2ktYXJyb3ctbmV4dCcgOiAnc2ktYXJyb3ctcHJldidcIj48L3N5bXBob255LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvc3ltcGhvbnktdG9vbHRpcC13cmFwcGVyPlxuICBcbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJhaS1kcmF3ZXItaGVhZGVyXCIgKm5nSWY9XCJtb2RlbC5pc09wZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWktZHJhd2VyLWhlYWRlclwiICpuZ0lmPVwibW9kZWwuaXNPcGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci10aXRsZSBzZngtbS0wXCI+XG4gICAgICBCdWlsZCB5b3VyIGVtYWlsIHdpdGggXG4gICAgICA8c3BhbiBjbGFzcz1cImFpLWRyYXdlci10aXRsZS1oaWdobGlnaHRcIj5UYWxhPC9zcGFuPiwgU3ltcGhvbnkgVGFsZW50J3MgQUktcG93ZXJlZCBUYWxlbnQgQWNxdWlzaXRpb24gQXNzaXN0YW50LlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBDaGF0IENvbnRhaW5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci1ib2R5XCIgKm5nSWY9XCJtb2RlbC5pc09wZW5cIj5cbiAgICBcbiAgICA8IS0tIE1lc3NhZ2VzIEFyZWEgLS0+XG4gICAgPGRpdiBcbiAgICAgIGNsYXNzPVwiYWktY2hhdC1jb250YWluZXJcIiBcbiAgICAgICNjaGF0Q29udGFpbmVyPlxuICAgICAgXG4gICAgICA8IS0tIE1lc3NhZ2UgTGlzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhaS1tZXNzYWdlLWxpc3Qgc2Z4LW1iLTIwXCI+XG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbW9kZWwubWVzc2FnZXM7IHRyYWNrQnk6IHRyYWNrQnlNZXNzYWdlSWRcIlxuICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS13cmFwcGVyXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLW1lc3NhZ2UtdHlwZV09XCJtZXNzYWdlLnR5cGVcIj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIFRpbWVzdGFtcCBBYm92ZSBNZXNzYWdlIC0tPlxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFpLW1lc3NhZ2UtdGltZXN0YW1wLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93VGltZXN0YW1wc1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhaS1tZXNzYWdlLXRpbWVzdGFtcFwiPlxuICAgICAgICAgICAgICB7eyBnZXRNZXNzYWdlVGltZShtZXNzYWdlLnRpbWVzdGFtcCkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIE1lc3NhZ2UgQnViYmxlIC0tPlxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFpLW1lc3NhZ2UtYnViYmxlXCJcbiAgICAgICAgICAgIFtjbGFzcy51c2VyLW1lc3NhZ2VdPVwibWVzc2FnZS50eXBlID09PSAndXNlcidcIlxuICAgICAgICAgICAgW2NsYXNzLmFpLW1lc3NhZ2VdPVwibWVzc2FnZS50eXBlID09PSAnYWknXCJcbiAgICAgICAgICAgIFtjbGFzcy5zeXN0ZW0tbWVzc2FnZV09XCJtZXNzYWdlLnR5cGUgPT09ICdzeXN0ZW0nXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gQUkgTWVzc2FnZSBJY29uIC0tPlxuICAgICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJhaS1tZXNzYWdlLWljb25cIiBcbiAgICAgICAgICAgICAgKm5nSWY9XCJtZXNzYWdlLnR5cGUgPT09ICdhaSdcIj5cbiAgICAgICAgICAgICAgPHN5bXBob255LWljb24gW2ljb25dPVwiJ3NpLWFpLXdpdGhvdXRCb3JkZXInXCI+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhaS1tZXNzYWdlLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3ltcGhvbnktcGFyYWdyYXBoIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS1jb250ZW50IHNmeC1tLTBcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVzc2FnZS5jb250ZW50IHwgbmV3TGluZVRvQnJcIj5cbiAgICAgICAgICAgICAgPC9zeW1waG9ueS1wYXJhZ3JhcGg+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIE1lc3NhZ2UgU3RhdHVzIChmb3IgdXNlciBtZXNzYWdlcykgLS0+XG4gICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS1zdGF0dXNcIlxuICAgICAgICAgICAgKm5nSWY9XCJtZXNzYWdlLnR5cGUgPT09ICd1c2VyJyAmJiBtZXNzYWdlLnN0YXR1c1wiPlxuICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWktc3RhdHVzLXRleHRcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLWRlbGl2ZXJlZF09XCJtZXNzYWdlLnN0YXR1cyA9PT0gJ2RlbGl2ZXJlZCdcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLXBlbmRpbmddPVwibWVzc2FnZS5zdGF0dXMgPT09ICdwZW5kaW5nJ1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5zdGF0dXMtZXJyb3JdPVwibWVzc2FnZS5zdGF0dXMgPT09ICdlcnJvcidcIj5cbiAgICAgICAgICAgICAge3sgZ2V0U3RhdHVzVGV4dChtZXNzYWdlLnN0YXR1cykgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBBSSBUYXNrIFN0YXR1cyAoUHJvZ3Jlc3MgQmFyIGFuZCBFcnJvciBIYW5kbGluZykgLS0+XG5cbiAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgKm5nSWY9XCJtb2RlbC5haVRhc2tTdGF0dXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJhaS1tZXNzYWdlLXdyYXBwZXIgdGFzay1zdGF0dXMtd3JhcHBlclwiXG4gICAgICAgICAgICBpZD1cInRhc2tTdGF0dXNNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3ltcGhvbnktdGFzay1zdGF0dXNcbiAgICAgICAgICAgICAgW3Rhc2tTdGF0dXNNb2RlbF09XCJtb2RlbC5haVRhc2tTdGF0dXNcIlxuICAgICAgICAgICAgICAoY2FuY2VsVGFzayk9XCJvbkNhbmNlbFRhc2soKVwiXG4gICAgICAgICAgICAgIChyZXRyeVRhc2spPVwib25SZXRyeVRhc2soKVwiXG4gICAgICAgICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVRhc2tTdGF0dXMnKVwiPlxuICAgICAgICAgICAgPC9zeW1waG9ueS10YXNrLXN0YXR1cz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTdWdnZXN0ZWQgUHJvbXB0cyBTZWN0aW9uIC0tPlxuICAgIDxkaXYgXG4gICAgICBjbGFzcz1cImFpLXN1Z2dlc3RlZC1wcm9tcHRzLXNlY3Rpb25cIlxuICAgICAgKm5nSWY9XCJjb25maWcuZW5hYmxlU3VnZ2VzdGVkUHJvbXB0cyAmJiBtb2RlbC5zdWdnZXN0ZWRQcm9tcHRzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhaS1wcm9tcHRzLWludHJvLXJvd1wiPlxuICAgICAgICA8c3ltcGhvbnktcGFyYWdyYXBoIGNsYXNzPVwiYWktcHJvbXB0cy1pbnRybyBzZngtbWItMTVcIj5cbiAgICAgICAgICB7eyBtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbiA/ICdIZXJlIGFyZSBhIGZldyBzdWdnZXN0ZWQgcHJvbXB0cyB0byBnZXQgeW91IHN0YXJ0ZWQuJyA6ICdOZWVkIGhlbHAgZ2V0dGluZyBzdGFydGVkPycgfX1cbiAgICAgICAgPC9zeW1waG9ueS1wYXJhZ3JhcGg+XG4gICAgICAgIDxzeW1waG9ueS10b29sdGlwLXdyYXBwZXJcbiAgICAgICAgICBbdG9vbHRpcEh0bWxdPVwibW9kZWwuaXNTdWdnZXN0aW9uc09wZW4gPyAnSGlkZSBzdWdnZXN0aW9ucycgOiAnU2hvdyBzdWdnZXN0aW9ucydcIlxuICAgICAgICAgIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgICAgICAgICBjbGFzcz1cInRvb2xUaXBWMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFpLXN1Z2dlc3Rpb25zLXRvZ2dsZS1jb21wYWN0XCJcbiAgICAgICAgICAgIFtjbGFzcy5zdWdnZXN0aW9ucy1vcGVuXT1cIm1vZGVsLmlzU3VnZ2VzdGlvbnNPcGVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVN1Z2dlc3Rpb25zKClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbiA/ICdIaWRlIHN1Z2dlc3Rpb25zJyA6ICdTaG93IHN1Z2dlc3Rpb25zJ1wiXG4gICAgICAgICAgICBbaWRdPVwiZ2V0UGVuZG9JZCgnYWlTdWdnZXN0aW9uc1RvZ2dsZScpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbC5pc0xvYWRpbmcgfHwgbW9kZWwuYWlUYXNrU3RhdHVzPy5zaG93UHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgICAgIDxzeW1waG9ueS1pY29uIFtpY29uXT1cIidzaS1hcnJvdy1oaWRlLXJldmVhbCdcIj48L3N5bXBob255LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc3ltcGhvbnktdG9vbHRpcC13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cImFpLXN1Z2dlc3RlZC1wcm9tcHRzXCIgXG4gICAgICAgICpuZ0lmPVwibW9kZWwuaXNTdWdnZXN0aW9uc09wZW5cIlxuICAgICAgICBbY2xhc3Mub3Blbl09XCJtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlblwiXG4gICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVN1Z2dlc3RlZFByb21wdHMnKVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJtb2RlbC5pc0xvYWRpbmcgfHwgbW9kZWwuYWlUYXNrU3RhdHVzPy5zaG93UHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFpLXByb21wdHMtbGlzdFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9tcHQgb2YgbW9kZWwuc3VnZ2VzdGVkUHJvbXB0czsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cImFpLXByb21wdC1idXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJvbXB0Q2xpY2socHJvbXB0KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNMb2FkaW5nIHx8IG1vZGVsLmFpVGFza1N0YXR1cz8uc2hvd1Byb2dyZXNzQmFyXCJcbiAgICAgICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVByb21wdEJ1dHRvbi0nICsgaSlcIj5cbiAgICAgICAgICAgIDxzeW1waG9ueS1pY29uIFxuICAgICAgICAgICAgICAqbmdJZj1cInByb21wdC5pY29uXCIgXG4gICAgICAgICAgICAgIFtpY29uXT1cIidzaS0nICsgcHJvbXB0Lmljb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImFpLXByb21wdC1pY29uXCI+XG4gICAgICAgICAgICA8L3N5bXBob255LWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFpLXByb21wdC10ZXh0XCI+e3sgcHJvbXB0LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRm9vdGVyIC8gSW5wdXQgQXJlYSAtLT5cbiAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci1mb290ZXJcIiAqbmdJZj1cIm1vZGVsLmlzT3BlblwiPlxuICAgIFxuICAgIDwhLS0gSW5wdXQgUm93IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJhaS1pbnB1dC1yb3dcIj5cbiAgICAgIDxzeW1waG9ueS1pbnB1dC10ZXh0YXJlYS13aXRoLXNlbmRcbiAgICAgICAgI21lc3NhZ2VJbnB1dFxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmlucHV0VmFsdWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwibW9kZWwuaXNMb2FkaW5nIHx8IG1vZGVsLmFpVGFza1N0YXR1cz8uc2hvd1Byb2dyZXNzQmFyXCJcbiAgICAgICAgW21heENoYXJhY3RlckxpbWl0XT1cIm1vZGVsLm1heENoYXJhY3RlckxpbWl0XCJcbiAgICAgICAgW3Nob3dDaGFyYWN0ZXJDb3VudF09XCIhIW1vZGVsLm1heENoYXJhY3RlckxpbWl0XCJcbiAgICAgICAgKHNlbmRDbGlja2VkKT1cIm9uU2VuZE1lc3NhZ2UoKVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZWQpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGVudGVyUHJlc3NlZCk9XCJvblNlbmRNZXNzYWdlKClcIlxuICAgICAgICBbaWRdPVwiZ2V0UGVuZG9JZCgnYWlNZXNzYWdlSW5wdXQnKVwiXG4gICAgICAgIFtzaG93U3RhcnRPdmVyQnV0dG9uXT1cImNvbmZpZy5zaG93U3RhcnRPdmVyQnV0dG9uXCJcbiAgICAgICAgW3N0YXJ0T3ZlckRpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgW3N0YXJ0T3ZlckJ1dHRvbklkXT1cImdldFBlbmRvSWQoJ2FpU3RhcnRPdmVyQnV0dG9uJylcIlxuICAgICAgICBbc3RhcnRPdmVyQnV0dG9uVGl0bGVdPVwiJ1N0YXJ0IEFnYWluJ1wiXG4gICAgICAgIChzdGFydE92ZXJDbGlja2VkKT1cIm9uU3RhcnRPdmVyQ2xpY2soKVwiXG4gICAgICAgIFtzaG93VW5kb1JlZG9CdXR0b25zXT1cImNvbmZpZy5zaG93VW5kb1JlZG9CdXR0b25zXCJcbiAgICAgICAgW3VuZG9EaXNhYmxlZF09XCJjb25maWcudW5kb0Rpc2FibGVkXCJcbiAgICAgICAgW3VuZG9CdXR0b25JZF09XCJnZXRQZW5kb0lkKCdhaVVuZG9CdXR0b24nKVwiXG4gICAgICAgICh1bmRvQ2xpY2tlZCk9XCJvblVuZG9DbGljaygpXCJcbiAgICAgICAgW3JlZG9EaXNhYmxlZF09XCJjb25maWcucmVkb0Rpc2FibGVkXCJcbiAgICAgICAgW3JlZG9CdXR0b25JZF09XCJnZXRQZW5kb0lkKCdhaVJlZG9CdXR0b24nKVwiXG4gICAgICAgIChyZWRvQ2xpY2tlZCk9XCJvblJlZG9DbGljaygpXCI+XG4gICAgICA8L3N5bXBob255LWlucHV0LXRleHRhcmVhLXdpdGgtc2VuZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4gIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9vcmdhbmlzbXMvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIvYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0IsU0FBUyxFQUF5QyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVU5SixNQUFNLE9BQU8sZ0NBQWdDO0lBZ0QzQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9DakMsVUFBSyxHQUEyQjtZQUN2QyxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsRUFBRTtZQUNkLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUMzQyxDQUFDO1FBRU8sV0FBTSxHQUE0QjtZQUN6QyxjQUFjLEVBQUUsNkNBQTZDO1lBQzdELFdBQVcsRUFBRSxjQUFjO1lBQzNCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLHNCQUFzQixFQUFFLElBQUk7U0FDN0IsQ0FBQztRQU9RLHFC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QyxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7OzZIQTNNVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyw2cUJDVjdDLG0zT0E0TE87MkZEbExNLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSxxQ0FBcUMsaUJBR2hDLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFVRyxNQUFNO3NCQUFkLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFHRyxhQUFhO3NCQUF0QixNQUFNO2dCQUdHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNDLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBBZnRlclZpZXdDaGVja2VkLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVNlYXJjaEFzc2lzdGFudE1vZGVsLCBDaGF0TWVzc2FnZSwgU3VnZ2VzdGVkUHJvbXB0LCBBSVNlYXJjaEFzc2lzdGFudENvbmZpZywgTWVzc2FnZUV2ZW50IH0gZnJvbSAnLi9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci5tb2RlbCc7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhV2l0aFNlbmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC10ZXh0YXJlYS13aXRoLXNlbmQvaW5wdXQtdGV4dGFyZWEtd2l0aC1zZW5kLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFpLXNlYXJjaC1hc3Npc3RhbnQtZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FpLXNlYXJjaC1hc3Npc3RhbnQtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBSVNlYXJjaEFzc2lzdGFudERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBBSVNlYXJjaEFzc2lzdGFudE1vZGVsID0ge1xuICAgIGlzT3BlbjogZmFsc2UsXG4gICAgbWVzc2FnZXM6IFtdLFxuICAgIHN1Z2dlc3RlZFByb21wdHM6IFtdLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgaW5wdXRWYWx1ZTogJycsXG4gICAgbWF4Q2hhcmFjdGVyTGltaXQ6IDEwMDAsXG4gICAgaXNTdWdnZXN0aW9uc09wZW46IHRydWUgLy8gRGVmYXVsdCB0byBvcGVuXG4gIH07XG5cbiAgQElucHV0KCkgY29uZmlnOiBBSVNlYXJjaEFzc2lzdGFudENvbmZpZyA9IHtcbiAgICB3ZWxjb21lTWVzc2FnZTogJ0hlbGxvLCBJXFwnbSBUYWxhLiBIb3cgY2FuIEkgaGVscCB5b3UgdG9kYXk/JyxcbiAgICBwbGFjZWhvbGRlcjogJ01lc3NhZ2UgVGFsYScsXG4gICAgbWF4TWVzc2FnZXM6IDEwMCxcbiAgICBhdXRvU2Nyb2xsOiB0cnVlLFxuICAgIHNob3dUaW1lc3RhbXBzOiB0cnVlLFxuICAgIGVuYWJsZVN1Z2dlc3RlZFByb21wdHM6IHRydWVcbiAgfTtcblxuICAvKipcbiAgICogQ29udGV4dCBpZGVudGlmaWVyIGZvciBkeW5hbWljIFBlbmRvIElEcyAoZS5nLiwgJ0dlbkFJQnVpbGRlcicsICdFbWFpbENvbXBvc2VyJylcbiAgICogVGhpcyBhbGxvd3MgdGhlIHNhbWUgY29tcG9uZW50IHRvIGhhdmUgZGlmZmVyZW50IFBlbmRvIHRyYWNraW5nIGJhc2VkIG9uIHdoZXJlIGl0J3MgdXNlZFxuICAgKi9cbiAgQElucHV0KCkgY29udGV4dElkPzogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhcnRPdmVyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHVuZG9DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVkb0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gU2ltcGxlIGV2ZW50IG91dHB1dHMgZm9sbG93aW5nIFN5bXBob255IHBhdHRlcm5zXG4gIEBPdXRwdXQoKSBkcmF3ZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwcm9tcHRTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VnZ2VzdGVkUHJvbXB0PigpO1xuICBAT3V0cHV0KCkgbWVzc2FnZVNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lc3NhZ2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcmV0cnlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgLy8gQUkgVGFzayBTdGF0dXMgZXZlbnRzXG4gIEBPdXRwdXQoKSB0YXNrQ2FuY2VsbGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgLy8gU3VnZ2VzdGlvbnMgdG9nZ2xlIGV2ZW50XG4gIEBPdXRwdXQoKSBzdWdnZXN0aW9uc1RvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2hhdENvbnRhaW5lcicpIGNoYXRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnbWVzc2FnZUlucHV0JykgbWVzc2FnZUlucHV0ITogSW5wdXRUZXh0YXJlYVdpdGhTZW5kQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgc2hvdWxkU2Nyb2xsVG9Cb3R0b20gPSBmYWxzZTtcbiAgcHJpdmF0ZSBoYXNBZGRlZFdlbGNvbWVNZXNzYWdlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEFkZCB3ZWxjb21lIG1lc3NhZ2UgaWYgY29uZmlndXJlZCBhbmQgbm8gbWVzc2FnZXMgZXhpc3RcbiAgICB0aGlzLmFkZFdlbGNvbWVNZXNzYWdlSWZOZWVkZWQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG91bGRTY3JvbGxUb0JvdHRvbSAmJiB0aGlzLmNvbmZpZy5hdXRvU2Nyb2xsKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICB0aGlzLnNob3VsZFNjcm9sbFRvQm90dG9tID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeU1lc3NhZ2VJZChpbmRleDogbnVtYmVyLCBtZXNzYWdlOiBDaGF0TWVzc2FnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1lc3NhZ2UuaWQ7XG4gIH1cblxuICBvblRvZ2dsZURyYXdlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmlzT3BlbiA9ICF0aGlzLm1vZGVsLmlzT3BlbjtcbiAgICBpZiAodGhpcy5tb2RlbC5pc09wZW4pIHtcbiAgICAgIC8vIEFkZCB3ZWxjb21lIG1lc3NhZ2UgYXMgZmlyc3QgbWVzc2FnZSBpZiBub3QgYWxyZWFkeSBhZGRlZCBhbmQgbm8gbWVzc2FnZXMgZXhpc3RcbiAgICAgIHRoaXMuYWRkV2VsY29tZU1lc3NhZ2VJZk5lZWRlZCgpO1xuICAgICAgXG4gICAgICAvLyBGb2N1cyB0aGUgaW5wdXQgZmllbGQgd2hlbiBvcGVuaW5nXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZUlucHV0KSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlSW5wdXQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMzAwKTsgLy8gV2FpdCBmb3IgYW5pbWF0aW9uIHRvIGNvbXBsZXRlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJhd2VyQ2xvc2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvblRvZ2dsZVN1Z2dlc3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuaXNTdWdnZXN0aW9uc09wZW4gPSAhdGhpcy5tb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbjtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zVG9nZ2xlZC5lbWl0KHRoaXMubW9kZWwuaXNTdWdnZXN0aW9uc09wZW4pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uUHJvbXB0Q2xpY2socHJvbXB0OiBTdWdnZXN0ZWRQcm9tcHQpOiB2b2lkIHtcbiAgICB0aGlzLnByb21wdFNlbGVjdGVkLmVtaXQocHJvbXB0KTtcbiAgICAvLyBDb3B5IHByb21wdCB0ZXh0IHRvIGlucHV0IGluc3RlYWQgb2YgYXV0by1zZW5kaW5nXG4gICAgdGhpcy5tb2RlbC5pbnB1dFZhbHVlID0gcHJvbXB0LnRleHQ7XG4gICAgdGhpcy5pbnB1dENoYW5nZWQuZW1pdChwcm9tcHQudGV4dCk7XG4gICAgXG4gICAgLy8gRm9jdXMgdGhlIGlucHV0IGZpZWxkIGZvciBiZXR0ZXIgVVhcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VJbnB1dCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VJbnB1dC5jbGVhcigpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG9uU2VuZE1lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubW9kZWwuaW5wdXRWYWx1ZT8udHJpbSgpO1xuICAgIGlmIChtZXNzYWdlICYmICF0aGlzLm1vZGVsLmlzTG9hZGluZyAmJiAhdGhpcy5tb2RlbC5haVRhc2tTdGF0dXM/LnNob3dQcm9ncmVzc0Jhcikge1xuICAgICAgLy8gQ3JlYXRlIGdlbmVyaWMgZXZlbnQgcGF5bG9hZFxuICAgICAgY29uc3QgbWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQgPSB7XG4gICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2UsXG4gICAgICAgIGNvbnRleHQ6IHRoaXMubW9kZWwuY29udGV4dCAvLyBQYXNzIGFueSBjb250ZXh0IGRhdGFcbiAgICAgIH07XG5cbiAgICAgIC8vIENsZWFyIGlucHV0IGltbWVkaWF0ZWx5IGZvciBiZXR0ZXIgVVhcbiAgICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgdGhpcy5tZXNzYWdlSW5wdXQuY2xlYXIoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIC8vIEVtaXQgZXZlbnQgZm9yIHBhcmVudCB0byBoYW5kbGVcbiAgICAgIHRoaXMubWVzc2FnZVNlbnQuZW1pdChtZXNzYWdlRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaW5wdXRDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLy8gQUkgVGFzayBTdGF0dXMgZXZlbnQgaGFuZGxlcnNcbiAgb25DYW5jZWxUYXNrKCk6IHZvaWQge1xuICAgIHRoaXMudGFza0NhbmNlbGxlZC5lbWl0KCk7XG4gIH1cblxuICBvblJldHJ5VGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnJldHJ5Q2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYXRDb250YWluZXIpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNoYXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgZm9ybWF0dGVkIHRpbWUgc3RyaW5nIGZvciBtZXNzYWdlIHRpbWVzdGFtcFxuICAgKi9cbiAgZ2V0TWVzc2FnZVRpbWUodGltZXN0YW1wOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gdHlwZW9mIHRpbWVzdGFtcCA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZSh0aW1lc3RhbXApIDogdGltZXN0YW1wO1xuICAgIFxuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgIG1vbnRoOiAnc2hvcnQnLCBcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICBob3VyMTI6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkaXNwbGF5IHRleHQgZm9yIG1lc3NhZ2Ugc3RhdHVzXG4gICAqL1xuICBnZXRTdGF0dXNUZXh0KHN0YXR1czogJ3BlbmRpbmcnIHwgJ2RlbGl2ZXJlZCcgfCAnZXJyb3InKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0dXNNYXAgPSB7XG4gICAgICAncGVuZGluZyc6ICdTZW5kaW5nLi4uJyxcbiAgICAgICdkZWxpdmVyZWQnOiAnRGVsaXZlcmVkJyxcbiAgICAgICdlcnJvcic6ICdGYWlsZWQgdG8gc2VuZCdcbiAgICB9O1xuICAgIFxuICAgIHJldHVybiBzdGF0dXNNYXBbc3RhdHVzXSB8fCAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBQZW5kbyBJRCB3aXRoIG9wdGlvbmFsIGR5bmFtaWMgY29udGV4dFxuICAgKiBAcGFyYW0gYmFzZUlkIC0gVGhlIGJhc2UgaWRlbnRpZmllciBmb3IgdGhlIGVsZW1lbnRcbiAgICogQHJldHVybnMgQ29tcGxldGUgUGVuZG8gSUQgc3RyaW5nXG4gICAqL1xuICBnZXRQZW5kb0lkKGJhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0SWQgPyBgJHtiYXNlSWR9LSR7dGhpcy5jb250ZXh0SWR9YCA6IGJhc2VJZDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2VsY29tZU1lc3NhZ2VJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQWRkZWRXZWxjb21lTWVzc2FnZSAmJiB0aGlzLm1vZGVsLm1lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmNvbmZpZy53ZWxjb21lTWVzc2FnZSkge1xuICAgICAgdGhpcy5tb2RlbC5tZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgaWQ6ICd3ZWxjb21lLW1lc3NhZ2UnLFxuICAgICAgICBjb250ZW50OiB0aGlzLmNvbmZpZy53ZWxjb21lTWVzc2FnZSxcbiAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgICB0eXBlOiAnYWknXG4gICAgICB9KTtcbiAgICAgIHRoaXMuaGFzQWRkZWRXZWxjb21lTWVzc2FnZSA9IHRydWU7XG4gICAgICB0aGlzLnNob3VsZFNjcm9sbFRvQm90dG9tID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvblN0YXJ0T3ZlckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRPdmVyQ2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBvblVuZG9DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnVuZG9DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUmVkb0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVkb0NsaWNrZWQuZW1pdCgpO1xuICB9XG59IFxuIiwiPCEtLSBEcmF3ZXIgQ29udGFpbmVyIC0tPlxuPGRpdiBcbiAgY2xhc3M9XCJhaS1kcmF3ZXItY29udGFpbmVyXCIgXG4gIFtjbGFzcy5vcGVuXT1cIm1vZGVsLmlzT3BlblwiXG4gIFtpZF09XCJnZXRQZW5kb0lkKCdhaUFzc2lzdGFudERyYXdlcicpXCI+XG4gIFxuICA8IS0tIEVkZ2UgVG9nZ2xlIEJ1dHRvbiAoaW5zaWRlIGRyYXdlciBjb250YWluZXIpIC0tPlxuICA8c3ltcGhvbnktdG9vbHRpcC13cmFwcGVyXG4gICAgW3Rvb2x0aXBIdG1sXT1cIm1vZGVsLmlzT3BlbiA/ICdDbG9zZSBUYWxhIEFzc2lzdGFudCcgOiAnVGFsYSBBc3Npc3RlZCBNZXNzYWdpbmcnXCJcbiAgICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gICAgY2xhc3M9XCJ0b29sVGlwVjJcIlxuICA+XG4gICAgPGJ1dHRvbiBcbiAgICAgIGNsYXNzPVwiYWktZHJhd2VyLWVkZ2UtdG9nZ2xlXCJcbiAgICAgIFtjbGFzcy5kcmF3ZXItb3Blbl09XCJtb2RlbC5pc09wZW5cIlxuICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRHJhd2VyKClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5pc09wZW4gPyAnQ2xvc2UgVGFsYSBBc3Npc3RhbnQnIDogJ09wZW4gVGFsYSBBc3Npc3RhbnQnXCJcbiAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaUFzc2lzdGFudFRvZ2dsZScpXCI+XG4gICAgICA8c3ltcGhvbnktaWNvbiBbaWNvbl09XCJtb2RlbC5pc09wZW4gPyAnc2ktYXJyb3ctbmV4dCcgOiAnc2ktYXJyb3ctcHJldidcIj48L3N5bXBob255LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvc3ltcGhvbnktdG9vbHRpcC13cmFwcGVyPlxuICBcbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJhaS1kcmF3ZXItaGVhZGVyXCIgKm5nSWY9XCJtb2RlbC5pc09wZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWktZHJhd2VyLWhlYWRlclwiICpuZ0lmPVwibW9kZWwuaXNPcGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci10aXRsZSBzZngtbS0wXCI+XG4gICAgICBCdWlsZCB5b3VyIGVtYWlsIHdpdGggXG4gICAgICA8c3BhbiBjbGFzcz1cImFpLWRyYXdlci10aXRsZS1oaWdobGlnaHRcIj5UYWxhPC9zcGFuPiwgU3ltcGhvbnkgVGFsZW50J3MgQUktcG93ZXJlZCBUYWxlbnQgQWNxdWlzaXRpb24gQXNzaXN0YW50LlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBDaGF0IENvbnRhaW5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci1ib2R5XCIgKm5nSWY9XCJtb2RlbC5pc09wZW5cIj5cbiAgICBcbiAgICA8IS0tIE1lc3NhZ2VzIEFyZWEgLS0+XG4gICAgPGRpdiBcbiAgICAgIGNsYXNzPVwiYWktY2hhdC1jb250YWluZXJcIiBcbiAgICAgICNjaGF0Q29udGFpbmVyPlxuICAgICAgXG4gICAgICA8IS0tIE1lc3NhZ2UgTGlzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhaS1tZXNzYWdlLWxpc3Qgc2Z4LW1iLTIwXCI+XG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbW9kZWwubWVzc2FnZXM7IHRyYWNrQnk6IHRyYWNrQnlNZXNzYWdlSWRcIlxuICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS13cmFwcGVyXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLW1lc3NhZ2UtdHlwZV09XCJtZXNzYWdlLnR5cGVcIj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIFRpbWVzdGFtcCBBYm92ZSBNZXNzYWdlIC0tPlxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFpLW1lc3NhZ2UtdGltZXN0YW1wLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93VGltZXN0YW1wc1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhaS1tZXNzYWdlLXRpbWVzdGFtcFwiPlxuICAgICAgICAgICAgICB7eyBnZXRNZXNzYWdlVGltZShtZXNzYWdlLnRpbWVzdGFtcCkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIE1lc3NhZ2UgQnViYmxlIC0tPlxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFpLW1lc3NhZ2UtYnViYmxlXCJcbiAgICAgICAgICAgIFtjbGFzcy51c2VyLW1lc3NhZ2VdPVwibWVzc2FnZS50eXBlID09PSAndXNlcidcIlxuICAgICAgICAgICAgW2NsYXNzLmFpLW1lc3NhZ2VdPVwibWVzc2FnZS50eXBlID09PSAnYWknXCJcbiAgICAgICAgICAgIFtjbGFzcy5zeXN0ZW0tbWVzc2FnZV09XCJtZXNzYWdlLnR5cGUgPT09ICdzeXN0ZW0nXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gQUkgTWVzc2FnZSBJY29uIC0tPlxuICAgICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJhaS1tZXNzYWdlLWljb25cIiBcbiAgICAgICAgICAgICAgKm5nSWY9XCJtZXNzYWdlLnR5cGUgPT09ICdhaSdcIj5cbiAgICAgICAgICAgICAgPHN5bXBob255LWljb24gW2ljb25dPVwiJ3NpLWFpLXdpdGhvdXRCb3JkZXInXCI+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhaS1tZXNzYWdlLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3ltcGhvbnktcGFyYWdyYXBoIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS1jb250ZW50IHNmeC1tLTBcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVzc2FnZS5jb250ZW50IHwgbmV3TGluZVRvQnJcIj5cbiAgICAgICAgICAgICAgPC9zeW1waG9ueS1wYXJhZ3JhcGg+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8IS0tIE1lc3NhZ2UgU3RhdHVzIChmb3IgdXNlciBtZXNzYWdlcykgLS0+XG4gICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzPVwiYWktbWVzc2FnZS1zdGF0dXNcIlxuICAgICAgICAgICAgKm5nSWY9XCJtZXNzYWdlLnR5cGUgPT09ICd1c2VyJyAmJiBtZXNzYWdlLnN0YXR1c1wiPlxuICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWktc3RhdHVzLXRleHRcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLWRlbGl2ZXJlZF09XCJtZXNzYWdlLnN0YXR1cyA9PT0gJ2RlbGl2ZXJlZCdcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLXBlbmRpbmddPVwibWVzc2FnZS5zdGF0dXMgPT09ICdwZW5kaW5nJ1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5zdGF0dXMtZXJyb3JdPVwibWVzc2FnZS5zdGF0dXMgPT09ICdlcnJvcidcIj5cbiAgICAgICAgICAgICAge3sgZ2V0U3RhdHVzVGV4dChtZXNzYWdlLnN0YXR1cykgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBBSSBUYXNrIFN0YXR1cyAoUHJvZ3Jlc3MgQmFyIGFuZCBFcnJvciBIYW5kbGluZykgLS0+XG5cbiAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgKm5nSWY9XCJtb2RlbC5haVRhc2tTdGF0dXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJhaS1tZXNzYWdlLXdyYXBwZXIgdGFzay1zdGF0dXMtd3JhcHBlclwiXG4gICAgICAgICAgICBpZD1cInRhc2tTdGF0dXNNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3ltcGhvbnktdGFzay1zdGF0dXNcbiAgICAgICAgICAgICAgW3Rhc2tTdGF0dXNNb2RlbF09XCJtb2RlbC5haVRhc2tTdGF0dXNcIlxuICAgICAgICAgICAgICAoY2FuY2VsVGFzayk9XCJvbkNhbmNlbFRhc2soKVwiXG4gICAgICAgICAgICAgIChyZXRyeVRhc2spPVwib25SZXRyeVRhc2soKVwiXG4gICAgICAgICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVRhc2tTdGF0dXMnKVwiPlxuICAgICAgICAgICAgPC9zeW1waG9ueS10YXNrLXN0YXR1cz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTdWdnZXN0ZWQgUHJvbXB0cyBTZWN0aW9uIC0tPlxuICAgIDxkaXYgXG4gICAgICBjbGFzcz1cImFpLXN1Z2dlc3RlZC1wcm9tcHRzLXNlY3Rpb25cIlxuICAgICAgKm5nSWY9XCJjb25maWcuZW5hYmxlU3VnZ2VzdGVkUHJvbXB0cyAmJiBtb2RlbC5zdWdnZXN0ZWRQcm9tcHRzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhaS1wcm9tcHRzLWludHJvLXJvd1wiPlxuICAgICAgICA8c3ltcGhvbnktcGFyYWdyYXBoIGNsYXNzPVwiYWktcHJvbXB0cy1pbnRybyBzZngtbWItMTVcIj5cbiAgICAgICAgICB7eyBtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbiA/ICdIZXJlIGFyZSBhIGZldyBzdWdnZXN0ZWQgcHJvbXB0cyB0byBnZXQgeW91IHN0YXJ0ZWQuJyA6ICdOZWVkIGhlbHAgZ2V0dGluZyBzdGFydGVkPycgfX1cbiAgICAgICAgPC9zeW1waG9ueS1wYXJhZ3JhcGg+XG4gICAgICAgIDxzeW1waG9ueS10b29sdGlwLXdyYXBwZXJcbiAgICAgICAgICBbdG9vbHRpcEh0bWxdPVwibW9kZWwuaXNTdWdnZXN0aW9uc09wZW4gPyAnSGlkZSBzdWdnZXN0aW9ucycgOiAnU2hvdyBzdWdnZXN0aW9ucydcIlxuICAgICAgICAgIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgICAgICAgICBjbGFzcz1cInRvb2xUaXBWMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFpLXN1Z2dlc3Rpb25zLXRvZ2dsZS1jb21wYWN0XCJcbiAgICAgICAgICAgIFtjbGFzcy5zdWdnZXN0aW9ucy1vcGVuXT1cIm1vZGVsLmlzU3VnZ2VzdGlvbnNPcGVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVN1Z2dlc3Rpb25zKClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlbiA/ICdIaWRlIHN1Z2dlc3Rpb25zJyA6ICdTaG93IHN1Z2dlc3Rpb25zJ1wiXG4gICAgICAgICAgICBbaWRdPVwiZ2V0UGVuZG9JZCgnYWlTdWdnZXN0aW9uc1RvZ2dsZScpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbC5pc0xvYWRpbmcgfHwgbW9kZWwuYWlUYXNrU3RhdHVzPy5zaG93UHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgICAgIDxzeW1waG9ueS1pY29uIFtpY29uXT1cIidzaS1hcnJvdy1oaWRlLXJldmVhbCdcIj48L3N5bXBob255LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc3ltcGhvbnktdG9vbHRpcC13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cImFpLXN1Z2dlc3RlZC1wcm9tcHRzXCIgXG4gICAgICAgICpuZ0lmPVwibW9kZWwuaXNTdWdnZXN0aW9uc09wZW5cIlxuICAgICAgICBbY2xhc3Mub3Blbl09XCJtb2RlbC5pc1N1Z2dlc3Rpb25zT3BlblwiXG4gICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVN1Z2dlc3RlZFByb21wdHMnKVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJtb2RlbC5pc0xvYWRpbmcgfHwgbW9kZWwuYWlUYXNrU3RhdHVzPy5zaG93UHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFpLXByb21wdHMtbGlzdFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9tcHQgb2YgbW9kZWwuc3VnZ2VzdGVkUHJvbXB0czsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cImFpLXByb21wdC1idXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJvbXB0Q2xpY2socHJvbXB0KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNMb2FkaW5nIHx8IG1vZGVsLmFpVGFza1N0YXR1cz8uc2hvd1Byb2dyZXNzQmFyXCJcbiAgICAgICAgICAgIFtpZF09XCJnZXRQZW5kb0lkKCdhaVByb21wdEJ1dHRvbi0nICsgaSlcIj5cbiAgICAgICAgICAgIDxzeW1waG9ueS1pY29uIFxuICAgICAgICAgICAgICAqbmdJZj1cInByb21wdC5pY29uXCIgXG4gICAgICAgICAgICAgIFtpY29uXT1cIidzaS0nICsgcHJvbXB0Lmljb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImFpLXByb21wdC1pY29uXCI+XG4gICAgICAgICAgICA8L3N5bXBob255LWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFpLXByb21wdC10ZXh0XCI+e3sgcHJvbXB0LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRm9vdGVyIC8gSW5wdXQgQXJlYSAtLT5cbiAgPGRpdiBjbGFzcz1cImFpLWRyYXdlci1mb290ZXJcIiAqbmdJZj1cIm1vZGVsLmlzT3BlblwiPlxuICAgIFxuICAgIDwhLS0gSW5wdXQgUm93IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJhaS1pbnB1dC1yb3dcIj5cbiAgICAgIDxzeW1waG9ueS1pbnB1dC10ZXh0YXJlYS13aXRoLXNlbmRcbiAgICAgICAgI21lc3NhZ2VJbnB1dFxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmlucHV0VmFsdWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwibW9kZWwuaXNMb2FkaW5nIHx8IG1vZGVsLmFpVGFza1N0YXR1cz8uc2hvd1Byb2dyZXNzQmFyXCJcbiAgICAgICAgW21heENoYXJhY3RlckxpbWl0XT1cIm1vZGVsLm1heENoYXJhY3RlckxpbWl0XCJcbiAgICAgICAgW3Nob3dDaGFyYWN0ZXJDb3VudF09XCIhIW1vZGVsLm1heENoYXJhY3RlckxpbWl0XCJcbiAgICAgICAgKHNlbmRDbGlja2VkKT1cIm9uU2VuZE1lc3NhZ2UoKVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZWQpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGVudGVyUHJlc3NlZCk9XCJvblNlbmRNZXNzYWdlKClcIlxuICAgICAgICBbaWRdPVwiZ2V0UGVuZG9JZCgnYWlNZXNzYWdlSW5wdXQnKVwiXG4gICAgICAgIFtzaG93U3RhcnRPdmVyQnV0dG9uXT1cImNvbmZpZy5zaG93U3RhcnRPdmVyQnV0dG9uXCJcbiAgICAgICAgW3N0YXJ0T3ZlckRpc2FibGVkXT1cImNvbmZpZy5zdGFydE92ZXJEaXNhYmxlZFwiXG4gICAgICAgIFtzdGFydE92ZXJCdXR0b25JZF09XCJnZXRQZW5kb0lkKCdhaVN0YXJ0T3ZlckJ1dHRvbicpXCJcbiAgICAgICAgW3N0YXJ0T3ZlckJ1dHRvblRpdGxlXT1cIidTdGFydCBBZ2FpbidcIlxuICAgICAgICAoc3RhcnRPdmVyQ2xpY2tlZCk9XCJvblN0YXJ0T3ZlckNsaWNrKClcIlxuICAgICAgICBbc2hvd1VuZG9SZWRvQnV0dG9uc109XCJjb25maWcuc2hvd1VuZG9SZWRvQnV0dG9uc1wiXG4gICAgICAgIFt1bmRvRGlzYWJsZWRdPVwiY29uZmlnLnVuZG9EaXNhYmxlZFwiXG4gICAgICAgIFt1bmRvQnV0dG9uSWRdPVwiZ2V0UGVuZG9JZCgnYWlVbmRvQnV0dG9uJylcIlxuICAgICAgICAodW5kb0NsaWNrZWQpPVwib25VbmRvQ2xpY2soKVwiXG4gICAgICAgIFtyZWRvRGlzYWJsZWRdPVwiY29uZmlnLnJlZG9EaXNhYmxlZFwiXG4gICAgICAgIFtyZWRvQnV0dG9uSWRdPVwiZ2V0UGVuZG9JZCgnYWlSZWRvQnV0dG9uJylcIlxuICAgICAgICAocmVkb0NsaWNrZWQpPVwib25SZWRvQ2xpY2soKVwiPlxuICAgICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0YXJlYS13aXRoLXNlbmQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+ICJdfQ==
|
package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL29yZ2FuaXNtcy9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFza1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Rhc2stc3RhdHVzL3Rhc2stc3RhdHVzLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0TWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6ICd1c2VyJyB8ICdhaScgfCAnc3lzdGVtJztcbiAgY29udGVudDogc3RyaW5nO1xuICB0aW1lc3RhbXA6IERhdGUgfCBzdHJpbmc7XG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdkZWxpdmVyZWQnIHwgJ2Vycm9yJztcbiAgLy8gR2VuZXJpYyBmaWVsZHMgZm9yIGFueSBBUEkgaW50ZWdyYXRpb25cbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3RlZFByb21wdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgLy8gR2VuZXJpYyBtZXRhZGF0YSBmb3IgYW55IHByb21wdCBzeXN0ZW1cbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbkluZm8ge1xuICBpZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBEYXRlIHwgc3RyaW5nO1xuICBzdGF0dXM6ICdwZW5kaW5nJyB8ICdkZWxpdmVyZWQnIHwgJ2Vycm9yJztcbiAgcmVuZGVyU3RhdHVzPzogYm9vbGVhbjtcbiAgbGFzdE1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVNlYXJjaEFzc2lzdGFudE1vZGVsIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBtZXNzYWdlczogQ2hhdE1lc3NhZ2VbXTtcbiAgc3VnZ2VzdGVkUHJvbXB0czogU3VnZ2VzdGVkUHJvbXB0W107XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaW5wdXRWYWx1ZT86IHN0cmluZztcbiAgbWF4Q2hhcmFjdGVyTGltaXQ/OiBudW1iZXI7XG4gIC8vIEFJIFRhc2sgU3RhdHVzIGZvciBwcm9ncmVzcyB0cmFja2luZyBhbmQgZXJyb3IgaGFuZGxpbmdcbiAgYWlUYXNrU3RhdHVzPzogVGFza1N0YXR1c01vZGVsO1xuICAvLyBTdWdnZXN0aW9ucyB0b2dnbGUgc3RhdGVcbiAgaXNTdWdnZXN0aW9uc09wZW4/OiBib29sZWFuO1xuICAvLyBHZW5lcmljIGNvbnRleHQgdGhhdCBjYW4gaG9sZCBhbnkgZGF0YSBzdHJ1Y3R1cmVcbiAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlTZWFyY2hBc3Npc3RhbnRDb25maWcge1xuICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1heE1lc3NhZ2VzPzogbnVtYmVyO1xuICBhdXRvU2Nyb2xsPzogYm9vbGVhbjtcbiAgc2hvd1RpbWVzdGFtcHM/OiBib29sZWFuO1xuICBlbmFibGVTdWdnZXN0ZWRQcm9tcHRzPzogYm9vbGVhbjtcbiAgLy8gR2VuZXJpYyBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgZmVhdHVyZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgc2hvd1N0YXJ0T3ZlckJ1dHRvbj86IGJvb2xlYW47XG4gIHNob3dVbmRvUmVkb0J1dHRvbnM/OiBib29sZWFuO1xuICB1bmRvRGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWRvRGlzYWJsZWQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktc2VhcmNoLWFzc2lzdGFudC1kcmF3ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL29yZ2FuaXNtcy9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci9haS1zZWFyY2gtYXNzaXN0YW50LWRyYXdlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFza1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Rhc2stc3RhdHVzL3Rhc2stc3RhdHVzLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0TWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6ICd1c2VyJyB8ICdhaScgfCAnc3lzdGVtJztcbiAgY29udGVudDogc3RyaW5nO1xuICB0aW1lc3RhbXA6IERhdGUgfCBzdHJpbmc7XG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdkZWxpdmVyZWQnIHwgJ2Vycm9yJztcbiAgLy8gR2VuZXJpYyBmaWVsZHMgZm9yIGFueSBBUEkgaW50ZWdyYXRpb25cbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3RlZFByb21wdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgLy8gR2VuZXJpYyBtZXRhZGF0YSBmb3IgYW55IHByb21wdCBzeXN0ZW1cbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbkluZm8ge1xuICBpZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBEYXRlIHwgc3RyaW5nO1xuICBzdGF0dXM6ICdwZW5kaW5nJyB8ICdkZWxpdmVyZWQnIHwgJ2Vycm9yJztcbiAgcmVuZGVyU3RhdHVzPzogYm9vbGVhbjtcbiAgbGFzdE1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVNlYXJjaEFzc2lzdGFudE1vZGVsIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBtZXNzYWdlczogQ2hhdE1lc3NhZ2VbXTtcbiAgc3VnZ2VzdGVkUHJvbXB0czogU3VnZ2VzdGVkUHJvbXB0W107XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaW5wdXRWYWx1ZT86IHN0cmluZztcbiAgbWF4Q2hhcmFjdGVyTGltaXQ/OiBudW1iZXI7XG4gIC8vIEFJIFRhc2sgU3RhdHVzIGZvciBwcm9ncmVzcyB0cmFja2luZyBhbmQgZXJyb3IgaGFuZGxpbmdcbiAgYWlUYXNrU3RhdHVzPzogVGFza1N0YXR1c01vZGVsO1xuICAvLyBTdWdnZXN0aW9ucyB0b2dnbGUgc3RhdGVcbiAgaXNTdWdnZXN0aW9uc09wZW4/OiBib29sZWFuO1xuICAvLyBHZW5lcmljIGNvbnRleHQgdGhhdCBjYW4gaG9sZCBhbnkgZGF0YSBzdHJ1Y3R1cmVcbiAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlTZWFyY2hBc3Npc3RhbnRDb25maWcge1xuICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1heE1lc3NhZ2VzPzogbnVtYmVyO1xuICBhdXRvU2Nyb2xsPzogYm9vbGVhbjtcbiAgc2hvd1RpbWVzdGFtcHM/OiBib29sZWFuO1xuICBlbmFibGVTdWdnZXN0ZWRQcm9tcHRzPzogYm9vbGVhbjtcbiAgLy8gR2VuZXJpYyBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgZmVhdHVyZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgc2hvd1N0YXJ0T3ZlckJ1dHRvbj86IGJvb2xlYW47XG4gIHNob3dVbmRvUmVkb0J1dHRvbnM/OiBib29sZWFuO1xuICB1bmRvRGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWRvRGlzYWJsZWQ/OiBib29sZWFuO1xuICBzdGFydE92ZXJEaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbi8vIEdlbmVyaWMgZXZlbnQgcGF5bG9hZCBpbnRlcmZhY2VzXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VFdmVudCB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uRXZlbnQge1xuICBhY3Rpb246IHN0cmluZztcbiAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlVHlwZSA9ICd1c2VyJyB8ICdhaScgfCAnc3lzdGVtJztcbmV4cG9ydCB0eXBlIE1lc3NhZ2VTdGF0dXMgPSAncGVuZGluZycgfCAnZGVsaXZlcmVkJyB8ICdlcnJvcic7ICJdfQ==
|