@projectcor/maia-components 2.11.10-3 → 2.11.10-5
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/EntitySelector/EntitySelector.styles.js +2 -2
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +51 -32
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +9 -3
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +6 -3
- package/lib/components/molecules/ChatFooter/ChatFooter.js +7 -10
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +140 -168
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +38 -2
- package/lib/components/molecules/ChatFooter/styles.js +2 -8
- package/lib/hooks/useFrequentlyAskedQuestions.js +68 -53
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +2 -1
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/types/FrequentlyAskedQuestion.js +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ import { ChatFooterFaqs } from './ChatFooterFaqs';
|
|
|
15
15
|
import { useGlobalContext } from '../../../context/global-context';
|
|
16
16
|
import { useT } from '../../../hooks/useT';
|
|
17
17
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
18
|
-
import { StyledChatFooter, ChipsAndFaqsRow
|
|
18
|
+
import { StyledChatFooter, ChipsAndFaqsRow } from './styles';
|
|
19
19
|
import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
|
|
20
20
|
import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
|
|
21
21
|
import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
|
|
@@ -50,7 +50,9 @@ export function ChatFooter(_ref) {
|
|
|
50
50
|
isWriting = _ref.isWriting,
|
|
51
51
|
onStopGeneration = _ref.onStopGeneration,
|
|
52
52
|
chatId = _ref.chatId,
|
|
53
|
-
newChatKey = _ref.newChatKey
|
|
53
|
+
newChatKey = _ref.newChatKey,
|
|
54
|
+
_ref$showFaqs = _ref.showFaqs,
|
|
55
|
+
showFaqs = _ref$showFaqs === void 0 ? true : _ref$showFaqs;
|
|
54
56
|
var _useGlobalContext = useGlobalContext(),
|
|
55
57
|
project = _useGlobalContext.project,
|
|
56
58
|
agent = _useGlobalContext.agent,
|
|
@@ -232,17 +234,12 @@ export function ChatFooter(_ref) {
|
|
|
232
234
|
setAttachments(newAttachments);
|
|
233
235
|
};
|
|
234
236
|
var isMAIA = validateIsMaia(agent);
|
|
235
|
-
var chipsScrollRef = useRef(null);
|
|
236
237
|
return /*#__PURE__*/_jsxs(StyledChatFooter, {
|
|
237
238
|
children: [isMAIA && !loadingMessages && /*#__PURE__*/_jsxs(ChipsAndFaqsRow, {
|
|
238
239
|
children: [!!chipItems.length && /*#__PURE__*/_jsx(Chip, {
|
|
239
240
|
items: chipItems
|
|
240
|
-
}), /*#__PURE__*/_jsx(
|
|
241
|
-
|
|
242
|
-
children: /*#__PURE__*/_jsx(ChatFooterFaqs, {
|
|
243
|
-
onSelectFaq: handleSelectFaq,
|
|
244
|
-
scrollContainerRef: chipsScrollRef
|
|
245
|
-
})
|
|
241
|
+
}), showFaqs && /*#__PURE__*/_jsx(ChatFooterFaqs, {
|
|
242
|
+
onSelectFaq: handleSelectFaq
|
|
246
243
|
})]
|
|
247
244
|
}), /*#__PURE__*/_jsx(MAIAInput, {
|
|
248
245
|
onSendMessage: handleSendMessage,
|
|
@@ -273,4 +270,4 @@ export function ChatFooter(_ref) {
|
|
|
273
270
|
})]
|
|
274
271
|
});
|
|
275
272
|
}
|
|
276
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiQ2hpcHNBbmRGYXFzUm93IiwiRmFxc1Njcm9sbFdyYXBwZXIiLCJDc3ZGaWxlSWNvbiIsIk1ERmlsZUljb24iLCJEb2NGaWxlSWNvbiIsIkRvY3hGaWxlSWNvbiIsIlRleHRGaWxlSWNvbiIsIlBkZkZpbGVJY29uIiwiSW1hZ2VGaWxlSWNvbiIsIlhsc3hGaWxlSWNvbiIsIlhsc0ZpbGVJY29uIiwiTXAzRmlsZUljb24iLCJXYXZGaWxlSWNvbiIsIkZsYWNGaWxlSWNvbiIsIk00YUZpbGVJY29uIiwiTXA0RmlsZUljb24iLCJPZ2FGaWxlSWNvbiIsIk9nZ0ZpbGVJY29uIiwiV2VibUZpbGVJY29uIiwiSW1hZ2VQcmV2aWV3IiwicHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCIsInZhbGlkYXRlSXNNYWlhIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfdXNlR2xvYmFsQ29udGV4dCIsInByb2plY3QiLCJhZ2VudCIsImNoaXBzUHJvamVjdCIsImNsaWVudCIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYXR0YWNobWVudHMiLCJzZXRBdHRhY2htZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZ01lc3NhZ2VzIiwic2V0TG9hZGluZ01lc3NhZ2VzIiwicmVwb3J0ZWRFdmVudCIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImNoaXBJdGVtcyIsInRlbXBJdGVtcyIsImVudGl0eSIsIm5hbWUiLCJwdXNoIiwiY2xpZW50TmFtZSIsInByb2plY3ROYW1lIiwiX3Byb2plY3QkY2xpZW50Iiwib25DaGFuZ2UiLCJjdXJyZW50IiwicG1BaVR5cGVkVGV4dCIsImFnZW50X3R5cGUiLCJ0eXBlIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJtZXNzYWdlIiwibmV3QXR0YWNobWVudHMiLCJmYXFJZCIsImFpQ2hhdFNlbmQiLCJhZ2VudF9pZCIsImlkIiwiYWdlbnRfbmFtZSIsImhhbmRsZVNlbGVjdEZhcSIsInVuZGVmaW5lZCIsImhhbmRsZUZpbGVBdHRhY2giLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZmlsZSIsIl9maWxlTmFtZVBhcnRzJHBvcCIsImZpbGVOYW1lUGFydHMiLCJmaWxlRXh0ZW5zaW9uIiwiaXNJbWFnZUJ5RXh0ZW5zaW9uIiwiaXNJbWFnZUJ5TWltZSIsImlzSW1hZ2UiLCJleHRlbnNpb25Ub0ljb24iLCJpY29uIiwiZXh0ZW5zaW9uVG9NaW1lVHlwZSIsIm1pbWVUeXBlQnlFeHRlbnNpb24iLCJwcm9jZXNzZWRGaWxlIiwiaW1hZ2VVcmwiLCJuZXdBdHRhY2htZW50IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNwbGl0IiwibGVuZ3RoIiwiY29uY2F0IiwicG9wIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0Iiwic2VudCIsImNvbnNvbGUiLCJlcnJvciIsIlVSTCIsImNyZWF0ZU9iamVjdFVSTCIsInNyYyIsImFsdCIsImJvcmRlclJhZGl1cyIsIm9yaWdpbmFsRmlsZSIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwic2l6ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImZpbHRlciIsImF0dGFjaG1lbnQiLCJpc01BSUEiLCJjaGlwc1Njcm9sbFJlZiIsImNoaWxkcmVuIiwicmVmIiwib25TZWxlY3RGYXEiLCJzY3JvbGxDb250YWluZXJSZWYiLCJjbGFzc05hbWUiLCJwbGFjZWhvbGRlciIsImlucHV0X3BsYWNlaG9sZGVyIiwib25GaWxlQXR0YWNoIiwib25EZWxldGVBdHRhY2htZW50IiwiYXR0IiwibWFwIiwiTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IE1PREFMX0VMRU1FTlRTIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTW9kYWwvdXNlTW9kYWwnXG5cbmltcG9ydCB7IENoaXAgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGlwJ1xuaW1wb3J0IHsgTUFJQUlucHV0IH0gZnJvbSAnLi4vLi4vYXRvbXMvTUFJQUlucHV0J1xuaW1wb3J0IHsgQ2hhdEZvb3RlckZhcXMgfSBmcm9tICcuL0NoYXRGb290ZXJGYXFzJ1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgU3R5bGVkQ2hhdEZvb3RlciwgQ2hpcHNBbmRGYXFzUm93LCBGYXFzU2Nyb2xsV3JhcHBlciB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHtcbiAgQ3N2RmlsZUljb24sXG4gIE1ERmlsZUljb24sXG4gIERvY0ZpbGVJY29uLFxuICBEb2N4RmlsZUljb24sXG4gIFRleHRGaWxlSWNvbixcbiAgUGRmRmlsZUljb24sXG4gIEltYWdlRmlsZUljb24sXG4gIFhsc3hGaWxlSWNvbixcbiAgWGxzRmlsZUljb24sXG4gIE1wM0ZpbGVJY29uLFxuICBXYXZGaWxlSWNvbixcbiAgRmxhY0ZpbGVJY29uLFxuICBNNGFGaWxlSWNvbixcbiAgTXA0RmlsZUljb24sXG4gIE9nYUZpbGVJY29uLFxuICBPZ2dGaWxlSWNvbixcbiAgV2VibUZpbGVJY29uLFxufSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEltYWdlUHJldmlldyB9IGZyb20gJy4uLy4uL2F0b21zL0ltYWdlUHJldmlldy9JbWFnZVByZXZpZXcnXG5pbXBvcnQgeyBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1hZ2VQcmVwcm9jZXNzb3InXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcblxuZXhwb3J0IHR5cGUgQXR0YWNobWVudEZpbGUgPSB7XG4gIGZpbGU6IEZpbGVcbiAgb3JpZ2luYWxGaWxlPzogRmlsZVxuICB1cmxfdGh1bWJuYWlsPzogc3RyaW5nXG4gIHVybF9vcmlnaW5hbD86IHN0cmluZ1xuICB1cmxfZmlsZT86IHN0cmluZ1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB2b2lkXG4gIG9uU3RvcEdlbmVyYXRpb24/OiAoKSA9PiB2b2lkXG4gIGNoYXRJZD86IHN0cmluZyB8IG51bGxcbiAgbmV3Q2hhdEtleT86IG51bWJlclxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG59OiBDaGF0Rm9vdGVyUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9qZWN0LCBhZ2VudCwgY2hpcHNQcm9qZWN0LCBjbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgW2F0dGFjaG1lbnRzLCBzZXRBdHRhY2htZW50c10gPSB1c2VTdGF0ZTxBdHRhY2htZW50RmlsZVtdPihbXSlcbiAgY29uc3QgW2xvYWRpbmdNZXNzYWdlcywgc2V0TG9hZGluZ01lc3NhZ2VzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHJlcG9ydGVkRXZlbnQgPSB1c2VSZWYoZmFsc2UpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0QXR0YWNobWVudHMoW10pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNoaXBJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIGl0ZW1zXG5cbiAgICBjb25zdCB0ZW1wSXRlbXM6IHN0cmluZ1tdID0gW11cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHRlbXBJdGVtcy5wdXNoKGNsaWVudC5uYW1lKVxuICAgIH0gZWxzZSBpZiAoY2hpcHNQcm9qZWN0KSB7XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0LmNsaWVudE5hbWUpIHRlbXBJdGVtcy5wdXNoKGNoaXBzUHJvamVjdC5jbGllbnROYW1lKVxuICAgICAgaWYgKGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSkgdGVtcEl0ZW1zLnB1c2goY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocHJvamVjdD8uY2xpZW50Py5uYW1lKSB0ZW1wSXRlbXMucHVzaChwcm9qZWN0LmNsaWVudC5uYW1lKVxuICAgICAgaWYgKHByb2plY3Q/Lm5hbWUpIHRlbXBJdGVtcy5wdXNoKHByb2plY3QubmFtZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcEl0ZW1zXG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBjbGllbnRdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChyZXBvcnRlZEV2ZW50LmN1cnJlbnQpIHJldHVyblxuICAgIGV2ZW50KEVWRU5UUy5wbUFpVHlwZWRUZXh0LCB7XG4gICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICB9KVxuICAgIHJlcG9ydGVkRXZlbnQuY3VycmVudCA9IHRydWVcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZywgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZykgPT4ge1xuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIGFnZW50X2lkOiBhZ2VudD8uaWQsXG4gICAgICBhZ2VudF9uYW1lOiBhZ2VudD8ubmFtZSxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMsIGZhcUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0RmFxID0gKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgdW5kZWZpbmVkLCBmYXFJZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVBdHRhY2ggPSBhc3luYyAoZmlsZTogRmlsZSkgPT4ge1xuICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgY29uc3QgaXNJbWFnZUJ5TWltZSA9IGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgIC8vIE1hcGVvIGRlIGV4dGVuc2nDs24gYSBpY29ubyBkaXJlY3RvIHBhcmEgY2Fzb3MgZXNwZWNpYWxlcyAoYXVkaW8vb2dnIHkgYXVkaW8vbXA0KVxuICAgIGNvbnN0IGV4dGVuc2lvblRvSWNvbjogUmVjb3JkPHN0cmluZywgUmVhY3ROb2RlPiA9IHtcbiAgICAgICcub2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAgICAgJy5vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICAgICAnLm1wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgICAgICcubTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAgIH1cblxuICAgIGxldCBpY29uID0gSWNvbkJ5RmlsZVR5cGVbZmlsZS50eXBlXVxuXG4gICAgLy8gU2kgZWwgdGlwbyBlcyBhdWRpby9vZ2cgbyBhdWRpby9tcDQsIHVzYXIgbGEgZXh0ZW5zacOzbiBwYXJhIGRldGVybWluYXIgZWwgaWNvbm9cbiAgICBpZiAoKGZpbGUudHlwZSA9PT0gJ2F1ZGlvL29nZycgfHwgZmlsZS50eXBlID09PSAnYXVkaW8vbXA0JykgJiYgZmlsZUV4dGVuc2lvbikge1xuICAgICAgaWNvbiA9IGV4dGVuc2lvblRvSWNvbltmaWxlRXh0ZW5zaW9uXSB8fCBpY29uXG4gICAgfVxuXG4gICAgaWYgKCFpY29uKSB7XG4gICAgICBjb25zdCBleHRlbnNpb25Ub01pbWVUeXBlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgJy5tZCc6ICd0ZXh0L3gtbWFya2Rvd24nLFxuICAgICAgICAnLmNzdic6ICd0ZXh0L2NzdicsXG4gICAgICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgICAgICcuZG9jeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgICAgICcucGRmJzogJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgICAgICcueGxzeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICcueGxzJzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAgICcuZmxhYyc6ICdhdWRpby9mbGFjJyxcbiAgICAgICAgJy5tNGEnOiAnYXVkaW8vbTRhJyxcbiAgICAgICAgJy5tcDMnOiAnYXVkaW8vbXBlZycsXG4gICAgICAgICcubXA0JzogJ2F1ZGlvL21wNCcsXG4gICAgICAgICcub2dhJzogJ2F1ZGlvL29nYScsXG4gICAgICAgICcub2dnJzogJ2F1ZGlvL29nZycsXG4gICAgICAgICcud2F2JzogJ2F1ZGlvL3dhdicsXG4gICAgICAgICcud2VibSc6ICdhdWRpby93ZWJtJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbWVUeXBlQnlFeHRlbnNpb24gPSBleHRlbnNpb25Ub01pbWVUeXBlW2ZpbGVFeHRlbnNpb25dXG4gICAgICBpZiAobWltZVR5cGVCeUV4dGVuc2lvbikge1xuICAgICAgICBpY29uID0gSWNvbkJ5RmlsZVR5cGVbbWltZVR5cGVCeUV4dGVuc2lvbl1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGljb24gPSA8QXR0YWNoIGNvbG9yPVwicmdiYSgxMzUsIDY0LCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcHJvY2Vzc2VkRmlsZSA9IGZpbGVcblxuICAgIC8vIFNpIGVzIHVuYSBpbWFnZW4sIHByZS1wcm9jZXNhcmxhIHBhcmEgZWwgYmFja2VuZFxuICAgIGlmIChpc0ltYWdlKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBQcm9jZXNhbmRvIGltYWdlblxuICAgICAgICBwcm9jZXNzZWRGaWxlID0gYXdhaXQgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZChmaWxlKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcHJlLXByb2Nlc2FuZG8gaW1hZ2VuOicsIGVycm9yKVxuICAgICAgICAvLyBDb250aW51YXIgY29uIGVsIGFyY2hpdm8gb3JpZ2luYWwgc2kgaGF5IGVycm9yXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGltYWdlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuXG4gICAgICBpY29uID0gPEltYWdlUHJldmlldyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ZpbGUubmFtZX0gd2lkdGg9XCI2M3B4XCIgaGVpZ2h0PVwiNjNweFwiIGJvcmRlclJhZGl1cz1cIjZweFwiIC8+XG4gICAgfVxuXG4gICAgY29uc3QgbmV3QXR0YWNobWVudDogQXR0YWNobWVudEZpbGUgPSB7XG4gICAgICBmaWxlOiBwcm9jZXNzZWRGaWxlLFxuICAgICAgb3JpZ2luYWxGaWxlOiBpc0ltYWdlID8gZmlsZSA6IHVuZGVmaW5lZCxcbiAgICAgIGlkOiBgJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCl9YCxcbiAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgIHNpemU6IHByb2Nlc3NlZEZpbGUuc2l6ZSxcbiAgICAgIHR5cGU6IHByb2Nlc3NlZEZpbGUudHlwZSxcbiAgICAgIGljb24sXG4gICAgfVxuXG4gICAgc2V0QXR0YWNobWVudHMocHJldiA9PiBbLi4ucHJldiwgbmV3QXR0YWNobWVudF0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVEZWxldGVBdHRhY2htZW50ID0gKGZpbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbmV3QXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5maWx0ZXIoYXR0YWNobWVudCA9PiBhdHRhY2htZW50LmlkICE9PSBmaWxlSWQpXG4gICAgc2V0QXR0YWNobWVudHMobmV3QXR0YWNobWVudHMpXG4gIH1cblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgY2hpcHNTY3JvbGxSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtpc01BSUEgJiYgIWxvYWRpbmdNZXNzYWdlcyAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3c+XG4gICAgICAgICAgeyEhY2hpcEl0ZW1zLmxlbmd0aCAmJiA8Q2hpcCBpdGVtcz17Y2hpcEl0ZW1zfSAvPn1cbiAgICAgICAgICA8RmFxc1Njcm9sbFdyYXBwZXIgcmVmPXtjaGlwc1Njcm9sbFJlZn0+XG4gICAgICAgICAgICA8Q2hhdEZvb3RlckZhcXMgb25TZWxlY3RGYXE9e2hhbmRsZVNlbGVjdEZhcX0gc2Nyb2xsQ29udGFpbmVyUmVmPXtjaGlwc1Njcm9sbFJlZn0gLz5cbiAgICAgICAgICA8L0ZhcXNTY3JvbGxXcmFwcGVyPlxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRDaGF0Rm9vdGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLGNBQWMsUUFBUSxrQ0FBa0M7QUFFakUsU0FBU0MsSUFBSSxRQUFRLGtCQUFrQjtBQUN2QyxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBQ2pELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakQsU0FBU0MsZ0JBQWdCLFFBQVEsaUNBQWlDO0FBQ2xFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLGdCQUFnQixFQUFFQyxlQUFlLEVBQUVDLGlCQUFpQixRQUFRLFVBQVU7QUFDL0UsU0FDRUMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsV0FBVyxF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
|
|
273
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiQ2hpcHNBbmRGYXFzUm93IiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwib25TZW5kTWVzc2FnZSIsIml0ZW1zIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJfdXNlVCIsInQiLCJldmVudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImF0dGFjaG1lbnRzIiwic2V0QXR0YWNobWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdNZXNzYWdlcyIsInNldExvYWRpbmdNZXNzYWdlcyIsInJlcG9ydGVkRXZlbnQiLCJoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UiLCJlIiwiZGV0YWlsIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVNlc3Npb25DaGFuZ2UiLCJjaGlwSXRlbXMiLCJ0ZW1wSXRlbXMiLCJlbnRpdHkiLCJuYW1lIiwicHVzaCIsImNsaWVudE5hbWUiLCJwcm9qZWN0TmFtZSIsIl9wcm9qZWN0JGNsaWVudCIsIm9uQ2hhbmdlIiwiY3VycmVudCIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwidHlwZSIsImhhbmRsZVNlbmRNZXNzYWdlIiwibWVzc2FnZSIsIm5ld0F0dGFjaG1lbnRzIiwiZmFxSWQiLCJhaUNoYXRTZW5kIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiY2hpbGRyZW4iLCJvblNlbGVjdEZhcSIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyLCBDaGlwc0FuZEZhcXNSb3cgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7XG4gIENzdkZpbGVJY29uLFxuICBNREZpbGVJY29uLFxuICBEb2NGaWxlSWNvbixcbiAgRG9jeEZpbGVJY29uLFxuICBUZXh0RmlsZUljb24sXG4gIFBkZkZpbGVJY29uLFxuICBJbWFnZUZpbGVJY29uLFxuICBYbHN4RmlsZUljb24sXG4gIFhsc0ZpbGVJY29uLFxuICBNcDNGaWxlSWNvbixcbiAgV2F2RmlsZUljb24sXG4gIEZsYWNGaWxlSWNvbixcbiAgTTRhRmlsZUljb24sXG4gIE1wNEZpbGVJY29uLFxuICBPZ2FGaWxlSWNvbixcbiAgT2dnRmlsZUljb24sXG4gIFdlYm1GaWxlSWNvbixcbn0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi8uLi9hdG9tcy9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ltYWdlUHJlcHJvY2Vzc29yJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRGaWxlID0ge1xuICBmaWxlOiBGaWxlXG4gIG9yaWdpbmFsRmlsZT86IEZpbGVcbiAgdXJsX3RodW1ibmFpbD86IHN0cmluZ1xuICB1cmxfb3JpZ2luYWw/OiBzdHJpbmdcbiAgdXJsX2ZpbGU/OiBzdHJpbmdcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2l6ZTogbnVtYmVyXG4gIHR5cGU6IHN0cmluZ1xuICBpY29uPzogUmVhY3ROb2RlXG4gIGV4dD86IHN0cmluZ1xuICBzdGF0dXM/OiAncGVuZGluZycgfCAncHJvY2Vzc2luZycgfCAnZG9uZScgfCAnZmFpbGVkJyB8ICdzdGFydGVkJ1xufVxuXG50eXBlIENoYXRGb290ZXJQcm9wcyA9IHtcbiAgaXRlbXM/OiBzdHJpbmdbXVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgb25TZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZykgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIFNpIGVzIGZhbHNlLCBubyBzZSBtdWVzdHJhIGxhIGZpbGEgZGUgY2hpcHMgbmkgZWwgYm90w7NuIGRlIEZBUXMuIERlYmUgc2VyIHRydWUgY3VhbmRvIGN1cnJlbnRPcHRpb24gPT09IGNoYXQuICovXG4gIHNob3dGYXFzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gdHJ1ZSxcbn06IENoYXRGb290ZXJQcm9wcykge1xuICBjb25zdCB7IHByb2plY3QsIGFnZW50LCBjaGlwc1Byb2plY3QsIGNsaWVudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcblxuICAvLyB1c2VFZmZlY3QgdG8gbGlzdGVuIGxvYWRpbmdNZXNzYWdlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSA9IChlOiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgc2V0TG9hZGluZ01lc3NhZ2VzKGUuZGV0YWlsLmxvYWRpbmdNZXNzYWdlcylcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBDbGVhciBhdHRhY2htZW50cyB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgY2hpcEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4gaXRlbXNcblxuICAgIGNvbnN0IHRlbXBJdGVtczogc3RyaW5nW10gPSBbXVxuXG4gICAgaWYgKGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnICYmIGNsaWVudD8ubmFtZSkge1xuICAgICAgdGVtcEl0ZW1zLnB1c2goY2xpZW50Lm5hbWUpXG4gICAgfSBlbHNlIGlmIChjaGlwc1Byb2plY3QpIHtcbiAgICAgIGlmIChjaGlwc1Byb2plY3QuY2xpZW50TmFtZSkgdGVtcEl0ZW1zLnB1c2goY2hpcHNQcm9qZWN0LmNsaWVudE5hbWUpXG4gICAgICBpZiAoY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lKSB0ZW1wSXRlbXMucHVzaChjaGlwc1Byb2plY3QucHJvamVjdE5hbWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9qZWN0Py5jbGllbnQ/Lm5hbWUpIHRlbXBJdGVtcy5wdXNoKHByb2plY3QuY2xpZW50Lm5hbWUpXG4gICAgICBpZiAocHJvamVjdD8ubmFtZSkgdGVtcEl0ZW1zLnB1c2gocHJvamVjdC5uYW1lKVxuICAgIH1cblxuICAgIHJldHVybiB0ZW1wSXRlbXNcbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGNsaWVudF0pXG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHJlcG9ydGVkRXZlbnQuY3VycmVudCkgcmV0dXJuXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlUeXBlZFRleHQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nLCBuZXdBdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB7XG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbmQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgICAgYWdlbnRfaWQ6IGFnZW50Py5pZCxcbiAgICAgIGFnZW50X25hbWU6IGFnZW50Py5uYW1lLFxuICAgIH0pXG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCBuZXdBdHRhY2htZW50cywgZmFxSWQpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZWxlY3RGYXEgPSAobWVzc2FnZTogc3RyaW5nLCBmYXFJZDogc3RyaW5nKSA9PiB7XG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCB1bmRlZmluZWQsIGZhcUlkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZUF0dGFjaCA9IGFzeW5jIChmaWxlOiBGaWxlKSA9PiB7XG4gICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgIGNvbnN0IGlzSW1hZ2VCeUV4dGVuc2lvbiA9IFsnLnBuZycsICcuanBnJywgJy5qcGVnJ10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbilcbiAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgY29uc3QgaXNJbWFnZSA9IGlzSW1hZ2VCeU1pbWUgJiYgaXNJbWFnZUJ5RXh0ZW5zaW9uXG4gICAgLy8gTWFwZW8gZGUgZXh0ZW5zacOzbiBhIGljb25vIGRpcmVjdG8gcGFyYSBjYXNvcyBlc3BlY2lhbGVzIChhdWRpby9vZ2cgeSBhdWRpby9tcDQpXG4gICAgY29uc3QgZXh0ZW5zaW9uVG9JY29uOiBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+ID0ge1xuICAgICAgJy5vZ2cnOiA8T2dnRmlsZUljb24gLz4sXG4gICAgICAnLm9nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgICAgICcubXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAgICAgJy5tNGEnOiA8TTRhRmlsZUljb24gLz4sXG4gICAgfVxuXG4gICAgbGV0IGljb24gPSBJY29uQnlGaWxlVHlwZVtmaWxlLnR5cGVdXG5cbiAgICAvLyBTaSBlbCB0aXBvIGVzIGF1ZGlvL29nZyBvIGF1ZGlvL21wNCwgdXNhciBsYSBleHRlbnNpw7NuIHBhcmEgZGV0ZXJtaW5hciBlbCBpY29ub1xuICAgIGlmICgoZmlsZS50eXBlID09PSAnYXVkaW8vb2dnJyB8fCBmaWxlLnR5cGUgPT09ICdhdWRpby9tcDQnKSAmJiBmaWxlRXh0ZW5zaW9uKSB7XG4gICAgICBpY29uID0gZXh0ZW5zaW9uVG9JY29uW2ZpbGVFeHRlbnNpb25dIHx8IGljb25cbiAgICB9XG5cbiAgICBpZiAoIWljb24pIHtcbiAgICAgIGNvbnN0IGV4dGVuc2lvblRvTWltZVR5cGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICcudHh0JzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAnLm1kJzogJ3RleHQveC1tYXJrZG93bicsXG4gICAgICAgICcuY3N2JzogJ3RleHQvY3N2JyxcbiAgICAgICAgJy5kb2MnOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAgICAgJy5kb2N4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgICAgICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgJy54bHN4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJy5mbGFjJzogJ2F1ZGlvL2ZsYWMnLFxuICAgICAgICAnLm00YSc6ICdhdWRpby9tNGEnLFxuICAgICAgICAnLm1wMyc6ICdhdWRpby9tcGVnJyxcbiAgICAgICAgJy5tcDQnOiAnYXVkaW8vbXA0JyxcbiAgICAgICAgJy5vZ2EnOiAnYXVkaW8vb2dhJyxcbiAgICAgICAgJy5vZ2cnOiAnYXVkaW8vb2dnJyxcbiAgICAgICAgJy53YXYnOiAnYXVkaW8vd2F2JyxcbiAgICAgICAgJy53ZWJtJzogJ2F1ZGlvL3dlYm0nLFxuICAgICAgfVxuICAgICAgY29uc3QgbWltZVR5cGVCeUV4dGVuc2lvbiA9IGV4dGVuc2lvblRvTWltZVR5cGVbZmlsZUV4dGVuc2lvbl1cbiAgICAgIGlmIChtaW1lVHlwZUJ5RXh0ZW5zaW9uKSB7XG4gICAgICAgIGljb24gPSBJY29uQnlGaWxlVHlwZVttaW1lVHlwZUJ5RXh0ZW5zaW9uXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWNvbiA9IDxBdHRhY2ggY29sb3I9XCJyZ2JhKDEzNSwgNjQsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBwcm9jZXNzZWRGaWxlID0gZmlsZVxuXG4gICAgLy8gU2kgZXMgdW5hIGltYWdlbiwgcHJlLXByb2Nlc2FybGEgcGFyYSBlbCBiYWNrZW5kXG4gICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFByb2Nlc2FuZG8gaW1hZ2VuXG4gICAgICAgIHByb2Nlc3NlZEZpbGUgPSBhd2FpdCBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kKGZpbGUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcmUtcHJvY2VzYW5kbyBpbWFnZW46JywgZXJyb3IpXG4gICAgICAgIC8vIENvbnRpbnVhciBjb24gZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBoYXkgZXJyb3JcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1hZ2VVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG5cbiAgICAgIGljb24gPSA8SW1hZ2VQcmV2aWV3IHNyYz17aW1hZ2VVcmx9IGFsdD17ZmlsZS5uYW1lfSB3aWR0aD1cIjYzcHhcIiBoZWlnaHQ9XCI2M3B4XCIgYm9yZGVyUmFkaXVzPVwiNnB4XCIgLz5cbiAgICB9XG5cbiAgICBjb25zdCBuZXdBdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSA9IHtcbiAgICAgIGZpbGU6IHByb2Nlc3NlZEZpbGUsXG4gICAgICBvcmlnaW5hbEZpbGU6IGlzSW1hZ2UgPyBmaWxlIDogdW5kZWZpbmVkLFxuICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLFxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogcHJvY2Vzc2VkRmlsZS5zaXplLFxuICAgICAgdHlwZTogcHJvY2Vzc2VkRmlsZS50eXBlLFxuICAgICAgaWNvbixcbiAgICB9XG5cbiAgICBzZXRBdHRhY2htZW50cyhwcmV2ID0+IFsuLi5wcmV2LCBuZXdBdHRhY2htZW50XSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBuZXdBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmZpbHRlcihhdHRhY2htZW50ID0+IGF0dGFjaG1lbnQuaWQgIT09IGZpbGVJZClcbiAgICBzZXRBdHRhY2htZW50cyhuZXdBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENoYXRGb290ZXI+XG4gICAgICB7aXNNQUlBICYmICFsb2FkaW5nTWVzc2FnZXMgJiYgKFxuICAgICAgICA8Q2hpcHNBbmRGYXFzUm93PlxuICAgICAgICAgIHshIWNoaXBJdGVtcy5sZW5ndGggJiYgPENoaXAgaXRlbXM9e2NoaXBJdGVtc30gLz59XG4gICAgICAgICAge3Nob3dGYXFzICYmIDxDaGF0Rm9vdGVyRmFxcyBvblNlbGVjdEZhcT17aGFuZGxlU2VsZWN0RmFxfSAvPn1cbiAgICAgICAgPC9DaGlwc0FuZEZhcXNSb3c+XG4gICAgICApfVxuICAgICAgPE1BSUFJbnB1dFxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgY2xhc3NOYW1lPXtNT0RBTF9FTEVNRU5UU31cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBwbGFjZWhvbGRlcj17YWdlbnQ/LmlucHV0X3BsYWNlaG9sZGVyIHx8IHQoJ2NoYXQuZm9vdGVyLnBsYWNlaG9sZGVyJyl9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgb25GaWxlQXR0YWNoPXtoYW5kbGVGaWxlQXR0YWNofVxuICAgICAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ9e2hhbmRsZURlbGV0ZUF0dGFjaG1lbnR9XG4gICAgICAgIGF0dGFjaG1lbnRzPXthdHRhY2htZW50c1xuICAgICAgICAgIC5maWx0ZXIoYXR0ID0+ICEhYXR0LmZpbGUpXG4gICAgICAgICAgLm1hcChhdHQgPT4gKHtcbiAgICAgICAgICAgIGZpbGU6IGF0dC5maWxlISxcbiAgICAgICAgICAgIG9yaWdpbmFsRmlsZTogYXR0Lm9yaWdpbmFsRmlsZSxcbiAgICAgICAgICAgIGlkOiBhdHQuaWQsXG4gICAgICAgICAgICBuYW1lOiBhdHQubmFtZSxcbiAgICAgICAgICAgIHNpemU6IHR5cGVvZiBhdHQuc2l6ZSA9PT0gJ251bWJlcicgPyBhdHQuc2l6ZSA6IE51bWJlcihhdHQuc2l6ZSkgfHwgMCxcbiAgICAgICAgICAgIHR5cGU6IGF0dC50eXBlLFxuICAgICAgICAgICAgaWNvbjogYXR0Lmljb24sXG4gICAgICAgICAgfSkpfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtvblN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZCB8fCB1bmRlZmluZWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAvPlxuICAgIDwvU3R5bGVkQ2hhdEZvb3Rlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFvQkEsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDdkUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBRWpFLFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFDdkMsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUNqRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBRWpELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUFTQyxnQkFBZ0IsRUFBRUMsZUFBZSxRQUFRLFVBQVU7QUFDNUQsU0FDRUMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsV0FBVyxFQUNY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
|
|
@@ -1,184 +1,156 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import colors from '@projectcor/theme/lib/base/colors';
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
|
|
5
4
|
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
6
5
|
import { useT } from '../../../hooks/useT';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
category: 'tasks'
|
|
35
|
-
}, {
|
|
36
|
-
id: 'faq-task-3',
|
|
37
|
-
title: 'Listado de tareas asignadas',
|
|
38
|
-
category: 'tasks'
|
|
39
|
-
}, {
|
|
40
|
-
id: 'faq-task-4',
|
|
41
|
-
title: 'Tareas completadas este mes',
|
|
42
|
-
category: 'tasks'
|
|
43
|
-
}],
|
|
44
|
-
hours: [{
|
|
45
|
-
id: 'faq-hours-1',
|
|
46
|
-
title: '¿Cuántas horas se han registrado?',
|
|
47
|
-
category: 'hours'
|
|
48
|
-
}, {
|
|
49
|
-
id: 'faq-hours-2',
|
|
50
|
-
title: 'Horas por recurso en el proyecto',
|
|
51
|
-
category: 'hours'
|
|
52
|
-
}, {
|
|
53
|
-
id: 'faq-hours-3',
|
|
54
|
-
title: 'Comparativa de horas estimadas vs reales',
|
|
55
|
-
category: 'hours'
|
|
56
|
-
}]
|
|
57
|
-
};
|
|
58
|
-
var FAQ_CATEGORIES = ['projects', 'tasks', 'hours'];
|
|
59
|
-
export function ChatFooterFaqs(_ref) {
|
|
60
|
-
var _MOCK_FAQS_BY_CATEGOR;
|
|
61
|
-
var onSelectFaq = _ref.onSelectFaq,
|
|
62
|
-
scrollContainerRef = _ref.scrollContainerRef;
|
|
6
|
+
import { useResizeListener } from '../../../hooks/useResize';
|
|
7
|
+
import { useGlobalContext } from '../../../context/global-context';
|
|
8
|
+
import { useFrequentlyAskedQuestions } from '../../../hooks/useFrequentlyAskedQuestions';
|
|
9
|
+
import { SCFaqsChip, SCFaqsTriggerWrapper, SCFaqsModalFrame, SCFaqsModalContent, SCFaqsCategoryHeader, SCFaqsModalItem, SCFaqsModalItemText } from './ChatFooterFaqs.styles';
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
function FaqModalItem(_ref) {
|
|
12
|
+
var faq = _ref.faq,
|
|
13
|
+
onClick = _ref.onClick;
|
|
14
|
+
var textRef = useRef(null);
|
|
15
|
+
var _useResizeListener = useResizeListener(textRef, [faq.title]),
|
|
16
|
+
showTooltip = _useResizeListener.showTooltip;
|
|
17
|
+
var content = /*#__PURE__*/_jsx(SCFaqsModalItem, {
|
|
18
|
+
type: "button",
|
|
19
|
+
onClick: onClick,
|
|
20
|
+
children: /*#__PURE__*/_jsx(SCFaqsModalItemText, {
|
|
21
|
+
ref: textRef,
|
|
22
|
+
children: faq.title
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
return /*#__PURE__*/_jsx(Tooltip, {
|
|
26
|
+
title: showTooltip ? faq.title : '',
|
|
27
|
+
children: content
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
var PREFERRED_CATEGORY_ORDER = ['hours', 'projects', 'tasks', 'undefined'];
|
|
31
|
+
export function ChatFooterFaqs(_ref2) {
|
|
32
|
+
var onSelectFaq = _ref2.onSelectFaq;
|
|
63
33
|
var _useT = useT(),
|
|
64
|
-
t = _useT.t
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
setIsScrolling = _useState6[1];
|
|
77
|
-
var scrollTimeoutRef = useRef(null);
|
|
78
|
-
|
|
79
|
-
// Mismo patrón que FrequentlyAskedQuestions: al hacer scroll no renderizamos el Tooltip
|
|
34
|
+
t = _useT.t,
|
|
35
|
+
i18n = _useT.i18n;
|
|
36
|
+
var _useGlobalContext = useGlobalContext(),
|
|
37
|
+
agent = _useGlobalContext.agent;
|
|
38
|
+
var lang = i18n.language === 'br' ? 'pt-br' : i18n.language;
|
|
39
|
+
var agentId = agent === null || agent === void 0 ? void 0 : agent.id;
|
|
40
|
+
var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang),
|
|
41
|
+
faqs = _useFrequentlyAskedQu.faqs,
|
|
42
|
+
loading = _useFrequentlyAskedQu.loading,
|
|
43
|
+
error = _useFrequentlyAskedQu.error,
|
|
44
|
+
handleGetFrequentlyAskedQuestions = _useFrequentlyAskedQu.handleGetFrequentlyAskedQuestions;
|
|
45
|
+
var isCloneAgent = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone';
|
|
80
46
|
useEffect(function () {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
|
|
47
|
+
if (isCloneAgent && agentId && lang) {
|
|
48
|
+
handleGetFrequentlyAskedQuestions({
|
|
49
|
+
agentId: agentId,
|
|
50
|
+
lang: lang
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}, [isCloneAgent, agentId, lang, handleGetFrequentlyAskedQuestions]);
|
|
54
|
+
var faqsByCategory = useMemo(function () {
|
|
55
|
+
var grouped = {};
|
|
56
|
+
faqs.forEach(function (faq) {
|
|
57
|
+
var category = faq.category || 'undefined';
|
|
58
|
+
if (!grouped[category]) grouped[category] = [];
|
|
59
|
+
grouped[category].push(faq);
|
|
92
60
|
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
97
|
-
}, [selectedCategory, scrollContainerRef]);
|
|
98
|
-
var handleToggleFaqs = function handleToggleFaqs() {
|
|
99
|
-
setShowFaqs(function (prev) {
|
|
100
|
-
return !prev;
|
|
61
|
+
var orderedKeys = PREFERRED_CATEGORY_ORDER.filter(function (cat) {
|
|
62
|
+
var _grouped$cat;
|
|
63
|
+
return (_grouped$cat = grouped[cat]) === null || _grouped$cat === void 0 ? void 0 : _grouped$cat.length;
|
|
101
64
|
});
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
var handleCategoryClick = function handleCategoryClick(category) {
|
|
107
|
-
setSelectedCategory(function (prev) {
|
|
108
|
-
return prev === category ? null : category;
|
|
65
|
+
var rest = Object.keys(grouped).filter(function (cat) {
|
|
66
|
+
return !PREFERRED_CATEGORY_ORDER.includes(cat);
|
|
109
67
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
// Sin FAQs abierto: solo botón FAQs
|
|
117
|
-
if (!showFaqs) {
|
|
118
|
-
return /*#__PURE__*/_jsx(SCFaqsChip, {
|
|
119
|
-
type: "button",
|
|
120
|
-
onClick: handleToggleFaqs,
|
|
121
|
-
"aria-pressed": false,
|
|
122
|
-
children: "FAQs"
|
|
68
|
+
var order = [].concat(_toConsumableArray(orderedKeys), _toConsumableArray(rest));
|
|
69
|
+
order.forEach(function (cat) {
|
|
70
|
+
grouped[cat].sort(function (a, b) {
|
|
71
|
+
var _a$order, _b$order;
|
|
72
|
+
return ((_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : 0) - ((_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : 0);
|
|
73
|
+
});
|
|
123
74
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
variant: "regular"
|
|
138
|
-
})
|
|
139
|
-
}), FAQ_CATEGORIES.map(function (cat) {
|
|
140
|
-
return /*#__PURE__*/_jsx(SCFaqsChip, {
|
|
141
|
-
type: "button",
|
|
142
|
-
onClick: function onClick() {
|
|
143
|
-
return handleCategoryClick(cat);
|
|
144
|
-
},
|
|
145
|
-
"aria-pressed": false,
|
|
146
|
-
children: t("homeMenu.faq.categories.".concat(cat))
|
|
147
|
-
}, cat);
|
|
148
|
-
})]
|
|
75
|
+
return {
|
|
76
|
+
grouped: grouped,
|
|
77
|
+
order: order
|
|
78
|
+
};
|
|
79
|
+
}, [faqs]);
|
|
80
|
+
var _useState = useState(false),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
isOpen = _useState2[0],
|
|
83
|
+
setIsOpen = _useState2[1];
|
|
84
|
+
var wrapperRef = useRef(null);
|
|
85
|
+
var handleToggle = useCallback(function () {
|
|
86
|
+
setIsOpen(function (prev) {
|
|
87
|
+
return !prev;
|
|
149
88
|
});
|
|
89
|
+
}, []);
|
|
90
|
+
var handleFaqClick = useCallback(function (faq) {
|
|
91
|
+
onSelectFaq(faq.title, faq.id);
|
|
92
|
+
setIsOpen(false);
|
|
93
|
+
}, [onSelectFaq]);
|
|
94
|
+
var handleEscape = useCallback(function (e) {
|
|
95
|
+
if (e.key === 'Escape') setIsOpen(false);
|
|
96
|
+
}, []);
|
|
97
|
+
var handleClickOutside = useCallback(function (e) {
|
|
98
|
+
var target = e.target;
|
|
99
|
+
if (wrapperRef.current && !wrapperRef.current.contains(target)) {
|
|
100
|
+
setIsOpen(false);
|
|
101
|
+
}
|
|
102
|
+
}, []);
|
|
103
|
+
useEffect(function () {
|
|
104
|
+
if (!isOpen) return undefined;
|
|
105
|
+
document.addEventListener('keydown', handleEscape, true);
|
|
106
|
+
var timeoutId = setTimeout(function () {
|
|
107
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
108
|
+
}, 0);
|
|
109
|
+
return function () {
|
|
110
|
+
document.removeEventListener('keydown', handleEscape, true);
|
|
111
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
112
|
+
clearTimeout(timeoutId);
|
|
113
|
+
};
|
|
114
|
+
}, [isOpen, handleEscape, handleClickOutside]);
|
|
115
|
+
if (faqs.length === 0) {
|
|
116
|
+
return null;
|
|
150
117
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
children: [/*#__PURE__*/_jsxs(SCFaqsChip, {
|
|
118
|
+
return /*#__PURE__*/_jsxs(SCFaqsTriggerWrapper, {
|
|
119
|
+
ref: wrapperRef,
|
|
120
|
+
children: [/*#__PURE__*/_jsx(SCFaqsChip, {
|
|
155
121
|
type: "button",
|
|
156
|
-
onClick:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
122
|
+
onClick: handleToggle,
|
|
123
|
+
"aria-expanded": isOpen,
|
|
124
|
+
"aria-haspopup": "true",
|
|
125
|
+
children: t('homeMenu.faq.title')
|
|
126
|
+
}), isOpen && /*#__PURE__*/_jsx(SCFaqsModalFrame, {
|
|
127
|
+
role: "dialog",
|
|
128
|
+
"aria-label": t('homeMenu.faq.title'),
|
|
129
|
+
children: /*#__PURE__*/_jsx(SCFaqsModalContent, {
|
|
130
|
+
children: !loading && !error && faqsByCategory.order.map(function (category) {
|
|
131
|
+
var _faqsByCategory$group;
|
|
132
|
+
var items = (_faqsByCategory$group = faqsByCategory.grouped[category]) !== null && _faqsByCategory$group !== void 0 ? _faqsByCategory$group : [];
|
|
133
|
+
if (items.length === 0) return null;
|
|
134
|
+
var categoryLabel = category === 'undefined' ? t('homeMenu.faq.categories.undefined') : t("homeMenu.faq.categories.".concat(category));
|
|
135
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
136
|
+
children: [/*#__PURE__*/_jsx(SCFaqsCategoryHeader, {
|
|
137
|
+
children: categoryLabel
|
|
138
|
+
}), items.map(function (faq) {
|
|
139
|
+
return /*#__PURE__*/_jsx(FaqModalItem, {
|
|
140
|
+
faq: {
|
|
141
|
+
id: faq.id,
|
|
142
|
+
title: faq.title,
|
|
143
|
+
category: faq.category || 'undefined'
|
|
144
|
+
},
|
|
145
|
+
onClick: function onClick() {
|
|
146
|
+
return handleFaqClick(faq);
|
|
147
|
+
}
|
|
148
|
+
}, faq.id);
|
|
149
|
+
})]
|
|
150
|
+
}, category);
|
|
179
151
|
})
|
|
180
|
-
}
|
|
152
|
+
})
|
|
181
153
|
})]
|
|
182
154
|
});
|
|
183
155
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiQXJyb3dMZWZ0IiwiY29sb3JzIiwiVG9vbHRpcCIsInVzZVQiLCJTQ0ZhcXNDaGlwIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiTU9DS19GQVFTX0JZX0NBVEVHT1JZIiwicHJvamVjdHMiLCJpZCIsInRpdGxlIiwiY2F0ZWdvcnkiLCJ0YXNrcyIsImhvdXJzIiwiRkFRX0NBVEVHT1JJRVMiLCJDaGF0Rm9vdGVyRmFxcyIsIl9yZWYiLCJfTU9DS19GQVFTX0JZX0NBVEVHT1IiLCJvblNlbGVjdEZhcSIsInNjcm9sbENvbnRhaW5lclJlZiIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dGYXFzIiwic2V0U2hvd0ZhcXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNlbGVjdGVkQ2F0ZWdvcnkiLCJzZXRTZWxlY3RlZENhdGVnb3J5IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwic2Nyb2xsVGltZW91dFJlZiIsImVsIiwiY3VycmVudCIsInVuZGVmaW5lZCIsImhhbmRsZVNjcm9sbCIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVUb2dnbGVGYXFzIiwicHJldiIsImhhbmRsZUNhdGVnb3J5Q2xpY2siLCJoYW5kbGVGYXFDbGljayIsImZhcSIsIml0ZW1zVG9TaG93IiwidHlwZSIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsIndpZHRoIiwiaGVpZ2h0IiwidmFyaWFudCIsIm1hcCIsImNhdCIsImNvbmNhdCIsImxlbmd0aCIsInNsaWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlckZhcXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEFycm93TGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Fycm93TGVmdCdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBTQ0ZhcXNDaGlwIH0gZnJvbSAnLi9DaGF0Rm9vdGVyRmFxcy5zdHlsZXMnXG5cbmV4cG9ydCB0eXBlIEZhcUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBjYXRlZ29yeTogc3RyaW5nXG59XG5cbmNvbnN0IE1PQ0tfRkFRU19CWV9DQVRFR09SWTogUmVjb3JkPHN0cmluZywgRmFxSXRlbVtdPiA9IHtcbiAgcHJvamVjdHM6IFtcbiAgICB7IGlkOiAnZmFxLXByb2otMScsIHRpdGxlOiAnwr9DdcOhbCBlcyBsYSByZW50YWJpbGlkYWQgZGUgZXN0ZSBwcm95ZWN0bz8nLCBjYXRlZ29yeTogJ3Byb2plY3RzJyB9LFxuICAgIHsgaWQ6ICdmYXEtcHJvai0yJywgdGl0bGU6ICfCv0N1w6FsZXMgc29uIGxvcyBhdmFuY2VzIGRlIGVzdGUgcHJveWVjdG8/JywgY2F0ZWdvcnk6ICdwcm9qZWN0cycgfSxcbiAgICB7IGlkOiAnZmFxLXByb2otMycsIHRpdGxlOiAnwr9DdcOhbCBlcyBlbCBlc3RhZG8gYWN0dWFsIGRlbCBwcm95ZWN0bz8nLCBjYXRlZ29yeTogJ3Byb2plY3RzJyB9LFxuICAgIHsgaWQ6ICdmYXEtcHJvai00JywgdGl0bGU6ICdSZXN1bWVuIGRlbCBwcm95ZWN0bycsIGNhdGVnb3J5OiAncHJvamVjdHMnIH0sXG4gIF0sXG4gIHRhc2tzOiBbXG4gICAgeyBpZDogJ2ZhcS10YXNrLTEnLCB0aXRsZTogJ8K/Q3XDoWxlcyBzb24gbGFzIHRhcmVhcyBwcsOzeGltYXMgYSB2ZW5jZXI/JywgY2F0ZWdvcnk6ICd0YXNrcycgfSxcbiAgICB7IGlkOiAnZmFxLXRhc2stMicsIHRpdGxlOiAnwr9RdcOpIHRhcmVhcyBlc3TDoW4gYXRyYXNhZGFzPycsIGNhdGVnb3J5OiAndGFza3MnIH0sXG4gICAgeyBpZDogJ2ZhcS10YXNrLTMnLCB0aXRsZTogJ0xpc3RhZG8gZGUgdGFyZWFzIGFzaWduYWRhcycsIGNhdGVnb3J5OiAndGFza3MnIH0sXG4gICAgeyBpZDogJ2ZhcS10YXNrLTQnLCB0aXRsZTogJ1RhcmVhcyBjb21wbGV0YWRhcyBlc3RlIG1lcycsIGNhdGVnb3J5OiAndGFza3MnIH0sXG4gIF0sXG4gIGhvdXJzOiBbXG4gICAgeyBpZDogJ2ZhcS1ob3Vycy0xJywgdGl0bGU6ICfCv0N1w6FudGFzIGhvcmFzIHNlIGhhbiByZWdpc3RyYWRvPycsIGNhdGVnb3J5OiAnaG91cnMnIH0sXG4gICAgeyBpZDogJ2ZhcS1ob3Vycy0yJywgdGl0bGU6ICdIb3JhcyBwb3IgcmVjdXJzbyBlbiBlbCBwcm95ZWN0bycsIGNhdGVnb3J5OiAnaG91cnMnIH0sXG4gICAgeyBpZDogJ2ZhcS1ob3Vycy0zJywgdGl0bGU6ICdDb21wYXJhdGl2YSBkZSBob3JhcyBlc3RpbWFkYXMgdnMgcmVhbGVzJywgY2F0ZWdvcnk6ICdob3VycycgfSxcbiAgXSxcbn1cblxuY29uc3QgRkFRX0NBVEVHT1JJRVMgPSBbJ3Byb2plY3RzJywgJ3Rhc2tzJywgJ2hvdXJzJ10gYXMgY29uc3RcblxudHlwZSBDaGF0Rm9vdGVyRmFxc1Byb3BzID0ge1xuICBvblNlbGVjdEZhcTogKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4gdm9pZFxuICBzY3JvbGxDb250YWluZXJSZWY/OiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3RlckZhcXMoeyBvblNlbGVjdEZhcSwgc2Nyb2xsQ29udGFpbmVyUmVmIH06IENoYXRGb290ZXJGYXFzUHJvcHMpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW3Nob3dGYXFzLCBzZXRTaG93RmFxc10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlbGVjdGVkQ2F0ZWdvcnksIHNldFNlbGVjdGVkQ2F0ZWdvcnldID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3Qgc2Nyb2xsVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG5cbiAgLy8gTWlzbW8gcGF0csOzbiBxdWUgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zOiBhbCBoYWNlciBzY3JvbGwgbm8gcmVuZGVyaXphbW9zIGVsIFRvb2x0aXBcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbCA9IHNjcm9sbENvbnRhaW5lclJlZj8uY3VycmVudFxuICAgIGlmICghZWwgfHwgIXNlbGVjdGVkQ2F0ZWdvcnkpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBzZXRJc1Njcm9sbGluZyh0cnVlKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudClcbiAgICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4gc2V0SXNTY3JvbGxpbmcoZmFsc2UpLCAxNTApXG4gICAgfVxuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgfVxuICB9LCBbc2VsZWN0ZWRDYXRlZ29yeSwgc2Nyb2xsQ29udGFpbmVyUmVmXSlcblxuICBjb25zdCBoYW5kbGVUb2dnbGVGYXFzID0gKCkgPT4ge1xuICAgIHNldFNob3dGYXFzKHByZXYgPT4gIXByZXYpXG4gICAgaWYgKHNob3dGYXFzKSB7XG4gICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KG51bGwpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2F0ZWdvcnlDbGljayA9IChjYXRlZ29yeTogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShwcmV2ID0+IChwcmV2ID09PSBjYXRlZ29yeSA/IG51bGwgOiBjYXRlZ29yeSkpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGYXFDbGljayA9IChmYXE6IEZhcUl0ZW0pID0+IHtcbiAgICBvblNlbGVjdEZhcShmYXEudGl0bGUsIGZhcS5pZClcbiAgfVxuXG4gIGNvbnN0IGl0ZW1zVG9TaG93ID0gc2VsZWN0ZWRDYXRlZ29yeSA/IChNT0NLX0ZBUVNfQllfQ0FURUdPUllbc2VsZWN0ZWRDYXRlZ29yeV0gPz8gW10pIDogW11cblxuICAvLyBTaW4gRkFRcyBhYmllcnRvOiBzb2xvIGJvdMOzbiBGQVFzXG4gIGlmICghc2hvd0ZhcXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDRmFxc0NoaXAgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUZhcXN9IGFyaWEtcHJlc3NlZD17ZmFsc2V9PlxuICAgICAgICBGQVFzXG4gICAgICA8L1NDRmFxc0NoaXA+XG4gICAgKVxuICB9XG5cbiAgLy8gRkFRcyBhYmllcnRvOiBjYXRlZ29yw61hcyDihpIgW+KGkF0gW0NhdDFdIFtDYXQyXSBbQ2F0M11cbiAgaWYgKCFzZWxlY3RlZENhdGVnb3J5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxTQ0ZhcXNDaGlwIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVUb2dnbGVGYXFzfSBhcmlhLWxhYmVsPVwiVm9sdmVyXCI+XG4gICAgICAgICAgPEFycm93TGVmdCBjb2xvcj17Y29sb3JzLnRleHQuc2Vjb25kYXJ5fSB3aWR0aD17MTJ9IGhlaWdodD17MTJ9IHZhcmlhbnQ9XCJyZWd1bGFyXCIgLz5cbiAgICAgICAgPC9TQ0ZhcXNDaGlwPlxuICAgICAgICB7RkFRX0NBVEVHT1JJRVMubWFwKGNhdCA9PiAoXG4gICAgICAgICAgPFNDRmFxc0NoaXAga2V5PXtjYXR9IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDYXRlZ29yeUNsaWNrKGNhdCl9IGFyaWEtcHJlc3NlZD17ZmFsc2V9PlxuICAgICAgICAgICAge3QoYGhvbWVNZW51LmZhcS5jYXRlZ29yaWVzLiR7Y2F0fWApfVxuICAgICAgICAgIDwvU0NGYXFzQ2hpcD5cbiAgICAgICAgKSl9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBDYXRlZ29yw61hIGVsZWdpZGE6IHNvbG8gW+KGkCBOb21icmVDYXRlZ29yw61hXSBbUHJlZ3VudGFzLi4uXSAoc2luIGZsZWNoYSBleHRyYSlcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFNDRmFxc0NoaXAgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkQ2F0ZWdvcnkobnVsbCl9IGFyaWEtbGFiZWw9XCJWb2x2ZXIgYSBjYXRlZ29yw61hc1wiPlxuICAgICAgICA8QXJyb3dMZWZ0IGNvbG9yPXtjb2xvcnMudGV4dC5zZWNvbmRhcnl9IHdpZHRoPXsxMn0gaGVpZ2h0PXsxMn0gdmFyaWFudD1cInNvbGlkXCIgLz57JyAnfVxuICAgICAgICB7dChgaG9tZU1lbnUuZmFxLmNhdGVnb3JpZXMuJHtzZWxlY3RlZENhdGVnb3J5fWApfVxuICAgICAgPC9TQ0ZhcXNDaGlwPlxuICAgICAge2l0ZW1zVG9TaG93Lm1hcChmYXEgPT4gKFxuICAgICAgICA8U0NGYXFzQ2hpcCBrZXk9e2ZhcS5pZH0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZhcUNsaWNrKGZhcSl9PlxuICAgICAgICAgIHtpc1Njcm9sbGluZyA/IChcbiAgICAgICAgICAgIDxzcGFuPntmYXEudGl0bGUubGVuZ3RoID4gNDAgPyBgJHtmYXEudGl0bGUuc2xpY2UoMCwgNDApfeKApmAgOiBmYXEudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17ZmFxLnRpdGxlLmxlbmd0aCA+IDQwID8gZmFxLnRpdGxlIDogJyd9PlxuICAgICAgICAgICAgICA8c3Bhbj57ZmFxLnRpdGxlLmxlbmd0aCA+IDQwID8gYCR7ZmFxLnRpdGxlLnNsaWNlKDAsIDQwKX3igKZgIDogZmFxLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDRmFxc0NoaXA+XG4gICAgICApKX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDMUQsU0FBU0MsU0FBUyxRQUFRLDRDQUE0QztBQUN0RSxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBQUEsU0FBQUMsR0FBQSxJQUFB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
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJTQ0ZhcXNDaGlwIiwiU0NGYXFzVHJpZ2dlcldyYXBwZXIiLCJTQ0ZhcXNNb2RhbEZyYW1lIiwiU0NGYXFzTW9kYWxDb250ZW50IiwiU0NGYXFzQ2F0ZWdvcnlIZWFkZXIiLCJTQ0ZhcXNNb2RhbEl0ZW0iLCJTQ0ZhcXNNb2RhbEl0ZW1UZXh0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZhcU1vZGFsSXRlbSIsIl9yZWYiLCJmYXEiLCJvbkNsaWNrIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjb250ZW50IiwidHlwZSIsImNoaWxkcmVuIiwicmVmIiwiUFJFRkVSUkVEX0NBVEVHT1JZX09SREVSIiwiQ2hhdEZvb3RlckZhcXMiLCJfcmVmMiIsIm9uU2VsZWN0RmFxIiwiX3VzZVQiLCJ0IiwiaTE4biIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJsYW5nIiwibGFuZ3VhZ2UiLCJhZ2VudElkIiwiaWQiLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJmYXFzIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiaXNDbG9uZUFnZW50IiwiZmFxc0J5Q2F0ZWdvcnkiLCJncm91cGVkIiwiZm9yRWFjaCIsImNhdGVnb3J5IiwicHVzaCIsIm9yZGVyZWRLZXlzIiwiZmlsdGVyIiwiY2F0IiwiX2dyb3VwZWQkY2F0IiwibGVuZ3RoIiwicmVzdCIsIk9iamVjdCIsImtleXMiLCJpbmNsdWRlcyIsIm9yZGVyIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5Iiwic29ydCIsImEiLCJiIiwiX2Ekb3JkZXIiLCJfYiRvcmRlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIndyYXBwZXJSZWYiLCJoYW5kbGVUb2dnbGUiLCJwcmV2IiwiaGFuZGxlRmFxQ2xpY2siLCJoYW5kbGVFc2NhcGUiLCJlIiwia2V5IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwidGFyZ2V0IiwiY3VycmVudCIsImNvbnRhaW5zIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJyb2xlIiwibWFwIiwiX2ZhcXNCeUNhdGVnb3J5JGdyb3VwIiwiaXRlbXMiLCJjYXRlZ29yeUxhYmVsIiwiRnJhZ21lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyRmFxcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7XG4gIFNDRmFxc0NoaXAsXG4gIFNDRmFxc1RyaWdnZXJXcmFwcGVyLFxuICBTQ0ZhcXNNb2RhbEZyYW1lLFxuICBTQ0ZhcXNNb2RhbENvbnRlbnQsXG4gIFNDRmFxc0NhdGVnb3J5SGVhZGVyLFxuICBTQ0ZhcXNNb2RhbEl0ZW0sXG4gIFNDRmFxc01vZGFsSXRlbVRleHQsXG59IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMuc3R5bGVzJ1xuaW1wb3J0IHR5cGUgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uJ1xuXG5leHBvcnQgdHlwZSBGYXFJdGVtID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBGYXFNb2RhbEl0ZW0oeyBmYXEsIG9uQ2xpY2sgfTogeyBmYXE6IEZhcUl0ZW07IG9uQ2xpY2s6ICgpID0+IHZvaWQgfSkge1xuICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZiwgW2ZhcS50aXRsZV0pXG5cbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8U0NGYXFzTW9kYWxJdGVtIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTQ0ZhcXNNb2RhbEl0ZW1UZXh0IHJlZj17dGV4dFJlZn0+e2ZhcS50aXRsZX08L1NDRmFxc01vZGFsSXRlbVRleHQ+XG4gICAgPC9TQ0ZhcXNNb2RhbEl0ZW0+XG4gIClcblxuICByZXR1cm4gPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZmFxLnRpdGxlIDogJyd9Pntjb250ZW50fTwvVG9vbHRpcD5cbn1cblxuY29uc3QgUFJFRkVSUkVEX0NBVEVHT1JZX09SREVSID0gWydob3VycycsICdwcm9qZWN0cycsICd0YXNrcycsICd1bmRlZmluZWQnXVxuXG50eXBlIENoYXRGb290ZXJGYXFzUHJvcHMgPSB7XG4gIG9uU2VsZWN0RmFxOiAobWVzc2FnZTogc3RyaW5nLCBmYXFJZDogc3RyaW5nKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyRmFxcyh7IG9uU2VsZWN0RmFxIH06IENoYXRGb290ZXJGYXFzUHJvcHMpIHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgeyBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0LWJyJyA6IGkxOG4ubGFuZ3VhZ2VcbiAgY29uc3QgYWdlbnRJZCA9IGFnZW50Py5pZFxuXG4gIGNvbnN0IHsgZmFxcywgbG9hZGluZywgZXJyb3IsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKGFnZW50SWQsIGxhbmcpXG5cbiAgY29uc3QgaXNDbG9uZUFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZSdcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Nsb25lQWdlbnQgJiYgYWdlbnRJZCAmJiBsYW5nKSB7XG4gICAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoeyBhZ2VudElkLCBsYW5nIH0pXG4gICAgfVxuICB9LCBbaXNDbG9uZUFnZW50LCBhZ2VudElkLCBsYW5nLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IGZhcXNCeUNhdGVnb3J5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBlZDogUmVjb3JkPHN0cmluZywgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25bXT4gPSB7fVxuICAgIGZhcXMuZm9yRWFjaChmYXEgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgIGlmICghZ3JvdXBlZFtjYXRlZ29yeV0pIGdyb3VwZWRbY2F0ZWdvcnldID0gW11cbiAgICAgIGdyb3VwZWRbY2F0ZWdvcnldLnB1c2goZmFxKVxuICAgIH0pXG4gICAgY29uc3Qgb3JkZXJlZEtleXMgPSBQUkVGRVJSRURfQ0FURUdPUllfT1JERVIuZmlsdGVyKGNhdCA9PiBncm91cGVkW2NhdF0/Lmxlbmd0aClcbiAgICBjb25zdCByZXN0ID0gT2JqZWN0LmtleXMoZ3JvdXBlZCkuZmlsdGVyKGNhdCA9PiAhUFJFRkVSUkVEX0NBVEVHT1JZX09SREVSLmluY2x1ZGVzKGNhdCkpXG4gICAgY29uc3Qgb3JkZXIgPSBbLi4ub3JkZXJlZEtleXMsIC4uLnJlc3RdXG4gICAgb3JkZXIuZm9yRWFjaChjYXQgPT4ge1xuICAgICAgZ3JvdXBlZFtjYXRdLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyID8/IDApIC0gKGIub3JkZXIgPz8gMCkpXG4gICAgfSlcbiAgICByZXR1cm4geyBncm91cGVkLCBvcmRlciB9XG4gIH0sIFtmYXFzXSlcblxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVGYXFDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uKSA9PiB7XG4gICAgICBvblNlbGVjdEZhcShmYXEudGl0bGUsIGZhcS5pZClcbiAgICAgIHNldElzT3BlbihmYWxzZSlcbiAgICB9LFxuICAgIFtvblNlbGVjdEZhcV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUVzY2FwZSA9IHVzZUNhbGxiYWNrKChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykgc2V0SXNPcGVuKGZhbHNlKVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjaygoZTogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIE5vZGVcbiAgICBpZiAod3JhcHBlclJlZi5jdXJyZW50ICYmICF3cmFwcGVyUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzT3BlbikgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVFc2NhcGUsIHRydWUpXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfSwgMClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSwgdHJ1ZSlcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgfVxuICB9LCBbaXNPcGVuLCBoYW5kbGVFc2NhcGUsIGhhbmRsZUNsaWNrT3V0c2lkZV0pXG5cbiAgaWYgKGZhcXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDRmFxc1RyaWdnZXJXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0+XG4gICAgICA8U0NGYXFzQ2hpcCB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlVG9nZ2xlfSBhcmlhLWV4cGFuZGVkPXtpc09wZW59IGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCI+XG4gICAgICAgIHt0KCdob21lTWVudS5mYXEudGl0bGUnKX1cbiAgICAgIDwvU0NGYXFzQ2hpcD5cbiAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICA8U0NGYXFzTW9kYWxGcmFtZSByb2xlPVwiZGlhbG9nXCIgYXJpYS1sYWJlbD17dCgnaG9tZU1lbnUuZmFxLnRpdGxlJyl9PlxuICAgICAgICAgIDxTQ0ZhcXNNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICB7IWxvYWRpbmcgJiZcbiAgICAgICAgICAgICAgIWVycm9yICYmXG4gICAgICAgICAgICAgIGZhcXNCeUNhdGVnb3J5Lm9yZGVyLm1hcChjYXRlZ29yeSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBmYXFzQnlDYXRlZ29yeS5ncm91cGVkW2NhdGVnb3J5XSA/PyBbXVxuICAgICAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlMYWJlbCA9XG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeSA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgPyB0KCdob21lTWVudS5mYXEuY2F0ZWdvcmllcy51bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgICAgICA6IHQoYGhvbWVNZW51LmZhcS5jYXRlZ29yaWVzLiR7Y2F0ZWdvcnl9YClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Y2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgICAgICA8U0NGYXFzQ2F0ZWdvcnlIZWFkZXI+e2NhdGVnb3J5TGFiZWx9PC9TQ0ZhcXNDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAge2l0ZW1zLm1hcChmYXEgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxGYXFNb2RhbEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZmFxLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgZmFxPXt7IGlkOiBmYXEuaWQsIHRpdGxlOiBmYXEudGl0bGUsIGNhdGVnb3J5OiBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZhcUNsaWNrKGZhcSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9TQ0ZhcXNNb2RhbENvbnRlbnQ+XG4gICAgICAgIDwvU0NGYXFzTW9kYWxGcmFtZT5cbiAgICAgICl9XG4gICAgPC9TQ0ZhcXNUcmlnZ2VyV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUNoRixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQTBCO0FBQzVELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQywyQkFBMkIsUUFBUSw0Q0FBNEM7QUFDeEYsU0FDRUMsVUFBVSxFQUNWQyxvQkFBb0IsRUFDcEJDLGdCQUFnQixFQUNoQkMsa0JBQWtCLEVBQ2xCQyxvQkFBb0IsRUFDcEJDLGVBQWUsRUFDZkMsbUJBQW1CLFFBQ2QseUJBQXlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQVNoQyxTQUFTQyxZ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
|