@projectcor/maia-components 2.11.65-23 → 2.11.65-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/Chip/Chip.js +3 -4
- package/lib/components/atoms/Chip/styles.js +3 -3
- package/lib/components/atoms/MAIAInput/MAIAInput.js +11 -26
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +46 -295
- package/lib/components/molecules/ChatAIHome/styles.js +26 -63
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +120 -20
- package/lib/components/molecules/ChatAIMessages/newStyles.js +9 -19
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +40 -213
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +2 -27
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +6 -5
- package/lib/components/molecules/ChatFooter/ChatFooter.js +51 -24
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +7 -22
- package/lib/components/molecules/ChatFooter/styles.js +4 -4
- package/lib/components/molecules/Sidebar/Sidebar.js +5 -5
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +7 -6
- package/lib/constants/taskUrls.js +1 -3
- package/lib/hooks/index.js +1 -2
- package/lib/hooks/useChatManager/useChatManager.js +67 -89
- package/lib/hooks/useChatMessages/useChatMessages.js +2 -20
- package/lib/hooks/useEvent.js +1 -2
- package/lib/hooks/useFrequentlyAskedQuestions.js +10 -12
- package/lib/hooks/useFrequentlyUsedActions.js +3 -5
- package/lib/lang/br/index.js +3 -22
- package/lib/lang/en/index.js +3 -22
- package/lib/lang/es/index.js +3 -22
- package/lib/lang/fr/index.js +3 -22
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +3 -6
- package/lib/services/maia/Agents/getAgents.js +98 -170
- package/lib/services/maia/Chats/getChatMessages.js +1 -3
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +4 -6
- package/lib/services/maia/index.js +2 -4
- package/lib/types/agent.js +1 -1
- package/lib/utils/agentDisplayName.js +1 -9
- package/lib/utils/renderContextMentions.js +1 -3
- package/package.json +1 -1
- package/lib/hooks/useRecentContexts.js +0 -86
- package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
- package/lib/services/maia/RecentContexts/index.js +0 -6
- package/lib/utils/entityLinkRender.js +0 -132
|
@@ -6,10 +6,10 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
6
6
|
/* eslint-disable no-unused-vars */
|
|
7
7
|
/* eslint-disable no-undef */
|
|
8
8
|
/* eslint-disable react/require-default-props */
|
|
9
|
-
import { useMemo, useRef, useState, useEffect } from 'react';
|
|
9
|
+
import { useCallback, useMemo, useRef, useState, useEffect } from 'react';
|
|
10
|
+
import { createPortal } from 'react-dom';
|
|
10
11
|
import { Attach } from '@projectcor/icons/lib/components/Attach';
|
|
11
|
-
import {
|
|
12
|
-
import { ListChecklist } from '@projectcor/icons/lib/components/ListChecklist';
|
|
12
|
+
import { Plus } from '@projectcor/icons/lib/components/Plus';
|
|
13
13
|
import { MODAL_ELEMENTS } from '../../../hooks/useModal/useModal';
|
|
14
14
|
import { Chip } from '../../atoms/Chip';
|
|
15
15
|
// eslint-disable-next-line import/no-cycle
|
|
@@ -18,7 +18,9 @@ import { ChatFooterFaqs } from './ChatFooterFaqs';
|
|
|
18
18
|
import { useGlobalContext } from '../../../context/global-context';
|
|
19
19
|
import { useT } from '../../../hooks/useT';
|
|
20
20
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
21
|
-
|
|
21
|
+
// eslint-disable-next-line import/no-cycle
|
|
22
|
+
import { useContextPinPopover } from '../../../hooks/useContextPinPopover';
|
|
23
|
+
import { StyledChatFooter, ChipsAndFaqsRow, ContextBarLeft, AddContextButton } from './styles';
|
|
22
24
|
import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
|
|
23
25
|
import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
|
|
24
26
|
import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
|
|
@@ -64,13 +66,25 @@ export function ChatFooter(_ref) {
|
|
|
64
66
|
chipsProject = _useGlobalContext.chipsProject,
|
|
65
67
|
client = _useGlobalContext.client,
|
|
66
68
|
task = _useGlobalContext.task,
|
|
67
|
-
section = _useGlobalContext.section
|
|
69
|
+
section = _useGlobalContext.section,
|
|
70
|
+
setProject = _useGlobalContext.setProject,
|
|
71
|
+
setClient = _useGlobalContext.setClient,
|
|
72
|
+
setTask = _useGlobalContext.setTask,
|
|
73
|
+
setChipsProject = _useGlobalContext.setChipsProject;
|
|
68
74
|
var _useT = useT(),
|
|
69
75
|
t = _useT.t;
|
|
70
76
|
var event = useEvent();
|
|
77
|
+
var pinButtonRef = useRef(null);
|
|
71
78
|
var inputPopoverAnchorRef = useRef(null);
|
|
72
79
|
var contextBarAnchorRef = useRef(null);
|
|
73
80
|
var isOrchestrator = (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
|
|
81
|
+
var _useContextPinPopover = useContextPinPopover({
|
|
82
|
+
popoverAnchorRef: inputPopoverAnchorRef,
|
|
83
|
+
topAnchorRef: contextBarAnchorRef,
|
|
84
|
+
triggerRef: pinButtonRef
|
|
85
|
+
}),
|
|
86
|
+
togglePin = _useContextPinPopover.toggle,
|
|
87
|
+
pinPopoverNode = _useContextPinPopover.popoverNode;
|
|
74
88
|
var _useState = useState([]),
|
|
75
89
|
_useState2 = _slicedToArray(_useState, 2),
|
|
76
90
|
attachments = _useState2[0],
|
|
@@ -150,6 +164,14 @@ export function ChatFooter(_ref) {
|
|
|
150
164
|
}, [items, project, chipsProject, agent === null || agent === void 0 ? void 0 : agent.entity, agent === null || agent === void 0 ? void 0 : agent.type, client, task === null || task === void 0 ? void 0 : task.name]),
|
|
151
165
|
chipItems = _useMemo.chipItems,
|
|
152
166
|
chipType = _useMemo.chipType;
|
|
167
|
+
|
|
168
|
+
// Quitar el pin ⇒ modo global, sin redirect (el orquestador no pasa por el gate de selectores). RFC §8.
|
|
169
|
+
var handleRemoveContext = useCallback(function () {
|
|
170
|
+
setProject(null);
|
|
171
|
+
setClient === null || setClient === void 0 || setClient(null);
|
|
172
|
+
setTask(null);
|
|
173
|
+
setChipsProject(null);
|
|
174
|
+
}, [setProject, setClient, setTask, setChipsProject]);
|
|
153
175
|
var onChange = function onChange() {
|
|
154
176
|
if (reportedEvent.current) return;
|
|
155
177
|
event(EVENTS.pmAiTypedText, {
|
|
@@ -285,30 +307,35 @@ export function ChatFooter(_ref) {
|
|
|
285
307
|
return /*#__PURE__*/_jsxs(StyledChatFooter, {
|
|
286
308
|
children: [isMAIA && !loadingMessages && /*#__PURE__*/_jsxs(ChipsAndFaqsRow, {
|
|
287
309
|
ref: contextBarAnchorRef,
|
|
288
|
-
children: [/*#__PURE__*/
|
|
289
|
-
children: chipItems.length
|
|
310
|
+
children: [/*#__PURE__*/_jsxs(ContextBarLeft, {
|
|
311
|
+
children: [!!chipItems.length && /*#__PURE__*/_jsx(Chip, {
|
|
290
312
|
items: chipItems,
|
|
291
313
|
type: chipType,
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
314
|
+
onRemove: isOrchestrator ? handleRemoveContext : undefined,
|
|
315
|
+
removeLabel: t('contextPin.remove', {
|
|
316
|
+
defaultValue: 'Quitar contexto'
|
|
317
|
+
}),
|
|
318
|
+
tooltip: isOrchestrator ? t('chat.activity.dynamicContextTooltip') : undefined,
|
|
319
|
+
tooltipZIndex: tooltipZIndex
|
|
320
|
+
}), isOrchestrator && /*#__PURE__*/_jsxs(AddContextButton, {
|
|
321
|
+
ref: pinButtonRef,
|
|
322
|
+
type: "button",
|
|
323
|
+
onClick: togglePin,
|
|
324
|
+
children: [/*#__PURE__*/_jsx(Plus, {
|
|
325
|
+
color: "currentColor",
|
|
326
|
+
width: 14,
|
|
327
|
+
height: 14
|
|
328
|
+
}), !chipItems.length && /*#__PURE__*/_jsx("span", {
|
|
329
|
+
children: t('contextPin.addContext', {
|
|
330
|
+
defaultValue: 'Contexto'
|
|
331
|
+
})
|
|
332
|
+
})]
|
|
333
|
+
})]
|
|
307
334
|
}), shouldShowFaqs && /*#__PURE__*/_jsx(ChatFooterFaqs, {
|
|
308
335
|
onSelectFaq: handleSelectFaq,
|
|
309
336
|
disabled: isFaqInteractionDisabled
|
|
310
337
|
})]
|
|
311
|
-
}), /*#__PURE__*/_jsx(MAIAInput, {
|
|
338
|
+
}), pinPopoverNode && /*#__PURE__*/createPortal(pinPopoverNode, document.body), /*#__PURE__*/_jsx(MAIAInput, {
|
|
312
339
|
popoverAnchorRef: inputPopoverAnchorRef,
|
|
313
340
|
onSendMessage: handleSendMessage,
|
|
314
341
|
className: MODAL_ELEMENTS,
|
|
@@ -341,4 +368,4 @@ export function ChatFooter(_ref) {
|
|
|
341
368
|
})]
|
|
342
369
|
});
|
|
343
370
|
}
|
|
344
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJHbG9iZSIsIkxpc3RDaGVja2xpc3QiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiQ2hpcHNBbmRGYXFzUm93IiwiQ29udGV4dEJhckxlZnQiLCJDc3ZGaWxlSWNvbiIsIk1ERmlsZUljb24iLCJEb2NGaWxlSWNvbiIsIkRvY3hGaWxlSWNvbiIsIlRleHRGaWxlSWNvbiIsIlBkZkZpbGVJY29uIiwiSW1hZ2VGaWxlSWNvbiIsIlhsc3hGaWxlSWNvbiIsIlhsc0ZpbGVJY29uIiwiTXAzRmlsZUljb24iLCJXYXZGaWxlSWNvbiIsIkZsYWNGaWxlSWNvbiIsIk00YUZpbGVJY29uIiwiTXA0RmlsZUljb24iLCJPZ2FGaWxlSWNvbiIsIk9nZ0ZpbGVJY29uIiwiV2VibUZpbGVJY29uIiwiSW1hZ2VQcmV2aWV3IiwicHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCIsInZhbGlkYXRlSXNNYWlhIiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJ0b29sdGlwWkluZGV4IiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJ0YXNrIiwic2VjdGlvbiIsIl91c2VUIiwidCIsImV2ZW50IiwiaW5wdXRQb3BvdmVyQW5jaG9yUmVmIiwiY29udGV4dEJhckFuY2hvclJlZiIsImlzT3JjaGVzdHJhdG9yIiwidHlwZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImF0dGFjaG1lbnRzIiwic2V0QXR0YWNobWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdNZXNzYWdlcyIsInNldExvYWRpbmdNZXNzYWdlcyIsInJlcG9ydGVkRXZlbnQiLCJpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQiLCJlbnRpdHkiLCJ0ZXN0IiwibmFtZSIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsIl91c2VNZW1vIiwiY2hpcEl0ZW1zIiwiY2hpcFR5cGUiLCJwcm9qZWN0TmFtZSIsIm9uQ2hhbmdlIiwiY3VycmVudCIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJtZXNzYWdlIiwibmV3QXR0YWNobWVudHMiLCJtZW50aW9ucyIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJmdWFJZCIsInNjSWQiLCJhaUNoYXRTZW5kIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJCb29sZWFuIiwic2hvdWxkU2hvd0ZhcXMiLCJjaGlsZHJlbiIsInJlZiIsImxlYWRpbmdJY29uIiwiZGVmYXVsdFZhbHVlIiwib25TZWxlY3RGYXEiLCJwb3BvdmVyQW5jaG9yUmVmIiwiY2xhc3NOYW1lIiwicGxhY2Vob2xkZXIiLCJpbnB1dF9wbGFjZWhvbGRlciIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsImF0dCIsIm1hcCIsIk51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBBdHRhY2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BdHRhY2gnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgTGlzdENoZWNrbGlzdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0xpc3RDaGVja2xpc3QnXG5pbXBvcnQgeyBNT0RBTF9FTEVNRU5UUyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1vZGFsL3VzZU1vZGFsJ1xuXG5pbXBvcnQgeyBDaGlwIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2hpcCdcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IE1BSUFJbnB1dCB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFJbnB1dCdcbmltcG9ydCB7IENoYXRGb290ZXJGYXFzIH0gZnJvbSAnLi9DaGF0Rm9vdGVyRmFxcydcblxuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgU3R5bGVkQ2hhdEZvb3RlciwgQ2hpcHNBbmRGYXFzUm93LCBDb250ZXh0QmFyTGVmdCB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHtcbiAgQ3N2RmlsZUljb24sXG4gIE1ERmlsZUljb24sXG4gIERvY0ZpbGVJY29uLFxuICBEb2N4RmlsZUljb24sXG4gIFRleHRGaWxlSWNvbixcbiAgUGRmRmlsZUljb24sXG4gIEltYWdlRmlsZUljb24sXG4gIFhsc3hGaWxlSWNvbixcbiAgWGxzRmlsZUljb24sXG4gIE1wM0ZpbGVJY29uLFxuICBXYXZGaWxlSWNvbixcbiAgRmxhY0ZpbGVJY29uLFxuICBNNGFGaWxlSWNvbixcbiAgTXA0RmlsZUljb24sXG4gIE9nYUZpbGVJY29uLFxuICBPZ2dGaWxlSWNvbixcbiAgV2VibUZpbGVJY29uLFxufSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEltYWdlUHJldmlldyB9IGZyb20gJy4uLy4uL2F0b21zL0ltYWdlUHJldmlldy9JbWFnZVByZXZpZXcnXG5pbXBvcnQgeyBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1hZ2VQcmVwcm9jZXNzb3InXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoYXREaXNjbGFpbWVyTWVzc2FnZSB9IGZyb20gJy4uLy4uL2F0b21zL0NoYXREaXNjbGFpbWVyTWVzc2FnZSdcblxuZXhwb3J0IHR5cGUgQXR0YWNobWVudEZpbGUgPSB7XG4gIGZpbGU6IEZpbGVcbiAgb3JpZ2luYWxGaWxlPzogRmlsZVxuICB1cmxfdGh1bWJuYWlsPzogc3RyaW5nXG4gIHVybF9vcmlnaW5hbD86IHN0cmluZ1xuICB1cmxfZmlsZT86IHN0cmluZ1xuICByb2xlPzogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2l6ZTogbnVtYmVyXG4gIHR5cGU6IHN0cmluZ1xuICBpY29uPzogUmVhY3ROb2RlXG4gIGV4dD86IHN0cmluZ1xuICBzdGF0dXM/OiAncGVuZGluZycgfCAncHJvY2Vzc2luZycgfCAnZG9uZScgfCAnZmFpbGVkJyB8ICdzdGFydGVkJ1xufVxuXG50eXBlIENoYXRGb290ZXJQcm9wcyA9IHtcbiAgaXRlbXM/OiBzdHJpbmdbXVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgb25TZW5kTWVzc2FnZTogKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdLFxuICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgIHNjSWQ/OiBzdHJpbmdcbiAgKSA9PiB2b2lkXG4gIG9uU3RvcEdlbmVyYXRpb24/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gIGNoYXRJZD86IHN0cmluZyB8IG51bGxcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICAvKiogU2kgZXMgZmFsc2UsIG5vIHNlIG11ZXN0cmEgZWwgYm90w7NuIGRlIEZBUXMuIERlYmUgc2VyIHRydWUgY3VhbmRvIGN1cnJlbnRPcHRpb24gPT09IGNoYXQuIEVuIHNlY3Rpb24gdGFzayBubyBzZSBtdWVzdHJhIGF1bnF1ZSBzZWEgdHJ1ZS4gKi9cbiAgc2hvd0ZhcXM/OiBib29sZWFuXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICBzaG93RmFxcyA9IHRydWUsXG4gIHRvb2x0aXBaSW5kZXgsXG59OiBDaGF0Rm9vdGVyUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9qZWN0LCBhZ2VudCwgY2hpcHNQcm9qZWN0LCBjbGllbnQsIHRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgaW5wdXRQb3BvdmVyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0QmFyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gYWdlbnQ/LmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0QXR0YWNobWVudHMoW10pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHsgY2hpcEl0ZW1zLCBjaGlwVHlwZSB9ID0gdXNlTWVtbzx7IGNoaXBJdGVtczogc3RyaW5nW107IGNoaXBUeXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT4oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIHsgY2hpcEl0ZW1zOiBpdGVtcyB9XG5cbiAgICAvLyBNb25vLWNvbnRleHRvOiBzb2xvIGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSAoc2luIGFuaWRhciBjbGllbnRlL3Byb3llY3RvL3RhcmVhKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBpZiAodGFzaz8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbdGFzay5uYW1lXSwgY2hpcFR5cGU6ICd0YXNrJyB9XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgICBpZiAoY2xpZW50Py5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgICB9XG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcgJiYgY2xpZW50Py5uYW1lKSB7XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgfVxuICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgaWYgKHByb2plY3Q/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Byb2plY3QubmFtZV0sIGNoaXBUeXBlOiAncHJvamVjdCcgfVxuXG4gICAgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbXSB9XG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBhZ2VudD8udHlwZSwgY2xpZW50LCB0YXNrPy5uYW1lXSlcblxuICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAocmVwb3J0ZWRFdmVudC5jdXJyZW50KSByZXR1cm5cbiAgICBldmVudChFVkVOVFMucG1BaVR5cGVkVGV4dCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG5ld0F0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHtcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VuZCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgICAgYWdlbnRfaWQ6IGFnZW50Py5pZCxcbiAgICAgIGFnZW50X25hbWU6IGFnZW50Py5uYW1lLFxuICAgIH0pXG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCBuZXdBdHRhY2htZW50cywgZmFxSWQsIGFnZW50U3VnZ2VzdGlvbklkLCBtZW50aW9ucywgZnVhSWQsIHNjSWQpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZWxlY3RGYXEgPSAobWVzc2FnZTogc3RyaW5nLCBmYXFJZDogc3RyaW5nKSA9PiB7XG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCB1bmRlZmluZWQsIGZhcUlkLCB1bmRlZmluZWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGRpc2NsYWltZXJNZXNzYWdlID0gaXNNQUlBXG4gICAgPyB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyJywgeyBhZ2VudE5hbWU6IHQoJ2dsb2JhbHMuYnJhbmROYW1lJykgfSlcbiAgICA6IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXJBZ2VudCcpXG5cbiAgY29uc3QgaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkID0gQm9vbGVhbihkaXNhYmxlZCB8fCBpc1N0cmVhbWluZyB8fCBpc1dyaXRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID0gc2hvd0ZhcXMgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtpc01BSUEgJiYgIWxvYWRpbmdNZXNzYWdlcyAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3cgcmVmPXtjb250ZXh0QmFyQW5jaG9yUmVmfT5cbiAgICAgICAgICA8Q29udGV4dEJhckxlZnQ+XG4gICAgICAgICAgICB7Y2hpcEl0ZW1zLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICBpdGVtcz17Y2hpcEl0ZW1zfVxuICAgICAgICAgICAgICAgIHR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXtcbiAgICAgICAgICAgICAgICAgIGNoaXBUeXBlID09PSAndGFzaycgPyA8TGlzdENoZWNrbGlzdCBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICBpc09yY2hlc3RyYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbdCgnY29udGV4dFBpbi5hZGRDb250ZXh0JywgeyBkZWZhdWx0VmFsdWU6ICdDb250ZXh0byBnbG9iYWwnIH0pXX1cbiAgICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXs8R2xvYmUgY29sb3I9XCIjNjY2XCIgd2lkdGg9XCIxNHB4XCIgaGVpZ2h0PVwiMTRweFwiIC8+fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250ZXh0QmFyTGVmdD5cbiAgICAgICAgICB7c2hvdWxkU2hvd0ZhcXMgJiYgPENoYXRGb290ZXJGYXFzIG9uU2VsZWN0RmFxPXtoYW5kbGVTZWxlY3RGYXF9IGRpc2FibGVkPXtpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWR9IC8+fVxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIHBvcG92ZXJBbmNob3JSZWY9e2lucHV0UG9wb3ZlckFuY2hvclJlZn1cbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGNsYXNzTmFtZT17TU9EQUxfRUxFTUVOVFN9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2FnZW50Py5pbnB1dF9wbGFjZWhvbGRlciB8fCB0KCdjaGF0LmZvb3Rlci5wbGFjZWhvbGRlcicpfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRmlsZUF0dGFjaD17aGFuZGxlRmlsZUF0dGFjaH1cbiAgICAgICAgb25EZWxldGVBdHRhY2htZW50PXtoYW5kbGVEZWxldGVBdHRhY2htZW50fVxuICAgICAgICBhdHRhY2htZW50cz17YXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKGF0dCA9PiAhIWF0dC5maWxlKVxuICAgICAgICAgIC5tYXAoYXR0ID0+ICh7XG4gICAgICAgICAgICBmaWxlOiBhdHQuZmlsZSEsXG4gICAgICAgICAgICBvcmlnaW5hbEZpbGU6IGF0dC5vcmlnaW5hbEZpbGUsXG4gICAgICAgICAgICBpZDogYXR0LmlkLFxuICAgICAgICAgICAgbmFtZTogYXR0Lm5hbWUsXG4gICAgICAgICAgICBzaXplOiB0eXBlb2YgYXR0LnNpemUgPT09ICdudW1iZXInID8gYXR0LnNpemUgOiBOdW1iZXIoYXR0LnNpemUpIHx8IDAsXG4gICAgICAgICAgICB0eXBlOiBhdHQudHlwZSxcbiAgICAgICAgICAgIGljb246IGF0dC5pY29uLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgLz5cbiAgICAgIDxDaGF0RGlzY2xhaW1lck1lc3NhZ2UgbWVzc2FnZT17ZGlzY2xhaW1lck1lc3NhZ2V9IC8+XG4gICAgPC9TdHlsZWRDaGF0Rm9vdGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FB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
|
|
371
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImNyZWF0ZVBvcnRhbCIsIkF0dGFjaCIsIlBsdXMiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VDb250ZXh0UGluUG9wb3ZlciIsIlN0eWxlZENoYXRGb290ZXIiLCJDaGlwc0FuZEZhcXNSb3ciLCJDb250ZXh0QmFyTGVmdCIsIkFkZENvbnRleHRCdXR0b24iLCJDc3ZGaWxlSWNvbiIsIk1ERmlsZUljb24iLCJEb2NGaWxlSWNvbiIsIkRvY3hGaWxlSWNvbiIsIlRleHRGaWxlSWNvbiIsIlBkZkZpbGVJY29uIiwiSW1hZ2VGaWxlSWNvbiIsIlhsc3hGaWxlSWNvbiIsIlhsc0ZpbGVJY29uIiwiTXAzRmlsZUljb24iLCJXYXZGaWxlSWNvbiIsIkZsYWNGaWxlSWNvbiIsIk00YUZpbGVJY29uIiwiTXA0RmlsZUljb24iLCJPZ2FGaWxlSWNvbiIsIk9nZ0ZpbGVJY29uIiwiV2VibUZpbGVJY29uIiwiSW1hZ2VQcmV2aWV3IiwicHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCIsInZhbGlkYXRlSXNNYWlhIiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJ0b29sdGlwWkluZGV4IiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJ0YXNrIiwic2VjdGlvbiIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2V0Q2hpcHNQcm9qZWN0IiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJwaW5CdXR0b25SZWYiLCJpbnB1dFBvcG92ZXJBbmNob3JSZWYiLCJjb250ZXh0QmFyQW5jaG9yUmVmIiwiaXNPcmNoZXN0cmF0b3IiLCJ0eXBlIiwiX3VzZUNvbnRleHRQaW5Qb3BvdmVyIiwicG9wb3ZlckFuY2hvclJlZiIsInRvcEFuY2hvclJlZiIsInRyaWdnZXJSZWYiLCJ0b2dnbGVQaW4iLCJ0b2dnbGUiLCJwaW5Qb3BvdmVyTm9kZSIsInBvcG92ZXJOb2RlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYXR0YWNobWVudHMiLCJzZXRBdHRhY2htZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZ01lc3NhZ2VzIiwic2V0TG9hZGluZ01lc3NhZ2VzIiwicmVwb3J0ZWRFdmVudCIsImlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwiaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIiwiZSIsImRldGFpbCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiX3VzZU1lbW8iLCJjaGlwSXRlbXMiLCJjaGlwVHlwZSIsInByb2plY3ROYW1lIiwiaGFuZGxlUmVtb3ZlQ29udGV4dCIsIm9uQ2hhbmdlIiwiY3VycmVudCIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJtZXNzYWdlIiwibmV3QXR0YWNobWVudHMiLCJtZW50aW9ucyIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJmdWFJZCIsInNjSWQiLCJhaUNoYXRTZW5kIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJCb29sZWFuIiwic2hvdWxkU2hvd0ZhcXMiLCJjaGlsZHJlbiIsInJlZiIsIm9uUmVtb3ZlIiwicmVtb3ZlTGFiZWwiLCJkZWZhdWx0VmFsdWUiLCJ0b29sdGlwIiwib25DbGljayIsIm9uU2VsZWN0RmFxIiwiYm9keSIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IHVzZUNvbnRleHRQaW5Qb3BvdmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ29udGV4dFBpblBvcG92ZXInXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyLCBDaGlwc0FuZEZhcXNSb3csIENvbnRleHRCYXJMZWZ0LCBBZGRDb250ZXh0QnV0dG9uIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQge1xuICBDc3ZGaWxlSWNvbixcbiAgTURGaWxlSWNvbixcbiAgRG9jRmlsZUljb24sXG4gIERvY3hGaWxlSWNvbixcbiAgVGV4dEZpbGVJY29uLFxuICBQZGZGaWxlSWNvbixcbiAgSW1hZ2VGaWxlSWNvbixcbiAgWGxzeEZpbGVJY29uLFxuICBYbHNGaWxlSWNvbixcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgSW1hZ2VQcmV2aWV3IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW1hZ2VQcmV2aWV3L0ltYWdlUHJldmlldydcbmltcG9ydCB7IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbWFnZVByZXByb2Nlc3NvcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hhdERpc2NsYWltZXJNZXNzYWdlIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2hhdERpc2NsYWltZXJNZXNzYWdlJ1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIHJvbGU/OiAndXNlcicgfCAnYXNzaXN0YW50J1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIC8qKiBTaSBlcyBmYWxzZSwgbm8gc2UgbXVlc3RyYSBlbCBib3TDs24gZGUgRkFRcy4gRGViZSBzZXIgdHJ1ZSBjdWFuZG8gY3VycmVudE9wdGlvbiA9PT0gY2hhdC4gRW4gc2VjdGlvbiB0YXNrIG5vIHNlIG11ZXN0cmEgYXVucXVlIHNlYSB0cnVlLiAqL1xuICBzaG93RmFxcz86IGJvb2xlYW5cbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gdHJ1ZSxcbiAgdG9vbHRpcFpJbmRleCxcbn06IENoYXRGb290ZXJQcm9wcykge1xuICBjb25zdCB7IHByb2plY3QsIGFnZW50LCBjaGlwc1Byb2plY3QsIGNsaWVudCwgdGFzaywgc2VjdGlvbiwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZXRDaGlwc1Byb2plY3QgfSA9XG4gICAgdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBwaW5CdXR0b25SZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGlucHV0UG9wb3ZlckFuY2hvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgY29udGV4dEJhckFuY2hvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXNPcmNoZXN0cmF0b3IgPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgY29uc3QgeyB0b2dnbGU6IHRvZ2dsZVBpbiwgcG9wb3Zlck5vZGU6IHBpblBvcG92ZXJOb2RlIH0gPSB1c2VDb250ZXh0UGluUG9wb3Zlcih7XG4gICAgcG9wb3ZlckFuY2hvclJlZjogaW5wdXRQb3BvdmVyQW5jaG9yUmVmLFxuICAgIHRvcEFuY2hvclJlZjogY29udGV4dEJhckFuY2hvclJlZixcbiAgICB0cmlnZ2VyUmVmOiBwaW5CdXR0b25SZWYsXG4gIH0pXG4gIGNvbnN0IFthdHRhY2htZW50cywgc2V0QXR0YWNobWVudHNdID0gdXNlU3RhdGU8QXR0YWNobWVudEZpbGVbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nTWVzc2FnZXMsIHNldExvYWRpbmdNZXNzYWdlc10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCByZXBvcnRlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPSBhZ2VudD8uZW50aXR5ID09PSAnZ2xvYmFsJyAmJiAvKG1haWFrZXJ8bWFya2V0cGxhY2UpL2kudGVzdChhZ2VudD8ubmFtZSB8fCAnJylcblxuICAvLyB1c2VFZmZlY3QgdG8gbGlzdGVuIGxvYWRpbmdNZXNzYWdlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSA9IChlOiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgc2V0TG9hZGluZ01lc3NhZ2VzKGUuZGV0YWlsLmxvYWRpbmdNZXNzYWdlcylcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBDbGVhciBhdHRhY2htZW50cyB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgeyBjaGlwSXRlbXMsIGNoaXBUeXBlIH0gPSB1c2VNZW1vPHsgY2hpcEl0ZW1zOiBzdHJpbmdbXTsgY2hpcFR5cGU/OiBDb250ZXh0RW50aXR5VHlwZSB9PigoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4geyBjaGlwSXRlbXM6IGl0ZW1zIH1cblxuICAgIC8vIE1vbm8tY29udGV4dG86IHNvbG8gbGEgZW50aWRhZCBtw6FzIGVzcGVjw61maWNhIChzaW4gYW5pZGFyIGNsaWVudGUvcHJveWVjdG8vdGFyZWEpLlxuICAgIGlmIChhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIHtcbiAgICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICAgIGlmIChjbGllbnQ/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW10gfVxuICAgIH1cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICB9XG4gICAgaWYgKHRhc2s/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Rhc2submFtZV0sIGNoaXBUeXBlOiAndGFzaycgfVxuICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICBpZiAocHJvamVjdD8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbcHJvamVjdC5uYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG5cbiAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBjbGllbnQsIHRhc2s/Lm5hbWVdKVxuXG4gIC8vIFF1aXRhciBlbCBwaW4g4oeSIG1vZG8gZ2xvYmFsLCBzaW4gcmVkaXJlY3QgKGVsIG9ycXVlc3RhZG9yIG5vIHBhc2EgcG9yIGVsIGdhdGUgZGUgc2VsZWN0b3JlcykuIFJGQyDCpzguXG4gIGNvbnN0IGhhbmRsZVJlbW92ZUNvbnRleHQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UHJvamVjdChudWxsKVxuICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgc2V0VGFzayhudWxsKVxuICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICB9LCBbc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZXRDaGlwc1Byb2plY3RdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChyZXBvcnRlZEV2ZW50LmN1cnJlbnQpIHJldHVyblxuICAgIGV2ZW50KEVWRU5UUy5wbUFpVHlwZWRUZXh0LCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgfSlcbiAgICByZXBvcnRlZEV2ZW50LmN1cnJlbnQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4ge1xuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgICBhZ2VudF9pZDogYWdlbnQ/LmlkLFxuICAgICAgYWdlbnRfbmFtZTogYWdlbnQ/Lm5hbWUsXG4gICAgfSlcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIG5ld0F0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZCwgc2NJZClcbiAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZhcSA9IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHtcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIHVuZGVmaW5lZCwgZmFxSWQsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVBdHRhY2ggPSBhc3luYyAoZmlsZTogRmlsZSkgPT4ge1xuICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgY29uc3QgaXNJbWFnZUJ5TWltZSA9IGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgIC8vIE1hcGVvIGRlIGV4dGVuc2nDs24gYSBpY29ubyBkaXJlY3RvIHBhcmEgY2Fzb3MgZXNwZWNpYWxlcyAoYXVkaW8vb2dnIHkgYXVkaW8vbXA0KVxuICAgIGNvbnN0IGV4dGVuc2lvblRvSWNvbjogUmVjb3JkPHN0cmluZywgUmVhY3ROb2RlPiA9IHtcbiAgICAgICcub2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAgICAgJy5vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICAgICAnLm1wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgICAgICcubTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAgIH1cblxuICAgIGxldCBpY29uID0gSWNvbkJ5RmlsZVR5cGVbZmlsZS50eXBlXVxuXG4gICAgLy8gU2kgZWwgdGlwbyBlcyBhdWRpby9vZ2cgbyBhdWRpby9tcDQsIHVzYXIgbGEgZXh0ZW5zacOzbiBwYXJhIGRldGVybWluYXIgZWwgaWNvbm9cbiAgICBpZiAoKGZpbGUudHlwZSA9PT0gJ2F1ZGlvL29nZycgfHwgZmlsZS50eXBlID09PSAnYXVkaW8vbXA0JykgJiYgZmlsZUV4dGVuc2lvbikge1xuICAgICAgaWNvbiA9IGV4dGVuc2lvblRvSWNvbltmaWxlRXh0ZW5zaW9uXSB8fCBpY29uXG4gICAgfVxuXG4gICAgaWYgKCFpY29uKSB7XG4gICAgICBjb25zdCBleHRlbnNpb25Ub01pbWVUeXBlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgJy5tZCc6ICd0ZXh0L3gtbWFya2Rvd24nLFxuICAgICAgICAnLmNzdic6ICd0ZXh0L2NzdicsXG4gICAgICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgICAgICcuZG9jeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgICAgICcucGRmJzogJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgICAgICcueGxzeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICcueGxzJzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAgICcuZmxhYyc6ICdhdWRpby9mbGFjJyxcbiAgICAgICAgJy5tNGEnOiAnYXVkaW8vbTRhJyxcbiAgICAgICAgJy5tcDMnOiAnYXVkaW8vbXBlZycsXG4gICAgICAgICcubXA0JzogJ2F1ZGlvL21wNCcsXG4gICAgICAgICcub2dhJzogJ2F1ZGlvL29nYScsXG4gICAgICAgICcub2dnJzogJ2F1ZGlvL29nZycsXG4gICAgICAgICcud2F2JzogJ2F1ZGlvL3dhdicsXG4gICAgICAgICcud2VibSc6ICdhdWRpby93ZWJtJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbWVUeXBlQnlFeHRlbnNpb24gPSBleHRlbnNpb25Ub01pbWVUeXBlW2ZpbGVFeHRlbnNpb25dXG4gICAgICBpZiAobWltZVR5cGVCeUV4dGVuc2lvbikge1xuICAgICAgICBpY29uID0gSWNvbkJ5RmlsZVR5cGVbbWltZVR5cGVCeUV4dGVuc2lvbl1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGljb24gPSA8QXR0YWNoIGNvbG9yPVwicmdiYSgxMzUsIDY0LCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcHJvY2Vzc2VkRmlsZSA9IGZpbGVcblxuICAgIC8vIFNpIGVzIHVuYSBpbWFnZW4sIHByZS1wcm9jZXNhcmxhIHBhcmEgZWwgYmFja2VuZFxuICAgIGlmIChpc0ltYWdlKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBQcm9jZXNhbmRvIGltYWdlblxuICAgICAgICBwcm9jZXNzZWRGaWxlID0gYXdhaXQgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZChmaWxlKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcHJlLXByb2Nlc2FuZG8gaW1hZ2VuOicsIGVycm9yKVxuICAgICAgICAvLyBDb250aW51YXIgY29uIGVsIGFyY2hpdm8gb3JpZ2luYWwgc2kgaGF5IGVycm9yXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGltYWdlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuXG4gICAgICBpY29uID0gPEltYWdlUHJldmlldyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ZpbGUubmFtZX0gd2lkdGg9XCI2M3B4XCIgaGVpZ2h0PVwiNjNweFwiIGJvcmRlclJhZGl1cz1cIjZweFwiIC8+XG4gICAgfVxuXG4gICAgY29uc3QgbmV3QXR0YWNobWVudDogQXR0YWNobWVudEZpbGUgPSB7XG4gICAgICBmaWxlOiBwcm9jZXNzZWRGaWxlLFxuICAgICAgb3JpZ2luYWxGaWxlOiBpc0ltYWdlID8gZmlsZSA6IHVuZGVmaW5lZCxcbiAgICAgIGlkOiBgJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCl9YCxcbiAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgIHNpemU6IHByb2Nlc3NlZEZpbGUuc2l6ZSxcbiAgICAgIHR5cGU6IHByb2Nlc3NlZEZpbGUudHlwZSxcbiAgICAgIGljb24sXG4gICAgfVxuXG4gICAgc2V0QXR0YWNobWVudHMocHJldiA9PiBbLi4ucHJldiwgbmV3QXR0YWNobWVudF0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVEZWxldGVBdHRhY2htZW50ID0gKGZpbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbmV3QXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5maWx0ZXIoYXR0YWNobWVudCA9PiBhdHRhY2htZW50LmlkICE9PSBmaWxlSWQpXG4gICAgc2V0QXR0YWNobWVudHMobmV3QXR0YWNobWVudHMpXG4gIH1cblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgZGlzY2xhaW1lck1lc3NhZ2UgPSBpc01BSUFcbiAgICA/IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXInLCB7IGFnZW50TmFtZTogdCgnZ2xvYmFscy5icmFuZE5hbWUnKSB9KVxuICAgIDogdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lckFnZW50JylcblxuICBjb25zdCBpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQgPSBCb29sZWFuKGRpc2FibGVkIHx8IGlzU3RyZWFtaW5nIHx8IGlzV3JpdGluZylcbiAgY29uc3Qgc2hvdWxkU2hvd0ZhcXMgPSBzaG93RmFxcyAmJiBzZWN0aW9uICE9PSAndGFzaydcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDaGF0Rm9vdGVyPlxuICAgICAge2lzTUFJQSAmJiAhbG9hZGluZ01lc3NhZ2VzICYmIChcbiAgICAgICAgPENoaXBzQW5kRmFxc1JvdyByZWY9e2NvbnRleHRCYXJBbmNob3JSZWZ9PlxuICAgICAgICAgIDxDb250ZXh0QmFyTGVmdD5cbiAgICAgICAgICAgIHshIWNoaXBJdGVtcy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgIGl0ZW1zPXtjaGlwSXRlbXN9XG4gICAgICAgICAgICAgICAgdHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgb25SZW1vdmU9e2lzT3JjaGVzdHJhdG9yID8gaGFuZGxlUmVtb3ZlQ29udGV4dCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICByZW1vdmVMYWJlbD17dCgnY29udGV4dFBpbi5yZW1vdmUnLCB7IGRlZmF1bHRWYWx1ZTogJ1F1aXRhciBjb250ZXh0bycgfSl9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17aXNPcmNoZXN0cmF0b3IgPyB0KCdjaGF0LmFjdGl2aXR5LmR5bmFtaWNDb250ZXh0VG9vbHRpcCcpIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2lzT3JjaGVzdHJhdG9yICYmIChcbiAgICAgICAgICAgICAgPEFkZENvbnRleHRCdXR0b24gcmVmPXtwaW5CdXR0b25SZWZ9IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXt0b2dnbGVQaW59PlxuICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwiY3VycmVudENvbG9yXCIgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICAgIHshY2hpcEl0ZW1zLmxlbmd0aCAmJiA8c3Bhbj57dCgnY29udGV4dFBpbi5hZGRDb250ZXh0JywgeyBkZWZhdWx0VmFsdWU6ICdDb250ZXh0bycgfSl9PC9zcGFuPn1cbiAgICAgICAgICAgICAgPC9BZGRDb250ZXh0QnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0NvbnRleHRCYXJMZWZ0PlxuICAgICAgICAgIHtzaG91bGRTaG93RmFxcyAmJiA8Q2hhdEZvb3RlckZhcXMgb25TZWxlY3RGYXE9e2hhbmRsZVNlbGVjdEZhcX0gZGlzYWJsZWQ9e2lzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZH0gLz59XG4gICAgICAgIDwvQ2hpcHNBbmRGYXFzUm93PlxuICAgICAgKX1cbiAgICAgIHtwaW5Qb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocGluUG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgICAgPE1BSUFJbnB1dFxuICAgICAgICBwb3BvdmVyQW5jaG9yUmVmPXtpbnB1dFBvcG92ZXJBbmNob3JSZWZ9XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgIC8+XG4gICAgICA8Q2hhdERpc2NsYWltZXJNZXNzYWdlIG1lc3NhZ2U9e2Rpc2NsYWltZXJNZXNzYWdlfSAvPlxuICAgIDwvU3R5bGVkQ2hhdEZvb3Rlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFvQkEsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUNwRixTQUFTQyxZQUFZLFFBQVEsV0FBVztBQUN4QyxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsY0FBYyxRQUFRLGtDQUFrQztBQUVqRSxTQUFTQyxJQUFJLFFBQVEsa0JBQWtCO0FBQ3ZDO0FBQ0EsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUNqRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBRWpELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUUxRDtBQUNBLFNBQVNDLG9CQUFvQixRQUFRLHFDQUFxQztBQUMxRSxTQUFTQyxnQkFBZ0IsRUFBRUMsZUFBZSxFQUFFQyxjQUFjLEVBQUVDLGdCQUFnQixRQUFRLFVBQVU7QUFDOUYsU0FDRUMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFdBQVcs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QyxlQUM5RGhLLElBQUEsQ0FBQ2pDLFNBQVM7TUFDUnNFLGdCQUFnQixFQUFFTCxxQkFBc0I7TUFDeEMxQixhQUFhLEVBQUVvRSxpQkFBa0I7TUFDakN1RixTQUFTLEVBQUVwTSxjQUFlO01BQzFCMkMsUUFBUSxFQUFFQSxRQUFTO01BQ25CMEosV0FBVyxFQUFFLENBQUEvSSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRWdKLGlCQUFpQixLQUFJdEksQ0FBQyxDQUFDLHlCQUF5QixDQUFFO01BQ3RFeUMsUUFBUSxFQUFFQSxRQUFTO01BQ25COEYsWUFBWSxFQUFFNUUsZ0JBQWlCO01BQy9CNkUsa0JBQWtCLEVBQUV2QixzQkFBdUI7TUFDM0MvRixXQUFXLEVBQUVBLFdBQVcsQ0FDckJpRyxNQUFNLENBQUMsVUFBQXNCLEdBQUc7UUFBQSxPQUFJLENBQUMsQ0FBQ0EsR0FBRyxDQUFDeEUsSUFBSTtNQUFBLEVBQUMsQ0FDekJ5RSxHQUFHLENBQUMsVUFBQUQsR0FBRztRQUFBLE9BQUs7VUFDWHhFLElBQUksRUFBRXdFLEdBQUcsQ0FBQ3hFLElBQUs7VUFDZnFDLFlBQVksRUFBRW1DLEdBQUcsQ0FBQ25DLFlBQVk7VUFDOUIvQyxFQUFFLEVBQUVrRixHQUFHLENBQUNsRixFQUFFO1VBQ1YzQixJQUFJLEVBQUU2RyxHQUFHLENBQUM3RyxJQUFJO1VBQ2QrRSxJQUFJLEVBQUUsT0FBTzhCLEdBQUcsQ0FBQzlCLElBQUksS0FBSyxRQUFRLEdBQUc4QixHQUFHLENBQUM5QixJQUFJLEdBQUdnQyxNQUFNLENBQUNGLEdBQUcsQ0FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUM7VUFDckVyRyxJQUFJLEVBQUVtSSxHQUFHLENBQUNuSSxJQUFJO1VBQ2RtRSxJQUFJLEVBQUVnRSxHQUFHLENBQUNoRTtRQUNaLENBQUM7TUFBQSxDQUFDLENBQUU7TUFDTjdGLFdBQVcsRUFBRUEsV0FBWTtNQUN6QkMsU0FBUyxFQUFFQSxTQUFVO01BQ3JCQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DQyxNQUFNLEVBQUVBLE1BQU0sSUFBSTJFLFNBQVU7TUFDNUIxRSxVQUFVLEVBQUVBLFVBQVc7TUFDdkJHLGFBQWEsRUFBRUE7SUFBYyxDQUM5QixDQUFDLGVBQ0ZoQixJQUFBLENBQUNGLHFCQUFxQjtNQUFDNkUsT0FBTyxFQUFFd0U7SUFBa0IsQ0FBRSxDQUFDO0VBQUEsQ0FDckMsQ0FBQztBQUV2QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -41,38 +41,23 @@ export function ChatFooterFaqs(_ref2) {
|
|
|
41
41
|
i18n = _useT.i18n;
|
|
42
42
|
var event = useEvent();
|
|
43
43
|
var _useGlobalContext = useGlobalContext(),
|
|
44
|
-
agent = _useGlobalContext.agent
|
|
45
|
-
task = _useGlobalContext.task,
|
|
46
|
-
chipsProject = _useGlobalContext.chipsProject,
|
|
47
|
-
project = _useGlobalContext.project,
|
|
48
|
-
client = _useGlobalContext.client;
|
|
44
|
+
agent = _useGlobalContext.agent;
|
|
49
45
|
var lang = mapCORLang(i18n.language);
|
|
50
46
|
var agentId = agent === null || agent === void 0 ? void 0 : agent.id;
|
|
51
|
-
var
|
|
52
|
-
var isOrchestrator = (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
|
|
53
|
-
|
|
54
|
-
// Las FAQs se filtran por el `entity_type` del contexto pineado (project/client/task), tanto
|
|
55
|
-
// al abrir MAIA desde una sección como al cambiar de conversación (la metadata setea el contexto).
|
|
56
|
-
var entityType = function () {
|
|
57
|
-
if (task !== null && task !== void 0 && task.id) return 'task';
|
|
58
|
-
if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectId || project !== null && project !== void 0 && project.id) return 'project';
|
|
59
|
-
if (client !== null && client !== void 0 && client.id) return 'client';
|
|
60
|
-
return undefined;
|
|
61
|
-
}();
|
|
62
|
-
var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang, entityType),
|
|
47
|
+
var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang),
|
|
63
48
|
faqs = _useFrequentlyAskedQu.faqs,
|
|
64
49
|
loading = _useFrequentlyAskedQu.loading,
|
|
65
50
|
error = _useFrequentlyAskedQu.error,
|
|
66
51
|
handleGetFrequentlyAskedQuestions = _useFrequentlyAskedQu.handleGetFrequentlyAskedQuestions;
|
|
52
|
+
var isCloneAgent = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone';
|
|
67
53
|
useEffect(function () {
|
|
68
|
-
if (
|
|
54
|
+
if (isCloneAgent && agentId && lang) {
|
|
69
55
|
handleGetFrequentlyAskedQuestions({
|
|
70
56
|
agentId: agentId,
|
|
71
|
-
lang: lang
|
|
72
|
-
entityType: entityType
|
|
57
|
+
lang: lang
|
|
73
58
|
});
|
|
74
59
|
}
|
|
75
|
-
}, [isCloneAgent,
|
|
60
|
+
}, [isCloneAgent, agentId, lang, handleGetFrequentlyAskedQuestions]);
|
|
76
61
|
var faqsByCategory = useMemo(function () {
|
|
77
62
|
var grouped = {};
|
|
78
63
|
var sortedFaqs = _toConsumableArray(faqs).sort(function (a, b) {
|
|
@@ -198,4 +183,4 @@ export function ChatFooterFaqs(_ref2) {
|
|
|
198
183
|
})]
|
|
199
184
|
});
|
|
200
185
|
}
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDRmFxc0NoaXAiLCJTQ0ZhcXNUcmlnZ2VyV3JhcHBlciIsIlNDRmFxc01vZGFsRnJhbWUiLCJTQ0ZhcXNNb2RhbENvbnRlbnQiLCJTQ0ZhcXNDYXRlZ29yeUhlYWRlciIsIlNDRmFxc01vZGFsSXRlbSIsIlNDRmFxc01vZGFsSXRlbVRleHQiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZhcU1vZGFsSXRlbSIsIl9yZWYiLCJmYXEiLCJvbkNsaWNrIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjb250ZW50IiwidHlwZSIsImNoaWxkcmVuIiwicmVmIiwiQ2hhdEZvb3RlckZhcXMiLCJfcmVmMiIsIm9uU2VsZWN0RmFxIiwiX3JlZjIkZGlzYWJsZWQiLCJfdXNlVCIsInQiLCJpMThuIiwiZXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50IiwidGFzayIsImNoaXBzUHJvamVjdCIsInByb2plY3QiLCJjbGllbnQiLCJsYW5nIiwibGFuZ3VhZ2UiLCJhZ2VudElkIiwiaWQiLCJpc0Nsb25lQWdlbnQiLCJpc09yY2hlc3RyYXRvciIsImVudGl0eVR5cGUiLCJwcm9qZWN0SWQiLCJ1bmRlZmluZWQiLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJmYXFzIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiZmFxc0J5Q2F0ZWdvcnkiLCJncm91cGVkIiwic29ydGVkRmFxcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJhIiwiYiIsIl9hJG9yZGVyIiwiX2Ikb3JkZXIiLCJvcmRlckEiLCJvcmRlciIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJvcmRlckIiLCJmb3JFYWNoIiwiY2F0ZWdvcnkiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsImNhdCIsIl9hJG9yZGVyMiIsIl9iJG9yZGVyMiIsImVudHJpZXMiLCJfcmVmMyIsIl9yZWY0IiwiX2NhdGVnb3J5RmFxc0EkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0EkIiwiX2NhdGVnb3J5RmFxc0IkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0IkIiwiX3JlZjUiLCJfc2xpY2VkVG9BcnJheSIsImNhdGVnb3J5RmFxc0EiLCJfcmVmNiIsImNhdGVnb3J5RmFxc0IiLCJmaXJzdE9yZGVyQSIsImZpcnN0T3JkZXJCIiwibWFwIiwiX3JlZjciLCJfcmVmOCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJ3cmFwcGVyUmVmIiwiaGFuZGxlVG9nZ2xlIiwicHJldiIsImhhbmRsZUZhcUNsaWNrIiwiYWlDaGF0U2VsZWN0RkFRIiwib3B0aW9uIiwiaWRfZmFxIiwiY2F0ZWdvcnlfZmFxIiwib3JpZ2luX2ZhcSIsImFnZW50X2VudGl0eSIsImVudGl0eSIsImhhbmRsZUVzY2FwZSIsImUiLCJrZXkiLCJoYW5kbGVDbGlja091dHNpZGUiLCJ0YXJnZXQiLCJjdXJyZW50IiwiY29udGFpbnMiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsImxlbmd0aCIsInJvbGUiLCJfZmFxc0J5Q2F0ZWdvcnkkZ3JvdXAiLCJpdGVtcyIsIkZyYWdtZW50IiwiY29uY2F0IiwidG9Mb3dlckNhc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyRmFxcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDRmFxc0NoaXAsXG4gIFNDRmFxc1RyaWdnZXJXcmFwcGVyLFxuICBTQ0ZhcXNNb2RhbEZyYW1lLFxuICBTQ0ZhcXNNb2RhbENvbnRlbnQsXG4gIFNDRmFxc0NhdGVnb3J5SGVhZGVyLFxuICBTQ0ZhcXNNb2RhbEl0ZW0sXG4gIFNDRmFxc01vZGFsSXRlbVRleHQsXG59IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMuc3R5bGVzJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb24nXG5cbmV4cG9ydCB0eXBlIEZhcUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBjYXRlZ29yeTogc3RyaW5nXG59XG5cbmZ1bmN0aW9uIEZhcU1vZGFsSXRlbSh7IGZhcSwgb25DbGljaywgZGlzYWJsZWQgPSBmYWxzZSB9OiB7IGZhcTogRmFxSXRlbTsgb25DbGljazogKCkgPT4gdm9pZDsgZGlzYWJsZWQ/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtmYXEudGl0bGVdKVxuXG4gIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgPFNDRmFxc01vZGFsSXRlbSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17b25DbGlja30gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgIDxTQ0ZhcXNNb2RhbEl0ZW1UZXh0IHJlZj17dGV4dFJlZn0+e2ZhcS50aXRsZX08L1NDRmFxc01vZGFsSXRlbVRleHQ+XG4gICAgPC9TQ0ZhcXNNb2RhbEl0ZW0+XG4gIClcblxuICByZXR1cm4gPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZmFxLnRpdGxlIDogJyd9Pntjb250ZW50fTwvVG9vbHRpcD5cbn1cblxudHlwZSBDaGF0Rm9vdGVyRmFxc1Byb3BzID0ge1xuICBvblNlbGVjdEZhcTogKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4gdm9pZFxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoYXRGb290ZXJGYXFzKHsgb25TZWxlY3RGYXEsIGRpc2FibGVkID0gZmFsc2UgfTogQ2hhdEZvb3RlckZhcXNQcm9wcykge1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudCwgdGFzaywgY2hpcHNQcm9qZWN0LCBwcm9qZWN0LCBjbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBsYW5nID0gbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKVxuICBjb25zdCBhZ2VudElkID0gYWdlbnQ/LmlkXG5cbiAgY29uc3QgaXNDbG9uZUFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZSdcbiAgY29uc3QgaXNPcmNoZXN0cmF0b3IgPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcblxuICAvLyBMYXMgRkFRcyBzZSBmaWx0cmFuIHBvciBlbCBgZW50aXR5X3R5cGVgIGRlbCBjb250ZXh0byBwaW5lYWRvIChwcm9qZWN0L2NsaWVudC90YXNrKSwgdGFudG9cbiAgLy8gYWwgYWJyaXIgTUFJQSBkZXNkZSB1bmEgc2VjY2nDs24gY29tbyBhbCBjYW1iaWFyIGRlIGNvbnZlcnNhY2nDs24gKGxhIG1ldGFkYXRhIHNldGVhIGVsIGNvbnRleHRvKS5cbiAgY29uc3QgZW50aXR5VHlwZSA9ICgoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkKSByZXR1cm4gJ3Rhc2snXG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkIHx8IHByb2plY3Q/LmlkKSByZXR1cm4gJ3Byb2plY3QnXG4gICAgaWYgKGNsaWVudD8uaWQpIHJldHVybiAnY2xpZW50J1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSkoKVxuXG4gIGNvbnN0IHsgZmFxcywgbG9hZGluZywgZXJyb3IsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKFxuICAgIGFnZW50SWQsXG4gICAgbGFuZyxcbiAgICBlbnRpdHlUeXBlXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoaXNDbG9uZUFnZW50IHx8IGlzT3JjaGVzdHJhdG9yKSAmJiBhZ2VudElkICYmIGxhbmcpIHtcbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQsIGxhbmcsIGVudGl0eVR5cGUgfSlcbiAgICB9XG4gIH0sIFtpc0Nsb25lQWdlbnQsIGlzT3JjaGVzdHJhdG9yLCBhZ2VudElkLCBsYW5nLCBlbnRpdHlUeXBlLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IGZhcXNCeUNhdGVnb3J5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBlZDogUmVjb3JkPHN0cmluZywgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25bXT4gPSB7fVxuICAgIGNvbnN0IHNvcnRlZEZhcXMgPSBbLi4uZmFxc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3Qgb3JkZXJBID0gYS5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgICAgY29uc3Qgb3JkZXJCID0gYi5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICByZXR1cm4gb3JkZXJBIC0gb3JkZXJCXG4gICAgfSlcblxuICAgIHNvcnRlZEZhcXMuZm9yRWFjaChmYXEgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgIGlmICghZ3JvdXBlZFtjYXRlZ29yeV0pIGdyb3VwZWRbY2F0ZWdvcnldID0gW11cbiAgICAgIGdyb3VwZWRbY2F0ZWdvcnldLnB1c2goZmFxKVxuICAgIH0pXG5cbiAgICBPYmplY3Qua2V5cyhncm91cGVkKS5mb3JFYWNoKGNhdCA9PiB7XG4gICAgICBncm91cGVkW2NhdF0uc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPz8gMCkgLSAoYi5vcmRlciA/PyAwKSlcbiAgICB9KVxuXG4gICAgY29uc3Qgb3JkZXIgPSBPYmplY3QuZW50cmllcyhncm91cGVkKVxuICAgICAgLnNvcnQoKFssIGNhdGVnb3J5RmFxc0FdLCBbLCBjYXRlZ29yeUZhcXNCXSkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdE9yZGVyQSA9IGNhdGVnb3J5RmFxc0FbMF0/Lm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJCID0gY2F0ZWdvcnlGYXFzQlswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcblxuICAgICAgICByZXR1cm4gZmlyc3RPcmRlckEgLSBmaXJzdE9yZGVyQlxuICAgICAgfSlcbiAgICAgIC5tYXAoKFtjYXRlZ29yeV0pID0+IGNhdGVnb3J5KVxuXG4gICAgcmV0dXJuIHsgZ3JvdXBlZCwgb3JkZXIgfVxuICB9LCBbZmFxc10pXG5cbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRmFxQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZmFxOiBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbikgPT4ge1xuICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgb25TZWxlY3RGYXEoZmFxLnRpdGxlLCBmYXEuaWQpXG4gICAgICBldmVudChFVkVOVFMuYWlDaGF0U2VsZWN0RkFRLCB7XG4gICAgICAgIG9wdGlvbjoge1xuICAgICAgICAgIGlkX2ZhcTogZmFxLnRpdGxlLFxuICAgICAgICAgIGNhdGVnb3J5X2ZhcTogZmFxLmNhdGVnb3J5LFxuICAgICAgICAgIG9yaWdpbl9mYXE6ICdidXR0b25fY2hhdCcsXG4gICAgICAgICAgYWdlbnRfZW50aXR5OiBhZ2VudD8uZW50aXR5LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIHNldElzT3BlbihmYWxzZSlcbiAgICB9LFxuICAgIFtvblNlbGVjdEZhcSwgZXZlbnQsIGRpc2FibGVkLCBhZ2VudD8uZW50aXR5XVxuICApXG5cbiAgY29uc3QgaGFuZGxlRXNjYXBlID0gdXNlQ2FsbGJhY2soKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSBzZXRJc09wZW4oZmFsc2UpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IHVzZUNhbGxiYWNrKChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZVxuICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQgJiYgIXdyYXBwZXJSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSwgdHJ1ZSlcbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9LCAwKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjYXBlLCB0cnVlKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICB9XG4gIH0sIFtpc09wZW4sIGhhbmRsZUVzY2FwZSwgaGFuZGxlQ2xpY2tPdXRzaWRlXSlcblxuICBpZiAoZmFxcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NGYXFzVHJpZ2dlcldyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfT5cbiAgICAgIDxTQ0ZhcXNDaGlwIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVUb2dnbGV9IGFyaWEtZXhwYW5kZWQ9e2lzT3Blbn0gYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cbiAgICAgICAge3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfVxuICAgICAgPC9TQ0ZhcXNDaGlwPlxuICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgIDxTQ0ZhcXNNb2RhbEZyYW1lIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWxhYmVsPXt0KCdob21lTWVudS5mYXEudGl0bGUnKX0+XG4gICAgICAgICAgPFNDRmFxc01vZGFsQ29udGVudD5cbiAgICAgICAgICAgIHshbG9hZGluZyAmJlxuICAgICAgICAgICAgICAhZXJyb3IgJiZcbiAgICAgICAgICAgICAgZmFxc0J5Q2F0ZWdvcnkub3JkZXIubWFwKGNhdGVnb3J5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGZhcXNCeUNhdGVnb3J5Lmdyb3VwZWRbY2F0ZWdvcnldID8/IFtdXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Y2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8U0NGYXFzQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dChgaG9tZU1lbnUuZmFxLmNhdGVnb3JpZXMuJHtjYXRlZ29yeS50b0xvd2VyQ2FzZSgpfWApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NGYXFzQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtpdGVtcy5tYXAoZmFxID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8RmFxTW9kYWxJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZhcS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcT17eyBpZDogZmFxLmlkLCB0aXRsZTogZmFxLnRpdGxlLCBjYXRlZ29yeTogZmFxLmNhdGVnb3J5IHx8ICd1bmRlZmluZWQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGYXFDbGljayhmYXEpfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NGYXFzTW9kYWxDb250ZW50PlxuICAgICAgICA8L1NDRmFxc01vZGFsRnJhbWU+XG4gICAgICApfVxuICAgIDwvU0NGYXFzVHJpZ2dlcldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDaEYsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGlCQUFpQixRQUFRLDBCQUEwQjtBQUM1RCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsMkJBQTJCLFFBQVEsNENBQTRDO0FBQ3hGLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUNFQyxVQUFVLEVBQ1ZDLG9CQUFvQixFQUNwQkMsZ0JBQWdCLEVBQ2hCQyxrQkFBa0IsRUFDbEJDLG9CQUFvQixFQUNwQkMsZUFB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
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDRmFxc0NoaXAiLCJTQ0ZhcXNUcmlnZ2VyV3JhcHBlciIsIlNDRmFxc01vZGFsRnJhbWUiLCJTQ0ZhcXNNb2RhbENvbnRlbnQiLCJTQ0ZhcXNDYXRlZ29yeUhlYWRlciIsIlNDRmFxc01vZGFsSXRlbSIsIlNDRmFxc01vZGFsSXRlbVRleHQiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZhcU1vZGFsSXRlbSIsIl9yZWYiLCJmYXEiLCJvbkNsaWNrIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjb250ZW50IiwidHlwZSIsImNoaWxkcmVuIiwicmVmIiwiQ2hhdEZvb3RlckZhcXMiLCJfcmVmMiIsIm9uU2VsZWN0RmFxIiwiX3JlZjIkZGlzYWJsZWQiLCJfdXNlVCIsInQiLCJpMThuIiwiZXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50IiwibGFuZyIsImxhbmd1YWdlIiwiYWdlbnRJZCIsImlkIiwiX3VzZUZyZXF1ZW50bHlBc2tlZFF1IiwiZmFxcyIsImxvYWRpbmciLCJlcnJvciIsImhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsImlzQ2xvbmVBZ2VudCIsImZhcXNCeUNhdGVnb3J5IiwiZ3JvdXBlZCIsInNvcnRlZEZhcXMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJfYSRvcmRlciIsIl9iJG9yZGVyIiwib3JkZXJBIiwib3JkZXIiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwib3JkZXJCIiwiZm9yRWFjaCIsImNhdGVnb3J5IiwicHVzaCIsIk9iamVjdCIsImtleXMiLCJjYXQiLCJfYSRvcmRlcjIiLCJfYiRvcmRlcjIiLCJlbnRyaWVzIiwiX3JlZjMiLCJfcmVmNCIsIl9jYXRlZ29yeUZhcXNBJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNBJCIsIl9jYXRlZ29yeUZhcXNCJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNCJCIsIl9yZWY1IiwiX3NsaWNlZFRvQXJyYXkiLCJjYXRlZ29yeUZhcXNBIiwiX3JlZjYiLCJjYXRlZ29yeUZhcXNCIiwiZmlyc3RPcmRlckEiLCJmaXJzdE9yZGVyQiIsIm1hcCIsIl9yZWY3IiwiX3JlZjgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwid3JhcHBlclJlZiIsImhhbmRsZVRvZ2dsZSIsInByZXYiLCJoYW5kbGVGYXFDbGljayIsImFpQ2hhdFNlbGVjdEZBUSIsIm9wdGlvbiIsImlkX2ZhcSIsImNhdGVnb3J5X2ZhcSIsIm9yaWdpbl9mYXEiLCJhZ2VudF9lbnRpdHkiLCJlbnRpdHkiLCJoYW5kbGVFc2NhcGUiLCJlIiwia2V5IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwidGFyZ2V0IiwiY3VycmVudCIsImNvbnRhaW5zIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJsZW5ndGgiLCJyb2xlIiwiX2ZhcXNCeUNhdGVnb3J5JGdyb3VwIiwiaXRlbXMiLCJGcmFnbWVudCIsImNvbmNhdCIsInRvTG93ZXJDYXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlckZhcXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQge1xuICBTQ0ZhcXNDaGlwLFxuICBTQ0ZhcXNUcmlnZ2VyV3JhcHBlcixcbiAgU0NGYXFzTW9kYWxGcmFtZSxcbiAgU0NGYXFzTW9kYWxDb250ZW50LFxuICBTQ0ZhcXNDYXRlZ29yeUhlYWRlcixcbiAgU0NGYXFzTW9kYWxJdGVtLFxuICBTQ0ZhcXNNb2RhbEl0ZW1UZXh0LFxufSBmcm9tICcuL0NoYXRGb290ZXJGYXFzLnN0eWxlcydcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uJ1xuXG5leHBvcnQgdHlwZSBGYXFJdGVtID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBGYXFNb2RhbEl0ZW0oeyBmYXEsIG9uQ2xpY2ssIGRpc2FibGVkID0gZmFsc2UgfTogeyBmYXE6IEZhcUl0ZW07IG9uQ2xpY2s6ICgpID0+IHZvaWQ7IGRpc2FibGVkPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbZmFxLnRpdGxlXSlcblxuICBjb25zdCBjb250ZW50ID0gKFxuICAgIDxTQ0ZhcXNNb2RhbEl0ZW0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ2xpY2t9IGRpc2FibGVkPXtkaXNhYmxlZH0+XG4gICAgICA8U0NGYXFzTW9kYWxJdGVtVGV4dCByZWY9e3RleHRSZWZ9PntmYXEudGl0bGV9PC9TQ0ZhcXNNb2RhbEl0ZW1UZXh0PlxuICAgIDwvU0NGYXFzTW9kYWxJdGVtPlxuICApXG5cbiAgcmV0dXJuIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGZhcS50aXRsZSA6ICcnfT57Y29udGVudH08L1Rvb2x0aXA+XG59XG5cbnR5cGUgQ2hhdEZvb3RlckZhcXNQcm9wcyA9IHtcbiAgb25TZWxlY3RGYXE6IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyRmFxcyh7IG9uU2VsZWN0RmFxLCBkaXNhYmxlZCA9IGZhbHNlIH06IENoYXRGb290ZXJGYXFzUHJvcHMpIHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBsYW5nID0gbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKVxuICBjb25zdCBhZ2VudElkID0gYWdlbnQ/LmlkXG5cbiAgY29uc3QgeyBmYXFzLCBsb2FkaW5nLCBlcnJvciwgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gPSB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoYWdlbnRJZCwgbGFuZylcblxuICBjb25zdCBpc0Nsb25lQWdlbnQgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJ1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzQ2xvbmVBZ2VudCAmJiBhZ2VudElkICYmIGxhbmcpIHtcbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQsIGxhbmcgfSlcbiAgICB9XG4gIH0sIFtpc0Nsb25lQWdlbnQsIGFnZW50SWQsIGxhbmcsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc10pXG5cbiAgY29uc3QgZmFxc0J5Q2F0ZWdvcnkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbltdPiA9IHt9XG4gICAgY29uc3Qgc29ydGVkRmFxcyA9IFsuLi5mYXFzXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBvcmRlckEgPSBhLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICBjb25zdCBvcmRlckIgPSBiLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG5cbiAgICAgIHJldHVybiBvcmRlckEgLSBvcmRlckJcbiAgICB9KVxuXG4gICAgc29ydGVkRmFxcy5mb3JFYWNoKGZhcSA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IGZhcS5jYXRlZ29yeSB8fCAndW5kZWZpbmVkJ1xuICAgICAgaWYgKCFncm91cGVkW2NhdGVnb3J5XSkgZ3JvdXBlZFtjYXRlZ29yeV0gPSBbXVxuICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0ucHVzaChmYXEpXG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKGdyb3VwZWQpLmZvckVhY2goY2F0ID0+IHtcbiAgICAgIGdyb3VwZWRbY2F0XS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgIH0pXG5cbiAgICBjb25zdCBvcmRlciA9IE9iamVjdC5lbnRyaWVzKGdyb3VwZWQpXG4gICAgICAuc29ydCgoWywgY2F0ZWdvcnlGYXFzQV0sIFssIGNhdGVnb3J5RmFxc0JdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJBID0gY2F0ZWdvcnlGYXFzQVswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgICAgY29uc3QgZmlyc3RPcmRlckIgPSBjYXRlZ29yeUZhcXNCWzBdPy5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICAgIHJldHVybiBmaXJzdE9yZGVyQSAtIGZpcnN0T3JkZXJCXG4gICAgICB9KVxuICAgICAgLm1hcCgoW2NhdGVnb3J5XSkgPT4gY2F0ZWdvcnkpXG5cbiAgICByZXR1cm4geyBncm91cGVkLCBvcmRlciB9XG4gIH0sIFtmYXFzXSlcblxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVGYXFDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBvblNlbGVjdEZhcShmYXEudGl0bGUsIGZhcS5pZClcbiAgICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RGQVEsIHtcbiAgICAgICAgb3B0aW9uOiB7XG4gICAgICAgICAgaWRfZmFxOiBmYXEudGl0bGUsXG4gICAgICAgICAgY2F0ZWdvcnlfZmFxOiBmYXEuY2F0ZWdvcnksXG4gICAgICAgICAgb3JpZ2luX2ZhcTogJ2J1dHRvbl9jaGF0JyxcbiAgICAgICAgICBhZ2VudF9lbnRpdHk6IGFnZW50Py5lbnRpdHksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW29uU2VsZWN0RmFxLCBldmVudCwgZGlzYWJsZWQsIGFnZW50Py5lbnRpdHldXG4gIClcblxuICBjb25zdCBoYW5kbGVFc2NhcGUgPSB1c2VDYWxsYmFjaygoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHNldElzT3BlbihmYWxzZSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlXG4gICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHNldElzT3BlbihmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4pIHJldHVybiB1bmRlZmluZWRcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjYXBlLCB0cnVlKVxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH0sIDApXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVFc2NhcGUsIHRydWUpXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlRXNjYXBlLCBoYW5kbGVDbGlja091dHNpZGVdKVxuXG4gIGlmIChmYXFzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0ZhcXNUcmlnZ2VyV3JhcHBlciByZWY9e3dyYXBwZXJSZWZ9PlxuICAgICAgPFNDRmFxc0NoaXAgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZX0gYXJpYS1leHBhbmRlZD17aXNPcGVufSBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiPlxuICAgICAgICB7dCgnaG9tZU1lbnUuZmFxLnRpdGxlJyl9XG4gICAgICA8L1NDRmFxc0NoaXA+XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPFNDRmFxc01vZGFsRnJhbWUgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbGFiZWw9e3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfT5cbiAgICAgICAgICA8U0NGYXFzTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgeyFsb2FkaW5nICYmXG4gICAgICAgICAgICAgICFlcnJvciAmJlxuICAgICAgICAgICAgICBmYXFzQnlDYXRlZ29yeS5vcmRlci5tYXAoY2F0ZWdvcnkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZmFxc0J5Q2F0ZWdvcnkuZ3JvdXBlZFtjYXRlZ29yeV0gPz8gW11cbiAgICAgICAgICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQga2V5PXtjYXRlZ29yeX0+XG4gICAgICAgICAgICAgICAgICAgIHtjYXRlZ29yeSAhPT0gJ3VuZGVmaW5lZCcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxTQ0ZhcXNDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0KGBob21lTWVudS5mYXEuY2F0ZWdvcmllcy4ke2NhdGVnb3J5LnRvTG93ZXJDYXNlKCl9YCl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0ZhcXNDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2l0ZW1zLm1hcChmYXEgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxGYXFNb2RhbEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZmFxLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgZmFxPXt7IGlkOiBmYXEuaWQsIHRpdGxlOiBmYXEudGl0bGUsIGNhdGVnb3J5OiBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZhcUNsaWNrKGZhcSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9TQ0ZhcXNNb2RhbENvbnRlbnQ+XG4gICAgICAgIDwvU0NGYXFzTW9kYWxGcmFtZT5cbiAgICAgICl9XG4gICAgPC9TQ0ZhcXNUcmlnZ2VyV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUNoRixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElB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
|
|
@@ -8,12 +8,12 @@ export var ContextBarLeft = styled.div.withConfig({
|
|
|
8
8
|
displayName: "styles__ContextBarLeft",
|
|
9
9
|
componentId: "sc-qhd26v-1"
|
|
10
10
|
})(["display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto;"]);
|
|
11
|
-
export var
|
|
12
|
-
displayName: "
|
|
11
|
+
export var AddContextButton = styled.button.withConfig({
|
|
12
|
+
displayName: "styles__AddContextButton",
|
|
13
13
|
componentId: "sc-qhd26v-2"
|
|
14
|
-
})(["display:inline-flex;align-items:center;flex-shrink:0;height:30px;padding:0 10px;border:0.5px dashed #bfbfbf;border-radius:20px;color:", ";font-size:12px;line-height:130%;white-space:nowrap;"], colors.secondary);
|
|
14
|
+
})(["display:inline-flex;align-items:center;gap:4px;flex-shrink:0;height:30px;padding:0 10px;border:0.5px dashed #bfbfbf;border-radius:20px;background:transparent;cursor:pointer;color:", ";font-size:12px;line-height:130%;white-space:nowrap;transition:color 0.12s ease,border-color 0.12s ease;&:hover{color:var(--cor-color-grey-900,#202020);border-color:var(--cor-color-grey-900,#202020);}"], colors.secondary);
|
|
15
15
|
export var ChipsAndFaqsRow = styled.div.withConfig({
|
|
16
16
|
displayName: "styles__ChipsAndFaqsRow",
|
|
17
17
|
componentId: "sc-qhd26v-3"
|
|
18
18
|
})(["display:flex;align-items:center;justify-content:space-between;gap:6px;box-sizing:border-box;width:100%;min-width:0;& > *:first-child{flex:0 1 auto;min-width:0;max-width:100%;}& > *:last-child{flex-shrink:0;}"]);
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjb2xvcnMiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJDb250ZXh0QmFyTGVmdCIsIkFkZENvbnRleHRCdXR0b24iLCJidXR0b24iLCJzZWNvbmRhcnkiLCJDaGlwc0FuZEZhcXNSb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hhdEZvb3RlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IENvbnRleHRCYXJMZWZ0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMCAxIGF1dG87XG5gXG5cbmV4cG9ydCBjb25zdCBBZGRDb250ZXh0QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGJvcmRlcjogMC41cHggZGFzaGVkICNiZmJmYmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9ycy5zZWNvbmRhcnl9O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOlxuICAgIGNvbG9yIDAuMTJzIGVhc2UsXG4gICAgYm9yZGVyLWNvbG9yIDAuMTJzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvci1jb2xvci1ncmV5LTkwMCwgIzIwMjAyMCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb3ItY29sb3ItZ3JleS05MDAsICMyMDIwMjApO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBDaGlwc0FuZEZhcXNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIC8qIENoaXAgYWwgYW5jaG8gZGVsIHRleHRvOyBzaSBubyBlbnRyYSwgZW5jb2dlIHkgdHJ1bmNhLiBGQVEgZmlqbyBhIGxhIGRlcmVjaGEuICovXG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhFQU16QztBQUVELE9BQU8sSUFBTUMsY0FBYyxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwRUFNdkM7QUFFRCxPQUFPLElBQU1FLGdCQUFnQixHQUFHUixNQUFNLENBQUNTLE1BQU0sQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3WUFXbENMLE1BQU0sQ0FBQ1MsU0FBUyxDQVkxQjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHWCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1TkFtQnhDIiwiaWdub3JlTGlzdCI6W119
|