@projectcor/maia-components 2.11.65-5 → 2.11.65-7

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.
Files changed (77) hide show
  1. package/lib/components/atoms/Chip/Chip.js +49 -15
  2. package/lib/components/atoms/Chip/styles.js +7 -3
  3. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -4
  5. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  7. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +42 -38
  8. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +21 -13
  9. package/lib/components/atoms/MAIAInput/MAIAInput.js +207 -42
  10. package/lib/components/atoms/MAIAInput/styles.js +64 -24
  11. package/lib/components/atoms/icons/index.js +1 -3
  12. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +2 -19
  13. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +6 -4
  14. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +11 -6
  15. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +18 -46
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +14 -13
  17. package/lib/components/molecules/ChatAIModal/constants.js +2 -6
  18. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +27 -120
  19. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +1 -21
  20. package/lib/components/molecules/ChatFooter/ChatFooter.js +105 -21
  21. package/lib/components/molecules/ChatFooter/styles.js +11 -2
  22. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  23. package/lib/components/molecules/Sidebar/Sidebar.js +13 -23
  24. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +14 -18
  25. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
  26. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  27. package/lib/constants/config.js +1 -4
  28. package/lib/constants/permissions/index.js +2 -2
  29. package/lib/constants/permissions/utils.js +1 -4
  30. package/lib/context/global-context.js +8 -1
  31. package/lib/dev/DevContextMentionInput.js +3 -1
  32. package/lib/hooks/useChatManager/useChatManager.js +274 -78
  33. package/lib/hooks/useChatMessages/useChatMessages.js +14 -1
  34. package/lib/hooks/useContextMentions.js +9 -47
  35. package/lib/hooks/useContextPinPopover.js +235 -0
  36. package/lib/hooks/useEntitySearch.js +96 -337
  37. package/lib/hooks/useMentionAllowedTypes.js +14 -19
  38. package/lib/hooks/useMentionPopover.js +17 -36
  39. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  40. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +22 -10
  41. package/lib/hooks/useProjectSearch.js +4 -28
  42. package/lib/hooks/useProjectSummaryConfig.js +103 -18
  43. package/lib/hooks/useRecentClientsSearch.js +4 -34
  44. package/lib/lang/br/index.js +19 -59
  45. package/lib/lang/en/index.js +19 -59
  46. package/lib/lang/es/index.js +19 -59
  47. package/lib/lang/fr/index.js +19 -59
  48. package/lib/services/maia/Agents/getAgents.js +87 -182
  49. package/lib/services/maia/Chats/getChatMessages.js +11 -3
  50. package/lib/services/maia/Chats/getChatsByUserId.js +10 -2
  51. package/lib/services/maia/Orchestrator/orchestrator.js +27 -9
  52. package/lib/services/utils/validateIsMaia.js +2 -2
  53. package/lib/types/Chat.js +1 -1
  54. package/lib/types/Hitl.js +2 -0
  55. package/lib/types/agent.js +1 -1
  56. package/lib/types/contextMention.js +1 -1
  57. package/lib/utils/contextMentionIcons.js +1 -29
  58. package/lib/utils/hitlAnalytics.js +3 -3
  59. package/lib/utils/renderContextMentions.js +4 -9
  60. package/package.json +1 -1
  61. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  62. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  63. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  64. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  65. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  66. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  67. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  68. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  69. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  70. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  71. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  72. package/lib/services/maia/Skills/createSkill.js +0 -39
  73. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  74. package/lib/services/maia/Skills/generateSkill.js +0 -41
  75. package/lib/services/maia/Skills/getSkills.js +0 -90
  76. package/lib/services/maia/Skills/updateSkill.js +0 -39
  77. package/lib/types/skill.js +0 -2
@@ -6,7 +6,6 @@ import { FileProject } from '@projectcor/icons/lib/components/FileProject';
6
6
  import { Globe } from '@projectcor/icons/lib/components/Globe';
7
7
  import { User } from '@projectcor/icons/lib/components/User';
8
8
  import { NotionIcon, NOTION_BRAND_PATH_BLACK, NOTION_BRAND_PATH_WHITE } from '../components/atoms/icons/NotionIcon';
9
- import { SkillIcon, SKILL_ICON_PATH } from '../components/atoms/icons/SkillIcon';
10
9
  import { TASK_LINK_ICON_DATA_URL } from '../constants/taskLinkIcon';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
11
  var SVG_NS = 'http://www.w3.org/2000/svg';
@@ -18,7 +17,6 @@ export var isNotionMcpSlug = function isNotionMcpSlug(id) {
18
17
  return String(id !== null && id !== void 0 ? id : '').toLowerCase() === NOTION_MCP_SLUG;
19
18
  };
20
19
  var MENTION_ICON_PATHS = {
21
- skill: SKILL_ICON_PATH,
22
20
  client: 'M3.375 7C3.1875 7 3 6.84375 3 6.625V5.375C3 5.1875 3.1875 5 3.375 5H4V3.5C4 2.6875 4.6875 2 5.5 2H15.5C16.3438 2 17 2.6875 17 3.5V16.5C17 17.3438 16.3438 18 15.5 18H5.5C4.6875 18 4 17.3438 4 16.5V15H3.375C3.1875 15 3 14.8438 3 14.625V13.375C3 13.1875 3.1875 13 3.375 13H4V11H3.375C3.1875 11 3 10.8438 3 10.625V9.375C3 9.1875 3.1875 9 3.375 9H4V7H3.375ZM5.5 16.5H15.5V3.5H5.5V16.5ZM10.5 10C9.40625 10 8.5 9.125 8.5 8C8.5 6.90625 9.40625 6 10.5 6C11.625 6 12.5 6.90625 12.5 8C12.5 9.125 11.625 10 10.5 10ZM13.3125 14H7.71875C7.3125 14 7 13.75 7 13.4062V12.8125C7 11.8125 7.96875 11 9.125 11C9.4375 11 9.6875 11.25 10.5 11.25C11.3438 11.25 11.5625 11 11.9062 11C13.0625 11 14 11.8125 14 12.8125V13.4062C14 13.75 13.6875 14 13.3125 14Z',
23
21
  project: 'M12.9375 2.4375L15.5312 5.0625C15.8125 5.34375 16 5.75 16 6.125V16.5C16 17.3438 15.3125 18 14.5 18H5.5C4.65625 18 4 17.3438 4 16.5V3.5C4 2.6875 4.65625 2 5.5 2H11.875C12.25 2 12.6562 2.15625 12.9375 2.4375ZM12 6H14.375L12 3.625V6ZM5.5 3.5V16.5H14.5V7.5H11.25C10.8125 7.5 10.5 7.1875 10.5 6.75V3.5H5.5ZM13.25 14.75H9.75C9.59375 14.75 9.5 14.6562 9.5 14.5V13.5C9.5 13.375 9.59375 13.25 9.75 13.25H13.25C13.375 13.25 13.5 13.375 13.5 13.5V14.5C13.5 14.6562 13.375 14.75 13.25 14.75ZM8 15H7C6.71875 15 6.5 14.7812 6.5 14.5V13.5C6.5 13.25 6.71875 13 7 13H8C8.25 13 8.5 13.25 8.5 13.5V14.5C8.5 14.7812 8.25 15 8 15ZM8 11H7C6.71875 11 6.5 10.7812 6.5 10.5V9.5C6.5 9.25 6.71875 9 7 9H8C8.25 9 8.5 9.25 8.5 9.5V10.5C8.5 10.7812 8.25 11 8 11ZM13.25 10.75H9.75C9.59375 10.75 9.5 10.6562 9.5 10.5V9.5C9.5 9.375 9.59375 9.25 9.75 9.25H13.25C13.375 9.25 13.5 9.375 13.5 9.5V10.5C13.5 10.6562 13.375 10.75 13.25 10.75ZM8 7H7C6.71875 7 6.5 6.78125 6.5 6.5V5.5C6.5 5.25 6.71875 5 7 5H8C8.25 5 8.5 5.25 8.5 5.5V6.5C8.5 6.78125 8.25 7 8 7Z',
24
22
  user: 'M12.3839 11.3125C11.6071 11.3125 11.2589 11.75 10 11.75C8.71429 11.75 8.36607 11.3125 7.58929 11.3125C5.60714 11.3125 4 12.9805 4 15.0039V15.6875C4 16.4258 4.5625 17 5.28571 17H14.7143C15.4107 17 16 16.4258 16 15.6875V15.0039C16 12.9805 14.3661 11.3125 12.3839 11.3125ZM14.7143 15.6875H5.28571V15.0039C5.28571 13.6914 6.30357 12.625 7.58929 12.625C7.99107 12.625 8.60714 13.0625 10 13.0625C11.3661 13.0625 11.9821 12.625 12.3839 12.625C13.6696 12.625 14.7143 13.6914 14.7143 15.0039V15.6875ZM10 10.875C12.1161 10.875 13.8571 9.125 13.8571 6.9375C13.8571 4.77734 12.1161 3 10 3C7.85714 3 6.14286 4.77734 6.14286 6.9375C6.14286 9.125 7.85714 10.875 10 10.875ZM10 4.3125C11.3929 4.3125 12.5714 5.51562 12.5714 6.9375C12.5714 8.38672 11.3929 9.5625 10 9.5625C8.58036 9.5625 7.42857 8.38672 7.42857 6.9375C7.42857 5.51562 8.58036 4.3125 10 4.3125Z',
@@ -38,23 +36,6 @@ var createSvgIcon = function createSvgIcon(pathData, color, size) {
38
36
  svg.appendChild(path);
39
37
  return svg;
40
38
  };
41
- var createSkillIconSvgElement = function createSkillIconSvgElement(color, size) {
42
- var svg = document.createElementNS(SVG_NS, 'svg');
43
- svg.setAttribute('viewBox', '0 0 20 20');
44
- svg.setAttribute('width', String(size));
45
- svg.setAttribute('height', String(size));
46
- svg.setAttribute('fill', 'none');
47
- svg.setAttribute('aria-hidden', 'true');
48
- svg.style.display = 'block';
49
- var path = document.createElementNS(SVG_NS, 'path');
50
- path.setAttribute('d', SKILL_ICON_PATH);
51
- path.setAttribute('stroke', color);
52
- path.setAttribute('stroke-linecap', 'round');
53
- path.setAttribute('stroke-linejoin', 'round');
54
- path.setAttribute('stroke-width', '1.5');
55
- svg.appendChild(path);
56
- return svg;
57
- };
58
39
  var createNotionIconSvgElement = function createNotionIconSvgElement(size) {
59
40
  var svg = document.createElementNS(SVG_NS, 'svg');
60
41
  svg.setAttribute('viewBox', '0 0 100 100');
@@ -96,12 +77,6 @@ export var getContextMentionIcon = function getContextMentionIcon(type, color, m
96
77
  });
97
78
  case 'user':
98
79
  return /*#__PURE__*/_jsx(User, _objectSpread({}, iconProps));
99
- case 'skill':
100
- return /*#__PURE__*/_jsx(SkillIcon, {
101
- width: resolvedSize,
102
- height: resolvedSize,
103
- color: color
104
- });
105
80
  case 'mcp':
106
81
  if (isNotionMcpSlug(mentionId)) {
107
82
  return /*#__PURE__*/_jsx(NotionIcon, {
@@ -128,9 +103,6 @@ export var createContextMentionIconElement = function createContextMentionIconEl
128
103
  img.style.display = 'block';
129
104
  return img;
130
105
  }
131
- if (type === 'skill') {
132
- return createSkillIconSvgElement(color, resolvedSize);
133
- }
134
106
  if (type === 'mcp' && isNotionMcpSlug(mentionId)) {
135
107
  return createNotionIconSvgElement(resolvedSize);
136
108
  }
@@ -140,4 +112,4 @@ export var createContextMentionIconElement = function createContextMentionIconEl
140
112
  var pathData = (_MENTION_ICON_PATHS$t = MENTION_ICON_PATHS[type]) !== null && _MENTION_ICON_PATHS$t !== void 0 ? _MENTION_ICON_PATHS$t : MENTION_ICON_PATHS.user;
141
113
  return createSvgIcon(pathData, color, resolvedSize);
142
114
  };
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlNraWxsSWNvbiIsIlNLSUxMX0lDT05fUEFUSCIsIlRBU0tfTElOS19JQ09OX0RBVEFfVVJMIiwianN4IiwiX2pzeCIsIlNWR19OUyIsIkRFRkFVTFRfSUNPTl9TSVpFIiwiTk9USU9OX01DUF9TTFVHIiwiaXNOb3Rpb25NY3BTbHVnIiwiaWQiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIk1FTlRJT05fSUNPTl9QQVRIUyIsInNraWxsIiwiY2xpZW50IiwicHJvamVjdCIsInVzZXIiLCJtY3AiLCJjcmVhdGVTdmdJY29uIiwicGF0aERhdGEiLCJjb2xvciIsInNpemUiLCJzdmciLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnROUyIsInNldEF0dHJpYnV0ZSIsInN0eWxlIiwiZGlzcGxheSIsInBhdGgiLCJhcHBlbmRDaGlsZCIsImNyZWF0ZVNraWxsSWNvblN2Z0VsZW1lbnQiLCJjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCIsInAxIiwicDIiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJ0eXBlIiwibWVudGlvbklkIiwicmVzb2x2ZWRTaXplIiwiaWNvblByb3BzIiwid2lkdGgiLCJjb25jYXQiLCJoZWlnaHQiLCJfb2JqZWN0U3ByZWFkIiwic3JjIiwiYWx0IiwiY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCIsIl9NRU5USU9OX0lDT05fUEFUSFMkdCIsImltZyIsImNyZWF0ZUVsZW1lbnQiLCJkcmFnZ2FibGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBTa2lsbEljb24sIFNLSUxMX0lDT05fUEFUSCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvU2tpbGxJY29uJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Rhc2tMaW5rSWNvbidcblxuY29uc3QgU1ZHX05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJ1xuY29uc3QgREVGQVVMVF9JQ09OX1NJWkUgPSAxNFxuXG4vKiogU2x1ZyBNQ1AgZGVsIGNvbmVjdG9yIE5vdGlvbiAoYWxpbmVhZG8gY29uIE5PVElPTl9DT05ORUNUT1JfU0xVRyBlbiBjYXRhbG9nKS4gKi9cbmV4cG9ydCBjb25zdCBOT1RJT05fTUNQX1NMVUcgPSAnbm90aW9uJ1xuXG5leHBvcnQgY29uc3QgaXNOb3Rpb25NY3BTbHVnID0gKGlkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIFN0cmluZyhpZCA/PyAnJykudG9Mb3dlckNhc2UoKSA9PT0gTk9USU9OX01DUF9TTFVHXG5cbmNvbnN0IE1FTlRJT05fSUNPTl9QQVRIUzogUmVjb3JkPEV4Y2x1ZGU8Q29udGV4dEVudGl0eVR5cGUsICd0YXNrJz4sIHN0cmluZz4gPSB7XG4gIHNraWxsOiBTS0lMTF9JQ09OX1BBVEgsXG4gIGNsaWVudDpcbiAgICAnTTMuMzc1IDdDMy4xODc1IDcgMyA2Ljg0Mzc1IDMgNi42MjVWNS4zNzVDMyA1LjE4NzUgMy4xODc1IDUgMy4zNzUgNUg0VjMuNUM0IDIuNjg3NSA0LjY4NzUgMiA1LjUgMkgxNS41QzE2LjM0MzggMiAxNyAyLjY4NzUgMTcgMy41VjE2LjVDMTcgMTcuMzQzOCAxNi4zNDM4IDE4IDE1LjUgMThINS41QzQuNjg3NSAxOCA0IDE3LjM0MzggNCAxNi41VjE1SDMuMzc1QzMuMTg3NSAxNSAzIDE0Ljg0MzggMyAxNC42MjVWMTMuMzc1QzMgMTMuMTg3NSAzLjE4NzUgMTMgMy4zNzUgMTNINFYxMUgzLjM3NUMzLjE4NzUgMTEgMyAxMC44NDM4IDMgMTAuNjI1VjkuMzc1QzMgOS4xODc1IDMuMTg3NSA5IDMuMzc1IDlINFY3SDMuMzc1Wk01LjUgMTYuNUgxNS41VjMuNUg1LjVWMTYuNVpNMTAuNSAxMEM5LjQwNjI1IDEwIDguNSA5LjEyNSA4LjUgOEM4LjUgNi45MDYyNSA5LjQwNjI1IDYgMTAuNSA2QzExLjYyNSA2IDEyLjUgNi45MDYyNSAxMi41IDhDMTIuNSA5LjEyNSAxMS42MjUgMTAgMTAuNSAxMFpNMTMuMzEyNSAxNEg3LjcxODc1QzcuMzEyNSAxNCA3IDEzLjc1IDcgMTMuNDA2MlYxMi44MTI1QzcgMTEuODEyNSA3Ljk2ODc1IDExIDkuMTI1IDExQzkuNDM3NSAxMSA5LjY4NzUgMTEuMjUgMTAuNSAxMS4yNUMxMS4zNDM4IDExLjI1IDExLjU2MjUgMTEgMTEuOTA2MiAxMUMxMy4wNjI1IDExIDE0IDExLjgxMjUgMTQgMTIuODEyNVYxMy40MDYyQzE0IDEzLjc1IDEzLjY4NzUgMTQgMTMuMzEyNSAxNFonLFxuICBwcm9qZWN0OlxuICAgICdNMTIuOTM3NSAyLjQzNzVMMTUuNTMxMiA1LjA2MjVDMTUuODEyNSA1LjM0Mzc1IDE2IDUuNzUgMTYgNi4xMjVWMTYuNUMxNiAxNy4zNDM4IDE1LjMxMjUgMTggMTQuNSAxOEg1LjVDNC42NTYyNSAxOCA0IDE3LjM0MzggNCAxNi41VjMuNUM0IDIuNjg3NSA0LjY1NjI1IDIgNS41IDJIMTEuODc1QzEyLjI1IDIgMTIuNjU2MiAyLjE1NjI1IDEyLjkzNzUgMi40Mzc1Wk0xMiA2SDE0LjM3NUwxMiAzLjYyNVY2Wk01LjUgMy41VjE2LjVIMTQuNVY3LjVIMTEuMjVDMTAuODEyNSA3LjUgMTAuNSA3LjE4NzUgMTAuNSA2Ljc1VjMuNUg1LjVaTTEzLjI1IDE0Ljc1SDkuNzVDOS41OTM3NSAxNC43NSA5LjUgMTQuNjU2MiA5LjUgMTQuNVYxMy41QzkuNSAxMy4zNzUgOS41OTM3NSAxMy4yNSA5Ljc1IDEzLjI1SDEzLjI1QzEzLjM3NSAxMy4yNSAxMy41IDEzLjM3NSAxMy41IDEzLjVWMTQuNUMxMy41IDE0LjY1NjIgMTMuMzc1IDE0Ljc1IDEzLjI1IDE0Ljc1Wk04IDE1SDdDNi43MTg3NSAxNSA2LjUgMTQuNzgxMiA2LjUgMTQuNVYxMy41QzYuNSAxMy4yNSA2LjcxODc1IDEzIDcgMTNIOEM4LjI1IDEzIDguNSAxMy4yNSA4LjUgMTMuNVYxNC41QzguNSAxNC43ODEyIDguMjUgMTUgOCAxNVpNOCAxMUg3QzYuNzE4NzUgMTEgNi41IDEwLjc4MTIgNi41IDEwLjVWOS41QzYuNSA5LjI1IDYuNzE4NzUgOSA3IDlIOEM4LjI1IDkgOC41IDkuMjUgOC41IDkuNVYxMC41QzguNSAxMC43ODEyIDguMjUgMTEgOCAxMVpNMTMuMjUgMTAuNzVIOS43NUM5LjU5Mzc1IDEwLjc1IDkuNSAxMC42NTYyIDkuNSAxMC41VjkuNUM5LjUgOS4zNzUgOS41OTM3NSA5LjI1IDkuNzUgOS4yNUgxMy4yNUMxMy4zNzUgOS4yNSAxMy41IDkuMzc1IDEzLjUgOS41VjEwLjVDMTMuNSAxMC42NTYyIDEzLjM3NSAxMC43NSAxMy4yNSAxMC43NVpNOCA3SDdDNi43MTg3NSA3IDYuNSA2Ljc4MTI1IDYuNSA2LjVWNS41QzYuNSA1LjI1IDYuNzE4NzUgNSA3IDVIOEM4LjI1IDUgOC41IDUuMjUgOC41IDUuNVY2LjVDOC41IDYuNzgxMjUgOC4yNSA3IDggN1onLFxuICB1c2VyOiAnTTEyLjM4MzkgMTEuMzEyNUMxMS42MDcxIDExLjMxMjUgMTEuMjU4OSAxMS43NSAxMCAxMS43NUM4LjcxNDI5IDExLjc1IDguMzY2MDcgMTEuMzEyNSA3LjU4OTI5IDExLjMxMjVDNS42MDcxNCAxMS4zMTI1IDQgMTIuOTgwNSA0IDE1LjAwMzlWMTUuNjg3NUM0IDE2LjQyNTggNC41NjI1IDE3IDUuMjg1NzEgMTdIMTQuNzE0M0MxNS40MTA3IDE3IDE2IDE2LjQyNTggMTYgMTUuNjg3NVYxNS4wMDM5QzE2IDEyLjk4MDUgMTQuMzY2MSAxMS4zMTI1IDEyLjM4MzkgMTEuMzEyNVpNMTQuNzE0MyAxNS42ODc1SDUuMjg1NzFWMTUuMDAzOUM1LjI4NTcxIDEzLjY5MTQgNi4zMDM1NyAxMi42MjUgNy41ODkyOSAxMi42MjVDNy45OTEwNyAxMi42MjUgOC42MDcxNCAxMy4wNjI1IDEwIDEzLjA2MjVDMTEuMzY2MSAxMy4wNjI1IDExLjk4MjEgMTIuNjI1IDEyLjM4MzkgMTIuNjI1QzEzLjY2OTYgMTIuNjI1IDE0LjcxNDMgMTMuNjkxNCAxNC43MTQzIDE1LjAwMzlWMTUuNjg3NVpNMTAgMTAuODc1QzEyLjExNjEgMTAuODc1IDEzLjg1NzEgOS4xMjUgMTMuODU3MSA2LjkzNzVDMTMuODU3MSA0Ljc3NzM0IDEyLjExNjEgMyAxMCAzQzcuODU3MTQgMyA2LjE0Mjg2IDQuNzc3MzQgNi4xNDI4NiA2LjkzNzVDNi4xNDI4NiA5LjEyNSA3Ljg1NzE0IDEwLjg3NSAxMCAxMC44NzVaTTEwIDQuMzEyNUMxMS4zOTI5IDQuMzEyNSAxMi41NzE0IDUuNTE1NjIgMTIuNTcxNCA2LjkzNzVDMTIuNTcxNCA4LjM4NjcyIDExLjM5MjkgOS41NjI1IDEwIDkuNTYyNUM4LjU4MDM2IDkuNTYyNSA3LjQyODU3IDguMzg2NzIgNy40Mjg1NyA2LjkzNzVDNy40Mjg1NyA1LjUxNTYyIDguNTgwMzYgNC4zMTI1IDEwIDQuMzEyNVonLFxuICBtY3A6ICdNMTAgM0M2LjEzMzA2IDMgMyA2LjEzMzA2IDMgMTBDMyAxMy44NjY5IDYuMTMzMDYgMTcgMTAgMTdDMTMuODY2OSAxNyAxNyAxMy44NjY5IDE3IDEwQzE3IDYuMTMzMDYgMTMuODY2OSAzIDEwIDNaTTE1LjA1MjQgNy41MTYxM0gxMy4xNjEzQzEyLjk2MzcgNi41IDEyLjY1MzIgNS41OTY3NyAxMi4yNTgxIDQuODYyOUMxMy40NzE4IDUuMzk5MTkgMTQuNDU5NyA2LjMzMDY1IDE1LjA1MjQgNy41MTYxM1pNMTAgNC4zNTQ4NEMxMC41MDgxIDQuMzU0ODQgMTEuMzU0OCA1LjU0MDMyIDExLjc3ODIgNy41MTYxM0g4LjE5MzU1QzguNjE2OTQgNS41NDAzMiA5LjQ2MzcxIDQuMzU0ODQgMTAgNC4zNTQ4NFpNNC4zNTQ4NCAxMEM0LjM1NDg0IDkuNjMzMDYgNC4zODMwNiA5LjIzNzkgNC40Njc3NCA4Ljg3MDk3SDYuNjQxMTNDNi42MTI5IDkuMjY2MTMgNi42MTI5IDkuNjMzMDYgNi42MTI5IDEwQzYuNjEyOSAxMC4zOTUyIDYuNjEyOSAxMC43NjIxIDYuNjQxMTMgMTEuMTI5SDQuNDY3NzRDNC4zODMwNiAxMC43OTAzIDQuMzU0ODQgMTAuMzk1MiA0LjM1NDg0IDEwWk00LjkxOTM1IDEyLjQ4MzlINi44MTA0OEM3LjAwODA2IDEzLjUyODIgNy4zMTg1NSAxNC40MzE1IDcuNzEzNzEgMTUuMTY1M0M2LjUgMTQuNjI5IDUuNTEyMSAxMy42Njk0IDQuOTE5MzUgMTIuNDgzOVpNNi44MTA0OCA3LjUxNjEzSDQuOTE5MzVDNS41MTIxIDYuMzMwNjUgNi41IDUuMzk5MTkgNy43MTM3MSA0Ljg2MjlDNy4zMTg1NSA1LjU5Njc3IDcuMDA4MDYgNi41IDYuODEwNDggNy41MTYxM1pNMTAgMTUuNjQ1MkM5LjQ2MzcxIDE1LjY0NTIgOC42MTY5NCAxNC40ODc5IDguMTkzNTUgMTIuNDgzOUgxMS43NzgyQzExLjM1NDggMTQuNDg3OSAxMC41MDgxIDE1LjY0NTIgMTAgMTUuNjQ1MlpNMTEuOTc1OCAxMS4xMjlINy45OTU5N0M3Ljk2Nzc0IDEwLjc5MDMgNy45Njc3NCAxMC4zOTUyIDcuOTY3NzQgMTBDNy45Njc3NCA5LjYwNDg0IDcuOTY3NzQgOS4yMzc5IDcuOTk1OTcgOC44NzA5N0gxMS45NzU4QzEyLjAwNCA5LjIzNzkgMTIuMDMyMyA5LjYwNDg0IDEyLjAzMjMgMTBDMTIuMDMyMyAxMC4zOTUyIDEyLjAwNCAxMC43OTAzIDExLjk3NTggMTEuMTI5Wk0xMi4yNTgxIDE1LjE2NTNDMTIuNjUzMiAxNC40MzE1IDEyLjk2MzcgMTMuNTI4MiAxMy4xNjEzIDEyLjQ4MzlIMTUuMDUyNEMxNC40NTk3IDEzLjY2OTQgMTMuNDcxOCAxNC42MjkgMTIuMjU4MSAxNS4xNjUzWk0xMy4zMzA2IDExLjEyOUMxMy4zNTg5IDEwLjc2MjEgMTMuMzg3MSAxMC4zOTUyIDEzLjM4NzEgMTBDMTMuMzg3MSA5LjYzMzA2IDEzLjM1ODkgOS4yNjYxMyAxMy4zMzA2IDguODcwOTdIMTUuNTMyM0MxNS41ODg3IDkuMjM3OSAxNS42NDUyIDkuNjMzMDYgMTUuNjQ1MiAxMEMxNS42NDUyIDEwLjM5NTIgMTUuNTg4NyAxMC43OTAzIDE1LjUzMjMgMTEuMTI5SDEzLjMzMDZaJyxcbn1cblxuY29uc3QgY3JlYXRlU3ZnSWNvbiA9IChwYXRoRGF0YTogc3RyaW5nLCBjb2xvcjogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDIwIDIwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcGF0aERhdGEpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsJywgY29sb3IpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsLXJ1bGUnLCAnbm9uemVybycpXG4gIHN2Zy5hcHBlbmRDaGlsZChwYXRoKVxuXG4gIHJldHVybiBzdmdcbn1cblxuY29uc3QgY3JlYXRlU2tpbGxJY29uU3ZnRWxlbWVudCA9IChjb2xvcjogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDIwIDIwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdub25lJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdkJywgU0tJTExfSUNPTl9QQVRIKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgY29sb3IpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWNhcCcsICdyb3VuZCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWpvaW4nLCAncm91bmQnKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLXdpZHRoJywgJzEuNScpXG4gIHN2Zy5hcHBlbmRDaGlsZChwYXRoKVxuXG4gIHJldHVybiBzdmdcbn1cblxuY29uc3QgY3JlYXRlTm90aW9uSWNvblN2Z0VsZW1lbnQgPSAoc2l6ZTogbnVtYmVyKTogU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdzdmcnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgJzAgMCAxMDAgMTAwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHAxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3BhdGgnKVxuICBwMS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnI2ZmZicpXG4gIHAxLnNldEF0dHJpYnV0ZSgnZCcsIE5PVElPTl9CUkFORF9QQVRIX1dISVRFKVxuXG4gIGNvbnN0IHAyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3BhdGgnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnIzAwMCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2NsaXAtcnVsZScsICdldmVub2RkJylcbiAgcDIuc2V0QXR0cmlidXRlKCdkJywgTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0spXG5cbiAgc3ZnLmFwcGVuZENoaWxkKHAxKVxuICBzdmcuYXBwZW5kQ2hpbGQocDIpXG4gIHJldHVybiBzdmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldENvbnRleHRNZW50aW9uSWNvbiA9IChcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGUsXG4gIGNvbG9yOiBzdHJpbmcsXG4gIG1lbnRpb25JZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBzaXplPzogbnVtYmVyXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBjb25zdCByZXNvbHZlZFNpemUgPSBzaXplID8/IERFRkFVTFRfSUNPTl9TSVpFXG4gIGNvbnN0IGljb25Qcm9wcyA9IHsgY29sb3IsIHdpZHRoOiBgJHtyZXNvbHZlZFNpemV9cHhgLCBoZWlnaHQ6IGAke3Jlc29sdmVkU2l6ZX1weGAgfVxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdjbGllbnQnOlxuICAgICAgcmV0dXJuIDxDb250YWN0IHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gPEZpbGVQcm9qZWN0IHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e1RBU0tfTElOS19JQ09OX0RBVEFfVVJMfSBhbHQ9XCJcIiBhcmlhLWhpZGRlbiB3aWR0aD17cmVzb2x2ZWRTaXplfSBoZWlnaHQ9e3Jlc29sdmVkU2l6ZX0gLz5cbiAgICBjYXNlICd1c2VyJzpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICAgIGNhc2UgJ3NraWxsJzpcbiAgICAgIHJldHVybiA8U2tpbGxJY29uIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSBjb2xvcj17Y29sb3J9IC8+XG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIGlmIChpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgICAgICByZXR1cm4gPE5vdGlvbkljb24gd2lkdGg9e3Jlc29sdmVkU2l6ZX0gaGVpZ2h0PXtyZXNvbHZlZFNpemV9IC8+XG4gICAgICB9XG4gICAgICByZXR1cm4gPEdsb2JlIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZXh0TWVudGlvbkljb25FbGVtZW50ID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IEhUTUxFbGVtZW50IHwgU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpXG4gICAgaW1nLnNyYyA9IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMXG4gICAgaW1nLndpZHRoID0gcmVzb2x2ZWRTaXplXG4gICAgaW1nLmhlaWdodCA9IHJlc29sdmVkU2l6ZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIGltZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIHJldHVybiBpbWdcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnc2tpbGwnKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVNraWxsSWNvblN2Z0VsZW1lbnQoY29sb3IsIHJlc29sdmVkU2l6ZSlcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJyAmJiBpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgIHJldHVybiBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudChyZXNvbHZlZFNpemUpXG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihNRU5USU9OX0lDT05fUEFUSFMubWNwLCBjb2xvciwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgY29uc3QgcGF0aERhdGEgPSBNRU5USU9OX0lDT05fUEFUSFNbdHlwZV0gPz8gTUVOVElPTl9JQ09OX1BBVEhTLnVzZXJcbiAgcmV0dXJuIGNyZWF0ZVN2Z0ljb24ocGF0aERhdGEsIGNvbG9yLCByZXNvbHZlZFNpemUpXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLE9BQU8sUUFBUSwwQ0FBMEM7QUFDbEUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsVUFBVSxFQUFFQyx1QkFBdUIsRUFBRUMsdUJBQXVCLFFBQVEsc0NBQXNDO0FBQ25ILFNBQVNDLFNBQVMsRUFBRUMsZUFBZSxRQUFRLHFDQUFxQztBQUVoRixTQUFTQyx1QkFBdUIsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbkUsSUFBTUMsTUFBTSxHQUFHLDRCQUE0QjtBQUMzQyxJQUFNQyxpQkFBaUIsR0FBRyxFQUFFOztBQUU1QjtBQUNBLE9BQU8sSUFBTUMsZUFBZSxHQUFHLFFBQVE7QUFFdkMsT0FBTyxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLEVBQStCO0VBQUEsT0FDN0RDLE1BQU0sQ0FBQ0QsRUFBRSxhQUFGQSxFQUFFLGNBQUZBLEVBQUUsR0FBSSxFQUFFLENBQUMsQ0FBQ0UsV0FBVyxDQUFDLENBQUMsS0FBS0osZUFBZTtBQUFBO0FBRXBELElBQU1LLGtCQUFzRSxHQUFHO0VBQzdFQyxLQUFLLEVBQUVaLGVBQWU7RUFDdEJhLE1BQU0sRUFDSiw2dEJBQTZ0QjtFQUMvdEJDLE9BQU8sRUFDTCw4L0JBQTgvQjtFQUNoZ0NDLElBQUksRUFBRSw0MEJBQTQwQjtFQUNsMUJDLEdBQUcsRUFBRTtBQUNQLENBQUM7QUFFRCxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLFFBQWdCLEVBQUVDLEtBQWEsRUFBRUMsSUFB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
115
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlRBU0tfTElOS19JQ09OX0RBVEFfVVJMIiwianN4IiwiX2pzeCIsIlNWR19OUyIsIkRFRkFVTFRfSUNPTl9TSVpFIiwiTk9USU9OX01DUF9TTFVHIiwiaXNOb3Rpb25NY3BTbHVnIiwiaWQiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIk1FTlRJT05fSUNPTl9QQVRIUyIsImNsaWVudCIsInByb2plY3QiLCJ1c2VyIiwibWNwIiwiY3JlYXRlU3ZnSWNvbiIsInBhdGhEYXRhIiwiY29sb3IiLCJzaXplIiwic3ZnIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50TlMiLCJzZXRBdHRyaWJ1dGUiLCJzdHlsZSIsImRpc3BsYXkiLCJwYXRoIiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCIsInAxIiwicDIiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJ0eXBlIiwibWVudGlvbklkIiwicmVzb2x2ZWRTaXplIiwiaWNvblByb3BzIiwid2lkdGgiLCJjb25jYXQiLCJoZWlnaHQiLCJfb2JqZWN0U3ByZWFkIiwic3JjIiwiYWx0IiwiY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCIsIl9NRU5USU9OX0lDT05fUEFUSFMkdCIsImltZyIsImNyZWF0ZUVsZW1lbnQiLCJkcmFnZ2FibGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgVEFTS19MSU5LX0lDT05fREFUQV9VUkwgfSBmcm9tICcuLi9jb25zdGFudHMvdGFza0xpbmtJY29uJ1xuXG5jb25zdCBTVkdfTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnXG5jb25zdCBERUZBVUxUX0lDT05fU0laRSA9IDE0XG5cbi8qKiBTbHVnIE1DUCBkZWwgY29uZWN0b3IgTm90aW9uIChhbGluZWFkbyBjb24gTk9USU9OX0NPTk5FQ1RPUl9TTFVHIGVuIGNhdGFsb2cpLiAqL1xuZXhwb3J0IGNvbnN0IE5PVElPTl9NQ1BfU0xVRyA9ICdub3Rpb24nXG5cbmV4cG9ydCBjb25zdCBpc05vdGlvbk1jcFNsdWcgPSAoaWQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT5cbiAgU3RyaW5nKGlkID8/ICcnKS50b0xvd2VyQ2FzZSgpID09PSBOT1RJT05fTUNQX1NMVUdcblxuY29uc3QgTUVOVElPTl9JQ09OX1BBVEhTOiBSZWNvcmQ8RXhjbHVkZTxDb250ZXh0RW50aXR5VHlwZSwgJ3Rhc2snPiwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OlxuICAgICdNMy4zNzUgN0MzLjE4NzUgNyAzIDYuODQzNzUgMyA2LjYyNVY1LjM3NUMzIDUuMTg3NSAzLjE4NzUgNSAzLjM3NSA1SDRWMy41QzQgMi42ODc1IDQuNjg3NSAyIDUuNSAySDE1LjVDMTYuMzQzOCAyIDE3IDIuNjg3NSAxNyAzLjVWMTYuNUMxNyAxNy4zNDM4IDE2LjM0MzggMTggMTUuNSAxOEg1LjVDNC42ODc1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMTVIMy4zNzVDMy4xODc1IDE1IDMgMTQuODQzOCAzIDE0LjYyNVYxMy4zNzVDMyAxMy4xODc1IDMuMTg3NSAxMyAzLjM3NSAxM0g0VjExSDMuMzc1QzMuMTg3NSAxMSAzIDEwLjg0MzggMyAxMC42MjVWOS4zNzVDMyA5LjE4NzUgMy4xODc1IDkgMy4zNzUgOUg0VjdIMy4zNzVaTTUuNSAxNi41SDE1LjVWMy41SDUuNVYxNi41Wk0xMC41IDEwQzkuNDA2MjUgMTAgOC41IDkuMTI1IDguNSA4QzguNSA2LjkwNjI1IDkuNDA2MjUgNiAxMC41IDZDMTEuNjI1IDYgMTIuNSA2LjkwNjI1IDEyLjUgOEMxMi41IDkuMTI1IDExLjYyNSAxMCAxMC41IDEwWk0xMy4zMTI1IDE0SDcuNzE4NzVDNy4zMTI1IDE0IDcgMTMuNzUgNyAxMy40MDYyVjEyLjgxMjVDNyAxMS44MTI1IDcuOTY4NzUgMTEgOS4xMjUgMTFDOS40Mzc1IDExIDkuNjg3NSAxMS4yNSAxMC41IDExLjI1QzExLjM0MzggMTEuMjUgMTEuNTYyNSAxMSAxMS45MDYyIDExQzEzLjA2MjUgMTEgMTQgMTEuODEyNSAxNCAxMi44MTI1VjEzLjQwNjJDMTQgMTMuNzUgMTMuNjg3NSAxNCAxMy4zMTI1IDE0WicsXG4gIHByb2plY3Q6XG4gICAgJ00xMi45Mzc1IDIuNDM3NUwxNS41MzEyIDUuMDYyNUMxNS44MTI1IDUuMzQzNzUgMTYgNS43NSAxNiA2LjEyNVYxNi41QzE2IDE3LjM0MzggMTUuMzEyNSAxOCAxNC41IDE4SDUuNUM0LjY1NjI1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMy41QzQgMi42ODc1IDQuNjU2MjUgMiA1LjUgMkgxMS44NzVDMTIuMjUgMiAxMi42NTYyIDIuMTU2MjUgMTIuOTM3NSAyLjQzNzVaTTEyIDZIMTQuMzc1TDEyIDMuNjI1VjZaTTUuNSAzLjVWMTYuNUgxNC41VjcuNUgxMS4yNUMxMC44MTI1IDcuNSAxMC41IDcuMTg3NSAxMC41IDYuNzVWMy41SDUuNVpNMTMuMjUgMTQuNzVIOS43NUM5LjU5Mzc1IDE0Ljc1IDkuNSAxNC42NTYyIDkuNSAxNC41VjEzLjVDOS41IDEzLjM3NSA5LjU5Mzc1IDEzLjI1IDkuNzUgMTMuMjVIMTMuMjVDMTMuMzc1IDEzLjI1IDEzLjUgMTMuMzc1IDEzLjUgMTMuNVYxNC41QzEzLjUgMTQuNjU2MiAxMy4zNzUgMTQuNzUgMTMuMjUgMTQuNzVaTTggMTVIN0M2LjcxODc1IDE1IDYuNSAxNC43ODEyIDYuNSAxNC41VjEzLjVDNi41IDEzLjI1IDYuNzE4NzUgMTMgNyAxM0g4QzguMjUgMTMgOC41IDEzLjI1IDguNSAxMy41VjE0LjVDOC41IDE0Ljc4MTIgOC4yNSAxNSA4IDE1Wk04IDExSDdDNi43MTg3NSAxMSA2LjUgMTAuNzgxMiA2LjUgMTAuNVY5LjVDNi41IDkuMjUgNi43MTg3NSA5IDcgOUg4QzguMjUgOSA4LjUgOS4yNSA4LjUgOS41VjEwLjVDOC41IDEwLjc4MTIgOC4yNSAxMSA4IDExWk0xMy4yNSAxMC43NUg5Ljc1QzkuNTkzNzUgMTAuNzUgOS41IDEwLjY1NjIgOS41IDEwLjVWOS41QzkuNSA5LjM3NSA5LjU5Mzc1IDkuMjUgOS43NSA5LjI1SDEzLjI1QzEzLjM3NSA5LjI1IDEzLjUgOS4zNzUgMTMuNSA5LjVWMTAuNUMxMy41IDEwLjY1NjIgMTMuMzc1IDEwLjc1IDEzLjI1IDEwLjc1Wk04IDdIN0M2LjcxODc1IDcgNi41IDYuNzgxMjUgNi41IDYuNVY1LjVDNi41IDUuMjUgNi43MTg3NSA1IDcgNUg4QzguMjUgNSA4LjUgNS4yNSA4LjUgNS41VjYuNUM4LjUgNi43ODEyNSA4LjI1IDcgOCA3WicsXG4gIHVzZXI6ICdNMTIuMzgzOSAxMS4zMTI1QzExLjYwNzEgMTEuMzEyNSAxMS4yNTg5IDExLjc1IDEwIDExLjc1QzguNzE0MjkgMTEuNzUgOC4zNjYwNyAxMS4zMTI1IDcuNTg5MjkgMTEuMzEyNUM1LjYwNzE0IDExLjMxMjUgNCAxMi45ODA1IDQgMTUuMDAzOVYxNS42ODc1QzQgMTYuNDI1OCA0LjU2MjUgMTcgNS4yODU3MSAxN0gxNC43MTQzQzE1LjQxMDcgMTcgMTYgMTYuNDI1OCAxNiAxNS42ODc1VjE1LjAwMzlDMTYgMTIuOTgwNSAxNC4zNjYxIDExLjMxMjUgMTIuMzgzOSAxMS4zMTI1Wk0xNC43MTQzIDE1LjY4NzVINS4yODU3MVYxNS4wMDM5QzUuMjg1NzEgMTMuNjkxNCA2LjMwMzU3IDEyLjYyNSA3LjU4OTI5IDEyLjYyNUM3Ljk5MTA3IDEyLjYyNSA4LjYwNzE0IDEzLjA2MjUgMTAgMTMuMDYyNUMxMS4zNjYxIDEzLjA2MjUgMTEuOTgyMSAxMi42MjUgMTIuMzgzOSAxMi42MjVDMTMuNjY5NiAxMi42MjUgMTQuNzE0MyAxMy42OTE0IDE0LjcxNDMgMTUuMDAzOVYxNS42ODc1Wk0xMCAxMC44NzVDMTIuMTE2MSAxMC44NzUgMTMuODU3MSA5LjEyNSAxMy44NTcxIDYuOTM3NUMxMy44NTcxIDQuNzc3MzQgMTIuMTE2MSAzIDEwIDNDNy44NTcxNCAzIDYuMTQyODYgNC43NzczNCA2LjE0Mjg2IDYuOTM3NUM2LjE0Mjg2IDkuMTI1IDcuODU3MTQgMTAuODc1IDEwIDEwLjg3NVpNMTAgNC4zMTI1QzExLjM5MjkgNC4zMTI1IDEyLjU3MTQgNS41MTU2MiAxMi41NzE0IDYuOTM3NUMxMi41NzE0IDguMzg2NzIgMTEuMzkyOSA5LjU2MjUgMTAgOS41NjI1QzguNTgwMzYgOS41NjI1IDcuNDI4NTcgOC4zODY3MiA3LjQyODU3IDYuOTM3NUM3LjQyODU3IDUuNTE1NjIgOC41ODAzNiA0LjMxMjUgMTAgNC4zMTI1WicsXG4gIG1jcDogJ00xMCAzQzYuMTMzMDYgMyAzIDYuMTMzMDYgMyAxMEMzIDEzLjg2NjkgNi4xMzMwNiAxNyAxMCAxN0MxMy44NjY5IDE3IDE3IDEzLjg2NjkgMTcgMTBDMTcgNi4xMzMwNiAxMy44NjY5IDMgMTAgM1pNMTUuMDUyNCA3LjUxNjEzSDEzLjE2MTNDMTIuOTYzNyA2LjUgMTIuNjUzMiA1LjU5Njc3IDEyLjI1ODEgNC44NjI5QzEzLjQ3MTggNS4zOTkxOSAxNC40NTk3IDYuMzMwNjUgMTUuMDUyNCA3LjUxNjEzWk0xMCA0LjM1NDg0QzEwLjUwODEgNC4zNTQ4NCAxMS4zNTQ4IDUuNTQwMzIgMTEuNzc4MiA3LjUxNjEzSDguMTkzNTVDOC42MTY5NCA1LjU0MDMyIDkuNDYzNzEgNC4zNTQ4NCAxMCA0LjM1NDg0Wk00LjM1NDg0IDEwQzQuMzU0ODQgOS42MzMwNiA0LjM4MzA2IDkuMjM3OSA0LjQ2Nzc0IDguODcwOTdINi42NDExM0M2LjYxMjkgOS4yNjYxMyA2LjYxMjkgOS42MzMwNiA2LjYxMjkgMTBDNi42MTI5IDEwLjM5NTIgNi42MTI5IDEwLjc2MjEgNi42NDExMyAxMS4xMjlINC40Njc3NEM0LjM4MzA2IDEwLjc5MDMgNC4zNTQ4NCAxMC4zOTUyIDQuMzU0ODQgMTBaTTQuOTE5MzUgMTIuNDgzOUg2LjgxMDQ4QzcuMDA4MDYgMTMuNTI4MiA3LjMxODU1IDE0LjQzMTUgNy43MTM3MSAxNS4xNjUzQzYuNSAxNC42MjkgNS41MTIxIDEzLjY2OTQgNC45MTkzNSAxMi40ODM5Wk02LjgxMDQ4IDcuNTE2MTNINC45MTkzNUM1LjUxMjEgNi4zMzA2NSA2LjUgNS4zOTkxOSA3LjcxMzcxIDQuODYyOUM3LjMxODU1IDUuNTk2NzcgNy4wMDgwNiA2LjUgNi44MTA0OCA3LjUxNjEzWk0xMCAxNS42NDUyQzkuNDYzNzEgMTUuNjQ1MiA4LjYxNjk0IDE0LjQ4NzkgOC4xOTM1NSAxMi40ODM5SDExLjc3ODJDMTEuMzU0OCAxNC40ODc5IDEwLjUwODEgMTUuNjQ1MiAxMCAxNS42NDUyWk0xMS45NzU4IDExLjEyOUg3Ljk5NTk3QzcuOTY3NzQgMTAuNzkwMyA3Ljk2Nzc0IDEwLjM5NTIgNy45Njc3NCAxMEM3Ljk2Nzc0IDkuNjA0ODQgNy45Njc3NCA5LjIzNzkgNy45OTU5NyA4Ljg3MDk3SDExLjk3NThDMTIuMDA0IDkuMjM3OSAxMi4wMzIzIDkuNjA0ODQgMTIuMDMyMyAxMEMxMi4wMzIzIDEwLjM5NTIgMTIuMDA0IDEwLjc5MDMgMTEuOTc1OCAxMS4xMjlaTTEyLjI1ODEgMTUuMTY1M0MxMi42NTMyIDE0LjQzMTUgMTIuOTYzNyAxMy41MjgyIDEzLjE2MTMgMTIuNDgzOUgxNS4wNTI0QzE0LjQ1OTcgMTMuNjY5NCAxMy40NzE4IDE0LjYyOSAxMi4yNTgxIDE1LjE2NTNaTTEzLjMzMDYgMTEuMTI5QzEzLjM1ODkgMTAuNzYyMSAxMy4zODcxIDEwLjM5NTIgMTMuMzg3MSAxMEMxMy4zODcxIDkuNjMzMDYgMTMuMzU4OSA5LjI2NjEzIDEzLjMzMDYgOC44NzA5N0gxNS41MzIzQzE1LjU4ODcgOS4yMzc5IDE1LjY0NTIgOS42MzMwNiAxNS42NDUyIDEwQzE1LjY0NTIgMTAuMzk1MiAxNS41ODg3IDEwLjc5MDMgMTUuNTMyMyAxMS4xMjlIMTMuMzMwNlonLFxufVxuXG5jb25zdCBjcmVhdGVTdmdJY29uID0gKHBhdGhEYXRhOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMjAgMjAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXRoRGF0YSlcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBjb2xvcilcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwtcnVsZScsICdub256ZXJvJylcbiAgc3ZnLmFwcGVuZENoaWxkKHBhdGgpXG5cbiAgcmV0dXJuIHN2Z1xufVxuXG5jb25zdCBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCA9IChzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDEwMCAxMDAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAxLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjZmZmJylcbiAgcDEuc2V0QXR0cmlidXRlKCdkJywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUpXG5cbiAgY29uc3QgcDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjMDAwJylcbiAgcDIuc2V0QXR0cmlidXRlKCdmaWxsLXJ1bGUnLCAnZXZlbm9kZCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnY2xpcC1ydWxlJywgJ2V2ZW5vZGQnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2QnLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSylcblxuICBzdmcuYXBwZW5kQ2hpbGQocDEpXG4gIHN2Zy5hcHBlbmRDaGlsZChwMilcbiAgcmV0dXJuIHN2Z1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29udGV4dE1lbnRpb25JY29uID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IFJlYWN0Tm9kZSA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgY29uc3QgaWNvblByb3BzID0geyBjb2xvciwgd2lkdGg6IGAke3Jlc29sdmVkU2l6ZX1weGAsIGhlaWdodDogYCR7cmVzb2x2ZWRTaXplfXB4YCB9XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2NsaWVudCc6XG4gICAgICByZXR1cm4gPENvbnRhY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICdwcm9qZWN0JzpcbiAgICAgIHJldHVybiA8RmlsZVByb2plY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICd0YXNrJzpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17VEFTS19MSU5LX0lDT05fREFUQV9VUkx9IGFsdD1cIlwiIGFyaWEtaGlkZGVuIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSAvPlxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIDxVc2VyIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIGlmIChpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgICAgICByZXR1cm4gPE5vdGlvbkljb24gd2lkdGg9e3Jlc29sdmVkU2l6ZX0gaGVpZ2h0PXtyZXNvbHZlZFNpemV9IC8+XG4gICAgICB9XG4gICAgICByZXR1cm4gPEdsb2JlIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZXh0TWVudGlvbkljb25FbGVtZW50ID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IEhUTUxFbGVtZW50IHwgU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpXG4gICAgaW1nLnNyYyA9IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMXG4gICAgaW1nLndpZHRoID0gcmVzb2x2ZWRTaXplXG4gICAgaW1nLmhlaWdodCA9IHJlc29sdmVkU2l6ZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIGltZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIHJldHVybiBpbWdcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJyAmJiBpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgIHJldHVybiBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudChyZXNvbHZlZFNpemUpXG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihNRU5USU9OX0lDT05fUEFUSFMubWNwLCBjb2xvciwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgY29uc3QgcGF0aERhdGEgPSBNRU5USU9OX0lDT05fUEFUSFNbdHlwZV0gPz8gTUVOVElPTl9JQ09OX1BBVEhTLnVzZXJcbiAgcmV0dXJuIGNyZWF0ZVN2Z0ljb24ocGF0aERhdGEsIGNvbG9yLCByZXNvbHZlZFNpemUpXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLE9BQU8sUUFB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
@@ -19,12 +19,12 @@ export function getHitlAnalyticsAgentType(agent) {
19
19
  if (!agent) return 'custom';
20
20
  var isMarketplaceGlobalAgent = agent.entity === 'global' && /(maiaker|marketplace)/i.test(agent.name || '');
21
21
  if (isMarketplaceGlobalAgent) return 'marketplace';
22
- if (agent.type === 'clone') return 'clone';
22
+ if (agent.type === 'clone' || agent.type === 'orchestrator') return 'clone';
23
23
  return 'custom';
24
24
  }
25
25
 
26
26
  /** Para AI_CHAT_PLUS_OPEN y AI_CHAT_TOOLS (menú + del input): solo `clone` | `custom`. */
27
27
  export function getChatToolsMenuAgentType(agent) {
28
- return (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' ? 'clone' : 'custom';
28
+ return (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' || (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator' ? 'clone' : 'custom';
29
29
  }
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJ0b29sTmFtZSIsIm4iLCJ0b0xvd2VyQ2FzZSIsInRyaW0iLCJidWlsZEhpdGxBY3Rpb25UeXBlTGlzdCIsImFjdGlvbnMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJTZXQiLCJtYXAiLCJhIiwidG9vbF9uYW1lIiwic29ydCIsImpvaW4iLCJoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50Iiwic29tZSIsImdldEhpdGxBbmFseXRpY3NBZ2VudFR5cGUiLCJhZ2VudCIsImlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwidHlwZSIsImdldENoYXRUb29sc01lbnVBZ2VudFR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaGl0bEFuYWx5dGljcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vdHlwZXMvYWdlbnQnXG5cbi8qKiBBbGluZWFkbyBjb24gVE9PTF9QRVJNSVNTSU9OX01BUCAvIFRPT0xfRElTUExBWV9OQU1FUyBlbiBtYWlhIChzbmFrZV9jYXNlKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG4gPSAodG9vbE5hbWUgfHwgJ3Vua25vd24nKS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuICBpZiAobiA9PT0gJ2Fzc2lnbicpIHJldHVybiAndGFza19hc3NpZ24nXG4gIHJldHVybiBuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEhpdGxBY3Rpb25UeXBlTGlzdChhY3Rpb25zOiB7IHRvb2xfbmFtZTogc3RyaW5nIH1bXSk6IHN0cmluZyB7XG4gIHJldHVybiBbLi4ubmV3IFNldChhY3Rpb25zLm1hcChhID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhLnRvb2xfbmFtZSkpKV0uc29ydCgpLmpvaW4oJywnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zOiB7IHRvb2xfbmFtZTogc3RyaW5nIH1bXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYWN0aW9ucy5zb21lKGEgPT4gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGEudG9vbF9uYW1lKSA9PT0gJ2NyZWF0ZV9hZ2VudCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlKFxuICBhZ2VudDogUGljazxBZ2VudCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2VudGl0eSc+IHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogJ2Nsb25lJyB8ICdjdXN0b20nIHwgJ21hcmtldHBsYWNlJyB7XG4gIGlmICghYWdlbnQpIHJldHVybiAnY3VzdG9tJ1xuICBjb25zdCBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPSBhZ2VudC5lbnRpdHkgPT09ICdnbG9iYWwnICYmIC8obWFpYWtlcnxtYXJrZXRwbGFjZSkvaS50ZXN0KGFnZW50Lm5hbWUgfHwgJycpXG4gIGlmIChpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQpIHJldHVybiAnbWFya2V0cGxhY2UnXG4gIGlmIChhZ2VudC50eXBlID09PSAnY2xvbmUnKSByZXR1cm4gJ2Nsb25lJ1xuICByZXR1cm4gJ2N1c3RvbSdcbn1cblxuLyoqIFBhcmEgQUlfQ0hBVF9QTFVTX09QRU4geSBBSV9DSEFUX1RPT0xTIChtZW7DuiArIGRlbCBpbnB1dCk6IHNvbG8gYGNsb25lYCB8IGBjdXN0b21gLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUoYWdlbnQ6IFBpY2s8QWdlbnQsICd0eXBlJz4gfCBudWxsIHwgdW5kZWZpbmVkKTogJ2Nsb25lJyB8ICdjdXN0b20nIHtcbiAgcmV0dXJuIGFnZW50Py50eXBlID09PSAnY2xvbmUnID8gJ2Nsb25lJyA6ICdjdXN0b20nXG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQTtBQUNBLE9BQU8sU0FBU0EscUJBQXFCQSxDQUFDQyxRQUFnQixFQUFVO0VBQzlELElBQU1DLENBQUMsR0FBRyxDQUFDRCxRQUFRLElBQUksU0FBUyxFQUFFRSxXQUFXLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsQ0FBQztFQUN0RCxJQUFJRixDQUFDLEtBQUssUUFBUSxFQUFFLE9BQU8sYUFBYTtFQUN4QyxPQUFPQSxDQUFDO0FBQ1Y7QUFFQSxPQUFPLFNBQVNHLHVCQUF1QkEsQ0FBQ0MsT0FBZ0MsRUFBVTtFQUNoRixPQUFPQyxrQkFBQSxDQUFJLElBQUlDLEdBQUcsQ0FBQ0YsT0FBTyxDQUFDRyxHQUFHLENBQUMsVUFBQUMsQ0FBQztJQUFBLE9BQUlWLHFCQUFxQixDQUFDVSxDQUFDLENBQUNDLFNBQVMsQ0FBQztFQUFBLEVBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQzVGO0FBRUEsT0FBTyxTQUFTQyw0QkFBNEJBLENBQUNSLE9BQWdDLEVBQVc7RUFDdEYsT0FBT0EsT0FBTyxDQUFDUyxJQUFJLENBQUMsVUFBQUwsQ0FBQztJQUFBLE9BQUlWLHFCQUFxQixDQUFDVSxDQUFDLENBQUNDLFNBQVMsQ0FBQyxLQUFLLGNBQWM7RUFBQSxFQUFDO0FBQ2pGO0FBRUEsT0FBTyxTQUFTSyx5QkFBeUJBLENBQ3ZDQyxLQUFpRSxFQUM3QjtFQUNwQyxJQUFJLENBQUNBLEtBQUssRUFBRSxPQUFPLFFBQVE7RUFDM0IsSUFBTUMsd0JBQXdCLEdBQUdELEtBQUssQ0FBQ0UsTUFBTSxLQUFLLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQ0MsSUFBSSxDQUFDSCxLQUFLLENBQUNJLElBQUksSUFBSSxFQUFFLENBQUM7RUFDN0csSUFBSUgsd0JBQXdCLEVBQUUsT0FBTyxhQUFhO0VBQ2xELElBQUlELEtBQUssQ0FBQ0ssSUFBSSxLQUFLLE9BQU8sRUFBRSxPQUFPLE9BQU87RUFDMUMsT0FBTyxRQUFRO0FBQ2pCOztBQUVBO0FBQ0EsT0FBTyxTQUFTQyx5QkFBeUJBLENBQUNOLEtBQTZDLEVBQXNCO0VBQzNHLE9BQU8sQ0FBQUEsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVLLElBQUksTUFBSyxPQUFPLEdBQUcsT0FBTyxHQUFHLFFBQVE7QUFDckQiLCJpZ25vcmVMaXN0IjpbXX0=
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJ0b29sTmFtZSIsIm4iLCJ0b0xvd2VyQ2FzZSIsInRyaW0iLCJidWlsZEhpdGxBY3Rpb25UeXBlTGlzdCIsImFjdGlvbnMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJTZXQiLCJtYXAiLCJhIiwidG9vbF9uYW1lIiwic29ydCIsImpvaW4iLCJoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50Iiwic29tZSIsImdldEhpdGxBbmFseXRpY3NBZ2VudFR5cGUiLCJhZ2VudCIsImlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwidHlwZSIsImdldENoYXRUb29sc01lbnVBZ2VudFR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaGl0bEFuYWx5dGljcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vdHlwZXMvYWdlbnQnXG5cbi8qKiBBbGluZWFkbyBjb24gVE9PTF9QRVJNSVNTSU9OX01BUCAvIFRPT0xfRElTUExBWV9OQU1FUyBlbiBtYWlhIChzbmFrZV9jYXNlKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG4gPSAodG9vbE5hbWUgfHwgJ3Vua25vd24nKS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuICBpZiAobiA9PT0gJ2Fzc2lnbicpIHJldHVybiAndGFza19hc3NpZ24nXG4gIHJldHVybiBuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEhpdGxBY3Rpb25UeXBlTGlzdChhY3Rpb25zOiB7IHRvb2xfbmFtZTogc3RyaW5nIH1bXSk6IHN0cmluZyB7XG4gIHJldHVybiBbLi4ubmV3IFNldChhY3Rpb25zLm1hcChhID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhLnRvb2xfbmFtZSkpKV0uc29ydCgpLmpvaW4oJywnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zOiB7IHRvb2xfbmFtZTogc3RyaW5nIH1bXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYWN0aW9ucy5zb21lKGEgPT4gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGEudG9vbF9uYW1lKSA9PT0gJ2NyZWF0ZV9hZ2VudCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlKFxuICBhZ2VudDogUGljazxBZ2VudCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2VudGl0eSc+IHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogJ2Nsb25lJyB8ICdjdXN0b20nIHwgJ21hcmtldHBsYWNlJyB7XG4gIGlmICghYWdlbnQpIHJldHVybiAnY3VzdG9tJ1xuICBjb25zdCBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPSBhZ2VudC5lbnRpdHkgPT09ICdnbG9iYWwnICYmIC8obWFpYWtlcnxtYXJrZXRwbGFjZSkvaS50ZXN0KGFnZW50Lm5hbWUgfHwgJycpXG4gIGlmIChpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQpIHJldHVybiAnbWFya2V0cGxhY2UnXG4gIGlmIChhZ2VudC50eXBlID09PSAnY2xvbmUnIHx8IGFnZW50LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSByZXR1cm4gJ2Nsb25lJ1xuICByZXR1cm4gJ2N1c3RvbSdcbn1cblxuLyoqIFBhcmEgQUlfQ0hBVF9QTFVTX09QRU4geSBBSV9DSEFUX1RPT0xTIChtZW7DuiArIGRlbCBpbnB1dCk6IHNvbG8gYGNsb25lYCB8IGBjdXN0b21gLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUoYWdlbnQ6IFBpY2s8QWdlbnQsICd0eXBlJz4gfCBudWxsIHwgdW5kZWZpbmVkKTogJ2Nsb25lJyB8ICdjdXN0b20nIHtcbiAgcmV0dXJuIGFnZW50Py50eXBlID09PSAnY2xvbmUnIHx8IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJyA/ICdjbG9uZScgOiAnY3VzdG9tJ1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBRUE7QUFDQSxPQUFPLFNBQVNBLHFCQUFxQkEsQ0FBQ0MsUUFBZ0IsRUFBVTtFQUM5RCxJQUFNQyxDQUFDLEdBQUcsQ0FBQ0QsUUFBUSxJQUFJLFNBQVMsRUFBRUUsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7RUFDdEQsSUFBSUYsQ0FBQyxLQUFLLFFBQVEsRUFBRSxPQUFPLGFBQWE7RUFDeEMsT0FBT0EsQ0FBQztBQUNWO0FBRUEsT0FBTyxTQUFTRyx1QkFBdUJBLENBQUNDLE9BQWdDLEVBQVU7RUFDaEYsT0FBT0Msa0JBQUEsQ0FBSSxJQUFJQyxHQUFHLENBQUNGLE9BQU8sQ0FBQ0csR0FBRyxDQUFDLFVBQUFDLENBQUM7SUFBQSxPQUFJVixxQkFBcUIsQ0FBQ1UsQ0FBQyxDQUFDQyxTQUFTLENBQUM7RUFBQSxFQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUM1RjtBQUVBLE9BQU8sU0FBU0MsNEJBQTRCQSxDQUFDUixPQUFnQyxFQUFXO0VBQ3RGLE9BQU9BLE9BQU8sQ0FBQ1MsSUFBSSxDQUFDLFVBQUFMLENBQUM7SUFBQSxPQUFJVixxQkFBcUIsQ0FBQ1UsQ0FBQyxDQUFDQyxTQUFTLENBQUMsS0FBSyxjQUFjO0VBQUEsRUFBQztBQUNqRjtBQUVBLE9BQU8sU0FBU0sseUJBQXlCQSxDQUN2Q0MsS0FBaUUsRUFDN0I7RUFDcEMsSUFBSSxDQUFDQSxLQUFLLEVBQUUsT0FBTyxRQUFRO0VBQzNCLElBQU1DLHdCQUF3QixHQUFHRCxLQUFLLENBQUNFLE1BQU0sS0FBSyxRQUFRLElBQUksd0JBQXdCLENBQUNDLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxJQUFJLElBQUksRUFBRSxDQUFDO0VBQzdHLElBQUlILHdCQUF3QixFQUFFLE9BQU8sYUFBYTtFQUNsRCxJQUFJRCxLQUFLLENBQUNLLElBQUksS0FBSyxPQUFPLElBQUlMLEtBQUssQ0FBQ0ssSUFBSSxLQUFLLGNBQWMsRUFBRSxPQUFPLE9BQU87RUFDM0UsT0FBTyxRQUFRO0FBQ2pCOztBQUVBO0FBQ0EsT0FBTyxTQUFTQyx5QkFBeUJBLENBQUNOLEtBQTZDLEVBQXNCO0VBQzNHLE9BQU8sQ0FBQUEsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVLLElBQUksTUFBSyxPQUFPLElBQUksQ0FBQUwsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVLLElBQUksTUFBSyxjQUFjLEdBQUcsT0FBTyxHQUFHLFFBQVE7QUFDdkYiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -28,11 +28,11 @@ import { openTaskInCorPanel } from './openTaskInCorPanel';
28
28
  * se captura de forma lazy hasta el cierre real `]]`.
29
29
  */
30
30
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
31
- export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp|skill):([^|\]]+)\|([\s\S]*?)\]\]/g;
31
+ export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp):([^|\]]+)\|([\s\S]*?)\]\]/g;
32
32
  export var MAIA_MENTION_PROTOCOL = 'maia-mention://';
33
33
  var INCOMPLETE_MENTION_MARKER_REGEX = /\[\[mention:[\s\S]*$/;
34
34
  var INCOMPLETE_SLASH_MARKER_REGEX = /\[\[slash_command:[^|\]]+\|([\s\S]*)$/;
35
- var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp', 'skill'];
35
+ var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp'];
36
36
  var parseMentionProtocolHref = function parseMentionProtocolHref(href) {
37
37
  var rest = href.slice(MAIA_MENTION_PROTOCOL.length);
38
38
  var slashIdx = rest.indexOf('/');
@@ -93,13 +93,8 @@ var splitLabelFirstWord = function splitLabelFirstWord(label) {
93
93
  rest: normalized.slice(firstWhitespaceIdx)
94
94
  };
95
95
  };
96
- var INLINE_MENTION_HOVER_BG = {
97
- project: VIOLET_IA_COLORS[100]
98
- };
99
96
  var inlineMentionHoverCss = function inlineMentionHoverCss(type, isClickable) {
100
- var _INLINE_MENTION_HOVER;
101
- if (type === 'skill') return css([""]);
102
- var bg = (_INLINE_MENTION_HOVER = INLINE_MENTION_HOVER_BG[type]) !== null && _INLINE_MENTION_HOVER !== void 0 ? _INLINE_MENTION_HOVER : MENTION_CHIP_NON_TASK_HOVER_BG;
97
+ var bg = type === 'project' ? VIOLET_IA_COLORS[100] : MENTION_CHIP_NON_TASK_HOVER_BG;
103
98
  return css(["background:", ";opacity:", ";"], bg, isClickable ? 0.95 : 1);
104
99
  };
105
100
 
@@ -390,4 +385,4 @@ export var renderTextWithMentions = function renderTextWithMentions(text) {
390
385
  if (lastIdx < text.length) out.push(text.slice(lastIdx));
391
386
  return out;
392
387
  };
393
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiSU5MSU5FX01FTlRJT05fSE9WRVJfQkciLCJwcm9qZWN0IiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJfSU5MSU5FX01FTlRJT05fSE9WRVIiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJyZW5kZXJNZW50aW9uTGluayIsInN0YXJ0c1dpdGgiLCJfcGFyc2VNZW50aW9uUHJvdG9jb2wiLCJpc1Rhc2siLCJpY29uU2l6ZSIsInRhc2tVcmwiLCJoYW5kbGVUYXNrQ2xpY2siLCJlIiwibWV0YUtleSIsImN0cmxLZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhc2tLZXlEb3duIiwia2V5IiwiY2xhc3NOYW1lIiwib25DbGljayIsIm9uS2V5RG93biIsImlzUHJvamVjdCIsInByb2plY3RVcmwiLCJzaG93SWNvbiIsIl9zcGxpdExhYmVsRmlyc3RXb3JkIiwiaGFuZGxlUHJvamVjdENsaWNrIiwid2luZG93Iiwib3BlbiIsInVuZGVmaW5lZCIsInJvbGUiLCJ0YWJJbmRleCIsInN0cmlwTWVudGlvbk1hcmtlcnMiLCJfdHlwZSIsIl9pZCIsImZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyIsIndpdGhvdXRNZW50aW9ucyIsInNsYXNoUmVnZXgiLCJSZWdFeHAiLCJzb3VyY2UiLCJ3aXRob3V0U2xhc2giLCJ3aXRob3V0SW5jb21wbGV0ZVNsYXNoIiwiZ2V0TWVudGlvblVybCIsIk1lbnRpb25DaGlwIiwiX3JlZjciLCJub3JtYWxpemVkTGFiZWwiLCJ1cmwiLCJfc3BsaXRMYWJlbEZpcnN0V29yZDIiLCJoYW5kbGVDbGljayIsImhhbmRsZUtleURvd24iLCJoYXNJbmxpbmVNYXJrZXJzIiwiY29sbGVjdElubGluZU1hcmtlcnMiLCJtYXJrZXJzIiwibGFzdEluZGV4IiwibSIsImV4ZWMiLCJfbTIiLCJfbTMiLCJfc2xpY2VkVG9BcnJheSIsInB1c2giLCJraW5kIiwiaW5kZXgiLCJzIiwic29ydCIsImEiLCJiIiwicmVuZGVyVGV4dFdpdGhNZW50aW9ucyIsIm91dCIsImxhc3RJZHgiLCJmb3JFYWNoIiwibWFya2VyIiwiaW5saW5lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCBSZWFjdEVsZW1lbnQsIE1vdXNlRXZlbnQsIEtleWJvYXJkRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24sIENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQge1xuICBNRU5USU9OX0NISVBfQ09MT1JTLFxuICBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkcsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmRDaGlwIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9TbGFzaENvbW1hbmRDaGlwJ1xuaW1wb3J0IHsgU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVggfSBmcm9tICcuL3NsYXNoQ29tbWFuZE1hcmtlcidcbmltcG9ydCB7IFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgU0NUYXNrTGluayB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL25ld1N0eWxlcydcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4vY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuL29wZW5UYXNrSW5Db3JQYW5lbCdcblxuLyoqXG4gKiBGb3JtYXRvIGRlbCBtYXJjYWRvciBxdWUgdmlhamEgZW4gZWwgdGV4dG8gZGVsIG1lbnNhamU6XG4gKiAgIFtbbWVudGlvbjo8dHlwZT46PGlkPnw8bGFiZWw+XV1cbiAqXG4gKiBFbCBlZGl0b3IgbG8gZW1pdGUgY3VhbmRvIHNlcmlhbGl6YSBlbCBjb250ZW50ZWRpdGFibGUsIGVsIGJhY2tlbmQgbG9cbiAqIHBlcnNpc3RlIHRhbCBjdWFsIHkgYWwgcmVuZGVyaXphciBzZSB0cmFuc2Zvcm1hIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uXG4gKiB1biBwcm90b2NvbG8gcHJvcGlvIHF1ZSBgQ3VzdG9tTGlua2AgaW50ZXJjZXB0YSB5IGRpYnVqYSBjb21vIHNwYW5cbiAqIGVzdGlsYWRvLlxuICpcbiAqIFBvciBzZXBhcmFkbywgbGEgbWV0YWRhdGEgYGNvbnRleHRfbWVzc2FnZWAgbGxldmEgbG9zIHZhbG9yZXMgbGltcGlvc1xuICogKGlkICsgbmFtZSkgcGFyYSBxdWUgZWwgYmFja2VuZCBwdWVkYSBpbnRlcnByZXRhciBsYXMgZW50aWRhZGVzIHNpblxuICogdGVuZXIgcXVlIHBhcnNlYXIgZWwgdGV4dG8uXG4gKi9cbi8qKlxuICogTGFiZWwgcHVlZGUgY29udGVuZXIgYF1gIChlajogXCJbRWR1Y2F0ZV1CbG9nIFBvc3QgLi4uXCIpLCBwb3IgZXNvXG4gKiBzZSBjYXB0dXJhIGRlIGZvcm1hIGxhenkgaGFzdGEgZWwgY2llcnJlIHJlYWwgYF1dYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246KGNsaWVudHxwcm9qZWN0fHRhc2t8dXNlcnxtY3B8c2tpbGwpOihbXnxcXF1dKylcXHwoW1xcc1xcU10qPylcXF1cXF0vZ1xuZXhwb3J0IGNvbnN0IE1BSUFfTUVOVElPTl9QUk9UT0NPTCA9ICdtYWlhLW1lbnRpb246Ly8nXG5jb25zdCBJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246W1xcc1xcU10qJC9cbmNvbnN0IElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYID0gL1xcW1xcW3NsYXNoX2NvbW1hbmQ6W158XFxdXStcXHwoW1xcc1xcU10qKSQvXG5cbmNvbnN0IEFMTE9XRURfVFlQRVM6IENvbnRleHRFbnRpdHlUeXBlW10gPSBbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snLCAndXNlcicsICdtY3AnLCAnc2tpbGwnXVxuXG5jb25zdCBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYgPSAoaHJlZjogc3RyaW5nKTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZyB9ID0+IHtcbiAgY29uc3QgcmVzdCA9IGhyZWYuc2xpY2UoTUFJQV9NRU5USU9OX1BST1RPQ09MLmxlbmd0aClcbiAgY29uc3Qgc2xhc2hJZHggPSByZXN0LmluZGV4T2YoJy8nKVxuICBjb25zdCByYXdUeXBlID0gc2xhc2hJZHggPj0gMCA/IHJlc3Quc2xpY2UoMCwgc2xhc2hJZHgpIDogcmVzdFxuICBjb25zdCByYXdJZCA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKHNsYXNoSWR4ICsgMSkgOiAnJ1xuICBsZXQgaWQgPSAnJ1xuICB0cnkge1xuICAgIGlkID0gcmF3SWQgPyBkZWNvZGVVUklDb21wb25lbnQocmF3SWQpIDogJydcbiAgfSBjYXRjaCB7XG4gICAgaWQgPSByYXdJZFxuICB9XG4gIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gIHJldHVybiB7IHR5cGUsIGlkIH1cbn1cblxuLyoqIEdlbmVyYSBlbCBtYXJjYWRvciBwYXJhIHVuIG1lbnRpb24gZGFkby4gTG8gdXNhIGVsIGVkaXRvciBhbCBzZXJpYWxpemFyLiAqL1xuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZU1lbnRpb24gPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBzdHJpbmcgPT5cbiAgYFtbbWVudGlvbjoke21lbnRpb24udHlwZX06JHttZW50aW9uLmlkfXwke21lbnRpb24ubGFiZWx9XV1gXG5cbi8qKlxuICogQ29udmllcnRlIGNhZGEgYFtbbWVudGlvbjouLi5dXWAgZW4gdW4gbGluayBtYXJrZG93biBjb24gcHJvdG9jb2xvIHByb3Bpb1xuICogcGFyYSBxdWUgU3RyZWFtZG93biBsbyBlbWl0YSBjb21vIGA8YT5gIHkgYEN1c3RvbUxpbmtgIGxvIGludGVyY2VwdGUuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiB0ZXh0XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgdHlwZSwgaWQsIGxhYmVsKSA9PiB7XG4gICAgY29uc3Qgc2FmZUxhYmVsID0gU3RyaW5nKGxhYmVsKS5yZXBsYWNlKC9bXFxcXFxcXV0vZywgJ1xcXFwkJicpXG4gICAgcmV0dXJuIGBbJHtzYWZlTGFiZWx9XSgke01BSUFfTUVOVElPTl9QUk9UT0NPTH0ke3R5cGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfSlgXG4gIH0pXG59XG5cbmNvbnN0IG1lbnRpb25DaGlsZHJlblRvTGFiZWwgPSAoY2hpbGRyZW46IFJlYWN0Tm9kZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnKSByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChjaGlsZHJlbilcbiAgaWYgKGNoaWxkcmVuID09IG51bGwgfHwgY2hpbGRyZW4gPT09IGZhbHNlKSByZXR1cm4gJydcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4ubWFwKGMgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgOiAnJykpLmpvaW4oJycpKVxuICB9XG4gIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhjaGlsZHJlbikpXG59XG5cbmNvbnN0IHNwbGl0TGFiZWxGaXJzdFdvcmQgPSAobGFiZWw6IHN0cmluZyk6IHsgZmlyc3RXb3JkOiBzdHJpbmc7IHJlc3Q6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpLnRyaW0oKVxuICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiB7IGZpcnN0V29yZDogJycsIHJlc3Q6ICcnIH1cbiAgY29uc3QgZmlyc3RXaGl0ZXNwYWNlSWR4ID0gbm9ybWFsaXplZC5zZWFyY2goL1xccy8pXG4gIGlmIChmaXJzdFdoaXRlc3BhY2VJZHggPCAwKSByZXR1cm4geyBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQsIHJlc3Q6ICcnIH1cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQuc2xpY2UoMCwgZmlyc3RXaGl0ZXNwYWNlSWR4KSxcbiAgICByZXN0OiBub3JtYWxpemVkLnNsaWNlKGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gIH1cbn1cblxuY29uc3QgSU5MSU5FX01FTlRJT05fSE9WRVJfQkc6IFBhcnRpYWw8UmVjb3JkPENvbnRleHRFbnRpdHlUeXBlLCBzdHJpbmc+PiA9IHtcbiAgcHJvamVjdDogVklPTEVUX0lBX0NPTE9SU1sxMDBdLFxufVxuXG5jb25zdCBpbmxpbmVNZW50aW9uSG92ZXJDc3MgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlzQ2xpY2thYmxlPzogYm9vbGVhbikgPT4ge1xuICBpZiAodHlwZSA9PT0gJ3NraWxsJykgcmV0dXJuIGNzc2BgXG4gIGNvbnN0IGJnID0gSU5MSU5FX01FTlRJT05fSE9WRVJfQkdbdHlwZV0gPz8gTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHXG4gIHJldHVybiBjc3NgXG4gICAgYmFja2dyb3VuZDogJHtiZ307XG4gICAgb3BhY2l0eTogJHtpc0NsaWNrYWJsZSA/IDAuOTUgOiAxfTtcbiAgYFxufVxuXG4vKiogU3BhbiBpbmxpbmUgZXN0aWxhZG8gKG1lbmNpb25lcyBuby10YXNrIGVuIGNoYXQpLiAqL1xuY29uc3QgU0NJbmxpbmVNZW50aW9uID0gc3R5bGVkLnNwYW48eyAkdHlwZTogQ29udGV4dEVudGl0eVR5cGU7ICRpc0NsaWNrYWJsZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5iZ307XG4gIGNvbG9yOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmZnfTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgY3Vyc29yOiAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiAoJGlzQ2xpY2thYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnKX07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlLCAkaXNDbGlja2FibGUgfSkgPT4gaW5saW5lTWVudGlvbkhvdmVyQ3NzKCR0eXBlLCAkaXNDbGlja2FibGUpfVxuICB9XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb24gPSBzdHlsZWQuc3Bhbjx7ICR0YXNrPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGhlaWdodDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvblJvdyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25Xb3JkID0gc3R5bGVkLnNwYW5gXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbi8qKlxuICogU2kgZWwgaHJlZiBjb3JyZXNwb25kZSBhbCBwcm90b2NvbG8gZGUgbWVudGlvbiwgZGV2dWVsdmUgdW4gbm9kbyBlc3RpbGFkbyBwb3IgdGlwby5cbiAqIExhcyB0YXJlYXMgdXNhbiBgPGE+YCBjb21vIGxvcyBlbmxhY2VzIGRlIHRhcmVhIGRlbCBhZ2VudGUgKGAuaGFzLXRhc2stbGlua3NgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbmRlck1lbnRpb25MaW5rID0gKGhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZCwgY2hpbGRyZW46IFJlYWN0Tm9kZSk6IFJlYWN0Tm9kZSB8IG51bGwgPT4ge1xuICBpZiAoIWhyZWYgfHwgIWhyZWYuc3RhcnRzV2l0aChNQUlBX01FTlRJT05fUFJPVE9DT0wpKSByZXR1cm4gbnVsbFxuICBjb25zdCB7IHR5cGUsIGlkIH0gPSBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYoaHJlZilcbiAgY29uc3QgbGFiZWwgPSBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsKGNoaWxkcmVuKVxuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHRhc2tVcmwgPSBgL3Rhc2tzLyR7aWR9L2RldGFpbGBcblxuICBjb25zdCBoYW5kbGVUYXNrQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKGlzVGFzaykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt0YXNrVXJsfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlVGFza0NsaWNrfVxuICAgICAgICBvbktleURvd249e2hhbmRsZVRhc2tLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L1NDVGFza0xpbms+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgaXNQcm9qZWN0ID0gdHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHByb2plY3RVcmwgPSBpc1Byb2plY3QgPyBgL3Byb2plY3RzLyR7aWR9L2Rhc2hib2FyZGAgOiBudWxsXG4gIGNvbnN0IHNob3dJY29uID0gIWlzUHJvamVjdFxuICBjb25zdCB7IGZpcnN0V29yZCwgcmVzdCB9ID0gc3BsaXRMYWJlbEZpcnN0V29yZChsYWJlbClcblxuICBjb25zdCBoYW5kbGVQcm9qZWN0Q2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFwcm9qZWN0VXJsKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgd2luZG93Lm9wZW4ocHJvamVjdFVybCwgJ19ibGFuaycpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc1Byb2plY3R9XG4gICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgb25DbGljaz17aXNQcm9qZWN0ID8gaGFuZGxlUHJvamVjdENsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNQcm9qZWN0ID8gJ2J1dHRvbicgOiB1bmRlZmluZWR9XG4gICAgICB0YWJJbmRleD17aXNQcm9qZWN0ID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPHNwYW4+e3Jlc3R9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbGFiZWwgOiBudWxsfVxuICAgIDwvU0NJbmxpbmVNZW50aW9uPlxuICApXG59XG5cbi8qKiBRdWl0YSBsb3MgbWFya2VycyBkZWwgdGV4dG8sIGRlamFuZG8gc29sbyBgbGFiZWxgLiDDmnRpbCBwYXJhIGZhbGxiYWNrIHBsYW5vLiAqL1xuZXhwb3J0IGNvbnN0IHN0cmlwTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+XG4gIHRleHQucmVwbGFjZShNRU5USU9OX01BUktFUl9SRUdFWCwgKF9tLCBfdHlwZSwgX2lkLCBsYWJlbCkgPT4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpKSlcblxuLyoqXG4gKiBUw610dWxvcyBkZSBjb252ZXJzYWNpw7NuIChwLiBlai4gYGxhc3RfcXVlc3Rpb25gIGRlcml2YWRvIGRlbCBwcmltZXIgbWVuc2FqZSkgcHVlZGVuXG4gKiBpbmNsdWlyIGVsIHRleHRvIHNlcmlhbGl6YWRvIGBbW21lbnRpb246dHlwZTppZHxsYWJlbF1dYC4gUGFyYSBzaWRlYmFyIHkgbGlzdGFkb3MsXG4gKiByZWVtcGxhemEgY2FkYSBibG9xdWUgcG9yIGBsYWJlbGAgZW4gdGV4dG8gcGxhbm8sIHNpbiBlbCBtYXJjYWRvciBjcnVkby5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgaWYgKHRleHQgPT0gbnVsbCB8fCB0ZXh0ID09PSAnJykgcmV0dXJuIHRleHQgPz8gJydcbiAgY29uc3Qgd2l0aG91dE1lbnRpb25zID0gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PlxuICAgIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGxhYmVsKS50cmltKCkpXG4gIClcbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGNvbnN0IHdpdGhvdXRTbGFzaCA9IHdpdGhvdXRNZW50aW9ucy5yZXBsYWNlKHNsYXNoUmVnZXgsIChfbSwgX2lkLCBsYWJlbCkgPT4gYC8ke1N0cmluZyhsYWJlbCkudHJpbSgpfWApXG4gIGNvbnN0IHdpdGhvdXRJbmNvbXBsZXRlU2xhc2ggPSB3aXRob3V0U2xhc2gucmVwbGFjZShcbiAgICBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCxcbiAgICAoX20sIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YFxuICApXG4gIHJldHVybiB3aXRob3V0SW5jb21wbGV0ZVNsYXNoLnJlcGxhY2UoSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCwgJycpLnRyaW0oKVxufVxuXG4vKiogR2VuZXJhIGxhIFVSTCBkZSBuYXZlZ2FjacOzbiBwYXJhIHVuIG1lbnRpb24gc2Vnw7puIHN1IHRpcG8uICovXG5jb25zdCBnZXRNZW50aW9uVXJsID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpZDogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2NsaWVudCc6XG4gICAgICByZXR1cm4gYC9jbGllbnRzLyR7aWR9YFxuICAgIGNhc2UgJ3Byb2plY3QnOlxuICAgICAgcmV0dXJuIGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYFxuICAgIGNhc2UgJ3Rhc2snOlxuICAgICAgcmV0dXJuIGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIG51bGwgLy8gTG9zIHVzZXJzIG5vIHNvbiBjbGlja2VhYmxlc1xuICAgIGNhc2UgJ21jcCc6XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IE1lbnRpb25DaGlwID0gKHsgdHlwZSwgaWQsIGxhYmVsIH06IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfSkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkTGFiZWwgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKVxuICBjb25zdCB1cmwgPSBnZXRNZW50aW9uVXJsKHR5cGUsIGlkKVxuICBjb25zdCBpc0NsaWNrYWJsZSA9ICEhdXJsXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCB7IGZpcnN0V29yZCwgcmVzdCB9ID0gc3BsaXRMYWJlbEZpcnN0V29yZChub3JtYWxpemVkTGFiZWwpXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCB8IEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzQ2xpY2thYmxlIHx8ICF1cmwpIHJldHVyblxuICAgIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgdHlwZSAhPT0gJ3Rhc2snKSByZXR1cm5cbiAgICBpZiAoZS5rZXkgIT09ICdFbnRlcicgJiYgZS5rZXkgIT09ICcgJykgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDVGFza0xpbmtcbiAgICAgICAgaHJlZj17dXJsID8/ICcjJ31cbiAgICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgICAgZGF0YS1tZW50aW9uLXR5cGU9XCJ0YXNrXCJcbiAgICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAge25vcm1hbGl6ZWRMYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc0NsaWNrYWJsZX1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc0NsaWNrYWJsZSA/IGhhbmRsZUNsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNDbGlja2FibGUgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc0NsaWNrYWJsZSA/IDAgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAge3Nob3dJY29uID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb24gJHRhc2s9e2lzVGFza30+XG4gICAgICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvbj5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25Xb3JkPntmaXJzdFdvcmR9PC9TQ0lubGluZU1lbnRpb25Xb3JkPlxuICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICB7cmVzdCA/IDxzcGFuPntyZXN0fTwvc3Bhbj4gOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFzaG93SWNvbiA/IG5vcm1hbGl6ZWRMYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0lubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB0ZXh0LmluY2x1ZGVzKCdbW21lbnRpb246JykgfHwgdGV4dC5pbmNsdWRlcygnW1tzbGFzaF9jb21tYW5kOicpXG59XG5cbnR5cGUgSW5saW5lTWFya2VyID1cbiAgfCB7IGtpbmQ6ICdtZW50aW9uJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cbiAgfCB7IGtpbmQ6ICdzbGFzaCc7IGluZGV4OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cblxuY29uc3QgY29sbGVjdElubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogSW5saW5lTWFya2VyW10gPT4ge1xuICBjb25zdCBtYXJrZXJzOiBJbmxpbmVNYXJrZXJbXSA9IFtdXG5cbiAgTUVOVElPTl9NQVJLRVJfUkVHRVgubGFzdEluZGV4ID0gMFxuICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgd2hpbGUgKG0pIHtcbiAgICBjb25zdCBbLCByYXdUeXBlLCBpZCwgbGFiZWxdID0gbVxuICAgIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ21lbnRpb24nLCBpbmRleDogbS5pbmRleCwgbGVuZ3RoOiBtWzBdLmxlbmd0aCwgdHlwZSwgaWQsIGxhYmVsIH0pXG4gICAgbSA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgfVxuXG4gIGNvbnN0IHNsYXNoUmVnZXggPSBuZXcgUmVnRXhwKFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYLnNvdXJjZSwgJ2cnKVxuICBsZXQgczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHNsYXNoUmVnZXguZXhlYyh0ZXh0KVxuICB3aGlsZSAocykge1xuICAgIG1hcmtlcnMucHVzaCh7IGtpbmQ6ICdzbGFzaCcsIGluZGV4OiBzLmluZGV4LCBsZW5ndGg6IHNbMF0ubGVuZ3RoLCBpZDogc1sxXSwgbGFiZWw6IHNbMl0gfSlcbiAgICBzID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIH1cblxuICByZXR1cm4gbWFya2Vycy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleClcbn1cblxuZXhwb3J0IGNvbnN0IHJlbmRlclRleHRXaXRoTWVudGlvbnMgPSAodGV4dDogc3RyaW5nKTogQXJyYXk8c3RyaW5nIHwgUmVhY3RFbGVtZW50PiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIFt0ZXh0XVxuICBjb25zdCBtYXJrZXJzID0gY29sbGVjdElubGluZU1hcmtlcnModGV4dClcbiAgaWYgKG1hcmtlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gW3RleHRdXG5cbiAgY29uc3Qgb3V0OiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0gW11cbiAgbGV0IGxhc3RJZHggPSAwXG4gIG1hcmtlcnMuZm9yRWFjaChtYXJrZXIgPT4ge1xuICAgIGlmIChtYXJrZXIuaW5kZXggPiBsYXN0SWR4KSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgsIG1hcmtlci5pbmRleCkpXG4gICAgaWYgKG1hcmtlci5raW5kID09PSAnbWVudGlvbicpIHtcbiAgICAgIG91dC5wdXNoKFxuICAgICAgICA8TWVudGlvbkNoaXBcbiAgICAgICAgICBrZXk9e2BtZW50aW9uLSR7bWFya2VyLmluZGV4fS0ke21hcmtlci50eXBlfS0ke21hcmtlci5pZH1gfVxuICAgICAgICAgIHR5cGU9e21hcmtlci50eXBlfVxuICAgICAgICAgIGlkPXttYXJrZXIuaWR9XG4gICAgICAgICAgbGFiZWw9e21hcmtlci5sYWJlbH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0LnB1c2goPFNsYXNoQ29tbWFuZENoaXAga2V5PXtgc2xhc2gtJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLmlkfWB9IGxhYmVsPXttYXJrZXIubGFiZWx9IGlubGluZT17ZmFsc2V9IC8+KVxuICAgIH1cbiAgICBsYXN0SWR4ID0gbWFya2VyLmluZGV4ICsgbWFya2VyLmxlbmd0aFxuICB9KVxuICBpZiAobGFzdElkeCA8IHRleHQubGVuZ3RoKSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgpKVxuICByZXR1cm4gb3V0XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBNENDLDBCQUEwQixRQUFRLHlCQUF5QjtBQUN2RyxTQUNFQyxtQkFBbUIsRUFDbkJDLDhCQUE4QixRQUN6QixrRUFBa0U7QUFDekUsU0FBU0MsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBQ3ZFLFNBQVNDLDBCQUEwQixRQUFRLHNCQUFzQjtBQUNqRSxTQUFTQyxnQkFBZ0IsUUFBUSxrQkFBa0I7QUFDbkQsU0FBU0MsVUFBVSxRQUFRLGtEQUFrRDtBQUM3RSxTQUFTQyxxQkFBcUIs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
388
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJyZW5kZXJNZW50aW9uTGluayIsInN0YXJ0c1dpdGgiLCJfcGFyc2VNZW50aW9uUHJvdG9jb2wiLCJpc1Rhc2siLCJpY29uU2l6ZSIsInRhc2tVcmwiLCJoYW5kbGVUYXNrQ2xpY2siLCJlIiwibWV0YUtleSIsImN0cmxLZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhc2tLZXlEb3duIiwia2V5IiwiY2xhc3NOYW1lIiwib25DbGljayIsIm9uS2V5RG93biIsImlzUHJvamVjdCIsInByb2plY3RVcmwiLCJzaG93SWNvbiIsIl9zcGxpdExhYmVsRmlyc3RXb3JkIiwiaGFuZGxlUHJvamVjdENsaWNrIiwid2luZG93Iiwib3BlbiIsInVuZGVmaW5lZCIsInJvbGUiLCJ0YWJJbmRleCIsInN0cmlwTWVudGlvbk1hcmtlcnMiLCJfdHlwZSIsIl9pZCIsImZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyIsIndpdGhvdXRNZW50aW9ucyIsInNsYXNoUmVnZXgiLCJSZWdFeHAiLCJzb3VyY2UiLCJ3aXRob3V0U2xhc2giLCJ3aXRob3V0SW5jb21wbGV0ZVNsYXNoIiwiZ2V0TWVudGlvblVybCIsIk1lbnRpb25DaGlwIiwiX3JlZjciLCJub3JtYWxpemVkTGFiZWwiLCJ1cmwiLCJfc3BsaXRMYWJlbEZpcnN0V29yZDIiLCJoYW5kbGVDbGljayIsImhhbmRsZUtleURvd24iLCJoYXNJbmxpbmVNYXJrZXJzIiwiY29sbGVjdElubGluZU1hcmtlcnMiLCJtYXJrZXJzIiwibGFzdEluZGV4IiwibSIsImV4ZWMiLCJfbTIiLCJfbTMiLCJfc2xpY2VkVG9BcnJheSIsInB1c2giLCJraW5kIiwiaW5kZXgiLCJzIiwic29ydCIsImEiLCJiIiwicmVuZGVyVGV4dFdpdGhNZW50aW9ucyIsIm91dCIsImxhc3RJZHgiLCJmb3JFYWNoIiwibWFya2VyIiwiaW5saW5lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCBSZWFjdEVsZW1lbnQsIE1vdXNlRXZlbnQsIEtleWJvYXJkRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24sIENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQge1xuICBNRU5USU9OX0NISVBfQ09MT1JTLFxuICBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkcsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmRDaGlwIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9TbGFzaENvbW1hbmRDaGlwJ1xuaW1wb3J0IHsgU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVggfSBmcm9tICcuL3NsYXNoQ29tbWFuZE1hcmtlcidcbmltcG9ydCB7IFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgU0NUYXNrTGluayB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL25ld1N0eWxlcydcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4vY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuL29wZW5UYXNrSW5Db3JQYW5lbCdcblxuLyoqXG4gKiBGb3JtYXRvIGRlbCBtYXJjYWRvciBxdWUgdmlhamEgZW4gZWwgdGV4dG8gZGVsIG1lbnNhamU6XG4gKiAgIFtbbWVudGlvbjo8dHlwZT46PGlkPnw8bGFiZWw+XV1cbiAqXG4gKiBFbCBlZGl0b3IgbG8gZW1pdGUgY3VhbmRvIHNlcmlhbGl6YSBlbCBjb250ZW50ZWRpdGFibGUsIGVsIGJhY2tlbmQgbG9cbiAqIHBlcnNpc3RlIHRhbCBjdWFsIHkgYWwgcmVuZGVyaXphciBzZSB0cmFuc2Zvcm1hIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uXG4gKiB1biBwcm90b2NvbG8gcHJvcGlvIHF1ZSBgQ3VzdG9tTGlua2AgaW50ZXJjZXB0YSB5IGRpYnVqYSBjb21vIHNwYW5cbiAqIGVzdGlsYWRvLlxuICpcbiAqIFBvciBzZXBhcmFkbywgbGEgbWV0YWRhdGEgYGNvbnRleHRfbWVzc2FnZWAgbGxldmEgbG9zIHZhbG9yZXMgbGltcGlvc1xuICogKGlkICsgbmFtZSkgcGFyYSBxdWUgZWwgYmFja2VuZCBwdWVkYSBpbnRlcnByZXRhciBsYXMgZW50aWRhZGVzIHNpblxuICogdGVuZXIgcXVlIHBhcnNlYXIgZWwgdGV4dG8uXG4gKi9cbi8qKlxuICogTGFiZWwgcHVlZGUgY29udGVuZXIgYF1gIChlajogXCJbRWR1Y2F0ZV1CbG9nIFBvc3QgLi4uXCIpLCBwb3IgZXNvXG4gKiBzZSBjYXB0dXJhIGRlIGZvcm1hIGxhenkgaGFzdGEgZWwgY2llcnJlIHJlYWwgYF1dYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246KGNsaWVudHxwcm9qZWN0fHRhc2t8dXNlcnxtY3ApOihbXnxcXF1dKylcXHwoW1xcc1xcU10qPylcXF1cXF0vZ1xuZXhwb3J0IGNvbnN0IE1BSUFfTUVOVElPTl9QUk9UT0NPTCA9ICdtYWlhLW1lbnRpb246Ly8nXG5jb25zdCBJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246W1xcc1xcU10qJC9cbmNvbnN0IElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYID0gL1xcW1xcW3NsYXNoX2NvbW1hbmQ6W158XFxdXStcXHwoW1xcc1xcU10qKSQvXG5cbmNvbnN0IEFMTE9XRURfVFlQRVM6IENvbnRleHRFbnRpdHlUeXBlW10gPSBbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snLCAndXNlcicsICdtY3AnXVxuXG5jb25zdCBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYgPSAoaHJlZjogc3RyaW5nKTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZyB9ID0+IHtcbiAgY29uc3QgcmVzdCA9IGhyZWYuc2xpY2UoTUFJQV9NRU5USU9OX1BST1RPQ09MLmxlbmd0aClcbiAgY29uc3Qgc2xhc2hJZHggPSByZXN0LmluZGV4T2YoJy8nKVxuICBjb25zdCByYXdUeXBlID0gc2xhc2hJZHggPj0gMCA/IHJlc3Quc2xpY2UoMCwgc2xhc2hJZHgpIDogcmVzdFxuICBjb25zdCByYXdJZCA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKHNsYXNoSWR4ICsgMSkgOiAnJ1xuICBsZXQgaWQgPSAnJ1xuICB0cnkge1xuICAgIGlkID0gcmF3SWQgPyBkZWNvZGVVUklDb21wb25lbnQocmF3SWQpIDogJydcbiAgfSBjYXRjaCB7XG4gICAgaWQgPSByYXdJZFxuICB9XG4gIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gIHJldHVybiB7IHR5cGUsIGlkIH1cbn1cblxuLyoqIEdlbmVyYSBlbCBtYXJjYWRvciBwYXJhIHVuIG1lbnRpb24gZGFkby4gTG8gdXNhIGVsIGVkaXRvciBhbCBzZXJpYWxpemFyLiAqL1xuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZU1lbnRpb24gPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBzdHJpbmcgPT5cbiAgYFtbbWVudGlvbjoke21lbnRpb24udHlwZX06JHttZW50aW9uLmlkfXwke21lbnRpb24ubGFiZWx9XV1gXG5cbi8qKlxuICogQ29udmllcnRlIGNhZGEgYFtbbWVudGlvbjouLi5dXWAgZW4gdW4gbGluayBtYXJrZG93biBjb24gcHJvdG9jb2xvIHByb3Bpb1xuICogcGFyYSBxdWUgU3RyZWFtZG93biBsbyBlbWl0YSBjb21vIGA8YT5gIHkgYEN1c3RvbUxpbmtgIGxvIGludGVyY2VwdGUuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiB0ZXh0XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgdHlwZSwgaWQsIGxhYmVsKSA9PiB7XG4gICAgY29uc3Qgc2FmZUxhYmVsID0gU3RyaW5nKGxhYmVsKS5yZXBsYWNlKC9bXFxcXFxcXV0vZywgJ1xcXFwkJicpXG4gICAgcmV0dXJuIGBbJHtzYWZlTGFiZWx9XSgke01BSUFfTUVOVElPTl9QUk9UT0NPTH0ke3R5cGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfSlgXG4gIH0pXG59XG5cbmNvbnN0IG1lbnRpb25DaGlsZHJlblRvTGFiZWwgPSAoY2hpbGRyZW46IFJlYWN0Tm9kZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnKSByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChjaGlsZHJlbilcbiAgaWYgKGNoaWxkcmVuID09IG51bGwgfHwgY2hpbGRyZW4gPT09IGZhbHNlKSByZXR1cm4gJydcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4ubWFwKGMgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgOiAnJykpLmpvaW4oJycpKVxuICB9XG4gIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhjaGlsZHJlbikpXG59XG5cbmNvbnN0IHNwbGl0TGFiZWxGaXJzdFdvcmQgPSAobGFiZWw6IHN0cmluZyk6IHsgZmlyc3RXb3JkOiBzdHJpbmc7IHJlc3Q6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpLnRyaW0oKVxuICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiB7IGZpcnN0V29yZDogJycsIHJlc3Q6ICcnIH1cbiAgY29uc3QgZmlyc3RXaGl0ZXNwYWNlSWR4ID0gbm9ybWFsaXplZC5zZWFyY2goL1xccy8pXG4gIGlmIChmaXJzdFdoaXRlc3BhY2VJZHggPCAwKSByZXR1cm4geyBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQsIHJlc3Q6ICcnIH1cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQuc2xpY2UoMCwgZmlyc3RXaGl0ZXNwYWNlSWR4KSxcbiAgICByZXN0OiBub3JtYWxpemVkLnNsaWNlKGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gIH1cbn1cblxuY29uc3QgaW5saW5lTWVudGlvbkhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IHtcbiAgY29uc3QgYmcgPSB0eXBlID09PSAncHJvamVjdCcgPyBWSU9MRVRfSUFfQ09MT1JTWzEwMF0gOiBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkdcbiAgcmV0dXJuIGNzc2BcbiAgICBiYWNrZ3JvdW5kOiAke2JnfTtcbiAgICBvcGFjaXR5OiAke2lzQ2xpY2thYmxlID8gMC45NSA6IDF9O1xuICBgXG59XG5cbi8qKiBTcGFuIGlubGluZSBlc3RpbGFkbyAobWVuY2lvbmVzIG5vLXRhc2sgZW4gY2hhdCkuICovXG5jb25zdCBTQ0lubGluZU1lbnRpb24gPSBzdHlsZWQuc3Bhbjx7ICR0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgJGlzQ2xpY2thYmxlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBtYXJnaW46IDAgMXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmJnfTtcbiAgY29sb3I6ICR7KHsgJHR5cGUgfSkgPT4gKE1FTlRJT05fQ0hJUF9DT0xPUlNbJHR5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlcikuZmd9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBjdXJzb3I6ICR7KHsgJGlzQ2xpY2thYmxlIH0pID0+ICgkaXNDbGlja2FibGUgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcpfTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgICR7KHsgJHR5cGUsICRpc0NsaWNrYWJsZSB9KSA9PiBpbmxpbmVNZW50aW9uSG92ZXJDc3MoJHR5cGUsICRpc0NsaWNrYWJsZSl9XG4gIH1cbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvbiA9IHN0eWxlZC5zcGFuPHsgJHRhc2s/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICB3aWR0aDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbiAgaGVpZ2h0OiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25JY29uUm93ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbldvcmQgPSBzdHlsZWQuc3BhbmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYCA6IG51bGxcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKGxhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZVByb2plY3RDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIXByb2plY3RVcmwpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbihwcm9qZWN0VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzUHJvamVjdH1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc1Byb2plY3QgPyBoYW5kbGVQcm9qZWN0Q2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc1Byb2plY3QgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc1Byb2plY3QgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8c3Bhbj57cmVzdH08L3NwYW4+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBsYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0TWVudGlvbnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgY29uc3Qgd2l0aG91dFNsYXNoID0gd2l0aG91dE1lbnRpb25zLnJlcGxhY2Uoc2xhc2hSZWdleCwgKF9tLCBfaWQsIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YClcbiAgY29uc3Qgd2l0aG91dEluY29tcGxldGVTbGFzaCA9IHdpdGhvdXRTbGFzaC5yZXBsYWNlKFxuICAgIElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYLFxuICAgIChfbSwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRJbmNvbXBsZXRlU2xhc2gucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgXG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gbnVsbCAvLyBMb3MgdXNlcnMgbm8gc29uIGNsaWNrZWFibGVzXG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIHJldHVybiBudWxsXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgTWVudGlvbkNoaXAgPSAoeyB0eXBlLCBpZCwgbGFiZWwgfTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpXG4gIGNvbnN0IHVybCA9IGdldE1lbnRpb25VcmwodHlwZSwgaWQpXG4gIGNvbnN0IGlzQ2xpY2thYmxlID0gISF1cmxcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKG5vcm1hbGl6ZWRMYWJlbClcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPHNwYW4+e3Jlc3R9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbm9ybWFsaXplZExhYmVsIDogbnVsbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgaGFzSW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2VcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoJ1tbbWVudGlvbjonKSB8fCB0ZXh0LmluY2x1ZGVzKCdbW3NsYXNoX2NvbW1hbmQ6Jylcbn1cblxudHlwZSBJbmxpbmVNYXJrZXIgPVxuICB8IHsga2luZDogJ21lbnRpb24nOyBpbmRleDogbnVtYmVyOyBsZW5ndGg6IG51bWJlcjsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuICB8IHsga2luZDogJ3NsYXNoJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuXG5jb25zdCBjb2xsZWN0SW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBJbmxpbmVNYXJrZXJbXSA9PiB7XG4gIGNvbnN0IG1hcmtlcnM6IElubGluZU1hcmtlcltdID0gW11cblxuICBNRU5USU9OX01BUktFUl9SRUdFWC5sYXN0SW5kZXggPSAwXG4gIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB3aGlsZSAobSkge1xuICAgIGNvbnN0IFssIHJhd1R5cGUsIGlkLCBsYWJlbF0gPSBtXG4gICAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcbiAgICBtYXJrZXJzLnB1c2goeyBraW5kOiAnbWVudGlvbicsIGluZGV4OiBtLmluZGV4LCBsZW5ndGg6IG1bMF0ubGVuZ3RoLCB0eXBlLCBpZCwgbGFiZWwgfSlcbiAgICBtID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB9XG5cbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGxldCBzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIHdoaWxlIChzKSB7XG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ3NsYXNoJywgaW5kZXg6IHMuaW5kZXgsIGxlbmd0aDogc1swXS5sZW5ndGgsIGlkOiBzWzFdLCBsYWJlbDogc1syXSB9KVxuICAgIHMgPSBzbGFzaFJlZ2V4LmV4ZWModGV4dClcbiAgfVxuXG4gIHJldHVybiBtYXJrZXJzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KVxufVxuXG5leHBvcnQgY29uc3QgcmVuZGVyVGV4dFdpdGhNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gW3RleHRdXG4gIGNvbnN0IG1hcmtlcnMgPSBjb2xsZWN0SW5saW5lTWFya2Vycyh0ZXh0KVxuICBpZiAobWFya2Vycy5sZW5ndGggPT09IDApIHJldHVybiBbdGV4dF1cblxuICBjb25zdCBvdXQ6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPSBbXVxuICBsZXQgbGFzdElkeCA9IDBcbiAgbWFya2Vycy5mb3JFYWNoKG1hcmtlciA9PiB7XG4gICAgaWYgKG1hcmtlci5pbmRleCA+IGxhc3RJZHgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCwgbWFya2VyLmluZGV4KSlcbiAgICBpZiAobWFya2VyLmtpbmQgPT09ICdtZW50aW9uJykge1xuICAgICAgb3V0LnB1c2goXG4gICAgICAgIDxNZW50aW9uQ2hpcFxuICAgICAgICAgIGtleT17YG1lbnRpb24tJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLnR5cGV9LSR7bWFya2VyLmlkfWB9XG4gICAgICAgICAgdHlwZT17bWFya2VyLnR5cGV9XG4gICAgICAgICAgaWQ9e21hcmtlci5pZH1cbiAgICAgICAgICBsYWJlbD17bWFya2VyLmxhYmVsfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQucHVzaCg8U2xhc2hDb21tYW5kQ2hpcCBrZXk9e2BzbGFzaC0ke21hcmtlci5pbmRleH0tJHttYXJrZXIuaWR9YH0gbGFiZWw9e21hcmtlci5sYWJlbH0gaW5saW5lPXtmYWxzZX0gLz4pXG4gICAgfVxuICAgIGxhc3RJZHggPSBtYXJrZXIuaW5kZXggKyBtYXJrZXIubGVuZ3RoXG4gIH0pXG4gIGlmIChsYXN0SWR4IDwgdGV4dC5sZW5ndGgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCkpXG4gIHJldHVybiBvdXRcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUMvQyxTQUE0Q0MsMEJBQTBCLFFBQVEseUJBQXlCO0FBQ3ZHLFNBQ0VDLG1CQUFtQixFQUNuQkMsOEJBQThCLFFBQ3pCLGtFQUFrRTtBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSxzQ0FBc0M7QUFDdkUsU0FBU0MsMEJBQTBCLFFBQVEsc0JBQXNCO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLGtCQUFrQjtBQUNuRCxTQUFTQyxVQUFVLFFBQVEsa0RBQWtEO0FBQzdFLFNBQVNDLHFCQUFxQixRQUFRLHVCQUF1QjtBQUM3RCxTQUFTQyw0QkFBNEIsUUFBUSx1QkFBdUI7QUFDcEUsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.65-5",
3
+ "version": "2.11.65-7",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {
@@ -1,30 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- export var SKILL_ICON_PATH = 'M6.92 8.337a.583.583 0 0 1-.522-.9l3.105-4.934a.583.583 0 0 1 .998-.036l3.085 4.953a.584.584 0 0 1-.476.917H6.92ZM7.5 11.664H3.333a.833.833 0 0 0-.833.833v4.167c0 .46.373.833.833.833H7.5c.46 0 .833-.373.833-.833v-4.167a.833.833 0 0 0-.833-.833ZM14.58 17.497a2.917 2.917 0 1 0 0-5.833 2.917 2.917 0 0 0 0 5.833Z';
3
- export var SkillIcon = function SkillIcon(_ref) {
4
- var _ref$width = _ref.width,
5
- width = _ref$width === void 0 ? 20 : _ref$width,
6
- _ref$height = _ref.height,
7
- height = _ref$height === void 0 ? 20 : _ref$height,
8
- _ref$color = _ref.color,
9
- color = _ref$color === void 0 ? 'currentColor' : _ref$color,
10
- className = _ref.className,
11
- _ref$ariaHidden = _ref['aria-hidden'],
12
- ariaHidden = _ref$ariaHidden === void 0 ? true : _ref$ariaHidden;
13
- return /*#__PURE__*/_jsx("svg", {
14
- xmlns: "http://www.w3.org/2000/svg",
15
- width: width,
16
- height: height,
17
- viewBox: "0 0 20 20",
18
- fill: "none",
19
- className: className,
20
- "aria-hidden": ariaHidden,
21
- children: /*#__PURE__*/_jsx("path", {
22
- stroke: color,
23
- strokeLinecap: "round",
24
- strokeLinejoin: "round",
25
- strokeWidth: 1.5,
26
- d: SKILL_ICON_PATH
27
- })
28
- });
29
- };
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTS0lMTF9JQ09OX1BBVEgiLCJTa2lsbEljb24iLCJfcmVmIiwiX3JlZiR3aWR0aCIsIndpZHRoIiwiX3JlZiRoZWlnaHQiLCJoZWlnaHQiLCJfcmVmJGNvbG9yIiwiY29sb3IiLCJjbGFzc05hbWUiLCJfcmVmJGFyaWFIaWRkZW4iLCJhcmlhSGlkZGVuIiwiX2pzeCIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJjaGlsZHJlbiIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwiZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL2ljb25zL1NraWxsSWNvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBTa2lsbEljb25Qcm9wcyA9IHtcbiAgd2lkdGg/OiBudW1iZXJcbiAgaGVpZ2h0PzogbnVtYmVyXG4gIGNvbG9yPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAnYXJpYS1oaWRkZW4nPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgU0tJTExfSUNPTl9QQVRIID1cbiAgJ002LjkyIDguMzM3YS41ODMuNTgzIDAgMCAxLS41MjItLjlsMy4xMDUtNC45MzRhLjU4My41ODMgMCAwIDEgLjk5OC0uMDM2bDMuMDg1IDQuOTUzYS41ODQuNTg0IDAgMCAxLS40NzYuOTE3SDYuOTJaTTcuNSAxMS42NjRIMy4zMzNhLjgzMy44MzMgMCAwIDAtLjgzMy44MzN2NC4xNjdjMCAuNDYuMzczLjgzMy44MzMuODMzSDcuNWMuNDYgMCAuODMzLS4zNzMuODMzLS44MzN2LTQuMTY3YS44MzMuODMzIDAgMCAwLS44MzMtLjgzM1pNMTQuNTggMTcuNDk3YTIuOTE3IDIuOTE3IDAgMSAwIDAtNS44MzMgMi45MTcgMi45MTcgMCAwIDAgMCA1LjgzM1onXG5cbmV4cG9ydCBjb25zdCBTa2lsbEljb24gPSAoe1xuICB3aWR0aCA9IDIwLFxuICBoZWlnaHQgPSAyMCxcbiAgY29sb3IgPSAnY3VycmVudENvbG9yJyxcbiAgY2xhc3NOYW1lLFxuICAnYXJpYS1oaWRkZW4nOiBhcmlhSGlkZGVuID0gdHJ1ZSxcbn06IFNraWxsSWNvblByb3BzKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD17d2lkdGh9XG4gICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICA+XG4gICAgPHBhdGggc3Ryb2tlPXtjb2xvcn0gc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsxLjV9IGQ9e1NLSUxMX0lDT05fUEFUSH0gLz5cbiAgPC9zdmc+XG4pXG4iXSwibWFwcGluZ3MiOiI7QUFRQSxPQUFPLElBQU1BLGVBQWUsR0FDMUIsd1RBQXdUO0FBRTFULE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUFDLElBQUE7RUFBQSxJQUFBQyxVQUFBLEdBQUFELElBQUEsQ0FDcEJFLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsRUFBRSxHQUFBQSxVQUFBO0lBQUFFLFdBQUEsR0FBQUgsSUFBQSxDQUNWSSxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLEVBQUUsR0FBQUEsV0FBQTtJQUFBRSxVQUFBLEdBQUFMLElBQUEsQ0FDWE0sS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxjQUFjLEdBQUFBLFVBQUE7SUFDdEJFLFNBQVMsR0FBQVAsSUFBQSxDQUFUTyxTQUFTO0lBQUFDLGVBQUEsR0FBQVIsSUFBQSxDQUNULGFBQWE7SUFBRVMsVUFBVSxHQUFBRCxlQUFBLGNBQUcsSUFBSSxHQUFBQSxlQUFBO0VBQUEsb0JBRWhDRSxJQUFBO0lBQ0VDLEtBQUssRUFBQyw0QkFBNEI7SUFDbENULEtBQUssRUFBRUEsS0FBTTtJQUNiRSxNQUFNLEVBQUVBLE1BQU87SUFDZlEsT0FBTyxFQUFDLFdBQVc7SUFDbkJDLElBQUksRUFBQyxNQUFNO0lBQ1hOLFNBQVMsRUFBRUEsU0FBVTtJQUNyQixlQUFhRSxVQUFXO0lBQUFLLFFBQUEsZUFFeEJKLElBQUE7TUFBTUssTUFBTSxFQUFFVCxLQUFNO01BQUNVLGFBQWEsRUFBQyxPQUFPO01BQUNDLGNBQWMsRUFBQyxPQUFPO01BQUNDLFdBQVcsRUFBRSxHQUFJO01BQUNDLENBQUMsRUFBRXJCO0lBQWdCLENBQUU7RUFBQyxDQUN2RyxDQUFDO0FBQUEsQ0FDUCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- export var SkillsNavIcon = function SkillsNavIcon(_ref) {
3
- var _ref$size = _ref.size,
4
- size = _ref$size === void 0 ? 16 : _ref$size,
5
- _ref$color = _ref.color,
6
- color = _ref$color === void 0 ? 'currentColor' : _ref$color;
7
- return /*#__PURE__*/_jsx("svg", {
8
- xmlns: "http://www.w3.org/2000/svg",
9
- width: size,
10
- height: size,
11
- viewBox: "0 0 16 16",
12
- fill: "none",
13
- "aria-hidden": "true",
14
- children: /*#__PURE__*/_jsx("g", {
15
- className: "no-fill",
16
- stroke: color,
17
- strokeLinecap: "round",
18
- strokeLinejoin: "round",
19
- strokeWidth: 1.333,
20
- children: /*#__PURE__*/_jsx("path", {
21
- className: "no-fill",
22
- d: "M8.667 1.333 2.667 9h4.666l-.666 5.667 6-7.667H8l.667-5.667Z"
23
- })
24
- })
25
- });
26
- };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTa2lsbHNOYXZJY29uIiwiX3JlZiIsIl9yZWYkc2l6ZSIsInNpemUiLCJfcmVmJGNvbG9yIiwiY29sb3IiLCJfanN4IiwieG1sbnMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJzdHJva2UiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsImQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9pY29ucy9Ta2lsbHNOYXZJY29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFNraWxsc05hdkljb25Qcm9wcyA9IHtcbiAgc2l6ZT86IG51bWJlclxuICBjb2xvcj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgU2tpbGxzTmF2SWNvbiA9ICh7IHNpemUgPSAxNiwgY29sb3IgPSAnY3VycmVudENvbG9yJyB9OiBTa2lsbHNOYXZJY29uUHJvcHMpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPGcgY2xhc3NOYW1lPVwibm8tZmlsbFwiIHN0cm9rZT17Y29sb3J9IHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17MS4zMzN9PlxuICAgICAgPHBhdGggY2xhc3NOYW1lPVwibm8tZmlsbFwiIGQ9XCJNOC42NjcgMS4zMzMgMi42NjcgOWg0LjY2NmwtLjY2NiA1LjY2NyA2LTcuNjY3SDhsLjY2Ny01LjY2N1pcIiAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pXG4iXSwibWFwcGluZ3MiOiI7QUFLQSxPQUFPLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUMsSUFBQTtFQUFBLElBQUFDLFNBQUEsR0FBQUQsSUFBQSxDQUFNRSxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHLEVBQUUsR0FBQUEsU0FBQTtJQUFBRSxVQUFBLEdBQUFILElBQUEsQ0FBRUksS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxjQUFjLEdBQUFBLFVBQUE7RUFBQSxvQkFDL0RFLElBQUE7SUFBS0MsS0FBSyxFQUFDLDRCQUE0QjtJQUFDQyxLQUFLLEVBQUVMLElBQUs7SUFBQ00sTUFBTSxFQUFFTixJQUFLO0lBQUNPLE9BQU8sRUFBQyxXQUFXO0lBQUNDLElBQUksRUFBQyxNQUFNO0lBQUMsZUFBWSxNQUFNO0lBQUFDLFFBQUEsZUFDbkhOLElBQUE7TUFBR08sU0FBUyxFQUFDLFNBQVM7TUFBQ0MsTUFBTSxFQUFFVCxLQUFNO01BQUNVLGFBQWEsRUFBQyxPQUFPO01BQUNDLGNBQWMsRUFBQyxPQUFPO01BQUNDLFdBQVcsRUFBRSxLQUFNO01BQUFMLFFBQUEsZUFDcEdOLElBQUE7UUFBTU8sU0FBUyxFQUFDLFNBQVM7UUFBQ0ssQ0FBQyxFQUFDO01BQThELENBQUU7SUFBQyxDQUM1RjtFQUFDLENBQ0QsQ0FBQztBQUFBLENBQ1AiLCJpZ25vcmVMaXN0IjpbXX0=