@projectcor/maia-components 2.11.69-0 → 2.11.69-1
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 +50 -15
- package/lib/components/atoms/Chip/styles.js +9 -5
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -4
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +42 -30
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +21 -13
- package/lib/components/atoms/MAIAInput/MAIAInput.js +32 -14
- package/lib/components/atoms/icons/index.js +1 -3
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -14
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +297 -46
- package/lib/components/molecules/ChatAIHome/styles.js +63 -26
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +54 -148
- package/lib/components/molecules/ChatAIMessages/newStyles.js +19 -9
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +222 -76
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +4 -1
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +26 -1
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +22 -29
- package/lib/components/molecules/ChatAIModal/constants.js +2 -6
- package/lib/components/molecules/ChatFooter/ChatFooter.js +75 -18
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +22 -7
- package/lib/components/molecules/ChatFooter/styles.js +11 -2
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +14 -22
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
- package/lib/constants/config.js +1 -4
- package/lib/constants/maiaTaskPanelAccess.js +7 -5
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +1 -4
- package/lib/constants/taskUrls.js +3 -1
- package/lib/context/global-context.js +8 -1
- package/lib/hooks/index.js +2 -1
- package/lib/hooks/useChatManager/useChatManager.js +149 -125
- package/lib/hooks/useChatMessages/useChatMessages.js +34 -5
- package/lib/hooks/useContextMentions.js +15 -60
- package/lib/hooks/useContextPinPopover.js +235 -0
- package/lib/hooks/useEntitySearch.js +96 -337
- package/lib/hooks/useEvent.js +2 -1
- package/lib/hooks/useFrequentlyAskedQuestions.js +12 -10
- package/lib/hooks/useFrequentlyUsedActions.js +5 -3
- package/lib/hooks/useMentionAllowedTypes.js +16 -41
- package/lib/hooks/useMentionPopover.js +49 -54
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +27 -18
- package/lib/hooks/useProjectSearch.js +4 -28
- package/lib/hooks/useProjectSummaryConfig.js +74 -4
- package/lib/hooks/useRecentClientsSearch.js +4 -34
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +24 -16
- package/lib/lang/br/index.js +30 -55
- package/lib/lang/en/index.js +30 -55
- package/lib/lang/es/index.js +30 -55
- package/lib/lang/fr/index.js +30 -55
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +6 -3
- package/lib/services/maia/Agents/getAgents.js +231 -183
- package/lib/services/maia/Chats/getChatMessages.js +34 -6
- package/lib/services/maia/Chats/getChatsByUserId.js +10 -2
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +6 -4
- package/lib/services/maia/Orchestrator/orchestrator.js +21 -5
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/index.js +4 -2
- package/lib/services/utils/validateIsMaia.js +2 -2
- package/lib/types/agent.js +1 -1
- package/lib/types/contextMention.js +1 -1
- package/lib/utils/agentDisplayName.js +9 -1
- package/lib/utils/contextMentionIcons.js +1 -29
- package/lib/utils/entityLinkRender.js +132 -0
- package/lib/utils/hitlAnalytics.js +3 -3
- package/lib/utils/renderContextMentions.js +6 -9
- package/package.json +1 -1
- package/lib/components/atoms/icons/SkillIcon.js +0 -30
- package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
- package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
- package/lib/components/organisms/AbmSkillModal/index.js +0 -2
- package/lib/services/maia/Skills/createSkill.js +0 -39
- package/lib/services/maia/Skills/deleteSkill.js +0 -38
- package/lib/services/maia/Skills/generateSkill.js +0 -41
- package/lib/services/maia/Skills/getSkills.js +0 -90
- package/lib/services/maia/Skills/updateSkill.js +0 -39
- package/lib/types/skill.js +0 -2
- package/lib/utils/contextMentionTriggers.js +0 -53
- package/lib/utils/corConnectorMentionTypes.js +0 -37
- package/lib/utils/normalizeAgentConnectors.js +0 -32
package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js
CHANGED
|
@@ -9,6 +9,7 @@ import { useUser } from '../../../../../context/cor-user';
|
|
|
9
9
|
import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
|
|
10
10
|
import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
|
|
11
11
|
import { useToggleFavorite } from '../../../../../hooks';
|
|
12
|
+
import { MAIAIcon } from '../../../../atoms/icons';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
|
|
14
15
|
var _user$permissions;
|
|
@@ -54,6 +55,8 @@ export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
|
|
|
54
55
|
isMaia: isMaia,
|
|
55
56
|
children: [agent.type === 'custom' && /*#__PURE__*/_jsx("span", {
|
|
56
57
|
children: agent === null || agent === void 0 ? void 0 : agent.emoji
|
|
58
|
+
}), agent.type === 'orchestrator' && /*#__PURE__*/_jsx("span", {
|
|
59
|
+
children: /*#__PURE__*/_jsx(MAIAIcon, {})
|
|
57
60
|
}), /*#__PURE__*/_jsxs(SCCAIMWrapperAgentName, {
|
|
58
61
|
children: [/*#__PURE__*/_jsx(Tooltip, {
|
|
59
62
|
title: showTooltip ? agent === null || agent === void 0 ? void 0 : agent.name : '',
|
|
@@ -121,4 +124,4 @@ export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
|
|
|
121
124
|
})]
|
|
122
125
|
}, "agent-".concat(index));
|
|
123
126
|
};
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwiUGVuY2lsIiwiU3RhciIsInVzZVRyYW5zbGF0aW9uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJTQ0NBSUFPV3JhcHBlciIsIlNDQ0FJQU9XcmFwcGVyRWRpdCIsIlNDQ0FJTUFnZW50TmFtZSIsIlNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUiLCJ1c2VVc2VyIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZVRvZ2dsZUZhdm9yaXRlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBSUFnZW50T3B0aW9uIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJpbmRleCIsImhhbmRsZVNlbGVjdEFnZW50IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJzZXRJc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiYWdlbnRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXAiLCJfdXNlVG9nZ2xlRmF2b3JpdGUiLCJ0b2dnbGVGYXZvcml0ZSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuRWRpdEN1c3RvbUFnZW50IiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlQ2xpY2siLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVG9nZ2xlRmF2b3JpdGUiLCJpZCIsInVwZGF0ZWRBZ2VudCIsImFpQ2hhdEZhdm9yaXRlIiwib3B0aW9uIiwiaXNfZmF2b3JpdGUiLCJ1bmRlZmluZWQiLCIkaW5kZXgiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJlbW9qaSIsInRpdGxlIiwicmVmIiwiaGFzQ29ycnVwdGVkQWNjZXNzIiwiaGFzX2NvcnJ1cHRlZF9hY2Nlc3MiLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwiZSIsIm9wZW5Nb2RhbCIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwiaXNPcGVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNsYXNzTmFtZSIsImFsd2F5c1Zpc2libGUiLCJmaWxsIiwidmFyaWFudCIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVJlZiwgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgUGVuY2lsIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGVuY2lsJ1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1N0YXInXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQge1xuICBTQ0NBSUFPV3JhcHBlcixcbiAgU0NDQUlBT1dyYXBwZXJFZGl0LFxuICBTQ0NBSU1BZ2VudE5hbWUsXG4gIFNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUsXG59IGZyb20gJy4vQ2hhdEFpQWdlbnRPcHRpb25zLnN0eWxlcydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IHVzZVRvZ2dsZUZhdm9yaXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MnXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlBZ2VudE9wdGlvbiA9ICh7XG4gIGFnZW50LFxuICBpbmRleCxcbiAgaGFuZGxlU2VsZWN0QWdlbnQsXG4gIGlzU2VsZWN0ZWQsXG4gIGlzTWFpYSxcbiAgb25GYXZvcml0ZVRvZ2dsZSxcbiAgc2V0SXNFeHBhbmRlZCxcbn06IHtcbiAgYWdlbnQ6IEFnZW50XG4gIGluZGV4OiBudW1iZXJcbiAgaGFuZGxlU2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgaXNTZWxlY3RlZDogYm9vbGVhblxuICBpc01haWE/OiBib29sZWFuXG4gIG9uRmF2b3JpdGVUb2dnbGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBzZXRJc0V4cGFuZGVkPzogKGlzRXhwYW5kZWQ6IGJvb2xlYW4pID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ2NoYXRfYWlfc2VjdGlvbiddKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIoYWdlbnRSZWYsIFthZ2VudC5uYW1lXSlcbiAgY29uc3QgeyB0b2dnbGVGYXZvcml0ZSB9ID0gdXNlVG9nZ2xlRmF2b3JpdGUoKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICB1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGhhbmRsZVNlbGVjdEFnZW50KGFnZW50KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRmF2b3JpdGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgaWYgKG9uRmF2b3JpdGVUb2dnbGUpIHtcbiAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlKHVwZGF0ZWRBZ2VudClcbiAgICAgICAgfVxuICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRGYXZvcml0ZSwgeyBvcHRpb246IHVwZGF0ZWRBZ2VudC5pc19mYXZvcml0ZSA/ICdhZGQnIDogJ3JlbW92ZScgfSlcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhZ2VudC5pc19mYXZvcml0ZVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJQU9XcmFwcGVyIGtleT17YGFnZW50LSR7aW5kZXh9YH0gJGluZGV4PXtpbmRleH0gaXNTZWxlY3RlZD17aXNTZWxlY3RlZH0gb25DbGljaz17aGFuZGxlQ2xpY2t9IGlzTWFpYT17aXNNYWlhfT5cbiAgICAgIHthZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiA8c3Bhbj57YWdlbnQ/LmVtb2ppfTwvc3Bhbj59XG4gICAgICA8U0NDQUlNV3JhcHBlckFnZW50TmFtZT5cbiAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gYWdlbnQ/Lm5hbWUgOiAnJ30+XG4gICAgICAgICAgPFNDQ0FJTUFnZW50TmFtZSByZWY9e2FnZW50UmVmfSBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfSBoYXNDb3JydXB0ZWRBY2Nlc3M9eyEhYWdlbnQ/Lmhhc19jb3JydXB0ZWRfYWNjZXNzfT5cbiAgICAgICAgICAgIHthZ2VudD8ubmFtZX1cbiAgICAgICAgICA8L1NDQ0FJTUFnZW50TmFtZT5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnNHB4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAge2NhbkVkaXRDdXN0b21BZ2VudCAmJiAoXG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnYWdlbnRzLmVkaXQnKX0+XG4gICAgICAgICAgICAgIDxTQ0NBSUFPV3JhcHBlckVkaXRcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD8uKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2VkaXRfYWdlbnQnIH0pXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtub3dsZWRnZTogYWdlbnQ/Lmtub3dsZWRnZSB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhZ2VudC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGFnZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBlbmNpbCB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPVwiI2E2YTZhNlwiIGNsYXNzTmFtZT1cInBlbmNpbC1pY29uXCIgLz5cbiAgICAgICAgICAgICAgPC9TQ0NBSUFPV3JhcHBlckVkaXQ+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7IXZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KSAmJiAoXG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YWdlbnQ/LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX0+XG4gICAgICAgICAgICAgIDxTQ0NBSUFPV3JhcHBlckVkaXQgYWx3YXlzVmlzaWJsZT17YWdlbnQ/LmlzX2Zhdm9yaXRlfSBvbkNsaWNrPXtoYW5kbGVUb2dnbGVGYXZvcml0ZX0+XG4gICAgICAgICAgICAgICAgPFN0YXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXsyMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgICAgICBjb2xvcj17YWdlbnQ/LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJyNhNmE2YTYnfVxuICAgICAgICAgICAgICAgICAgZmlsbD17YWdlbnQ/LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJ25vbmUnfVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNvbGlkXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWdlbnQ/LmlzX2Zhdm9yaXRlID8gJycgOiAnc3Rhci1mYXZvcml0ZS1pY29uJ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJQU9XcmFwcGVyRWRpdD5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU0NDQUlNV3JhcHBlckFnZW50TmFtZT5cbiAgICA8L1NDQ0FJQU9XcmFwcGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQU0sUUFBb0IsT0FBTztBQUMxQyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFD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
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwiUGVuY2lsIiwiU3RhciIsInVzZVRyYW5zbGF0aW9uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJTQ0NBSUFPV3JhcHBlciIsIlNDQ0FJQU9XcmFwcGVyRWRpdCIsIlNDQ0FJTUFnZW50TmFtZSIsIlNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUiLCJ1c2VVc2VyIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZVRvZ2dsZUZhdm9yaXRlIiwiTUFJQUljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJhZ2VudCIsImluZGV4IiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsInNldElzRXhwYW5kZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwidXNlciIsImFtcGxpdHVkRXZlbnQiLCJhZ2VudFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcCIsIl91c2VUb2dnbGVGYXZvcml0ZSIsInRvZ2dsZUZhdm9yaXRlIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5FZGl0Q3VzdG9tQWdlbnQiLCJlZGl0IiwidHlwZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVDbGljayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUb2dnbGVGYXZvcml0ZSIsImlkIiwidXBkYXRlZEFnZW50IiwiYWlDaGF0RmF2b3JpdGUiLCJvcHRpb24iLCJpc19mYXZvcml0ZSIsInVuZGVmaW5lZCIsIiRpbmRleCIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImVtb2ppIiwidGl0bGUiLCJyZWYiLCJoYXNDb3JydXB0ZWRBY2Nlc3MiLCJoYXNfY29ycnVwdGVkX2FjY2VzcyIsInN0eWxlIiwiZGlzcGxheSIsImdhcCIsImFsaWduSXRlbXMiLCJlIiwib3Blbk1vZGFsIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImtub3dsZWRnZSIsImdlbmVyYWwiLCJpc09wZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY2xhc3NOYW1lIiwiYWx3YXlzVmlzaWJsZSIsImZpbGwiLCJ2YXJpYW50IiwiY29uY2F0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmLCBNb3VzZUV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBTdGFyIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvU3RhcidcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7XG4gIFNDQ0FJQU9XcmFwcGVyLFxuICBTQ0NBSUFPV3JhcHBlckVkaXQsXG4gIFNDQ0FJTUFnZW50TmFtZSxcbiAgU0NDQUlNV3JhcHBlckFnZW50TmFtZSxcbn0gZnJvbSAnLi9DaGF0QWlBZ2VudE9wdGlvbnMuc3R5bGVzJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgdXNlVG9nZ2xlRmF2b3JpdGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcydcbmltcG9ydCB7IE1BSUFJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlBZ2VudE9wdGlvbiA9ICh7XG4gIGFnZW50LFxuICBpbmRleCxcbiAgaGFuZGxlU2VsZWN0QWdlbnQsXG4gIGlzU2VsZWN0ZWQsXG4gIGlzTWFpYSxcbiAgb25GYXZvcml0ZVRvZ2dsZSxcbiAgc2V0SXNFeHBhbmRlZCxcbn06IHtcbiAgYWdlbnQ6IEFnZW50XG4gIGluZGV4OiBudW1iZXJcbiAgaGFuZGxlU2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgaXNTZWxlY3RlZDogYm9vbGVhblxuICBpc01haWE/OiBib29sZWFuXG4gIG9uRmF2b3JpdGVUb2dnbGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBzZXRJc0V4cGFuZGVkPzogKGlzRXhwYW5kZWQ6IGJvb2xlYW4pID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ2NoYXRfYWlfc2VjdGlvbiddKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIoYWdlbnRSZWYsIFthZ2VudC5uYW1lXSlcbiAgY29uc3QgeyB0b2dnbGVGYXZvcml0ZSB9ID0gdXNlVG9nZ2xlRmF2b3JpdGUoKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICB1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGhhbmRsZVNlbGVjdEFnZW50KGFnZW50KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRmF2b3JpdGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgaWYgKG9uRmF2b3JpdGVUb2dnbGUpIHtcbiAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlKHVwZGF0ZWRBZ2VudClcbiAgICAgICAgfVxuICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRGYXZvcml0ZSwgeyBvcHRpb246IHVwZGF0ZWRBZ2VudC5pc19mYXZvcml0ZSA/ICdhZGQnIDogJ3JlbW92ZScgfSlcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhZ2VudC5pc19mYXZvcml0ZVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJQU9XcmFwcGVyIGtleT17YGFnZW50LSR7aW5kZXh9YH0gJGluZGV4PXtpbmRleH0gaXNTZWxlY3RlZD17aXNTZWxlY3RlZH0gb25DbGljaz17aGFuZGxlQ2xpY2t9IGlzTWFpYT17aXNNYWlhfT5cbiAgICAgIHthZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiA8c3Bhbj57YWdlbnQ/LmVtb2ppfTwvc3Bhbj59XG4gICAgICB7YWdlbnQudHlwZSA9PT0gJ29yY2hlc3RyYXRvcicgJiYgKFxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxTQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyBhZ2VudD8ubmFtZSA6ICcnfT5cbiAgICAgICAgICA8U0NDQUlNQWdlbnROYW1lIHJlZj17YWdlbnRSZWZ9IGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9IGhhc0NvcnJ1cHRlZEFjY2Vzcz17ISFhZ2VudD8uaGFzX2NvcnJ1cHRlZF9hY2Nlc3N9PlxuICAgICAgICAgICAge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlNQWdlbnROYW1lPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdhZ2VudHMuZWRpdCcpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPy4oZmFsc2UpXG4gICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnZWRpdF9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuY2lsIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjYTZhNmE2XCIgY2xhc3NOYW1lPVwicGVuY2lsLWljb25cIiAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJQU9XcmFwcGVyRWRpdD5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHshdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthZ2VudD8uaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdCBhbHdheXNWaXNpYmxlPXthZ2VudD8uaXNfZmF2b3JpdGV9IG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUZhdm9yaXRlfT5cbiAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnI2E2YTZhNid9XG4gICAgICAgICAgICAgICAgICBmaWxsPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnbm9uZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlBT1dyYXBwZXJFZGl0PlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgIDwvU0NDQUlBT1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFvQixPQUFPO0FBQzFDLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUNFQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxzQkFBc0IsUUFDakIsNkJBQTZCO0FBQ3BDLFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFDekQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQVNDLGNBQWMsUUFBUSw4Q0FBOEM7QUFDN0UsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRWxELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQWdCeEI7RUFBQSxJQUFBQyxpQkFBQTtFQUFBLElBZkpDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0lBQ0xDLEtBQUssR0FBQUgsSUFBQSxDQUFMRyxLQUFLO0lBQ0xDLGlCQUFpQixHQUFBSixJQUFBLENBQWpCSSxpQkFBaUI7SUFDakJDLFVBQVUsR0FBQUwsSUFBQSxDQUFWSyxVQUFVO0lBQ1ZDLE1BQU0sR0FBQU4sSUFBQSxDQUFOTSxNQUFNO0lBQ05DLGdCQUFnQixHQUFBUCxJQUFBLENBQWhCTyxnQkFBZ0I7SUFDaEJDLGFBQWEsR0FBQVIsSUFBQSxDQUFiUSxhQUFhO0VBVWIsSUFBQUMsZUFBQSxHQUFjMUIsY0FBYyxDQUFDLENBQUMsaUJB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
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js
CHANGED
|
@@ -21,6 +21,8 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
|
21
21
|
_ref$showFaqs = _ref.showFaqs,
|
|
22
22
|
showFaqs = _ref$showFaqs === void 0 ? false : _ref$showFaqs,
|
|
23
23
|
tooltipZIndex = _ref.tooltipZIndex,
|
|
24
|
+
legacyContextSession = _ref.legacyContextSession,
|
|
25
|
+
onContinueInNewChat = _ref.onContinueInNewChat,
|
|
24
26
|
layoutMode = _ref.layoutMode;
|
|
25
27
|
var _useTranslation = useTranslation([SECTIONS.abmAgent]),
|
|
26
28
|
t = _useTranslation.t;
|
|
@@ -49,6 +51,29 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
|
49
51
|
}
|
|
50
52
|
}));
|
|
51
53
|
};
|
|
54
|
+
if (legacyContextSession) {
|
|
55
|
+
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
56
|
+
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
57
|
+
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
58
|
+
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
59
|
+
width: 20,
|
|
60
|
+
height: 20,
|
|
61
|
+
color: infoIconColor
|
|
62
|
+
})
|
|
63
|
+
}), /*#__PURE__*/_jsxs(SCCAIMFMessageWithAction, {
|
|
64
|
+
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
65
|
+
children: t('legendLegacyContextSession', {
|
|
66
|
+
name: legacyContextSession.contextName
|
|
67
|
+
})
|
|
68
|
+
}), /*#__PURE__*/_jsx(SCCAIMFChangeModelButton, {
|
|
69
|
+
type: "button",
|
|
70
|
+
onClick: onContinueInNewChat,
|
|
71
|
+
children: t('continueInNewChat')
|
|
72
|
+
})]
|
|
73
|
+
})]
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
}
|
|
52
77
|
if (agent !== null && agent !== void 0 && agent.is_deleted) {
|
|
53
78
|
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
54
79
|
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
@@ -157,4 +182,4 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
|
157
182
|
})
|
|
158
183
|
});
|
|
159
184
|
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ0NBSU1GV3JhcHBlciIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQiLCJTQ0NBSU1GV3JhcHBlckluZm9JY29uIiwiU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uIiwiU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwidG9vbHRpcFpJbmRleCIsImxheW91dE1vZGUiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJpbmZvSWNvbkNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsImNhbkVkaXRDdXN0b21BZ2VudCIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsIm5hbWUiLCJpZCIsImlzT3BlbiIsImlzX2RlbGV0ZWQiLCJjaGlsZHJlbiIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJkZWxldGVkX2F0IiwiZm9ybWF0IiwicHJvamVjdF9kZWxldGVkIiwiaGFzX25vdF9hY2Nlc3MiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiY3VzdG9tQWdlbnRXYXJuaW5nS2V5IiwibW9kZWxfZGVwcmVjYXRlZCIsInByb3ZpZGVyX3N0YXR1cyIsIm9uQ2xpY2siLCJvblNlbmRNZXNzYWdlIiwiZGlzYWJsZWQiLCJvblN0b3BHZW5lcmF0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZm9ybWF0aW9uQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSW5mb3JtYXRpb25DaXJjbGUnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQ2hhdEZvb3RlciB9IGZyb20gJy4uLy4uLy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQge1xuICBTQ0NBSU1GV3JhcHBlcixcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50LFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1GV3JhcHBlckluZm9JY29uLFxuICBTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24sXG4gIFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFpTW9kYWxGb290ZXIgPSAoe1xuICBhZ2VudCxcbiAgaGFuZGxlU2VuZE1lc3NhZ2UsXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gZmFsc2UsXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxheW91dE1vZGUsXG59OiB7XG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIGhhbmRsZVNlbmRNZXNzYWdlOiBQYXJhbWV0ZXJzPHR5cGVvZiBDaGF0Rm9vdGVyPlswXVsnb25TZW5kTWVzc2FnZSddXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgc2hvd0ZhcXM/OiBib29sZWFuXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgbGF5b3V0TW9kZT86IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgaW5mb0ljb25Db2xvciA9IGNvbG9ycy50ZXh0LnNlY29uZGFyeVxuXG4gIGNvbnN0IGNhbkVkaXRDdXN0b21BZ2VudCA9XG4gICAgISFhZ2VudCAmJlxuICAgICEhdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCAmJlxuICAgICF2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudCkgJiZcbiAgICBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwgPSAoKSA9PiB7XG4gICAgaWYgKCFhZ2VudCB8fCAhY2FuRWRpdEN1c3RvbUFnZW50KSByZXR1cm5cblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnZWRpdF9hZ2VudCcgfSlcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIGtub3dsZWRnZTogYWdlbnQua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYWdlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaXNfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZFByb2plY3REZWxldGVkJywgeyBuYW1lOiBhZ2VudC5wcm9qZWN0X2RlbGV0ZWQubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb0FjY2VzcycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICFhZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgbGV0IGN1c3RvbUFnZW50V2FybmluZ0tleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmIGFnZW50Py5tb2RlbF9kZXByZWNhdGVkKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZE1vZGVsRGVwcmVjYXRlZCdcbiAgfSBlbHNlIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyAmJiBhZ2VudC5wcm92aWRlcl9zdGF0dXMgIT09ICdvcGVyYXRpb25hbCcpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kUHJvdmlkZXJTdGF0dXMnXG4gIH1cblxuICBpZiAoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+e3QoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KX08L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgICAgPFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWx9PlxuICAgICAgICAgICAgICAgIHt0KCdjaGFuZ2VNb2RlbCcpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgIDxDaGF0Rm9vdGVyXG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e2hhbmRsZVN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgc2hvd0ZhcXM9e3Nob3dGYXFzfVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgLz5cbiAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDM0QsU0FBU0MsUUFBUSxRQUFRLGlDQUFpQztBQUMxRCxTQUFTQyxPQUFPLFFBQVEsaUNBQWlDO0FBRXpELFNBQVNDLGNBQWMsUUFBUSw4Q0FBOEM7QUFDN0UsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQ0VDLGNBQWMsRUFDZEMsOEJBQThCLEVBQzlCQyxrQ0FBa0MsRUFDbENDLHNCQUFzQixFQUN0QkMsd0JBQXdCLEVBQ3hCQyx3QkFBd0IsUUFDbkIsNEJBQTRCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUduQyxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUFzQnhCO0VBQUEsSUFBQUMsaUJBQUE7RUFBQSxJQXJCSkMsS0FBSyxHQUFBRixJQUFBLENBQUxFLEtBQUs7SUFDTEMsaUJBQWlCLEdBQUFILElBQUEsQ0FBakJHLGlCQUFpQjtJQUNqQkMsb0JBQW9CLEdBQUFKLElBQUEsQ0FBcEJJLG9CQUFvQjtJQUNwQkMsV0FBVyxHQUFBTCxJQUFBLENBQVhLLFdBQVc7SUFDWEMsU0FBUyxHQUFBTixJQUFBLENBQVRNLFNBQVM7SUFDVEMsTUFBTSxHQUFBUCxJQUFBLENBQU5PLE1BQU07SUFDTkMsVUFBVSxHQUFBUixJQUFBLENBQVZR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
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ0NBSU1GV3JhcHBlciIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQiLCJTQ0NBSU1GV3JhcHBlckluZm9JY29uIiwiU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uIiwiU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwidG9vbHRpcFpJbmRleCIsImxlZ2FjeUNvbnRleHRTZXNzaW9uIiwib25Db250aW51ZUluTmV3Q2hhdCIsImxheW91dE1vZGUiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJpbmZvSWNvbkNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsImNhbkVkaXRDdXN0b21BZ2VudCIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsIm5hbWUiLCJpZCIsImlzT3BlbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNvbnRleHROYW1lIiwib25DbGljayIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwiZm9ybWF0IiwicHJvamVjdF9kZWxldGVkIiwiaGFzX25vdF9hY2Nlc3MiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiY3VzdG9tQWdlbnRXYXJuaW5nS2V5IiwibW9kZWxfZGVwcmVjYXRlZCIsInByb3ZpZGVyX3N0YXR1cyIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsIm9uU3RvcEdlbmVyYXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEZvb3Rlci9DaGF0QWlNb2RhbEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQ0FJTUZXcmFwcGVyLFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0ljb24sXG4gIFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbixcbiAgU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSBmYWxzZSxcbiAgdG9vbHRpcFpJbmRleCxcbiAgbGVnYWN5Q29udGV4dFNlc3Npb24sXG4gIG9uQ29udGludWVJbk5ld0NoYXQsXG4gIGxheW91dE1vZGUsXG59OiB7XG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIGhhbmRsZVNlbmRNZXNzYWdlOiBQYXJhbWV0ZXJzPHR5cGVvZiBDaGF0Rm9vdGVyPlswXVsnb25TZW5kTWVzc2FnZSddXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgc2hvd0ZhcXM/OiBib29sZWFuXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIFNpIGxhIHNlc3Npb24gYWJpZXJ0YSBlcyBkZSB1biBjbG9uZSBsZWdhY3kgKGVudGl0eSBwcm9qZWN0L3Rhc2svY2xpZW50KSwgc2UgbXVlc3RyYSB1biBjYXJ0ZWxcbiAgICogIHBhcmEgY29udGludWFyIGVsIGNvbnRleHRvIGVuIHVuIGNoYXQgbnVldm8gKGNvbiBlbCBvcmNoZXN0cmF0b3IpIGVuIHZleiBkZWwgaW5wdXQuICovXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogeyBlbnRpdHlUeXBlOiAncHJvamVjdCcgfCAndGFzaycgfCAnY2xpZW50JzsgY29udGV4dE5hbWU6IHN0cmluZyB9IHwgbnVsbFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0PzogKCkgPT4gdm9pZFxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBpbmZvSWNvbkNvbG9yID0gY29sb3JzLnRleHQuc2Vjb25kYXJ5XG5cbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICAhIWFnZW50ICYmXG4gICAgISF1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5lZGl0ICYmXG4gICAgIXZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KSAmJlxuICAgIGFnZW50LnR5cGUgPT09ICdjdXN0b20nICYmXG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWFnZW50IHx8ICFjYW5FZGl0Q3VzdG9tQWdlbnQpIHJldHVyblxuXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudC5rbm93bGVkZ2UgfHwgW10sXG4gICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhZ2VudC5uYW1lLFxuICAgICAgICAgICAgICAgIGlkOiBhZ2VudC5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgaWYgKGxlZ2FjeUNvbnRleHRTZXNzaW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICAgIHt0KCdsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbicsIHsgbmFtZTogbGVnYWN5Q29udGV4dFNlc3Npb24uY29udGV4dE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNvbnRpbnVlSW5OZXdDaGF0fT5cbiAgICAgICAgICAgICAge3QoJ2NvbnRpbnVlSW5OZXdDaGF0Jyl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaXNfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZFByb2plY3REZWxldGVkJywgeyBuYW1lOiBhZ2VudC5wcm9qZWN0X2RlbGV0ZWQubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb0FjY2VzcycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICFhZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgbGV0IGN1c3RvbUFnZW50V2FybmluZ0tleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmIGFnZW50Py5tb2RlbF9kZXByZWNhdGVkKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZE1vZGVsRGVwcmVjYXRlZCdcbiAgfSBlbHNlIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyAmJiBhZ2VudC5wcm92aWRlcl9zdGF0dXMgIT09ICdvcGVyYXRpb25hbCcpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kUHJvdmlkZXJTdGF0dXMnXG4gIH1cblxuICBpZiAoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+e3QoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KX08L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgICAgPFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWx9PlxuICAgICAgICAgICAgICAgIHt0KCdjaGFuZ2VNb2RlbCcpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgIDxDaGF0Rm9vdGVyXG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e2hhbmRsZVN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgc2hvd0ZhcXM9e3Nob3dGYXFzfVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgLz5cbiAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDM0QsU0FBU0MsUUFBUSxRQUFRLGlDQUFpQztBQUMxRCxTQUFTQyxPQUFPLFFBQVEsaUNBQWlDO0FBRXpELFNBQVNDLGNBQWMsUUFBUSw4Q0FBOEM7QUFDN0UsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQ0VDLGNBQWMsRUFDZEMsOEJBQThCLEVBQzlCQyxrQ0FBa0MsRUFDbENDLHNCQUFzQixFQUN0QkMsd0JBQXdCLEVBQ3hCQyx3QkFBd0IsUUFDbkIsNEJBQTRCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FB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
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js
CHANGED
|
@@ -17,7 +17,7 @@ import { useResizeListener } from '../../../../../hooks/useResize';
|
|
|
17
17
|
import { IconButton } from '../../../../atoms/IconButton';
|
|
18
18
|
import { MAIAIcon, MaiaChatLayoutMenuIcon } from '../../../../atoms/icons';
|
|
19
19
|
import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
|
|
20
|
-
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper,
|
|
20
|
+
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow, SCCAIMHBackButton } from './ChatAiModalHeader.styles';
|
|
21
21
|
import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
|
|
22
22
|
import { useUser } from '../../../../../context/cor-user';
|
|
23
23
|
import { isMaiaCloneAgentsRoleBlocked } from '../../../../../constants/maiaTaskPanelAccess';
|
|
@@ -53,8 +53,6 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
53
53
|
onAgentUpdate = _ref.onAgentUpdate,
|
|
54
54
|
loadMoreAgents = _ref.loadMoreAgents,
|
|
55
55
|
sortAgentsList = _ref.sortAgentsList,
|
|
56
|
-
_ref$hideAgentSelecto = _ref.hideAgentSelector,
|
|
57
|
-
hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto,
|
|
58
56
|
_ref$isMyAgentsSectio = _ref.isMyAgentsSection,
|
|
59
57
|
isMyAgentsSection = _ref$isMyAgentsSectio === void 0 ? false : _ref$isMyAgentsSectio,
|
|
60
58
|
_ref$isMaiakerSection = _ref.isMaiakerSection,
|
|
@@ -95,11 +93,14 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
95
93
|
var _useResizeListener = useResizeListener(textRefAgent, [selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.name]),
|
|
96
94
|
showTooltipAgent = _useResizeListener.showTooltip;
|
|
97
95
|
var agentsRef = useRef(null);
|
|
96
|
+
var isMaiaAgent = useCallback(function (agentItem) {
|
|
97
|
+
return agentItem.type === 'orchestrator';
|
|
98
|
+
}, []);
|
|
98
99
|
var agentsForSelector = useMemo(function () {
|
|
99
100
|
return agents.filter(function (agentItem) {
|
|
100
|
-
return agentItem.entity !== 'global';
|
|
101
|
+
return isMaiaAgent(agentItem) || agentItem.entity !== 'global';
|
|
101
102
|
});
|
|
102
|
-
}, [agents]);
|
|
103
|
+
}, [agents, isMaiaAgent]);
|
|
103
104
|
var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
|
|
104
105
|
var canCreateAgent = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
105
106
|
var showHeaderCreateAgentButton = canCreateAgent && (isMyAgentsSection || isMaiakerSection);
|
|
@@ -158,7 +159,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
158
159
|
}, [isExpanded, loadMoreAgents, hasMore, loadingMore]);
|
|
159
160
|
var localAgents = useMemo(function () {
|
|
160
161
|
var _ref2;
|
|
161
|
-
if (selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_from_conversation) {
|
|
162
|
+
if (selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_from_conversation || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_legacy_context) {
|
|
162
163
|
return selectedAgent;
|
|
163
164
|
}
|
|
164
165
|
var fromList = agents.find(function (agent) {
|
|
@@ -170,7 +171,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
170
171
|
|
|
171
172
|
// En 'Mis agentes' sin agente seteado, el selector muestra el icono de MAIA y el nombre de la sección
|
|
172
173
|
// en lugar del agente, para que el usuario pueda abrir el dropdown y elegir uno.
|
|
173
|
-
var selectorIcon = (localAgents === null || localAgents === void 0 ? void 0 : localAgents.type) === 'custom' ? localAgents === null || localAgents === void 0 ? void 0 : localAgents.emoji : /*#__PURE__*/_jsx(MAIAIcon, {});
|
|
174
|
+
var selectorIcon = (localAgents === null || localAgents === void 0 ? void 0 : localAgents.type) === 'custom' && !(localAgents !== null && localAgents !== void 0 && localAgents.is_legacy_context) ? localAgents === null || localAgents === void 0 ? void 0 : localAgents.emoji : /*#__PURE__*/_jsx(MAIAIcon, {});
|
|
174
175
|
var selectorLabel = (_localAgents$name = localAgents === null || localAgents === void 0 ? void 0 : localAgents.name) !== null && _localAgents$name !== void 0 ? _localAgents$name : isMyAgentsSection ? t('marketplace.myAgentsTitle', {
|
|
175
176
|
ns: SECTIONS.chatAI
|
|
176
177
|
}) : '';
|
|
@@ -249,7 +250,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
249
250
|
alignItems: 'center',
|
|
250
251
|
gap: '4px'
|
|
251
252
|
},
|
|
252
|
-
children: [(localAgents === null || localAgents === void 0 ? void 0 : localAgents.type) === 'custom' ? localAgents === null || localAgents === void 0 ? void 0 : localAgents.emoji : /*#__PURE__*/_jsx(MAIAIcon, {}),
|
|
253
|
+
children: [(localAgents === null || localAgents === void 0 ? void 0 : localAgents.type) === 'custom' && !(localAgents !== null && localAgents !== void 0 && localAgents.is_legacy_context) ? localAgents === null || localAgents === void 0 ? void 0 : localAgents.emoji : /*#__PURE__*/_jsx(MAIAIcon, {}), ' ', localAgents === null || localAgents === void 0 ? void 0 : localAgents.name]
|
|
253
254
|
}) : '',
|
|
254
255
|
placement: isExpanded ? 'left' : 'top'
|
|
255
256
|
}, tooltipZIndex != null ? {
|
|
@@ -257,7 +258,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
257
258
|
} : {}), {}, {
|
|
258
259
|
children: /*#__PURE__*/_jsx(SCCAIMHSelectedAgentText, {
|
|
259
260
|
ref: textRefAgent,
|
|
260
|
-
isAgentDeleted: !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access),
|
|
261
|
+
isAgentDeleted: !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_legacy_context),
|
|
261
262
|
children: /*#__PURE__*/_jsxs("span", {
|
|
262
263
|
style: {
|
|
263
264
|
display: 'flex',
|
|
@@ -278,26 +279,19 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
278
279
|
children: /*#__PURE__*/_jsxs(SCCAIMHWrapperModalContent, {
|
|
279
280
|
children: [window.MAIA_CHAT_AI_FEATURE_ACCESS && !cloneAgentsRoleBlocked && /*#__PURE__*/_jsx(_Fragment, {
|
|
280
281
|
children: function () {
|
|
281
|
-
var
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
286
|
-
children: [/*#__PURE__*/_jsxs(SCCAIWrapper, {
|
|
287
|
-
children: [/*#__PURE__*/_jsx(MAIAIcon, {}), /*#__PURE__*/_jsx(SCCAIMHWrapperModalContentTitle, {
|
|
288
|
-
isClone: true,
|
|
289
|
-
children: "MAIA by COR"
|
|
290
|
-
})]
|
|
291
|
-
}), /*#__PURE__*/_jsx(SCCAIMHDivider, {}), cloneAgents.map(function (cloneAgent, index) {
|
|
282
|
+
var maiaAgents = agentsForSelector.filter(isMaiaAgent);
|
|
283
|
+
if (!maiaAgents.length) return null;
|
|
284
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
285
|
+
children: maiaAgents.map(function (maiaAgent, index) {
|
|
292
286
|
return /*#__PURE__*/_jsx(ChatAIAgentOption, {
|
|
293
|
-
agent:
|
|
287
|
+
agent: maiaAgent,
|
|
294
288
|
index: index,
|
|
295
289
|
handleSelectAgent: handleSelectAgent,
|
|
296
|
-
isSelected: (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) ===
|
|
290
|
+
isSelected: (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) === maiaAgent.id,
|
|
297
291
|
isMaia: true,
|
|
298
292
|
onFavoriteToggle: onAgentUpdate
|
|
299
|
-
}, "agent-".concat(
|
|
300
|
-
})
|
|
293
|
+
}, "agent-".concat(maiaAgent.id));
|
|
294
|
+
})
|
|
301
295
|
});
|
|
302
296
|
}()
|
|
303
297
|
}), agentsForSelector.some(function (agent) {
|
|
@@ -311,7 +305,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
311
305
|
agentsCount: agentsForSelector.length,
|
|
312
306
|
ref: agentsRef,
|
|
313
307
|
children: [agentsForSelector === null || agentsForSelector === void 0 ? void 0 : agentsForSelector.map(function (agent, index) {
|
|
314
|
-
if (agent !== null && agent !== void 0 && agent.is_deleted || agent !== null && agent !== void 0 && agent.has_not_permissions || agent !== null && agent !== void 0 && agent.has_not_access || (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' || (agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && !window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) return null;
|
|
308
|
+
if (agent !== null && agent !== void 0 && agent.is_deleted || agent !== null && agent !== void 0 && agent.has_not_permissions || agent !== null && agent !== void 0 && agent.has_not_access || (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' || isMaiaAgent(agent) || (agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && !window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) return null;
|
|
315
309
|
return /*#__PURE__*/_jsx(ChatAIAgentOption, {
|
|
316
310
|
agent: agent,
|
|
317
311
|
index: index,
|
|
@@ -356,7 +350,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
356
350
|
};
|
|
357
351
|
var selectedModelLlm = selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.model_display_name;
|
|
358
352
|
var selectedAgentType = (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.type) === 'custom';
|
|
359
|
-
var shouldRenderSelector = !hasError && !loading &&
|
|
353
|
+
var shouldRenderSelector = !hasError && !loading && (!!selectedAgent || isMyAgentsSection) && (!!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || !!window.MAIA_CHAT_AI_FEATURE_ACCESS);
|
|
360
354
|
return /*#__PURE__*/_jsxs(SCCAIMHModal, {
|
|
361
355
|
$hasError: hasError,
|
|
362
356
|
$loading: loading,
|
|
@@ -375,7 +369,6 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
375
369
|
children: [showBackButton && /*#__PURE__*/_jsxs(SCCAIMHBackButton, {
|
|
376
370
|
type: "button",
|
|
377
371
|
onClick: function onClick() {
|
|
378
|
-
amplitudEvent(EVENTS.aiChatBack);
|
|
379
372
|
onBack();
|
|
380
373
|
},
|
|
381
374
|
children: [/*#__PURE__*/_jsx(ChevronLeft, {
|
|
@@ -383,7 +376,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
383
376
|
height: 14,
|
|
384
377
|
color: "#343433"
|
|
385
378
|
}), t('back')]
|
|
386
|
-
}),
|
|
379
|
+
}), selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
387
380
|
model: selectedModelLlm,
|
|
388
381
|
expanded: expanded
|
|
389
382
|
}), showHeaderCreateAgentButton && /*#__PURE__*/_jsx(SCCAIMHCreateAgentButton, {
|
|
@@ -443,4 +436,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
443
436
|
})]
|
|
444
437
|
});
|
|
445
438
|
};
|
|
446
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IQWRkQWdlbnQiLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0IiwiU0NDQUlNSERpdmlkZXIiLCJTQ0NBSU1IQWdlbnRzTGlzdCIsIlNDQ0FJTUhMb2FkZXJXcmFwcGVyIiwiU0NDQUlNSFBsdXNJY29uV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiU0NDQUlNSEJhY2tCdXR0b24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiQ2hpcExsbSIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl9sb2NhbEFnZW50cyRuYW1lIiwibGF5b3V0TW9kZSIsIm9uTGF5b3V0TW9kZUNoYW5nZSIsImV4cGFuZGVkIiwiX3JlZiRkcmFnZ2FibGUiLCJkcmFnZ2FibGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJfcmVmJGhhbmRsZUNsb3NlIiwiaGFuZGxlQ2xvc2UiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGhpZGVBZ2VudFNlbGVjdG8iLCJoaWRlQWdlbnRTZWxlY3RvciIsIl9yZWYkaXNNeUFnZW50c1NlY3RpbyIsImlzTXlBZ2VudHNTZWN0aW9uIiwiX3JlZiRpc01haWFrZXJTZWN0aW9uIiwiaXNNYWlha2VyU2VjdGlvbiIsIm9uQWdlbnRTZWxlY3RlZCIsIl9yZWYkc2hvd0JhY2tCdXR0b24iLCJzaG93QmFja0J1dHRvbiIsIl9yZWYkb25CYWNrIiwib25CYWNrIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJjaGF0QUkiLCJ0IiwidXNlciIsImFtcGxpdHVkRXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdGVkQWdlbnQiLCJhZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsInNldFRhc2siLCJzZWN0aW9uIiwidG9vbHRpcFpJbmRleCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzRXhwYW5kZWQiLCJzZXRJc0V4cGFuZGVkIiwidGV4dFJlZkFnZW50IiwiZHJvcGRvd25SZWYiLCJsYXlvdXRNZW51UmVmIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsYXlvdXRNZW51T3BlbiIsInNldExheW91dE1lbnVPcGVuIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwibmFtZSIsInNob3dUb29sdGlwQWdlbnQiLCJzaG93VG9vbHRpcCIsImFnZW50c1JlZiIsImFnZW50c0ZvclNlbGVjdG9yIiwiZmlsdGVyIiwiYWdlbnRJdGVtIiwiZW50aXR5IiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudCIsImNyZWF0ZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24iLCJoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJpc09wZW4iLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsInNlbGVjdG9ySWNvbiIsInR5cGUiLCJlbW9qaSIsInNlbGVjdG9yTGFiZWwiLCJucyIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwibmVlZHNFbnRpdHkiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsInRhcmdldCIsImNvbnRhaW5zIiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJjb21wYW55IiwiYWdlbnRzQ291bnQiLCJzaXplIiwic2VsZWN0ZWRNb2RlbExsbSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNlbGVjdGVkQWdlbnRUeXBlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCIkaGFzRXJyb3IiLCIkbG9hZGluZyIsIiRoYXNBZ2VudHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyTW92ZSIsIm9uUG9pbnRlclVwIiwib25Qb2ludGVyQ2FuY2VsIiwib25Mb3N0UG9pbnRlckNhcHR1cmUiLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsImFpQ2hhdEJhY2siLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0QUlBZ2VudE9wdGlvbiB9IGZyb20gJy4uL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMnXG5pbXBvcnQge1xuICBTQ0NBSU1ITW9kYWwsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50LFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUhXcmFwcGVyLFxuICBTQ0NBSU1IV3JhcHBlckJ1dHRvbixcbiAgU0NDQUlNSFdyYXBwZXJJY29uLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSxcbiAgU0NDQUlNSEFkZEFnZW50LFxuICBTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24sXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJTUhQbHVzSWNvbldyYXBwZXIsXG4gIFNDQ0FJV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1IQmFja0J1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgaXNNeUFnZW50c1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNYWlha2VyU2VjdGlvbiA9IGZhbHNlLFxuICBvbkFnZW50U2VsZWN0ZWQsXG4gIHNob3dCYWNrQnV0dG9uID0gZmFsc2UsXG4gIG9uQmFjayA9ICgpID0+IG51bGwsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG4gIC8qKiBTZWNjacOzbiBcIk1pcyBhZ2VudGVzXCI6IHNpIG5vIGhheSBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlBZ2VudHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogU2VjY2nDs24gXCJDcmVhZG9yIGRlIGFnZW50ZXNcIiAoTWFpYWtlcik6IGhhYmlsaXRhIGVsIGJvdMOzbiBcIkNyZWFyIGFnZW50ZVwiIGRlbCBoZWFkZXIgKi9cbiAgaXNNYWlha2VyU2VjdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNlIGludm9jYSBkZXNwdcOpcyBkZWwgcmVzZXQgY3VhbmRvIGVsIGFnZW50ZSBzZWxlY2Npb25hZG8gTk8gcmVxdWllcmUgc2VsZWNjacOzblxuICAgKiBkZSBlbnRpdHkgKGN1c3RvbSBvIGNsb25lK2dsb2JhbCkuIFBlcm1pdGUgcmVzb2x2ZXIgYEdFVCAvdjIvc2Vzc2lvbnMvYWdlbnQve2lkfWBcbiAgICogeSBuYXZlZ2FyIGEgdW5hIGNvbnZlcnNhY2nDs24gZXhpc3RlbnRlIHNpIGxhIGhheS5cbiAgICovXG4gIG9uQWdlbnRTZWxlY3RlZD86IChhZ2VudDogQWdlbnQpID0+IHZvaWQgfCBQcm9taXNlPHVua25vd24+XG4gIHNob3dCYWNrQnV0dG9uPzogYm9vbGVhblxuICBvbkJhY2s/OiAoKSA9PiB2b2lkXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50LCBTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBlbCBtb2RhbCBkZSBNYWlhIHNlIGVsZXZhIHBvciBlbmNpbWEgZGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMSkuXG4gIC8vIExvcyB0b29sdGlwcyBzZSBtb250YW4gZW4gcG9ydGFsIGNvbiB6LWluZGV4IDE1MDAgcG9yIGRlZmVjdG8sIGFzw60gcXVlIHF1ZWRhcsOtYW4gZGV0csOhcy5cbiAgLy8gU3ViaW1vcyBzdSB6LWluZGV4IHPDs2xvIGVuIGVzdGUgY2FzbyBwYXJhIHF1ZSBzZSB2ZWFuIHBvciBlbmNpbWEgZGVsIG1vZGFsLlxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbGF5b3V0TWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW2xheW91dE1lbnVPcGVuLCBzZXRMYXlvdXRNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZkFnZW50LCBbc2VsZWN0ZWRBZ2VudD8ubmFtZV0pXG4gIGNvbnN0IGFnZW50c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLCBbYWdlbnRzXSlcblxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50ID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZSAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG4gIGNvbnN0IHNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiA9IGNhbkNyZWF0ZUFnZW50ICYmIChpc015QWdlbnRzU2VjdGlvbiB8fCBpc01haWFrZXJTZWN0aW9uKVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9LCBbYW1wbGl0dWRFdmVudF0pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICAvLyBFbiAnTWlzIGFnZW50ZXMnIHNpbiBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuXG4gIC8vIGVuIGx1Z2FyIGRlbCBhZ2VudGUsIHBhcmEgcXVlIGVsIHVzdWFyaW8gcHVlZGEgYWJyaXIgZWwgZHJvcGRvd24geSBlbGVnaXIgdW5vLlxuICBjb25zdCBzZWxlY3Rvckljb24gPSBsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9XG4gICAgbG9jYWxBZ2VudHM/Lm5hbWUgPz8gKGlzTXlBZ2VudHNTZWN0aW9uID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KSA6ICcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3NcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIHtzZWxlY3Rvckljb259IHtzZWxlY3RvckxhYmVsfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIWNsb25lQWdlbnRzUm9sZUJsb2NrZWQgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHNGb3JTZWxlY3Rvci5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjbG9uZUFnZW50cy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSBpc0Nsb25lPk1BSUEgYnkgQ09SPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAge2Nsb25lQWdlbnRzLm1hcCgoY2xvbmVBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHtjbG9uZUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2Nsb25lQWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gY2xvbmVBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJiAhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2FnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD17c2V0SXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bG9hZGluZ01vcmUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSEFnZW50c0xpc3Q+XG4gICAgICAgICAgICAgIHt1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZSAmJiB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhBZGRBZ2VudFxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICB7dCgnY3JlYXRlQWdlbnQnKX1cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgKCEhc2VsZWN0ZWRBZ2VudCB8fCBpc015QWdlbnRzU2VjdGlvbikgJiZcbiAgICAoISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNSE1vZGFsXG4gICAgICAkaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgJGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAkaGFzQWdlbnRzPXshIWFnZW50cy5sZW5ndGh9XG4gICAgICBvblBvaW50ZXJEb3duPXtkcmFnZ2FibGUgPyBvbkRyYWdTdGFydCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlck1vdmU9e2RyYWdnYWJsZSA/IG9uRHJhZ01vdmUgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJVcD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyQ2FuY2VsPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvbkxvc3RQb2ludGVyQ2FwdHVyZT17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiBkcmFnZ2FibGUgPyAnZ3JhYicgOiB1bmRlZmluZWQsIHRvdWNoQWN0aW9uOiBkcmFnZ2FibGUgPyAnbWFuaXB1bGF0aW9uJyA6IHVuZGVmaW5lZCB9fVxuICAgID5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uIGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAge3Nob3dCYWNrQnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSEJhY2tCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRCYWNrKVxuICAgICAgICAgICAgICBvbkJhY2soKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2hldnJvbkxlZnQgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMzNDM0MzNcIiAvPlxuICAgICAgICAgICAge3QoJ2JhY2snKX1cbiAgICAgICAgICA8L1NDQ0FJTUhCYWNrQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7IWhpZGVBZ2VudFNlbGVjdG9yICYmIHNlbGVjdGVkQWdlbnRUeXBlICYmIHNlbGVjdGVkTW9kZWxMbG0gJiYgKFxuICAgICAgICAgIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsfT5cbiAgICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Pnt0KCdvcGVuQWdlbnRDcmVhdG9yJyl9PC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0PlxuICAgICAgICAgIDwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFsYXlvdXRNZW51T3Blbikge1xuICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5WaWV3T3B0aW9ucylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihwcmV2ID0+ICFwcmV2KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2xheW91dE1lbnVUb29sdGlwJyl9XG4gICAgICAgICAgICBkaXNhYmxlVG9vbHRpcD17bGF5b3V0TWVudU9wZW59XG4gICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dE1lbnVJY29uIC8+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIHtsYXlvdXRNZW51T3BlbiA/IChcbiAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdzaWRlYmFyJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0U2lkZWJhcicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmbG9hdGluZycpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZsb2F0aW5nJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51UGFuZWw+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVBbmNob3I+XG4gICAgICAgIDxJY29uQnV0dG9uIGhhbmRsZUNsaWNrPXtoYW5kbGVDbG9zZX0gdG9vbHRpcD17dCgnZ2xvYmFscy5jbG9zZScpfSB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9TQ0NBSU1IV3JhcHBlckJ1dHRvbj5cbiAgICA8L1NDQ0FJTUhNb2RhbD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxR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
|
|
439
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IQWRkQWdlbnQiLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0IiwiU0NDQUlNSERpdmlkZXIiLCJTQ0NBSU1IQWdlbnRzTGlzdCIsIlNDQ0FJTUhMb2FkZXJXcmFwcGVyIiwiU0NDQUlNSFBsdXNJY29uV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiU0NDQUlNSEJhY2tCdXR0b24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiQ2hpcExsbSIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl9sb2NhbEFnZW50cyRuYW1lIiwibGF5b3V0TW9kZSIsIm9uTGF5b3V0TW9kZUNoYW5nZSIsImV4cGFuZGVkIiwiX3JlZiRkcmFnZ2FibGUiLCJkcmFnZ2FibGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJfcmVmJGhhbmRsZUNsb3NlIiwiaGFuZGxlQ2xvc2UiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGlzTXlBZ2VudHNTZWN0aW8iLCJpc015QWdlbnRzU2VjdGlvbiIsIl9yZWYkaXNNYWlha2VyU2VjdGlvbiIsImlzTWFpYWtlclNlY3Rpb24iLCJvbkFnZW50U2VsZWN0ZWQiLCJfcmVmJHNob3dCYWNrQnV0dG9uIiwic2hvd0JhY2tCdXR0b24iLCJfcmVmJG9uQmFjayIsIm9uQmFjayIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiY2hhdEFJIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2VjdGlvbiIsInRvb2x0aXBaSW5kZXgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwibGF5b3V0TWVudVJlZiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibGF5b3V0TWVudU9wZW4iLCJzZXRMYXlvdXRNZW51T3BlbiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcEFnZW50Iiwic2hvd1Rvb2x0aXAiLCJhZ2VudHNSZWYiLCJpc01haWFBZ2VudCIsImFnZW50SXRlbSIsInR5cGUiLCJhZ2VudHNGb3JTZWxlY3RvciIsImZpbHRlciIsImVudGl0eSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnQiLCJjcmVhdGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiaXNPcGVuIiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiaXNfbGVnYWN5X2NvbnRleHQiLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsInNlbGVjdG9ySWNvbiIsImVtb2ppIiwic2VsZWN0b3JMYWJlbCIsIm5zIiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJhaUNoYXRBZ2VudFNlbGVjdCIsImFnZW50X3R5cGUiLCJuZWVkc0VudGl0eSIsImhhbmRsZUV4cGFuZE1vZGFsIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiY29udGFpbnMiLCJoYW5kbGVQaWNrTGF5b3V0IiwibW9kZSIsInByb2plY3RSZXN1bWVFeHBhbmQiLCJhaUNoYXRTZWxlY3RWaWV3T3B0aW9ucyIsImNsb25lQWdlbnRzUm9sZUJsb2NrZWQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsIl9vYmplY3RTcHJlYWQiLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJwbGFjZW1lbnQiLCJ6SW5kZXgiLCJpc0FnZW50RGVsZXRlZCIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJtYWlhQWdlbnRzIiwibWFwIiwibWFpYUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJjb21wYW55IiwiYWdlbnRzQ291bnQiLCJzaXplIiwic2VsZWN0ZWRNb2RlbExsbSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNlbGVjdGVkQWdlbnRUeXBlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCIkaGFzRXJyb3IiLCIkbG9hZGluZyIsIiRoYXNBZ2VudHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyTW92ZSIsIm9uUG9pbnRlclVwIiwib25Qb2ludGVyQ2FuY2VsIiwib25Mb3N0UG9pbnRlckNhcHR1cmUiLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsIm1vZGVsIiwiYnV0dG9uSWQiLCJoYW5kbGVDbGljayIsImFpQ2hhdE9wZW5WaWV3T3B0aW9ucyIsInRvb2x0aXAiLCJkaXNhYmxlVG9vbHRpcCIsInJvbGUiLCIkYWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ2hldnJvbkxlZnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uTGVmdCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24sIE1haWFDaGF0TGF5b3V0TWVudUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1IQmFja0J1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaXNNeUFnZW50c1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNYWlha2VyU2VjdGlvbiA9IGZhbHNlLFxuICBvbkFnZW50U2VsZWN0ZWQsXG4gIHNob3dCYWNrQnV0dG9uID0gZmFsc2UsXG4gIG9uQmFjayA9ICgpID0+IG51bGwsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgLyoqIFNlY2Npw7NuIFwiTWlzIGFnZW50ZXNcIjogc2kgbm8gaGF5IGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs24gKi9cbiAgaXNNeUFnZW50c1NlY3Rpb24/OiBib29sZWFuXG4gIC8qKiBTZWNjacOzbiBcIkNyZWFkb3IgZGUgYWdlbnRlc1wiIChNYWlha2VyKTogaGFiaWxpdGEgZWwgYm90w7NuIFwiQ3JlYXIgYWdlbnRlXCIgZGVsIGhlYWRlciAqL1xuICBpc01haWFrZXJTZWN0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbiAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuXG4gIG9uQmFjaz86ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnQsIFNFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgYW1wbGl0dWRFdmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIGVsIG1vZGFsIGRlIE1haWEgc2UgZWxldmEgcG9yIGVuY2ltYSBkZWwgdGFzayBwYW5lbCAoei1pbmRleCA5ODAwMDAxKS5cbiAgLy8gTG9zIHRvb2x0aXBzIHNlIG1vbnRhbiBlbiBwb3J0YWwgY29uIHotaW5kZXggMTUwMCBwb3IgZGVmZWN0bywgYXPDrSBxdWUgcXVlZGFyw61hbiBkZXRyw6FzLlxuICAvLyBTdWJpbW9zIHN1IHotaW5kZXggc8OzbG8gZW4gZXN0ZSBjYXNvIHBhcmEgcXVlIHNlIHZlYW4gcG9yIGVuY2ltYSBkZWwgbW9kYWwuXG4gIGNvbnN0IHRvb2x0aXBaSW5kZXggPSB1c2VNYWlhVGFza1BhbmVsWkluZGV4KDE1MDAsICdvdmVybGF5JylcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRleHRSZWZBZ2VudCA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBsYXlvdXRNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbbGF5b3V0TWVudU9wZW4sIHNldExheW91dE1lbnVPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGlzTWFpYUFnZW50ID0gdXNlQ2FsbGJhY2soKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlID09PSAnb3JjaGVzdHJhdG9yJywgW10pXG4gIGNvbnN0IGFnZW50c0ZvclNlbGVjdG9yID0gdXNlTWVtbyhcbiAgICAoKSA9PiBhZ2VudHMuZmlsdGVyKGFnZW50SXRlbSA9PiBpc01haWFBZ2VudChhZ2VudEl0ZW0pIHx8IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSxcbiAgICBbYWdlbnRzLCBpc01haWFBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlQWdlbnQgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3Qgc2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uID0gY2FuQ3JlYXRlQWdlbnQgJiYgKGlzTXlBZ2VudHNTZWN0aW9uIHx8IGlzTWFpYWtlclNlY3Rpb24pXG5cbiAgY29uc3QgaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH0sIFthbXBsaXR1ZEV2ZW50XSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb24gfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2xlZ2FjeV9jb250ZXh0XG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICAvLyBFbiAnTWlzIGFnZW50ZXMnIHNpbiBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuXG4gIC8vIGVuIGx1Z2FyIGRlbCBhZ2VudGUsIHBhcmEgcXVlIGVsIHVzdWFyaW8gcHVlZGEgYWJyaXIgZWwgZHJvcGRvd24geSBlbGVnaXIgdW5vLlxuICBjb25zdCBzZWxlY3Rvckljb24gPVxuICAgIGxvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyAmJiAhbG9jYWxBZ2VudHM/LmlzX2xlZ2FjeV9jb250ZXh0ID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+XG4gIGNvbnN0IHNlbGVjdG9yTGFiZWwgPVxuICAgIGxvY2FsQWdlbnRzPy5uYW1lID8/IChpc015QWdlbnRzU2VjdGlvbiA/IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzVGl0bGUnLCB7IG5zOiBTRUNUSU9OUy5jaGF0QUkgfSkgOiAnJylcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUYXNrKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgICAgLy8gU2kgZWwgYWdlbnRlIG5vIGRlcGVuZGUgZGUgdW5hIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKSB5YSBwb2RlbW9zXG4gICAgICAgIC8vIHJlc29sdmVyIHNpIGV4aXN0ZSB1bmEgc2VzacOzbiBwcmV2aWEgeSwgZW4gZXNlIGNhc28sIG5hdmVnYXIgYSBlbGxhLlxuICAgICAgICAvLyBQYXJhIGNsb25lK3Byb2plY3R8Y2xpZW50LCBsYSByZXNvbHVjacOzbiBvY3VycmUgZW4gbG9zIHNlbGVjdG9ycyBkZSBlbnRpdHkuXG4gICAgICAgIGNvbnN0IG5lZWRzRW50aXR5ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICAgICAgaWYgKCFuZWVkc0VudGl0eSkge1xuICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD8uKGFnZW50KVxuICAgICAgICB9XG4gICAgICB9LCAxMDApXG4gICAgfSxcbiAgICBbc2VsZWN0QWdlbnQsIGFtcGxpdHVkRXZlbnQsIGhhbmRsZVJlc2V0Q2hhdCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBvbkFnZW50U2VsZWN0ZWRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCAmJiAhbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlXG4gICAgICBpZiAoaXNFeHBhbmRlZCAmJiBkcm9wZG93blJlZi5jdXJyZW50ICYmICFkcm9wZG93blJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChsYXlvdXRNZW51T3BlbiAmJiBsYXlvdXRNZW51UmVmLmN1cnJlbnQgJiYgIWxheW91dE1lbnVSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxheW91dE1lbnVPcGVuXSlcblxuICBjb25zdCBoYW5kbGVQaWNrTGF5b3V0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5wcm9qZWN0UmVzdW1lRXhwYW5kLCB7XG4gICAgICAgIGV4cGFuZGVkOiBtb2RlID09PSAnZnVsbHNjcmVlbicsXG4gICAgICB9KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMsIHsgb3B0aW9uOiBtb2RlIH0pXG4gICAgICBvbkxheW91dE1vZGVDaGFuZ2UobW9kZSlcbiAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW2FtcGxpdHVkRXZlbnQsIG9uTGF5b3V0TW9kZUNoYW5nZV1cbiAgKVxuXG4gIGNvbnN0IGNsb25lQWdlbnRzUm9sZUJsb2NrZWQgPSBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXIsIHNlY3Rpb24pXG5cbiAgY29uc3QgcmVuZGVyTW9kYWwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1IV3JhcHBlclxuICAgICAgICByZWY9e2Ryb3Bkb3duUmVmfVxuICAgICAgICBkYXRhLW5vLWRyYWc9XCJ0cnVlXCJcbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyAmJiAhbG9jYWxBZ2VudHM/LmlzX2xlZ2FjeV9jb250ZXh0ID8gKFxuICAgICAgICAgICAgICAgICAgICBsb2NhbEFnZW50cz8uZW1vamlcbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgKX17JyAnfVxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICAgIHsuLi4odG9vbHRpcFpJbmRleCAhPSBudWxsID8geyB6SW5kZXg6IHRvb2x0aXBaSW5kZXggfSA6IHt9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIHtzZWxlY3Rvckljb259IHtzZWxlY3RvckxhYmVsfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIWNsb25lQWdlbnRzUm9sZUJsb2NrZWQgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFpYUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcihpc01haWFBZ2VudClcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWlhQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAge21haWFBZ2VudHMubWFwKChtYWlhQWdlbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7bWFpYUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e21haWFBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBtYWlhQWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNYWlhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3Iuc29tZShhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJykgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnYWdlbnRzJyl9IGJ5IHt1c2VyLmNvbXBhbnl9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8U0NDQUlNSEFnZW50c0xpc3QgaGFzTW9yZT17aGFzTW9yZX0gYWdlbnRzQ291bnQ9e2FnZW50c0ZvclNlbGVjdG9yLmxlbmd0aH0gcmVmPXthZ2VudHNSZWZ9PlxuICAgICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvcj8ubWFwKChhZ2VudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py50eXBlID09PSAnY2xvbmUnIHx8XG4gICAgICAgICAgICAgICAgICAgIGlzTWFpYUFnZW50KGFnZW50KSB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgICAge3VzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICA8U0NDQUlNSEFkZEFnZW50XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXMgY29sb3I9XCJ3aGl0ZVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGVBZ2VudCcpfVxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSEFkZEFnZW50PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTW9kZWxMbG0gPSBzZWxlY3RlZEFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWVcbiAgY29uc3Qgc2VsZWN0ZWRBZ2VudFR5cGUgPSBzZWxlY3RlZEFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAoISFzZWxlY3RlZEFnZW50IHx8IGlzTXlBZ2VudHNTZWN0aW9uKSAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2hvd0JhY2tCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQmFja0J1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIG9uQmFjaygpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAgICB7dCgnYmFjaycpfVxuICAgICAgICAgIDwvU0NDQUlNSEJhY2tCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHtzZWxlY3RlZEFnZW50VHlwZSAmJiBzZWxlY3RlZE1vZGVsTGxtICYmIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+fVxuICAgICAgICB7c2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbH0+XG4gICAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD57dCgnb3BlbkFnZW50Q3JlYXRvcicpfTwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD5cbiAgICAgICAgICA8L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0gdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBMkMsT0FBTztBQUM1RyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLEtB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
|