@projectcor/maia-components 2.11.56-2 → 2.11.56-4

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 (95) hide show
  1. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +12 -6
  2. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +3 -3
  3. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +2 -3
  4. package/lib/components/atoms/Backdrop/Backdrop.js +2 -2
  5. package/lib/components/atoms/EntitySelector/EntitySelector.js +9 -17
  6. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +2 -6
  7. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +17 -28
  8. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +2 -6
  9. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +17 -28
  10. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +2 -6
  11. package/lib/components/atoms/MAIAInput/MAIAInput.js +4 -2
  12. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +2 -3
  13. package/lib/components/atoms/ModalProject/ModalProject.style.js +2 -3
  14. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +2 -3
  15. package/lib/components/atoms/icons/MAIAIsologo.js +9 -51
  16. package/lib/components/atoms/icons/index.js +1 -2
  17. package/lib/components/atoms/index.js +1 -3
  18. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +1 -3
  19. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +3 -10
  20. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +2 -7
  21. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +10 -20
  22. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +2 -6
  23. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +19 -26
  24. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +35 -64
  25. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +60 -70
  26. package/lib/components/molecules/ChatAIHistory/styles.js +2 -6
  27. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +25 -14
  28. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +5 -10
  29. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +4 -8
  30. package/lib/components/molecules/ChatAIHome/styles.js +4 -6
  31. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -6
  32. package/lib/components/molecules/ChatAIMessages/newStyles.js +3 -4
  33. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +27 -58
  34. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -2
  35. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +5 -9
  36. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
  37. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +3 -4
  38. package/lib/components/molecules/ChatAIModal/constants.js +2 -6
  39. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +4 -8
  40. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +9 -14
  41. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +17 -24
  42. package/lib/components/molecules/Sidebar/Sidebar.js +22 -66
  43. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +5 -6
  44. package/lib/components/molecules/Sidebar/Sidebar.styles.js +13 -20
  45. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -9
  46. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +3 -8
  47. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +2 -3
  48. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
  49. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +2 -3
  50. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +2 -3
  51. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +2 -3
  52. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +2 -3
  53. package/lib/hooks/useChatManager/useChatManager.js +11 -33
  54. package/lib/hooks/useChatMessages/useChatMessages.js +32 -10
  55. package/lib/hooks/useEntitySearch.js +15 -4
  56. package/lib/hooks/useMentionAllowedTypes.js +10 -2
  57. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +3 -10
  58. package/lib/lang/br/index.js +4 -48
  59. package/lib/lang/en/index.js +4 -48
  60. package/lib/lang/es/index.js +5 -49
  61. package/lib/lang/fr/index.js +4 -48
  62. package/lib/services/maia/Agents/getAgents.js +155 -135
  63. package/lib/services/maia/Chats/getChatMessages.js +28 -4
  64. package/lib/store/useChatsStore.js +4 -2
  65. package/lib/types/Chat.js +1 -1
  66. package/lib/utils/streamActivityMessages.js +20 -45
  67. package/package.json +1 -1
  68. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +0 -38
  69. package/lib/components/atoms/Fade/Fade.js +0 -56
  70. package/lib/components/atoms/Fade/index.js +0 -2
  71. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +0 -44
  72. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +0 -43
  73. package/lib/components/atoms/Skeleton/Skeleton.js +0 -36
  74. package/lib/components/atoms/Skeleton/index.js +0 -2
  75. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  76. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +0 -187
  77. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  78. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  79. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  80. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +0 -48
  81. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  82. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  83. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  84. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  85. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  86. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  87. package/lib/services/maia/Skills/createSkill.js +0 -39
  88. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  89. package/lib/services/maia/Skills/generateSkill.js +0 -41
  90. package/lib/services/maia/Skills/getSkills.js +0 -90
  91. package/lib/services/maia/Skills/updateSkill.js +0 -39
  92. package/lib/styles/cascade.js +0 -14
  93. package/lib/styles/transitions.js +0 -21
  94. package/lib/types/skill.js +0 -2
  95. package/lib/utils/debugMaiaSseLog.js +0 -27
@@ -11,7 +11,7 @@ import { fetchMaia } from '../client';
11
11
  export var getChatMessages = /*#__PURE__*/function () {
12
12
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
13
13
  var _data$data;
14
- var chatId, _ref$offset, offset, currentUser, cancelledText, lang, langParam, response, data, normalizeConnectors, agentIsDeleted, firstMessage, connectorsFromSession, agentNoPermission, projectId, projectName, projectDeleted, clientId, clientName, normalizeId, i, _message$project_meta, _message$client_metad, _message$client_metad2, message, rawProjectId, normalized, rawClientId, _normalized;
14
+ var chatId, _ref$offset, offset, currentUser, cancelledText, lang, langParam, response, data, normalizeConnectors, agentIsDeleted, firstMessage, connectorsFromSession, agentNoPermission, projectId, projectName, projectDeleted, clientId, clientName, taskId, taskName, normalizeId, i, _message$project_meta, _message$client_metad, _message$client_metad2, message, rawProjectId, normalized, rawClientId, _normalized, _i, _data$data$_i, _data$data$_i2, rawTaskId, _normalized2;
15
15
  return _regeneratorRuntime.wrap(function (_context) {
16
16
  while (1) switch (_context.prev = _context.next) {
17
17
  case 0:
@@ -104,6 +104,28 @@ export var getChatMessages = /*#__PURE__*/function () {
104
104
  _context.next = 3;
105
105
  break;
106
106
  case 6:
107
+ _i = data.data.length - 1;
108
+ case 7:
109
+ if (!(_i >= 0)) {
110
+ _context.next = 9;
111
+ break;
112
+ }
113
+ rawTaskId = (_data$data$_i = data.data[_i]) === null || _data$data$_i === void 0 || (_data$data$_i = _data$data$_i.task_metadata) === null || _data$data$_i === void 0 ? void 0 : _data$data$_i.id;
114
+ if (!(rawTaskId != null && (_data$data$_i2 = data.data[_i]) !== null && _data$data$_i2 !== void 0 && (_data$data$_i2 = _data$data$_i2.task_metadata) !== null && _data$data$_i2 !== void 0 && _data$data$_i2.name)) {
115
+ _context.next = 8;
116
+ break;
117
+ }
118
+ _normalized2 = normalizeId(rawTaskId);
119
+ if (_normalized2 !== undefined) {
120
+ taskId = _normalized2;
121
+ taskName = data.data[_i].task_metadata.name;
122
+ }
123
+ return _context.abrupt("continue", 9);
124
+ case 8:
125
+ _i -= 1;
126
+ _context.next = 7;
127
+ break;
128
+ case 9:
107
129
  return _context.abrupt("return", {
108
130
  items: mapChatMessages(data.data, currentUser, cancelledText),
109
131
  nextItem: data.next_offset,
@@ -121,9 +143,11 @@ export var getChatMessages = /*#__PURE__*/function () {
121
143
  projectName: projectName,
122
144
  projectDeleted: projectDeleted,
123
145
  clientId: clientId,
124
- clientName: clientName
146
+ clientName: clientName,
147
+ taskId: taskId,
148
+ taskName: taskName
125
149
  });
126
- case 7:
150
+ case 10:
127
151
  case "end":
128
152
  return _context.stop();
129
153
  }
@@ -133,4 +157,4 @@ export var getChatMessages = /*#__PURE__*/function () {
133
157
  return _ref2.apply(this, arguments);
134
158
  };
135
159
  }();
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDaGF0TWVzc2FnZXMiLCJmZXRjaE1haWEiLCJnZXRDaGF0TWVzc2FnZXMiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3JlZiIsIl9kYXRhJGRhdGEiLCJjaGF0SWQiLCJfcmVmJG9mZnNldCIsIm9mZnNldCIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImxhbmciLCJsYW5nUGFyYW0iLCJyZXNwb25zZSIsImRhdGEiLCJub3JtYWxpemVDb25uZWN0b3JzIiwiYWdlbnRJc0RlbGV0ZWQiLCJmaXJzdE1lc3NhZ2UiLCJjb25uZWN0b3JzRnJvbVNlc3Npb24iLCJhZ2VudE5vUGVybWlzc2lvbiIsInByb2plY3RJZCIsInByb2plY3ROYW1lIiwicHJvamVjdERlbGV0ZWQiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJub3JtYWxpemVJZCIsImkiLCJfbWVzc2FnZSRwcm9qZWN0X21ldGEiLCJfbWVzc2FnZSRjbGllbnRfbWV0YWQiLCJfbWVzc2FnZSRjbGllbnRfbWV0YWQyIiwibWVzc2FnZSIsInJhd1Byb2plY3RJZCIsIm5vcm1hbGl6ZWQiLCJyYXdDbGllbnRJZCIsIl9ub3JtYWxpemVkIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjb25jYXQiLCJwYXRoIiwic2VudCIsImpzb24iLCJyYXciLCJBcnJheSIsImlzQXJyYXkiLCJ1bmRlZmluZWQiLCJwYXJzZWQiLCJmaWx0ZXIiLCJjb25uZWN0b3IiLCJfdHlwZW9mIiwibWFwIiwiZ3JvdXAiLCJzbHVncyIsInNsdWciLCJsZW5ndGgiLCJmaW5kIiwiaXRlbSIsImFnZW50X2lzX2RlbGV0ZWQiLCJjb25uZWN0b3JzIiwiYWdlbnRfaWQiLCJhZ2VudF9uYW1lIiwiX29iamVjdFNwcmVhZCIsImlkIiwibmFtZSIsImVtb2ppIiwidHlwZSIsImFnZW50X3R5cGUiLCJudW0iLCJwYXJzZUludCIsIlN0cmluZyIsIk51bWJlciIsImlzTmFOIiwicHJvamVjdF9tZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJhYnJ1cHQiLCJjbGllbnRfbWV0YWRhdGEiLCJpdGVtcyIsIm5leHRJdGVtIiwibmV4dF9vZmZzZXQiLCJoYXNNb3JlIiwiaGFzX21vcmUiLCJhZ2VudERlbGV0ZWQiLCJkZWxldGVkQXQiLCJhZ2VudF9kZWxldGVkX2F0IiwiaGFzQWdlbnRBY2Nlc3MiLCJoYXNfYWdlbnRfYWNjZXNzIiwiaGFzQWdlbnRQZXJtaXNzaW9uIiwiaGFzX2FnZW50X3Blcm1pc3Npb24iLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0NoYXRzL2dldENoYXRNZXNzYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50Q29ubmVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBtYXBDaGF0TWVzc2FnZXMgfSBmcm9tICcuLi8uLi91dGlscy9tYXBDaGF0TWVzc2FnZXMnXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5cbnR5cGUgR2V0Q2hhdE1lc3NhZ2VzUGFyYW1zID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBvZmZzZXQ/OiBudW1iZXJcbiAgY3VycmVudFVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBjYW5jZWxsZWRUZXh0Pzogc3RyaW5nXG4gIGxhbmc/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldENoYXRNZXNzYWdlcyA9IGFzeW5jICh7XG4gIGNoYXRJZCxcbiAgb2Zmc2V0ID0gMCxcbiAgY3VycmVudFVzZXIsXG4gIGNhbmNlbGxlZFRleHQsXG4gIGxhbmcsXG59OiBHZXRDaGF0TWVzc2FnZXNQYXJhbXMpOiBQcm9taXNlPHtcbiAgaXRlbXM6IENoYXRNZXNzYWdlW11cbiAgbmV4dEl0ZW06IG51bWJlclxuICBoYXNNb3JlOiBib29sZWFuXG4gIGFnZW50RGVsZXRlZD86IHtcbiAgICBpZDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgZW1vamk6IHN0cmluZ1xuICAgIGRlbGV0ZWRBdDogc3RyaW5nIHwgbnVsbFxuICB9XG4gIGFnZW50Tm9QZXJtaXNzaW9uPzoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBlbW9qaTogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gICAgY29ubmVjdG9ycz86IEFnZW50Q29ubmVjdG9yW11cbiAgfVxuICBoYXNBZ2VudEFjY2Vzcz86IGJvb2xlYW5cbiAgaGFzQWdlbnRQZXJtaXNzaW9uPzogYm9vbGVhblxuICBwcm9qZWN0SWQ/OiBudW1iZXJcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgcHJvamVjdERlbGV0ZWQ/OiB7IG5hbWU6IHN0cmluZyB9XG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbn0+ID0+IHtcbiAgY29uc3QgbGFuZ1BhcmFtID0gbGFuZyA/IGAmbGFuZz0ke2xhbmd9YCA6ICcnXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBgc2Vzc2lvbnMvJHtjaGF0SWR9P2xpbWl0PTIwJm9mZnNldD0ke29mZnNldH0ke2xhbmdQYXJhbX1gLFxuICB9KVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICBjb25zdCBub3JtYWxpemVDb25uZWN0b3JzID0gKHJhdzogdW5rbm93bik6IEFnZW50Q29ubmVjdG9yW10gfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShyYXcpKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgcGFyc2VkID0gcmF3XG4gICAgICAuZmlsdGVyKChjb25uZWN0b3IpOiBjb25uZWN0b3IgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gISFjb25uZWN0b3IgJiYgdHlwZW9mIGNvbm5lY3RvciA9PT0gJ29iamVjdCcpXG4gICAgICAubWFwKGNvbm5lY3RvciA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gdHlwZW9mIGNvbm5lY3Rvci5ncm91cCA9PT0gJ3N0cmluZycgPyBjb25uZWN0b3IuZ3JvdXAgOiAnJ1xuICAgICAgICBjb25zdCBzbHVncyA9IEFycmF5LmlzQXJyYXkoY29ubmVjdG9yLnNsdWdzKVxuICAgICAgICAgID8gY29ubmVjdG9yLnNsdWdzLmZpbHRlcigoc2x1Zyk6IHNsdWcgaXMgc3RyaW5nID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJylcbiAgICAgICAgICA6IFtdXG4gICAgICAgIHJldHVybiB7IGdyb3VwLCBzbHVncyB9XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihjb25uZWN0b3IgPT4gY29ubmVjdG9yLmdyb3VwLmxlbmd0aCA+IDApXG5cbiAgICByZXR1cm4gcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IGFnZW50SXNEZWxldGVkID0gZGF0YS5kYXRhLmZpbmQoaXRlbSA9PiAhIWl0ZW0/LmFnZW50X2lzX2RlbGV0ZWQpXG5cbiAgLy8gRXh0cmFlciBkYXRhIGRlbCBhZ2VudGUgZGVsIHByaW1lciBtZW5zYWplIHBhcmEgY2Fzb3Mgc2luIHBlcm1pc29zXG4gIGNvbnN0IGZpcnN0TWVzc2FnZSA9IGRhdGEuZGF0YT8uWzBdXG4gIGNvbnN0IGNvbm5lY3RvcnNGcm9tU2Vzc2lvbiA9IG5vcm1hbGl6ZUNvbm5lY3RvcnMoZmlyc3RNZXNzYWdlPy5jb25uZWN0b3JzKVxuICBjb25zdCBhZ2VudE5vUGVybWlzc2lvbiA9XG4gICAgZmlyc3RNZXNzYWdlPy5hZ2VudF9pZCAmJiBmaXJzdE1lc3NhZ2U/LmFnZW50X25hbWVcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBmaXJzdE1lc3NhZ2UuYWdlbnRfaWQsXG4gICAgICAgICAgbmFtZTogZmlyc3RNZXNzYWdlLmFnZW50X25hbWUsXG4gICAgICAgICAgZW1vamk6IGZpcnN0TWVzc2FnZS5lbW9qaSB8fCAn8J+klicsXG4gICAgICAgICAgdHlwZTogZmlyc3RNZXNzYWdlLmFnZW50X3R5cGUgfHwgJ2N1c3RvbScsXG4gICAgICAgICAgLi4uKGNvbm5lY3RvcnNGcm9tU2Vzc2lvbiA/IHsgY29ubmVjdG9yczogY29ubmVjdG9yc0Zyb21TZXNzaW9uIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgLy8gQnVzY2FyIHByb2plY3RfbWV0YWRhdGEgeSBjbGllbnRfbWV0YWRhdGEgZW4gdG9kb3MgbG9zIG1lbnNhamVzLCBkZXNkZSBlbCBtw6FzIHJlY2llbnRlIGhhY2lhIGF0csOhc1xuICAvLyBwcm9qZWN0X21ldGFkYXRhLmlkIC8gY2xpZW50X21ldGFkYXRhLmlkIHB1ZWRlbiB2ZW5pciBjb21vIHN0cmluZyBvIG51bWJlciBkZXNkZSBlbCBiYWNrZW5kXG4gIGxldCBwcm9qZWN0SWQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICBsZXQgcHJvamVjdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBsZXQgcHJvamVjdERlbGV0ZWQ6IHsgbmFtZTogc3RyaW5nIH0gfCB1bmRlZmluZWRcbiAgbGV0IGNsaWVudElkOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgbGV0IGNsaWVudE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0IG5vcm1hbGl6ZUlkID0gKGlkOiBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmIChpZCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgbnVtID0gdHlwZW9mIGlkID09PSAnbnVtYmVyJyA/IGlkIDogcGFyc2VJbnQoU3RyaW5nKGlkKSwgMTApXG4gICAgcmV0dXJuIE51bWJlci5pc05hTihudW0pID8gdW5kZWZpbmVkIDogbnVtXG4gIH1cblxuICBmb3IgKGxldCBpID0gZGF0YS5kYXRhLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGRhdGEuZGF0YVtpXVxuICAgIGNvbnN0IHJhd1Byb2plY3RJZCA9IG1lc3NhZ2U/LnByb2plY3RfbWV0YWRhdGE/LmlkXG4gICAgaWYgKHJhd1Byb2plY3RJZCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSWQocmF3UHJvamVjdElkKVxuICAgICAgaWYgKG5vcm1hbGl6ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9qZWN0SWQgPSBub3JtYWxpemVkXG4gICAgICAgIHByb2plY3ROYW1lID0gbWVzc2FnZS5wcm9qZWN0X21ldGFkYXRhIS5uYW1lXG4gICAgICAgIGlmIChtZXNzYWdlLnByb2plY3RfbWV0YWRhdGEhLmlzX2RlbGV0ZWQgPT09IHRydWUpIHtcbiAgICAgICAgICBwcm9qZWN0RGVsZXRlZCA9IHsgbmFtZTogbWVzc2FnZS5wcm9qZWN0X21ldGFkYXRhIS5uYW1lIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgcmF3Q2xpZW50SWQgPSBtZXNzYWdlPy5jbGllbnRfbWV0YWRhdGE/LmlkXG4gICAgaWYgKHJhd0NsaWVudElkICE9IG51bGwgJiYgbWVzc2FnZT8uY2xpZW50X21ldGFkYXRhPy5uYW1lKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSWQocmF3Q2xpZW50SWQpXG4gICAgICBpZiAobm9ybWFsaXplZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsaWVudElkID0gbm9ybWFsaXplZFxuICAgICAgICBjbGllbnROYW1lID0gbWVzc2FnZS5jbGllbnRfbWV0YWRhdGEubmFtZVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGl0ZW1zOiBtYXBDaGF0TWVzc2FnZXMoZGF0YS5kYXRhLCBjdXJyZW50VXNlciwgY2FuY2VsbGVkVGV4dCksXG4gICAgbmV4dEl0ZW06IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgaGFzTW9yZTogZGF0YS5oYXNfbW9yZSxcbiAgICBhZ2VudERlbGV0ZWQ6IGFnZW50SXNEZWxldGVkPy5hZ2VudF9pc19kZWxldGVkXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogYWdlbnRJc0RlbGV0ZWQuYWdlbnRfaWQsXG4gICAgICAgICAgbmFtZTogYWdlbnRJc0RlbGV0ZWQuYWdlbnRfbmFtZSxcbiAgICAgICAgICBlbW9qaTogYWdlbnRJc0RlbGV0ZWQuZW1vamksXG4gICAgICAgICAgZGVsZXRlZEF0OiBhZ2VudElzRGVsZXRlZC5hZ2VudF9kZWxldGVkX2F0LFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBhZ2VudE5vUGVybWlzc2lvbixcbiAgICBoYXNBZ2VudEFjY2VzczogZGF0YS5oYXNfYWdlbnRfYWNjZXNzLFxuICAgIGhhc0FnZW50UGVybWlzc2lvbjogZGF0YS5oYXNfYWdlbnRfcGVybWlzc2lvbixcbiAgICBwcm9qZWN0SWQsXG4gICAgcHJvamVjdE5hbWUsXG4gICAgcHJvamVjdERlbGV0ZWQsXG4gICAgY2xpZW50SWQsXG4gICAgY2xpZW50TmFtZSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFHQSxTQUFTQSxlQUFlLFFBQVEsNkJBQTZCO0FBQzdELFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBVXJDLE9BQU8sSUFBTUMsZUFBZTtFQUFBLElBQUFDLEtBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQUFDLElBQUE7SUFBQSxJQUFBQyxVQUFBO0lBQUEsSUFBQUMsTUFBQSxFQUFBQyxXQUFBLEVBQUFDLE1BQUEsRUFBQUMsV0FB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
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDaGF0TWVzc2FnZXMiLCJmZXRjaE1haWEiLCJnZXRDaGF0TWVzc2FnZXMiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3JlZiIsIl9kYXRhJGRhdGEiLCJjaGF0SWQiLCJfcmVmJG9mZnNldCIsIm9mZnNldCIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImxhbmciLCJsYW5nUGFyYW0iLCJyZXNwb25zZSIsImRhdGEiLCJub3JtYWxpemVDb25uZWN0b3JzIiwiYWdlbnRJc0RlbGV0ZWQiLCJmaXJzdE1lc3NhZ2UiLCJjb25uZWN0b3JzRnJvbVNlc3Npb24iLCJhZ2VudE5vUGVybWlzc2lvbiIsInByb2plY3RJZCIsInByb2plY3ROYW1lIiwicHJvamVjdERlbGV0ZWQiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJ0YXNrSWQiLCJ0YXNrTmFtZSIsIm5vcm1hbGl6ZUlkIiwiaSIsIl9tZXNzYWdlJHByb2plY3RfbWV0YSIsIl9tZXNzYWdlJGNsaWVudF9tZXRhZCIsIl9tZXNzYWdlJGNsaWVudF9tZXRhZDIiLCJtZXNzYWdlIiwicmF3UHJvamVjdElkIiwibm9ybWFsaXplZCIsInJhd0NsaWVudElkIiwiX25vcm1hbGl6ZWQiLCJfaSIsIl9kYXRhJGRhdGEkX2kiLCJfZGF0YSRkYXRhJF9pMiIsInJhd1Rhc2tJZCIsIl9ub3JtYWxpemVkMiIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiY29uY2F0IiwicGF0aCIsInNlbnQiLCJqc29uIiwicmF3IiwiQXJyYXkiLCJpc0FycmF5IiwidW5kZWZpbmVkIiwicGFyc2VkIiwiZmlsdGVyIiwiY29ubmVjdG9yIiwiX3R5cGVvZiIsIm1hcCIsImdyb3VwIiwic2x1Z3MiLCJzbHVnIiwibGVuZ3RoIiwiZmluZCIsIml0ZW0iLCJhZ2VudF9pc19kZWxldGVkIiwiY29ubmVjdG9ycyIsImFnZW50X2lkIiwiYWdlbnRfbmFtZSIsIl9vYmplY3RTcHJlYWQiLCJpZCIsIm5hbWUiLCJlbW9qaSIsInR5cGUiLCJhZ2VudF90eXBlIiwibnVtIiwicGFyc2VJbnQiLCJTdHJpbmciLCJOdW1iZXIiLCJpc05hTiIsInByb2plY3RfbWV0YWRhdGEiLCJpc19kZWxldGVkIiwiYWJydXB0IiwiY2xpZW50X21ldGFkYXRhIiwidGFza19tZXRhZGF0YSIsIml0ZW1zIiwibmV4dEl0ZW0iLCJuZXh0X29mZnNldCIsImhhc01vcmUiLCJoYXNfbW9yZSIsImFnZW50RGVsZXRlZCIsImRlbGV0ZWRBdCIsImFnZW50X2RlbGV0ZWRfYXQiLCJoYXNBZ2VudEFjY2VzcyIsImhhc19hZ2VudF9hY2Nlc3MiLCJoYXNBZ2VudFBlcm1pc3Npb24iLCJoYXNfYWdlbnRfcGVybWlzc2lvbiIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQ2hhdHMvZ2V0Q2hhdE1lc3NhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCB7IENoYXRNZXNzYWdlLCBDaGF0TWVzc2FnZVVzZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgQWdlbnRDb25uZWN0b3IgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IG1hcENoYXRNZXNzYWdlcyB9IGZyb20gJy4uLy4uL3V0aWxzL21hcENoYXRNZXNzYWdlcydcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcblxudHlwZSBHZXRDaGF0TWVzc2FnZXNQYXJhbXMgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIG9mZnNldD86IG51bWJlclxuICBjdXJyZW50VXNlcjogQ2hhdE1lc3NhZ2VVc2VyXG4gIGNhbmNlbGxlZFRleHQ/OiBzdHJpbmdcbiAgbGFuZz86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdE1lc3NhZ2VzID0gYXN5bmMgKHtcbiAgY2hhdElkLFxuICBvZmZzZXQgPSAwLFxuICBjdXJyZW50VXNlcixcbiAgY2FuY2VsbGVkVGV4dCxcbiAgbGFuZyxcbn06IEdldENoYXRNZXNzYWdlc1BhcmFtcyk6IFByb21pc2U8e1xuICBpdGVtczogQ2hhdE1lc3NhZ2VbXVxuICBuZXh0SXRlbTogbnVtYmVyXG4gIGhhc01vcmU6IGJvb2xlYW5cbiAgYWdlbnREZWxldGVkPzoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBlbW9qaTogc3RyaW5nXG4gICAgZGVsZXRlZEF0OiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgYWdlbnROb1Blcm1pc3Npb24/OiB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGVtb2ppOiBzdHJpbmdcbiAgICB0eXBlOiBzdHJpbmdcbiAgICBjb25uZWN0b3JzPzogQWdlbnRDb25uZWN0b3JbXVxuICB9XG4gIGhhc0FnZW50QWNjZXNzPzogYm9vbGVhblxuICBoYXNBZ2VudFBlcm1pc3Npb24/OiBib29sZWFuXG4gIHByb2plY3RJZD86IG51bWJlclxuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xuICBwcm9qZWN0RGVsZXRlZD86IHsgbmFtZTogc3RyaW5nIH1cbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICB0YXNrSWQ/OiBudW1iZXJcbiAgdGFza05hbWU/OiBzdHJpbmdcbn0+ID0+IHtcbiAgY29uc3QgbGFuZ1BhcmFtID0gbGFuZyA/IGAmbGFuZz0ke2xhbmd9YCA6ICcnXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBgc2Vzc2lvbnMvJHtjaGF0SWR9P2xpbWl0PTIwJm9mZnNldD0ke29mZnNldH0ke2xhbmdQYXJhbX1gLFxuICB9KVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICBjb25zdCBub3JtYWxpemVDb25uZWN0b3JzID0gKHJhdzogdW5rbm93bik6IEFnZW50Q29ubmVjdG9yW10gfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShyYXcpKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgcGFyc2VkID0gcmF3XG4gICAgICAuZmlsdGVyKChjb25uZWN0b3IpOiBjb25uZWN0b3IgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gISFjb25uZWN0b3IgJiYgdHlwZW9mIGNvbm5lY3RvciA9PT0gJ29iamVjdCcpXG4gICAgICAubWFwKGNvbm5lY3RvciA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gdHlwZW9mIGNvbm5lY3Rvci5ncm91cCA9PT0gJ3N0cmluZycgPyBjb25uZWN0b3IuZ3JvdXAgOiAnJ1xuICAgICAgICBjb25zdCBzbHVncyA9IEFycmF5LmlzQXJyYXkoY29ubmVjdG9yLnNsdWdzKVxuICAgICAgICAgID8gY29ubmVjdG9yLnNsdWdzLmZpbHRlcigoc2x1Zyk6IHNsdWcgaXMgc3RyaW5nID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJylcbiAgICAgICAgICA6IFtdXG4gICAgICAgIHJldHVybiB7IGdyb3VwLCBzbHVncyB9XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihjb25uZWN0b3IgPT4gY29ubmVjdG9yLmdyb3VwLmxlbmd0aCA+IDApXG5cbiAgICByZXR1cm4gcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IGFnZW50SXNEZWxldGVkID0gZGF0YS5kYXRhLmZpbmQoaXRlbSA9PiAhIWl0ZW0/LmFnZW50X2lzX2RlbGV0ZWQpXG5cbiAgLy8gRXh0cmFlciBkYXRhIGRlbCBhZ2VudGUgZGVsIHByaW1lciBtZW5zYWplIHBhcmEgY2Fzb3Mgc2luIHBlcm1pc29zXG4gIGNvbnN0IGZpcnN0TWVzc2FnZSA9IGRhdGEuZGF0YT8uWzBdXG4gIGNvbnN0IGNvbm5lY3RvcnNGcm9tU2Vzc2lvbiA9IG5vcm1hbGl6ZUNvbm5lY3RvcnMoZmlyc3RNZXNzYWdlPy5jb25uZWN0b3JzKVxuICBjb25zdCBhZ2VudE5vUGVybWlzc2lvbiA9XG4gICAgZmlyc3RNZXNzYWdlPy5hZ2VudF9pZCAmJiBmaXJzdE1lc3NhZ2U/LmFnZW50X25hbWVcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBmaXJzdE1lc3NhZ2UuYWdlbnRfaWQsXG4gICAgICAgICAgbmFtZTogZmlyc3RNZXNzYWdlLmFnZW50X25hbWUsXG4gICAgICAgICAgZW1vamk6IGZpcnN0TWVzc2FnZS5lbW9qaSB8fCAn8J+klicsXG4gICAgICAgICAgdHlwZTogZmlyc3RNZXNzYWdlLmFnZW50X3R5cGUgfHwgJ2N1c3RvbScsXG4gICAgICAgICAgLi4uKGNvbm5lY3RvcnNGcm9tU2Vzc2lvbiA/IHsgY29ubmVjdG9yczogY29ubmVjdG9yc0Zyb21TZXNzaW9uIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgLy8gQnVzY2FyIHByb2plY3RfbWV0YWRhdGEgeSBjbGllbnRfbWV0YWRhdGEgZW4gdG9kb3MgbG9zIG1lbnNhamVzLCBkZXNkZSBlbCBtw6FzIHJlY2llbnRlIGhhY2lhIGF0csOhc1xuICAvLyBwcm9qZWN0X21ldGFkYXRhLmlkIC8gY2xpZW50X21ldGFkYXRhLmlkIHB1ZWRlbiB2ZW5pciBjb21vIHN0cmluZyBvIG51bWJlciBkZXNkZSBlbCBiYWNrZW5kXG4gIGxldCBwcm9qZWN0SWQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICBsZXQgcHJvamVjdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBsZXQgcHJvamVjdERlbGV0ZWQ6IHsgbmFtZTogc3RyaW5nIH0gfCB1bmRlZmluZWRcbiAgbGV0IGNsaWVudElkOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgbGV0IGNsaWVudE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBsZXQgdGFza0lkOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgbGV0IHRhc2tOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBjb25zdCBub3JtYWxpemVJZCA9IChpZDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoaWQgPT0gbnVsbCkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGNvbnN0IG51bSA9IHR5cGVvZiBpZCA9PT0gJ251bWJlcicgPyBpZCA6IHBhcnNlSW50KFN0cmluZyhpZCksIDEwKVxuICAgIHJldHVybiBOdW1iZXIuaXNOYU4obnVtKSA/IHVuZGVmaW5lZCA6IG51bVxuICB9XG5cbiAgZm9yIChsZXQgaSA9IGRhdGEuZGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBkYXRhLmRhdGFbaV1cbiAgICBjb25zdCByYXdQcm9qZWN0SWQgPSBtZXNzYWdlPy5wcm9qZWN0X21ldGFkYXRhPy5pZFxuICAgIGlmIChyYXdQcm9qZWN0SWQgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUlkKHJhd1Byb2plY3RJZClcbiAgICAgIGlmIChub3JtYWxpemVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvamVjdElkID0gbm9ybWFsaXplZFxuICAgICAgICBwcm9qZWN0TmFtZSA9IG1lc3NhZ2UucHJvamVjdF9tZXRhZGF0YSEubmFtZVxuICAgICAgICBpZiAobWVzc2FnZS5wcm9qZWN0X21ldGFkYXRhIS5pc19kZWxldGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgcHJvamVjdERlbGV0ZWQgPSB7IG5hbWU6IG1lc3NhZ2UucHJvamVjdF9tZXRhZGF0YSEubmFtZSB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IHJhd0NsaWVudElkID0gbWVzc2FnZT8uY2xpZW50X21ldGFkYXRhPy5pZFxuICAgIGlmIChyYXdDbGllbnRJZCAhPSBudWxsICYmIG1lc3NhZ2U/LmNsaWVudF9tZXRhZGF0YT8ubmFtZSkge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUlkKHJhd0NsaWVudElkKVxuICAgICAgaWYgKG5vcm1hbGl6ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGllbnRJZCA9IG5vcm1hbGl6ZWRcbiAgICAgICAgY2xpZW50TmFtZSA9IG1lc3NhZ2UuY2xpZW50X21ldGFkYXRhLm5hbWVcbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgLy8gVW5hIHRhcmVhIHB1ZWRlIGNvZXhpc3RpciBjb24gdW4gcHJveWVjdG8sIGFzw60gcXVlIHNlIHJlY29ycmUgcG9yIHNlcGFyYWRvIHBhcmEgbm9cbiAgLy8gdmVyc2UgaW50ZXJydW1waWRvIHBvciBlbCBicmVhayBkZWwgcHJveWVjdG8vY2xpZW50ZS5cbiAgZm9yIChsZXQgaSA9IGRhdGEuZGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgIGNvbnN0IHJhd1Rhc2tJZCA9IGRhdGEuZGF0YVtpXT8udGFza19tZXRhZGF0YT8uaWRcbiAgICBpZiAocmF3VGFza0lkICE9IG51bGwgJiYgZGF0YS5kYXRhW2ldPy50YXNrX21ldGFkYXRhPy5uYW1lKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSWQocmF3VGFza0lkKVxuICAgICAgaWYgKG5vcm1hbGl6ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0YXNrSWQgPSBub3JtYWxpemVkXG4gICAgICAgIHRhc2tOYW1lID0gZGF0YS5kYXRhW2ldLnRhc2tfbWV0YWRhdGEhLm5hbWVcbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpdGVtczogbWFwQ2hhdE1lc3NhZ2VzKGRhdGEuZGF0YSwgY3VycmVudFVzZXIsIGNhbmNlbGxlZFRleHQpLFxuICAgIG5leHRJdGVtOiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgIGhhc01vcmU6IGRhdGEuaGFzX21vcmUsXG4gICAgYWdlbnREZWxldGVkOiBhZ2VudElzRGVsZXRlZD8uYWdlbnRfaXNfZGVsZXRlZFxuICAgICAgPyB7XG4gICAgICAgICAgaWQ6IGFnZW50SXNEZWxldGVkLmFnZW50X2lkLFxuICAgICAgICAgIG5hbWU6IGFnZW50SXNEZWxldGVkLmFnZW50X25hbWUsXG4gICAgICAgICAgZW1vamk6IGFnZW50SXNEZWxldGVkLmVtb2ppLFxuICAgICAgICAgIGRlbGV0ZWRBdDogYWdlbnRJc0RlbGV0ZWQuYWdlbnRfZGVsZXRlZF9hdCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgYWdlbnROb1Blcm1pc3Npb24sXG4gICAgaGFzQWdlbnRBY2Nlc3M6IGRhdGEuaGFzX2FnZW50X2FjY2VzcyxcbiAgICBoYXNBZ2VudFBlcm1pc3Npb246IGRhdGEuaGFzX2FnZW50X3Blcm1pc3Npb24sXG4gICAgcHJvamVjdElkLFxuICAgIHByb2plY3ROYW1lLFxuICAgIHByb2plY3REZWxldGVkLFxuICAgIGNsaWVudElkLFxuICAgIGNsaWVudE5hbWUsXG4gICAgdGFza0lkLFxuICAgIHRhc2tOYW1lLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUdBLFNBQVNBLGVBQWUsUUFBUSw2QkFBNkI7QUFDN0QsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFVckMsT0FBTyxJQUFNQyxlQUFlO0VBQUEsSUFBQUMsS0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBQUMsSUFBQTtJQUFBLElBQUFDLFVBQUE7SUFBQSxJQUFBQyxNQUFBLEVBQUFDLFdBQUEsRUFBQUMsTUFBQSxFQUFBQyxXQUFBLEVBQUFDLGFBQUEsRUFBQUMsSUFBQSxFQUFBQyxTQUFBLEVBQUFDLFFBQUEsRUFBQUMsSUFBQSxFQUFBQyxtQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFlBQUEsRUFBQUMscUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsU0FBQSxF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
@@ -215,11 +215,13 @@ export var useChatsStore = create(function (set, get) {
215
215
  return updateChat;
216
216
  }(),
217
217
  reset: function reset() {
218
- return set(_objectSpread({}, initialState));
218
+ return set(_objectSpread(_objectSpread({}, initialState), {}, {
219
+ loadingChats: false
220
+ }));
219
221
  }
220
222
  });
221
223
  });
222
224
  export var getChatsStoreState = function getChatsStoreState() {
223
225
  return useChatsStore.getState();
224
226
  };
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwibG9hZGluZ0NoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwibmV4dE9mZnNldCIsImxpbWl0Iiwib2Zmc2V0IiwidXNlQ2hhdHNTdG9yZSIsInNldCIsImdldCIsIl9vYmplY3RTcHJlYWQiLCJmZXRjaENoYXRzIiwiX2ZldGNoQ2hhdHMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYiLCJhZ2VudCIsInNlY3Rpb24iLCJfcmVmJGxpbWl0IiwiX3JlZiRvZmZzZXQiLCJvbkVycm9yIiwibGFuZyIsIl95aWVsZCRtYWlhJENoYXRzJGdldCIsIml0ZW1zIiwibmV4dEl0ZW0iLCJoYXNNb3JlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIkNoYXRzIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsInNlbnQiLCJOdW1iZXIiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImxvYWRNb3JlQ2hhdHMiLCJfbG9hZE1vcmVDaGF0cyIsIl9jYWxsZWUyIiwiX3JlZjIiLCJfZ2V0IiwiX3lpZWxkJG1haWEkQ2hhdHMkZ2V0MiIsIm5ld05leHRPZmZzZXQiLCJfdDIiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJzdGF0ZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl94MiIsImRlbGV0ZUNoYXQiLCJfZGVsZXRlQ2hhdCIsIl9jYWxsZWUzIiwiX3JlZjMiLCJjaGF0SWQiLCJ1c2VySWQiLCJfdDMiLCJfY29udGV4dDMiLCJmaWx0ZXIiLCJjaGF0Iiwic2Vzc2lvbkV4dGVybmFsSWQiLCJfeDMiLCJ1cGRhdGVDaGF0IiwiX3VwZGF0ZUNoYXQiLCJfY2FsbGVlNCIsIl9yZWY0IiwiX2N1cnJlbnQkdGl0bGUiLCJjdXJyZW50IiwibGFzdFF1ZXN0aW9uIiwiX3Q0IiwiX2NvbnRleHQ0IiwiZmluZCIsImMiLCJpZCIsInRpdGxlIiwicGF0Y2hDaGF0IiwibWFwIiwiX3g0IiwicmVzZXQiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG59XG5cbnR5cGUgQ2hhdHNBY3Rpb25zID0ge1xuICBmZXRjaENoYXRzOiAocGFyYW1zOiBGZXRjaENoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxvYWRNb3JlQ2hhdHM6IChwYXJhbXM6IExvYWRNb3JlQ2hhdHNQYXJhbXMpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhdDogKHBhcmFtczogRGVsZXRlQ2hhdFBhcmFtcykgPT4gUHJvbWlzZTxib29sZWFuPlxuICB1cGRhdGVDaGF0OiAoY2hhdDogUGFydGlhbDxDaGF0TGlzdEl0ZW0+ICYgeyBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nOyBpZDogc3RyaW5nIH0pID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgcmVzZXQ6ICgpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBDaGF0c1N0YXRlID0ge1xuICBjaGF0czogW10sXG4gIGxvYWRpbmdDaGF0czogdHJ1ZSxcbiAgaXNMb2FkaW5nTW9yZUNoYXRzOiBmYWxzZSxcbiAgbmV4dE9mZnNldDogbnVsbCxcbiAgbGltaXQ6IERFRkFVTFRfTElNSVQsXG4gIG9mZnNldDogMCxcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNoYXRzU3RvcmUgPSBjcmVhdGU8Q2hhdHNTdGF0ZSAmIENoYXRzQWN0aW9ucz4oKHNldCwgZ2V0KSA9PiAoe1xuICAuLi5pbml0aWFsU3RhdGUsXG5cbiAgZmV0Y2hDaGF0czogYXN5bmMgKHsgYWdlbnQsIHNlY3Rpb24sIGxpbWl0ID0gREVGQVVMVF9MSU1JVCwgb2Zmc2V0ID0gMCwgb25FcnJvciwgbGFuZyB9KSA9PiB7XG4gICAgc2V0KHsgbG9hZGluZ0NoYXRzOiB0cnVlIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlIH0gPSBhd2FpdCBtYWlhLkNoYXRzLmdldENoYXRzQnlVc2VySWQoe1xuICAgICAgICBhZ2VudCxcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgbGFuZyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBuZXh0T2Zmc2V0ID0gaGFzTW9yZSAmJiBuZXh0SXRlbSA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBzZXQoe1xuICAgICAgICBjaGF0czogaXRlbXMgYXMgQ2hhdExpc3RJdGVtW10sXG4gICAgICAgIGxvYWRpbmdDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQsXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQgPz8gMCxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGNoYXRzOicsIGVycm9yKVxuICAgICAgc2V0KHsgbG9hZGluZ0NoYXRzOiBmYWxzZSB9KVxuICAgICAgb25FcnJvcj8uKClcbiAgICB9XG4gIH0sXG5cbiAgbG9hZE1vcmVDaGF0czogYXN5bmMgKHsgYWdlbnQsIHNlY3Rpb24sIG9uRXJyb3IsIGxhbmcgfSkgPT4ge1xuICAgIGNvbnN0IHsgbmV4dE9mZnNldCwgbGltaXQsIGlzTG9hZGluZ01vcmVDaGF0cyB9ID0gZ2V0KClcbiAgICBpZiAobmV4dE9mZnNldCA9PT0gbnVsbCB8fCBpc0xvYWRpbmdNb3JlQ2hhdHMpIHJldHVyblxuICAgIHNldCh7IGlzTG9hZGluZ01vcmVDaGF0czogdHJ1ZSB9KVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGl0ZW1zLCBuZXh0SXRlbSwgaGFzTW9yZSB9ID0gYXdhaXQgbWFpYS5DaGF0cy5nZXRDaGF0c0J5VXNlcklkKHtcbiAgICAgICAgYWdlbnQsXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgIGxhbmcsXG4gICAgICB9KVxuICAgICAgY29uc3QgbmV3TmV4dE9mZnNldCA9IGhhc01vcmUgJiYgbmV4dEl0ZW0gPyBOdW1iZXIobmV4dEl0ZW0pIDogbnVsbFxuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGNoYXRzOiBbLi4uc3RhdGUuY2hhdHMsIC4uLihpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXSldLFxuICAgICAgICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlLFxuICAgICAgICBuZXh0T2Zmc2V0OiBuZXdOZXh0T2Zmc2V0LFxuICAgICAgICBvZmZzZXQ6IG5ld05leHRPZmZzZXQgPz8gMCxcbiAgICAgIH0pKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIG1vcmUgY2hhdHM6JywgZXJyb3IpXG4gICAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlIH0pXG4gICAgICBvbkVycm9yPy4oKVxuICAgIH1cbiAgfSxcblxuICBkZWxldGVDaGF0OiBhc3luYyAoeyBjaGF0SWQsIHVzZXJJZCB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMuZGVsZXRlQ2hhdCh7IGNoYXRJZCwgdXNlcklkIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLmZpbHRlcihjaGF0ID0+IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQgIT09IGNoYXRJZCksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlbGV0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgdXBkYXRlQ2hhdDogYXN5bmMgY2hhdCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBnZXQoKS5jaGF0cy5maW5kKGMgPT4gYy5pZCA9PT0gY2hhdC5pZClcbiAgICAgIGNvbnN0IGxhc3RRdWVzdGlvbiA9IGN1cnJlbnQ/LnRpdGxlID8/IGNoYXQudGl0bGUgPz8gJydcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMucGF0Y2hDaGF0KHtcbiAgICAgICAgY2hhdElkOiBjaGF0LnNlc3Npb25FeHRlcm5hbElkLFxuICAgICAgICBsYXN0UXVlc3Rpb24sXG4gICAgICAgIC4uLihjaGF0LnRpdGxlICE9IG51bGwgJiYgeyB0aXRsZTogY2hhdC50aXRsZSB9KSxcbiAgICAgIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLm1hcChjID0+IChjLmlkID09PSBjaGF0LmlkID8geyAuLi5jLCAuLi5jaGF0IH0gOiBjKSksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHVwZGF0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgcmVzZXQ6ICgpID0+IHNldCh7IC4uLmluaXRpYWxTdGF0ZSB9KSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdHNTdG9yZVN0YXRlID0gKCkgPT4gdXNlQ2hhdHNTdG9yZS5nZXRTdGF0ZSgpXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1BQU0sa0JBQWtCO0FBR25DLElBQU1DLGFBQWEsR0FBRyxFQUFFO0FBbUJ4QixJQUFNQyxZQUF3QixHQUFHO0VBQy9CQyxLQUFLLEVBQUUsRUFBRTtFQUNUQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsa0JBQWtCLEVBQUUsS0FBSztFQUN6QkMsVUFBVSxFQUFFLElBQUk7RUFDaEJDLEtBQUssRUFBRU4sYUFBYTtFQUNwQk8sTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHVixNQUFNLENBQTRCLFVBQUNXLEdBQUcsRUFBRUMsR0FBRztFQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNuRVYsWUFBWTtJQUVmVyxVQUFVO01BQUEsSUFBQUMsV0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQUMsSUFBQTtRQUFBLElBQUFDLEtBQUEsRUFBQUMsT0FBQSxFQUFBQyxVQUFBLEVBQUFmLEtBQUEsRUFBQWdCLFdBQUEsRUFBQWYsTUFBQSxFQUFBZ0IsT0FBQSxFQUFBQyxJQUFBLEVBQUFDLHFCQUFBLEVBQUFDLEtBQUEsRUFBQUMsUUFBQSxFQUFBQyxPQUFBLEVB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
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwibG9hZGluZ0NoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwibmV4dE9mZnNldCIsImxpbWl0Iiwib2Zmc2V0IiwidXNlQ2hhdHNTdG9yZSIsInNldCIsImdldCIsIl9vYmplY3RTcHJlYWQiLCJmZXRjaENoYXRzIiwiX2ZldGNoQ2hhdHMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYiLCJhZ2VudCIsInNlY3Rpb24iLCJfcmVmJGxpbWl0IiwiX3JlZiRvZmZzZXQiLCJvbkVycm9yIiwibGFuZyIsIl95aWVsZCRtYWlhJENoYXRzJGdldCIsIml0ZW1zIiwibmV4dEl0ZW0iLCJoYXNNb3JlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIkNoYXRzIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsInNlbnQiLCJOdW1iZXIiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImxvYWRNb3JlQ2hhdHMiLCJfbG9hZE1vcmVDaGF0cyIsIl9jYWxsZWUyIiwiX3JlZjIiLCJfZ2V0IiwiX3lpZWxkJG1haWEkQ2hhdHMkZ2V0MiIsIm5ld05leHRPZmZzZXQiLCJfdDIiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJzdGF0ZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl94MiIsImRlbGV0ZUNoYXQiLCJfZGVsZXRlQ2hhdCIsIl9jYWxsZWUzIiwiX3JlZjMiLCJjaGF0SWQiLCJ1c2VySWQiLCJfdDMiLCJfY29udGV4dDMiLCJmaWx0ZXIiLCJjaGF0Iiwic2Vzc2lvbkV4dGVybmFsSWQiLCJfeDMiLCJ1cGRhdGVDaGF0IiwiX3VwZGF0ZUNoYXQiLCJfY2FsbGVlNCIsIl9yZWY0IiwiX2N1cnJlbnQkdGl0bGUiLCJjdXJyZW50IiwibGFzdFF1ZXN0aW9uIiwiX3Q0IiwiX2NvbnRleHQ0IiwiZmluZCIsImMiLCJpZCIsInRpdGxlIiwicGF0Y2hDaGF0IiwibWFwIiwiX3g0IiwicmVzZXQiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG59XG5cbnR5cGUgQ2hhdHNBY3Rpb25zID0ge1xuICBmZXRjaENoYXRzOiAocGFyYW1zOiBGZXRjaENoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxvYWRNb3JlQ2hhdHM6IChwYXJhbXM6IExvYWRNb3JlQ2hhdHNQYXJhbXMpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhdDogKHBhcmFtczogRGVsZXRlQ2hhdFBhcmFtcykgPT4gUHJvbWlzZTxib29sZWFuPlxuICB1cGRhdGVDaGF0OiAoY2hhdDogUGFydGlhbDxDaGF0TGlzdEl0ZW0+ICYgeyBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nOyBpZDogc3RyaW5nIH0pID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgcmVzZXQ6ICgpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBDaGF0c1N0YXRlID0ge1xuICBjaGF0czogW10sXG4gIGxvYWRpbmdDaGF0czogdHJ1ZSxcbiAgaXNMb2FkaW5nTW9yZUNoYXRzOiBmYWxzZSxcbiAgbmV4dE9mZnNldDogbnVsbCxcbiAgbGltaXQ6IERFRkFVTFRfTElNSVQsXG4gIG9mZnNldDogMCxcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNoYXRzU3RvcmUgPSBjcmVhdGU8Q2hhdHNTdGF0ZSAmIENoYXRzQWN0aW9ucz4oKHNldCwgZ2V0KSA9PiAoe1xuICAuLi5pbml0aWFsU3RhdGUsXG5cbiAgZmV0Y2hDaGF0czogYXN5bmMgKHsgYWdlbnQsIHNlY3Rpb24sIGxpbWl0ID0gREVGQVVMVF9MSU1JVCwgb2Zmc2V0ID0gMCwgb25FcnJvciwgbGFuZyB9KSA9PiB7XG4gICAgc2V0KHsgbG9hZGluZ0NoYXRzOiB0cnVlIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlIH0gPSBhd2FpdCBtYWlhLkNoYXRzLmdldENoYXRzQnlVc2VySWQoe1xuICAgICAgICBhZ2VudCxcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgbGFuZyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBuZXh0T2Zmc2V0ID0gaGFzTW9yZSAmJiBuZXh0SXRlbSA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBzZXQoe1xuICAgICAgICBjaGF0czogaXRlbXMgYXMgQ2hhdExpc3RJdGVtW10sXG4gICAgICAgIGxvYWRpbmdDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQsXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQgPz8gMCxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGNoYXRzOicsIGVycm9yKVxuICAgICAgc2V0KHsgbG9hZGluZ0NoYXRzOiBmYWxzZSB9KVxuICAgICAgb25FcnJvcj8uKClcbiAgICB9XG4gIH0sXG5cbiAgbG9hZE1vcmVDaGF0czogYXN5bmMgKHsgYWdlbnQsIHNlY3Rpb24sIG9uRXJyb3IsIGxhbmcgfSkgPT4ge1xuICAgIGNvbnN0IHsgbmV4dE9mZnNldCwgbGltaXQsIGlzTG9hZGluZ01vcmVDaGF0cyB9ID0gZ2V0KClcbiAgICBpZiAobmV4dE9mZnNldCA9PT0gbnVsbCB8fCBpc0xvYWRpbmdNb3JlQ2hhdHMpIHJldHVyblxuICAgIHNldCh7IGlzTG9hZGluZ01vcmVDaGF0czogdHJ1ZSB9KVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGl0ZW1zLCBuZXh0SXRlbSwgaGFzTW9yZSB9ID0gYXdhaXQgbWFpYS5DaGF0cy5nZXRDaGF0c0J5VXNlcklkKHtcbiAgICAgICAgYWdlbnQsXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgIGxhbmcsXG4gICAgICB9KVxuICAgICAgY29uc3QgbmV3TmV4dE9mZnNldCA9IGhhc01vcmUgJiYgbmV4dEl0ZW0gPyBOdW1iZXIobmV4dEl0ZW0pIDogbnVsbFxuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGNoYXRzOiBbLi4uc3RhdGUuY2hhdHMsIC4uLihpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXSldLFxuICAgICAgICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlLFxuICAgICAgICBuZXh0T2Zmc2V0OiBuZXdOZXh0T2Zmc2V0LFxuICAgICAgICBvZmZzZXQ6IG5ld05leHRPZmZzZXQgPz8gMCxcbiAgICAgIH0pKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIG1vcmUgY2hhdHM6JywgZXJyb3IpXG4gICAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlIH0pXG4gICAgICBvbkVycm9yPy4oKVxuICAgIH1cbiAgfSxcblxuICBkZWxldGVDaGF0OiBhc3luYyAoeyBjaGF0SWQsIHVzZXJJZCB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMuZGVsZXRlQ2hhdCh7IGNoYXRJZCwgdXNlcklkIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLmZpbHRlcihjaGF0ID0+IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQgIT09IGNoYXRJZCksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlbGV0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgdXBkYXRlQ2hhdDogYXN5bmMgY2hhdCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBnZXQoKS5jaGF0cy5maW5kKGMgPT4gYy5pZCA9PT0gY2hhdC5pZClcbiAgICAgIGNvbnN0IGxhc3RRdWVzdGlvbiA9IGN1cnJlbnQ/LnRpdGxlID8/IGNoYXQudGl0bGUgPz8gJydcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMucGF0Y2hDaGF0KHtcbiAgICAgICAgY2hhdElkOiBjaGF0LnNlc3Npb25FeHRlcm5hbElkLFxuICAgICAgICBsYXN0UXVlc3Rpb24sXG4gICAgICAgIC4uLihjaGF0LnRpdGxlICE9IG51bGwgJiYgeyB0aXRsZTogY2hhdC50aXRsZSB9KSxcbiAgICAgIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLm1hcChjID0+IChjLmlkID09PSBjaGF0LmlkID8geyAuLi5jLCAuLi5jaGF0IH0gOiBjKSksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHVwZGF0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgcmVzZXQ6ICgpID0+IHNldCh7IC4uLmluaXRpYWxTdGF0ZSwgbG9hZGluZ0NoYXRzOiBmYWxzZSB9KSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdHNTdG9yZVN0YXRlID0gKCkgPT4gdXNlQ2hhdHNTdG9yZS5nZXRTdGF0ZSgpXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1BQU0sa0JBQWtCO0FBR25DLElBQU1DLGFBQWEsR0FBRyxFQUFFO0FBbUJ4QixJQUFNQyxZQUF3QixHQUFHO0VBQy9CQyxLQUFLLEVBQUUsRUFBRTtFQUNUQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsa0JBQWtCLEVBQUUsS0FBSztFQUN6QkMsVUFBVSxFQUFFLElBQUk7RUFDaEJDLEtBQUssRUFBRU4sYUFBYTtFQUNwQk8sTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHVixNQUFNLENBQTRCLFVBQUNXLEdBQUcsRUFBRUMsR0FBRztFQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNuRVYsWUFBWTtJQUVmVyxVQUFVO01BQUEsSUFBQUMsV0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQUMsSUFBQTtRQUFBLElBQUFDLEtBQUEsRUFBQUMsT0FBQSxFQUFBQyxVQUFBLEVBQUFmLEtBQUEsRUFBQWdCLFdBQUEsRUFBQWYsTUFBQSxFQUFBZ0IsT0FBQSxFQUFBQyxJQUFBLEVBQUFDLHFCQUFBLEVBQUFDLEtBQUEsRUFB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
package/lib/types/Chat.js CHANGED
@@ -7,4 +7,4 @@ export var ChatHistoryRole = /*#__PURE__*/function (ChatHistoryRole) {
7
7
  }({});
8
8
 
9
9
  // Backend pending_approval format (before transformation)
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL1Byb2plY3QnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbidcblxuZXhwb3J0IHR5cGUgQ2hhdEl0ZW0gPSB7XG4gIGNoYXRfaWQ6IHN0cmluZ1xuICBjaGF0X3N0YXR1czogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb246IHN0cmluZ1xuICBsYXN0X3F1ZXN0aW9uX2RhdGU6IHN0cmluZ1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgcV9hbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbF9yYXRpbmc6IG51bWJlclxuICB1c2VyX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdFJlc3BvbnNlID0ge1xuICBpdGVtczogQ2hhdEl0ZW1bXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0ID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudF90eXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXZhdGFyPzogc3RyaW5nXG4gIGF2YXRhckljb24/OiBSZWFjdE5vZGVcbn1cblxuZXhwb3J0IGVudW0gQ2hhdEhpc3RvcnlSb2xlIHtcbiAgVVNFUiA9ICd1c2VyJyxcbiAgQVNTSVNUQU5UID0gJ2Fzc2lzdGFudCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ0FjdGlvbiB7XG4gIHRvb2xfbmFtZTogc3RyaW5nXG4gIHRvb2xfY2FsbF9pZDogc3RyaW5nXG4gIHRvb2xfYXJnczogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIHRocmVhZF9pZDogc3RyaW5nIC8vIEVhY2ggYWN0aW9uIGhhcyBpdHMgb3duIHVuaXF1ZSB0aHJlYWRfaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZhbFJlcXVlc3Qge1xuICB0eXBlOiAnYXBwcm92YWxfcmVxdWlyZWQnXG4gIHBlbmRpbmdfYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIHRvdGFsX2FjdGlvbnM6IG51bWJlclxuICBvcmlnaW5hbF90aHJlYWRfaWQ6IHN0cmluZyAvLyBPcmlnaW5hbCBjaGVja3BvaW50IHRocmVhZF9pZFxuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbWFudWFsX2FwcHJvdmFsX2RldGVjdGVkPzogYm9vbGVhblxuICB3YXJuaW5nX21lc3NhZ2U/OiBzdHJpbmdcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2Vcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VJdGVtID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBjaGF0U3RhdHVzOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uRGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIHFBbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbFJhdGluZzogbnVtYmVyXG4gIHVzZXJJZDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlID0ge1xuICBhZ2VudF9pZDogc3RyaW5nXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICBhbnN3ZXI6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbiAgdGltZXN0YW1wOiBzdHJpbmdcbiAgcXVlc3Rpb246IHN0cmluZ1xuICB3YXNfaGVscGZ1bDogYm9vbGVhbiB8IG51bGxcbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIG1lbW9yeV9zZXNzaW9uX2lkOiBzdHJpbmdcbiAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXSB8IG51bGxcbiAgc3VnZ2VzdF9yZXBseT86IHN0cmluZ1tdIHwgbnVsbFxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tJbmZvIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQW9DQSxXQUFZQSxlQUFlLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTs7QUF1QjNCIiwiaWdub3JlTGlzdCI6W119
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL1Byb2plY3QnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbidcblxuZXhwb3J0IHR5cGUgQ2hhdEl0ZW0gPSB7XG4gIGNoYXRfaWQ6IHN0cmluZ1xuICBjaGF0X3N0YXR1czogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb246IHN0cmluZ1xuICBsYXN0X3F1ZXN0aW9uX2RhdGU6IHN0cmluZ1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgcV9hbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbF9yYXRpbmc6IG51bWJlclxuICB1c2VyX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdFJlc3BvbnNlID0ge1xuICBpdGVtczogQ2hhdEl0ZW1bXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0ID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudF90eXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXZhdGFyPzogc3RyaW5nXG4gIGF2YXRhckljb24/OiBSZWFjdE5vZGVcbn1cblxuZXhwb3J0IGVudW0gQ2hhdEhpc3RvcnlSb2xlIHtcbiAgVVNFUiA9ICd1c2VyJyxcbiAgQVNTSVNUQU5UID0gJ2Fzc2lzdGFudCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ0FjdGlvbiB7XG4gIHRvb2xfbmFtZTogc3RyaW5nXG4gIHRvb2xfY2FsbF9pZDogc3RyaW5nXG4gIHRvb2xfYXJnczogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIHRocmVhZF9pZDogc3RyaW5nIC8vIEVhY2ggYWN0aW9uIGhhcyBpdHMgb3duIHVuaXF1ZSB0aHJlYWRfaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZhbFJlcXVlc3Qge1xuICB0eXBlOiAnYXBwcm92YWxfcmVxdWlyZWQnXG4gIHBlbmRpbmdfYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIHRvdGFsX2FjdGlvbnM6IG51bWJlclxuICBvcmlnaW5hbF90aHJlYWRfaWQ6IHN0cmluZyAvLyBPcmlnaW5hbCBjaGVja3BvaW50IHRocmVhZF9pZFxuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbWFudWFsX2FwcHJvdmFsX2RldGVjdGVkPzogYm9vbGVhblxuICB3YXJuaW5nX21lc3NhZ2U/OiBzdHJpbmdcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2Vcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VJdGVtID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBjaGF0U3RhdHVzOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uRGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIHFBbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbFJhdGluZzogbnVtYmVyXG4gIHVzZXJJZDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlID0ge1xuICBhZ2VudF9pZDogc3RyaW5nXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICBhbnN3ZXI6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbiAgdGltZXN0YW1wOiBzdHJpbmdcbiAgcXVlc3Rpb246IHN0cmluZ1xuICB3YXNfaGVscGZ1bDogYm9vbGVhbiB8IG51bGxcbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIG1lbW9yeV9zZXNzaW9uX2lkOiBzdHJpbmdcbiAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXSB8IG51bGxcbiAgc3VnZ2VzdF9yZXBseT86IHN0cmluZ1tdIHwgbnVsbFxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgdGFza19tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tJbmZvIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQW9DQSxXQUFZQSxlQUFlLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTs7QUF1QjNCIiwiaWdub3JlTGlzdCI6W119
@@ -3,7 +3,6 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import { normalizeHitlToolName } from './hitlAnalytics';
6
- import { logHitlApprovalContext } from './debugMaiaSseLog';
7
6
  var THINKING_MESSAGE_KEYS = ['chat.activity.thinking.analyzing', 'chat.activity.thinking.reviewing', 'chat.activity.thinking.planning'];
8
7
  var GENERATING_MESSAGE_KEYS = ['chat.activity.generating.considering', 'chat.activity.generating.almostReady', 'chat.activity.generating.preparing'];
9
8
  var SEARCH_MESSAGE_KEYS = ['chat.activity.search.scanning', 'chat.activity.search.summarizing'];
@@ -26,6 +25,9 @@ var HITL_TOOL_ACTIVITY_KEYS = {
26
25
  task_assign: 'chat.activity.assigningUser',
27
26
  task_unassign: 'chat.activity.unassigningUser',
28
27
  assign_task_label: 'chat.activity.assigningLabel',
28
+ create_labels: 'chat.activity.creatingLabel',
29
+ edit_project: 'chat.activity.editingProject',
30
+ create_checklist_item: 'chat.activity.creatingChecklistItem',
29
31
  update_task_type: 'chat.activity.updatingTaskType',
30
32
  update_estimated_hours: 'chat.activity.updatingEstimatedHours',
31
33
  update_deliverable: 'chat.activity.updatingDeliverable',
@@ -45,6 +47,15 @@ var HITL_TOOL_NAMES_BY_SPECIFICITY = Object.keys(HITL_TOOL_ACTIVITY_KEYS).sort(f
45
47
  return b.length - a.length;
46
48
  });
47
49
 
50
+ /**
51
+ * Detecta identificadores crudos de tool (snake_case / kebab-case sin espacios) que el backend
52
+ * puede enviar cuando aún no hay traducción. No deben mostrarse al usuario: se usa un fallback
53
+ * genérico hasta que el nombre se agregue al diccionario.
54
+ */
55
+ var looksLikeRawToolName = function looksLikeRawToolName(message) {
56
+ return /^[a-z0-9]+(?:[_-][a-z0-9]+)+$/i.test(message.trim());
57
+ };
58
+
48
59
  /** Mensajes genéricos del backend cuando no hay detalle de tool (continue-thread). */
49
60
  var isGenericResumeNodeMessage = function isGenericResumeNodeMessage(message) {
50
61
  var normalized = message.trim().toLowerCase();
@@ -104,7 +115,7 @@ export var mapNodeMessageToStreamActivity = function mapNodeMessageToStreamActiv
104
115
  };
105
116
  }
106
117
  var trimmedMessage = nodeMessage.trim();
107
- if (trimmedMessage && !isGenericResumeNodeMessage(trimmedMessage)) {
118
+ if (trimmedMessage && !isGenericResumeNodeMessage(trimmedMessage) && !looksLikeRawToolName(trimmedMessage)) {
108
119
  return {
109
120
  phase: 'action',
110
121
  message: trimmedMessage
@@ -149,62 +160,26 @@ var detectToolsFromPendingActions = function detectToolsFromPendingActions(actio
149
160
  export var resolveHitlNodeStreamActivity = function resolveHitlNodeStreamActivity(nodeMessage, t, context, threadId, options) {
150
161
  var pendingForThread = resolvePendingActionsForThread(context, threadId);
151
162
  var detectedTools = detectToolsFromPendingActions(pendingForThread);
152
- if (options !== null && options !== void 0 && options.logSource) {
153
- logHitlApprovalContext(options.logSource, {
154
- messageId: context === null || context === void 0 ? void 0 : context.messageId,
155
- messageText: context === null || context === void 0 ? void 0 : context.messageText,
156
- threadId: threadId,
157
- threadIds: context === null || context === void 0 ? void 0 : context.threadIds,
158
- nodeMessage: nodeMessage,
159
- pendingActions: pendingForThread,
160
- detectedTools: detectedTools
161
- });
162
- }
163
163
  var trimmedNodeMessage = nodeMessage.trim();
164
- var activityFromNodeMessage = trimmedNodeMessage && !isGenericResumeNodeMessage(trimmedNodeMessage) ? {
164
+ var activityFromNodeMessage = trimmedNodeMessage && !isGenericResumeNodeMessage(trimmedNodeMessage) && !looksLikeRawToolName(trimmedNodeMessage) ? {
165
165
  phase: 'action',
166
166
  message: trimmedNodeMessage
167
167
  } : null;
168
- var resolveAndLog = function resolveAndLog(activity) {
169
- if (options !== null && options !== void 0 && options.logSource) {
170
- logHitlApprovalContext("".concat(options.logSource, ":resolved"), {
171
- detectedTools: detectedTools,
172
- resolvedActivity: activity
173
- });
174
- }
175
- return activity;
176
- };
177
168
  if (detectedTools.length >= 1) {
178
169
  if (activityFromNodeMessage) {
179
- return resolveAndLog(activityFromNodeMessage);
170
+ return activityFromNodeMessage;
180
171
  }
181
- return resolveAndLog(mapHitlToolNameToStreamActivity(detectedTools[0], t, options));
172
+ return mapHitlToolNameToStreamActivity(detectedTools[0], t, options);
182
173
  }
183
- return resolveAndLog(mapNodeMessageToStreamActivity(nodeMessage, t, options));
174
+ return mapNodeMessageToStreamActivity(nodeMessage, t, options);
184
175
  };
185
- export var resolveInitialHitlStreamActivity = function resolveInitialHitlStreamActivity(t, context, options) {
176
+ export var resolveInitialHitlStreamActivity = function resolveInitialHitlStreamActivity(t, context) {
186
177
  var pendingActions = resolvePendingActionsForThread(context);
187
178
  var detectedTools = detectToolsFromPendingActions(pendingActions);
188
- if (options !== null && options !== void 0 && options.logSource) {
189
- logHitlApprovalContext(options.logSource, {
190
- messageId: context === null || context === void 0 ? void 0 : context.messageId,
191
- messageText: context === null || context === void 0 ? void 0 : context.messageText,
192
- threadIds: context === null || context === void 0 ? void 0 : context.threadIds,
193
- pendingActions: pendingActions,
194
- detectedTools: detectedTools
195
- });
196
- }
197
179
  if (detectedTools.length >= 1) {
198
- var activity = mapHitlToolNameToStreamActivity(detectedTools[0], t, {
180
+ return mapHitlToolNameToStreamActivity(detectedTools[0], t, {
199
181
  useResumingFallback: true
200
182
  });
201
- if (options !== null && options !== void 0 && options.logSource) {
202
- logHitlApprovalContext("".concat(options.logSource, ":resolved"), {
203
- detectedTools: detectedTools,
204
- resolvedActivity: activity
205
- });
206
- }
207
- return activity;
208
183
  }
209
184
  return {
210
185
  phase: 'processing',
@@ -371,4 +346,4 @@ export var resolveStreamLoadingDisplay = function resolveStreamLoadingDisplay(pa
371
346
  export var isStreamingPlaceholderMessageId = function isStreamingPlaceholderMessageId(messageId) {
372
347
  return typeof messageId === 'string' && messageId.includes('-streaming');
373
348
  };
374
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJsb2dIaXRsQXBwcm92YWxDb250ZXh0IiwiVEhJTktJTkdfTUVTU0FHRV9LRVlTIiwiR0VORVJBVElOR19NRVNTQUdFX0tFWVMiLCJTRUFSQ0hfTUVTU0FHRV9LRVlTIiwiREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTIiwiQVRUQUNITUVOVF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwiLCJXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZIiwiSElUTF9UT09MX0FDVElWSVRZX0tFWVMiLCJjcmVhdGVfdGFzayIsImNsb25lX3Rhc2siLCJjcmVhdGVfdGFza3NfYmF0Y2giLCJjcmVhdGVfYWdlbnQiLCJlZGl0X2FnZW50IiwiZWRpdF90YXNrIiwiZWRpdF90YXNrc19iYXRjaCIsImRlbGV0ZV90YXNrIiwiZGVsZXRlX3Rhc2tzX2JhdGNoIiwidGFza19hc3NpZ24iLCJ0YXNrX3VuYXNzaWduIiwiYXNzaWduX3Rhc2tfbGFiZWwiLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlIiwibWVzc2FnZSIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJsb2dTb3VyY2UiLCJtZXNzYWdlSWQiLCJtZXNzYWdlVGV4dCIsInRyaW1tZWROb2RlTWVzc2FnZSIsImFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlIiwicmVzb2x2ZUFuZExvZyIsImFjdGl2aXR5IiwiY29uY2F0IiwicmVzb2x2ZWRBY3Rpdml0eSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwibmV4dEluZGV4IiwiX29iamVjdFNwcmVhZCIsImNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImhhc0F0dGFjaG1lbnRzIiwiX29wdGlvbnMkYXR0YWNobWVudHNDIiwicmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5IiwicGFyYW1zIiwic3RyZWFtQWN0aXZpdHkiLCJhY3RpdmVLZXlzIiwiYWN0aXZlTG9hZGluZ3MiLCJmaXJzdEtleSIsInJhdyIsInRyaW1tZWQiLCJsb2FkaW5nTWVzc2FnZSIsIndhaXRpbmdSZXNwb25zZSIsImlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5LCBTdHJlYW1BY3Rpdml0eVBoYXNlIH0gZnJvbSAnLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgdHlwZSB7IEFwcHJvdmFsUmVxdWVzdCwgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBub3JtYWxpemVIaXRsVG9vbE5hbWUgfSBmcm9tICcuL2hpdGxBbmFseXRpY3MnXG5pbXBvcnQgeyBsb2dIaXRsQXBwcm92YWxDb250ZXh0IH0gZnJvbSAnLi9kZWJ1Z01haWFTc2VMb2cnXG5cbnR5cGUgVHJhbnNsYXRlRm4gPSAoa2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuXG5jb25zdCBUSElOS0lOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmFuYWx5emluZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnJldmlld2luZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnBsYW5uaW5nJyxcbl0gYXMgY29uc3RcblxuY29uc3QgR0VORVJBVElOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmFsbW9zdFJlYWR5JyxcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5wcmVwYXJpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBTRUFSQ0hfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LnNlYXJjaC5zY2FubmluZycsICdjaGF0LmFjdGl2aXR5LnNlYXJjaC5zdW1tYXJpemluZyddIGFzIGNvbnN0XG5cbmNvbnN0IERFRVBfU0VBUkNIX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZGVlcFNlYXJjaC5leHBsb3JpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmNyb3NzQ2hlY2tpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyA9IFsnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LnJlYWRpbmcnLCAnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LmV4dHJhY3RpbmcnXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZ1BsdXJhbCcsXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZ1BsdXJhbCcsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZID0gJ2NoYXQuYWN0aXZpdHkud3JpdGluZy5jb21wb3NpbmcnIGFzIGNvbnN0XG5cbi8qKiBUb29scyBISVRMIC8gbm9kZSBTU0Ug4oaSIGtleSBpMThuIGRlbCBpbmRpY2Fkb3IgZGUgYWN0aXZpZGFkICh0aWVtcG8gcHJlc2VudGUgY29udGludW8pLiAqL1xuY29uc3QgSElUTF9UT09MX0FDVElWSVRZX0tFWVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNyZWF0ZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Rhc2snLFxuICBjbG9uZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Rhc2snLFxuICBjcmVhdGVfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFza3NCYXRjaCcsXG4gIGNyZWF0ZV9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdBZ2VudCcsXG4gIGVkaXRfYWdlbnQ6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdBZ2VudCcsXG4gIGVkaXRfdGFzazogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ1Rhc2snLFxuICBlZGl0X3Rhc2tzX2JhdGNoOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFza3NCYXRjaCcsXG4gIGRlbGV0ZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5kZWxldGluZ1Rhc2snLFxuICBkZWxldGVfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFza3NCYXRjaCcsXG4gIHRhc2tfYXNzaWduOiAnY2hhdC5hY3Rpdml0eS5hc3NpZ25pbmdVc2VyJyxcbiAgdGFza191bmFzc2lnbjogJ2NoYXQuYWN0aXZpdHkudW5hc3NpZ25pbmdVc2VyJyxcbiAgYXNzaWduX3Rhc2tfbGFiZWw6ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ0xhYmVsJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdUYXNrVHlwZScsXG4gIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2NoYXQuYWN0aXZpdHkubG9nZ2luZ0hvdXJzJyxcbiAgY3JlYXRlX2NoZWNrbGlzdDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3QnLFxuICBnZXRfdGFza19kYXRlX2hvdXJzOiAnY2hhdC5hY3Rpdml0eS5xdWVyeWluZ0hvdXJzJyxcbiAgY29uZmlndXJlX2FnZW50X2FjY2VzczogJ2NoYXQuYWN0aXZpdHkuY29uZmlndXJpbmdBZ2VudEFjY2VzcycsXG4gIHNlbmRfdGFza19tZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5zZW5kaW5nVGFza01lc3NhZ2UnLFxuICBkZWxldGVfY2hlY2tsaXN0X2l0ZW06ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nQ2hlY2tsaXN0SXRlbScsXG4gIHJlbW92ZV90YXNrX3R5cGU6ICdjaGF0LmFjdGl2aXR5LnJlbW92aW5nVGFza1R5cGUnLFxuICByZW1vdmVfdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdMYWJlbCcsXG4gIGNvdW50X2RlbGl2ZXJhYmxlOiAnY2hhdC5hY3Rpdml0eS51cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQnLFxuICBjcmVhdGVfcmV3b3JrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Jld29yaycsXG4gIHVwZGF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nUmV3b3JrJyxcbn1cblxuY29uc3QgSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZID0gT2JqZWN0LmtleXMoSElUTF9UT09MX0FDVElWSVRZX0tFWVMpLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG5cbi8qKiBNZW5zYWplcyBnZW7DqXJpY29zIGRlbCBiYWNrZW5kIGN1YW5kbyBubyBoYXkgZGV0YWxsZSBkZSB0b29sIChjb250aW51ZS10aHJlYWQpLiAqL1xuY29uc3QgaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBtZXNzYWdlLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiAoXG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdlamVjdXRhbmRvIGFjY2nDs24gYXByb2JhZGEnKSB8fFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZXhlY3V0aW5nIGFwcHJvdmVkIGFjdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRhbmRvIGHDp8OjbyBhcHJvdmFkYScpXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHRvb2xOYW1lOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUpXG4gIGNvbnN0IGtleSA9IEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW25vcm1hbGl6ZWRdXG4gIGlmIChrZXkpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoa2V5KSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuY29uc3QgcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlID0gKG5vZGVNZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gIGlmICghbm9ybWFsaXplZCkgcmV0dXJuIG51bGxcblxuICBpZiAoSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF0pIHtcbiAgICByZXR1cm4gbm9ybWFsaXplZFxuICB9XG5cbiAgY29uc3QgYXNUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShub3JtYWxpemVkLnJlcGxhY2UoL1xccysvZywgJ18nKSlcbiAgaWYgKEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW2FzVG9vbE5hbWVdKSB7XG4gICAgcmV0dXJuIGFzVG9vbE5hbWVcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZWRUb29sID0gSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZLmZpbmQodG9vbE5hbWUgPT4gbm9ybWFsaXplZC5pbmNsdWRlcyh0b29sTmFtZSkpXG4gIHJldHVybiBtYXRjaGVkVG9vbCA/PyBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIG5vZGVNZXNzYWdlOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpXG5cbiAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2Uobm9kZU1lc3NhZ2UpXG4gIGlmIChoaXRsVG9vbCkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3Jlc3BvbnNlX2ZpbGVfZ2VuZXJhdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhbmRvIGFyY2hpdm8nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYXRpbmcgZmlsZScpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nRmlsZScpIH1cbiAgfVxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygndGF2aWx5JykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hfd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdidXNjYW5kbyBlbiBsYSB3ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaGluZyB0aGUgd2ViJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWRNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGlmICh0cmltbWVkTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkTWVzc2FnZSB9XG4gIH1cblxuICBpZiAoaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpIHx8IG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuZXhwb3J0IHR5cGUgSGl0bEV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gIG1lc3NhZ2VJZD86IHN0cmluZ1xuICBtZXNzYWdlVGV4dD86IHN0cmluZ1xuICBhcHByb3ZhbD86IEFwcHJvdmFsUmVxdWVzdFxuICBwZW5kaW5nQWN0aW9ucz86IFBlbmRpbmdBY3Rpb25bXVxuICB0aHJlYWRJZHM/OiBzdHJpbmdbXVxufVxuXG5jb25zdCByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQgPSAoXG4gIGNvbnRleHQ6IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmdcbik6IFBlbmRpbmdBY3Rpb25bXSA9PiB7XG4gIGNvbnN0IHBlbmRpbmcgPSBjb250ZXh0Py5wZW5kaW5nQWN0aW9ucyA/PyBjb250ZXh0Py5hcHByb3ZhbD8ucGVuZGluZ19hY3Rpb25zID8/IFtdXG4gIGlmICghcGVuZGluZy5sZW5ndGgpIHJldHVybiBbXVxuXG4gIGlmICh0aHJlYWRJZCkge1xuICAgIGNvbnN0IGZvclRocmVhZCA9IHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udGhyZWFkX2lkID09PSB0aHJlYWRJZClcbiAgICBpZiAoZm9yVGhyZWFkLmxlbmd0aCkgcmV0dXJuIGZvclRocmVhZFxuICB9XG5cbiAgaWYgKGNvbnRleHQ/LnRocmVhZElkcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBjb250ZXh0LnRocmVhZElkcz8uaW5jbHVkZXMoYWN0aW9uLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gcGVuZGluZ1xufVxuXG5jb25zdCBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyA9IChhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pOiBzdHJpbmdbXSA9PiBbXG4gIC4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYWN0aW9uID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhY3Rpb24udG9vbF9uYW1lKSkuZmlsdGVyKEJvb2xlYW4pKSxcbl1cblxuLyoqIFJlc3VlbHZlIGluZGljYWRvciBISVRMIHByaW9yaXphbmRvIHBlbmRpbmdfYWN0aW9ucyBkZWwgbWVuc2FqZSBkZSBhcHJvYmFjacOzbiBhbnRlcmlvci4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwsXG4gIHRocmVhZElkPzogc3RyaW5nLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbjsgbG9nU291cmNlPzogc3RyaW5nIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0ZvclRocmVhZCA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0LCB0aHJlYWRJZClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdGb3JUaHJlYWQpXG5cbiAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQob3B0aW9ucy5sb2dTb3VyY2UsIHtcbiAgICAgIG1lc3NhZ2VJZDogY29udGV4dD8ubWVzc2FnZUlkLFxuICAgICAgbWVzc2FnZVRleHQ6IGNvbnRleHQ/Lm1lc3NhZ2VUZXh0LFxuICAgICAgdGhyZWFkSWQsXG4gICAgICB0aHJlYWRJZHM6IGNvbnRleHQ/LnRocmVhZElkcyxcbiAgICAgIG5vZGVNZXNzYWdlLFxuICAgICAgcGVuZGluZ0FjdGlvbnM6IHBlbmRpbmdGb3JUaHJlYWQsXG4gICAgICBkZXRlY3RlZFRvb2xzLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCB0cmltbWVkTm9kZU1lc3NhZ2UgPSBub2RlTWVzc2FnZS50cmltKClcbiAgY29uc3QgYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UgPVxuICAgIHRyaW1tZWROb2RlTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE5vZGVNZXNzYWdlKVxuICAgICAgPyB7IHBoYXNlOiAnYWN0aW9uJyBhcyBjb25zdCwgbWVzc2FnZTogdHJpbW1lZE5vZGVNZXNzYWdlIH1cbiAgICAgIDogbnVsbFxuXG4gIGNvbnN0IHJlc29sdmVBbmRMb2cgPSAoYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5KSA9PiB7XG4gICAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgICAgbG9nSGl0bEFwcHJvdmFsQ29udGV4dChgJHtvcHRpb25zLmxvZ1NvdXJjZX06cmVzb2x2ZWRgLCB7XG4gICAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgICAgIHJlc29sdmVkQWN0aXZpdHk6IGFjdGl2aXR5LFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2aXR5XG4gIH1cblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIGlmIChhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHJlc29sdmVBbmRMb2coYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UpXG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlQW5kTG9nKG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgb3B0aW9ucykpXG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZUFuZExvZyhtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkobm9kZU1lc3NhZ2UsIHQsIG9wdGlvbnMpKVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBjb250ZXh0PzogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsLFxuICBvcHRpb25zPzogeyBsb2dTb3VyY2U/OiBzdHJpbmcgfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBwZW5kaW5nQWN0aW9ucyA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0KVxuICBjb25zdCBkZXRlY3RlZFRvb2xzID0gZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMocGVuZGluZ0FjdGlvbnMpXG5cbiAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQob3B0aW9ucy5sb2dTb3VyY2UsIHtcbiAgICAgIG1lc3NhZ2VJZDogY29udGV4dD8ubWVzc2FnZUlkLFxuICAgICAgbWVzc2FnZVRleHQ6IGNvbnRleHQ/Lm1lc3NhZ2VUZXh0LFxuICAgICAgdGhyZWFkSWRzOiBjb250ZXh0Py50aHJlYWRJZHMsXG4gICAgICBwZW5kaW5nQWN0aW9ucyxcbiAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIGlmIChvcHRpb25zPy5sb2dTb3VyY2UpIHtcbiAgICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQoYCR7b3B0aW9ucy5sb2dTb3VyY2V9OnJlc29sdmVkYCwge1xuICAgICAgICBkZXRlY3RlZFRvb2xzLFxuICAgICAgICByZXNvbHZlZEFjdGl2aXR5OiBhY3Rpdml0eSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBhY3Rpdml0eVxuICB9XG5cbiAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogdCgnY2hhdC5wcm9jZXNzaW5nJykgfVxufVxuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMgPSAzMjAwXG5cbmNvbnN0IFJPVEFUQUJMRV9QSEFTRVM6IFN0cmVhbUFjdGl2aXR5UGhhc2VbXSA9IFsnZ2VuZXJhdGluZycsICd0aGlua2luZycsICdzZWFyY2gnLCAnZGVlcF9zZWFyY2gnLCAnYXR0YWNobWVudCddXG5cbmNvbnN0IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsIGF0dGFjaG1lbnRzQ291bnQgPSAwKTogcmVhZG9ubHkgc3RyaW5nW10gfCBudWxsID0+IHtcbiAgc3dpdGNoIChwaGFzZSkge1xuICAgIGNhc2UgJ2dlbmVyYXRpbmcnOlxuICAgICAgcmV0dXJuIEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAndGhpbmtpbmcnOlxuICAgICAgcmV0dXJuIFRISU5LSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICByZXR1cm4gU0VBUkNIX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ2RlZXBfc2VhcmNoJzpcbiAgICAgIHJldHVybiBERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdhdHRhY2htZW50JzpcbiAgICAgIHJldHVybiBhdHRhY2htZW50c0NvdW50ID4gMSA/IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA6IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXggPSAoXG4gIHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLFxuICBpbmRleDogbnVtYmVyLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgYXR0YWNobWVudHNDb3VudCA9IDBcbik6IHN0cmluZyA9PiB7XG4gIGlmIChwaGFzZSA9PT0gJ3dyaXRpbmcnKSB7XG4gICAgcmV0dXJuIHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSlcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlKHBoYXNlLCBhdHRhY2htZW50c0NvdW50KVxuICBpZiAoIWtleXM/Lmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgY29uc3QgY2xhbXBlZEluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgaW5kZXgpLCBrZXlzLmxlbmd0aCAtIDEpXG4gIHJldHVybiB0KGtleXNbY2xhbXBlZEluZGV4XSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgndGhpbmtpbmcnLCBpbmRleCwgdClcblxuZXhwb3J0IGNvbnN0IGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSA9IChpbmRleDogbnVtYmVyLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdnZW5lcmF0aW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSlcbiAgaWYgKCFrZXlzKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRJbmRleCA8IGtleXMubGVuZ3RoIC0gMVxufVxuXG5leHBvcnQgY29uc3QgYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5LFxuICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm5cbik6IHsgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5OyBuZXh0SW5kZXg6IG51bWJlciB9IHwgbnVsbCA9PiB7XG4gIGlmICghY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZShhY3Rpdml0eS5waGFzZSwgY3VycmVudEluZGV4KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggKyAxXG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHk6IHtcbiAgICAgIHBoYXNlOiBhY3Rpdml0eS5waGFzZSxcbiAgICAgIG1lc3NhZ2U6IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoYWN0aXZpdHkucGhhc2UsIG5leHRJbmRleCwgdCwgYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCksXG4gICAgICAuLi4oYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCAhPSBudWxsICYmIHsgYXR0YWNobWVudHNDb3VudDogYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCB9KSxcbiAgICB9LFxuICAgIG5leHRJbmRleCxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSk6IGJvb2xlYW4gPT4gUk9UQVRBQkxFX1BIQVNFUy5pbmNsdWRlcyhwaGFzZSlcblxuZXhwb3J0IGNvbnN0IGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSA9ICh0OiBUcmFuc2xhdGVGbik6IFN0cmVhbUFjdGl2aXR5ID0+ICh7XG4gIHBoYXNlOiAnd3JpdGluZycsXG4gIG1lc3NhZ2U6IHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSksXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5ID0gKFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9uczoge1xuICAgIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBoYXNBdHRhY2htZW50cz86IGJvb2xlYW5cbiAgICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgaWYgKG9wdGlvbnMuaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6IHQoU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnZGVlcF9zZWFyY2gnLCBtZXNzYWdlOiB0KERFRVBfU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmhhc0F0dGFjaG1lbnRzKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHNDb3VudCA9IG9wdGlvbnMuYXR0YWNobWVudHNDb3VudCA/PyAwXG4gICAgcmV0dXJuIHtcbiAgICAgIHBoYXNlOiAnYXR0YWNobWVudCcsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdhdHRhY2htZW50JywgMCwgdCwgYXR0YWNobWVudHNDb3VudCksXG4gICAgICBhdHRhY2htZW50c0NvdW50LFxuICAgIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiB0KEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTWzBdKSB9XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkgPSAocGFyYW1zOiB7XG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgYWN0aXZlTG9hZGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgd2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuXG4gIGlzV2ViU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIHQ6IFRyYW5zbGF0ZUZuXG59KTogU3RyZWFtQWN0aXZpdHkgfCBudWxsID0+IHtcbiAgaWYgKHBhcmFtcy5zdHJlYW1BY3Rpdml0eSkge1xuICAgIHJldHVybiBwYXJhbXMuc3RyZWFtQWN0aXZpdHlcbiAgfVxuXG4gIGNvbnN0IGFjdGl2ZUtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMuYWN0aXZlTG9hZGluZ3MpXG4gIGlmIChhY3RpdmVLZXlzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdEtleSA9IGFjdGl2ZUtleXNbMF1cbiAgICBjb25zdCByYXcgPSBwYXJhbXMuYWN0aXZlTG9hZGluZ3NbZmlyc3RLZXldXG4gICAgaWYgKHJhdyAmJiByYXcgIT09IHBhcmFtcy50KCdjaGF0LnByb2Nlc3NpbmcnKSkge1xuICAgICAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UocmF3KVxuICAgICAgaWYgKGhpdGxUb29sKSB7XG4gICAgICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCBwYXJhbXMudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHJpbW1lZCA9IHJhdy50cmltKClcbiAgICAgIGlmICh0cmltbWVkICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkKSkge1xuICAgICAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWQgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KHJhdywgcGFyYW1zLnQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIH1cbiAgICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSkge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQud3JpdGluZycpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHBhcmFtcy50KVxuICAgIH1cbiAgICBpZiAocGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nJykpIHtcbiAgICAgIHJldHVybiB7IHBoYXNlOiAnZ2VuZXJhdGluZycsIG1lc3NhZ2U6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJyksXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpLFxuICAgICAgICBoYXNBdHRhY2htZW50czogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpLFxuICAgICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMud2FpdGluZ1Jlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMuaGFzQXR0YWNobWVudHMsXG4gICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIHR5cGVvZiBtZXNzYWdlSWQgPT09ICdzdHJpbmcnICYmIG1lc3NhZ2VJZC5pbmNsdWRlcygnLXN0cmVhbWluZycpXG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxTQUFTQSxxQkFBcUIsUUFBUSxpQkFBaUI7QUFDdkQsU0FBU0Msc0JBQXNCLFFBQVEsbUJBQW1CO0FBSTFELElBQU1DLHFC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
349
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJUSElOS0lOR19NRVNTQUdFX0tFWVMiLCJHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyIsIlNFQVJDSF9NRVNTQUdFX0tFWVMiLCJERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyIsIkFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCIsIldSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkiLCJISVRMX1RPT0xfQUNUSVZJVFlfS0VZUyIsImNyZWF0ZV90YXNrIiwiY2xvbmVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImNyZWF0ZV9hZ2VudCIsImVkaXRfYWdlbnQiLCJlZGl0X3Rhc2siLCJlZGl0X3Rhc2tzX2JhdGNoIiwiZGVsZXRlX3Rhc2siLCJkZWxldGVfdGFza3NfYmF0Y2giLCJ0YXNrX2Fzc2lnbiIsInRhc2tfdW5hc3NpZ24iLCJhc3NpZ25fdGFza19sYWJlbCIsImNyZWF0ZV9sYWJlbHMiLCJlZGl0X3Byb2plY3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImxvb2tzTGlrZVJhd1Rvb2xOYW1lIiwibWVzc2FnZSIsInRlc3QiLCJ0cmltIiwiaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UiLCJub3JtYWxpemVkIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJ0cmltbWVkTm9kZU1lc3NhZ2UiLCJhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiYWN0aXZpdHkiLCJuZXh0SW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwiY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSIsImdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSIsImdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSIsImlzV2ViU2VhcmNoQWN0aXZlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiaGFzQXR0YWNobWVudHMiLCJfb3B0aW9ucyRhdHRhY2htZW50c0MiLCJyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkiLCJwYXJhbXMiLCJzdHJlYW1BY3Rpdml0eSIsImFjdGl2ZUtleXMiLCJhY3RpdmVMb2FkaW5ncyIsImZpcnN0S2V5IiwicmF3IiwidHJpbW1lZCIsImxvYWRpbmdNZXNzYWdlIiwid2FpdGluZ1Jlc3BvbnNlIiwiaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCIsIm1lc3NhZ2VJZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHksIFN0cmVhbUFjdGl2aXR5UGhhc2UgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB0eXBlIHsgQXBwcm92YWxSZXF1ZXN0LCBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSB9IGZyb20gJy4vaGl0bEFuYWx5dGljcydcblxudHlwZSBUcmFuc2xhdGVGbiA9IChrZXk6IHN0cmluZykgPT4gc3RyaW5nXG5cbmNvbnN0IFRISU5LSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucGxhbm5pbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5jb25zaWRlcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuYWxtb3N0UmVhZHknLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLnByZXBhcmluZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFNFQVJDSF9NRVNTQUdFX0tFWVMgPSBbJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJywgJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnN1bW1hcml6aW5nJ10gYXMgY29uc3RcblxuY29uc3QgREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmV4cGxvcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmRlZXBTZWFyY2guY3Jvc3NDaGVja2luZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZycsICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZyddIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5yZWFkaW5nUGx1cmFsJyxcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5leHRyYWN0aW5nUGx1cmFsJyxcbl0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkgPSAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmNvbXBvc2luZycgYXMgY29uc3RcblxuLyoqIFRvb2xzIEhJVEwgLyBub2RlIFNTRSDihpIga2V5IGkxOG4gZGVsIGluZGljYWRvciBkZSBhY3RpdmlkYWQgKHRpZW1wbyBwcmVzZW50ZSBjb250aW51bykuICovXG5jb25zdCBISVRMX1RPT0xfQUNUSVZJVFlfS0VZUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY3JlYXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNsb25lX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNyZWF0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdUYXNrc0JhdGNoJyxcbiAgY3JlYXRlX2FnZW50OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0FnZW50JyxcbiAgZWRpdF9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ0FnZW50JyxcbiAgZWRpdF90YXNrOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFzaycsXG4gIGVkaXRfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdUYXNrc0JhdGNoJyxcbiAgZGVsZXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFzaycsXG4gIGRlbGV0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdUYXNrc0JhdGNoJyxcbiAgdGFza19hc3NpZ246ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ1VzZXInLFxuICB0YXNrX3VuYXNzaWduOiAnY2hhdC5hY3Rpdml0eS51bmFzc2lnbmluZ1VzZXInLFxuICBhc3NpZ25fdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkuYXNzaWduaW5nTGFiZWwnLFxuICBjcmVhdGVfbGFiZWxzOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0xhYmVsJyxcbiAgZWRpdF9wcm9qZWN0OiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nUHJvamVjdCcsXG4gIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3RJdGVtJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdUYXNrVHlwZScsXG4gIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2NoYXQuYWN0aXZpdHkubG9nZ2luZ0hvdXJzJyxcbiAgY3JlYXRlX2NoZWNrbGlzdDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3QnLFxuICBnZXRfdGFza19kYXRlX2hvdXJzOiAnY2hhdC5hY3Rpdml0eS5xdWVyeWluZ0hvdXJzJyxcbiAgY29uZmlndXJlX2FnZW50X2FjY2VzczogJ2NoYXQuYWN0aXZpdHkuY29uZmlndXJpbmdBZ2VudEFjY2VzcycsXG4gIHNlbmRfdGFza19tZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5zZW5kaW5nVGFza01lc3NhZ2UnLFxuICBkZWxldGVfY2hlY2tsaXN0X2l0ZW06ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nQ2hlY2tsaXN0SXRlbScsXG4gIHJlbW92ZV90YXNrX3R5cGU6ICdjaGF0LmFjdGl2aXR5LnJlbW92aW5nVGFza1R5cGUnLFxuICByZW1vdmVfdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdMYWJlbCcsXG4gIGNvdW50X2RlbGl2ZXJhYmxlOiAnY2hhdC5hY3Rpdml0eS51cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQnLFxuICBjcmVhdGVfcmV3b3JrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Jld29yaycsXG4gIHVwZGF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nUmV3b3JrJyxcbn1cblxuY29uc3QgSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZID0gT2JqZWN0LmtleXMoSElUTF9UT09MX0FDVElWSVRZX0tFWVMpLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG5cbi8qKlxuICogRGV0ZWN0YSBpZGVudGlmaWNhZG9yZXMgY3J1ZG9zIGRlIHRvb2wgKHNuYWtlX2Nhc2UgLyBrZWJhYi1jYXNlIHNpbiBlc3BhY2lvcykgcXVlIGVsIGJhY2tlbmRcbiAqIHB1ZWRlIGVudmlhciBjdWFuZG8gYcO6biBubyBoYXkgdHJhZHVjY2nDs24uIE5vIGRlYmVuIG1vc3RyYXJzZSBhbCB1c3VhcmlvOiBzZSB1c2EgdW4gZmFsbGJhY2tcbiAqIGdlbsOpcmljbyBoYXN0YSBxdWUgZWwgbm9tYnJlIHNlIGFncmVndWUgYWwgZGljY2lvbmFyaW8uXG4gKi9cbmNvbnN0IGxvb2tzTGlrZVJhd1Rvb2xOYW1lID0gKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4gPT4gL15bYS16MC05XSsoPzpbXy1dW2EtejAtOV0rKSskL2kudGVzdChtZXNzYWdlLnRyaW0oKSlcblxuLyoqIE1lbnNhamVzIGdlbsOpcmljb3MgZGVsIGJhY2tlbmQgY3VhbmRvIG5vIGhheSBkZXRhbGxlIGRlIHRvb2wgKGNvbnRpbnVlLXRocmVhZCkuICovXG5jb25zdCBpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSA9IChtZXNzYWdlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG1lc3NhZ2UudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgcmV0dXJuIChcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2VqZWN1dGFuZG8gYWNjacOzbiBhcHJvYmFkYScpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRpbmcgYXBwcm92ZWQgYWN0aW9uJykgfHxcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2V4ZWN1dGFuZG8gYcOnw6NvIGFwcm92YWRhJylcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSA9IChcbiAgdG9vbE5hbWU6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSlcbiAgY29uc3Qga2V5ID0gSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF1cbiAgaWYgKGtleSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdChrZXkpIH1cbiAgfVxuICBpZiAob3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5jb25zdCByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UgPSAobm9kZU1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4gbnVsbFxuXG4gIGlmIChISVRMX1RPT0xfQUNUSVZJVFlfS0VZU1tub3JtYWxpemVkXSkge1xuICAgIHJldHVybiBub3JtYWxpemVkXG4gIH1cblxuICBjb25zdCBhc1Rvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKG5vcm1hbGl6ZWQucmVwbGFjZSgvXFxzKy9nLCAnXycpKVxuICBpZiAoSElUTF9UT09MX0FDVElWSVRZX0tFWVNbYXNUb29sTmFtZV0pIHtcbiAgICByZXR1cm4gYXNUb29sTmFtZVxuICB9XG5cbiAgY29uc3QgbWF0Y2hlZFRvb2wgPSBISVRMX1RPT0xfTkFNRVNfQllfU1BFQ0lGSUNJVFkuZmluZCh0b29sTmFtZSA9PiBub3JtYWxpemVkLmluY2x1ZGVzKHRvb2xOYW1lKSlcbiAgcmV0dXJuIG1hdGNoZWRUb29sID8/IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKClcblxuICBjb25zdCBoaXRsVG9vbCA9IHJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZShub2RlTWVzc2FnZSlcbiAgaWYgKGhpdGxUb29sKSB7XG4gICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoaGl0bFRvb2wsIHQsIG9wdGlvbnMpXG4gIH1cblxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygncmVzcG9uc2VfZmlsZV9nZW5lcmF0aW9uJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdnZW5lcmFuZG8gYXJjaGl2bycpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhdGluZyBmaWxlJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmdGaWxlJykgfVxuICB9XG4gIGlmIChcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCd0YXZpbHknKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaF93ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2J1c2NhbmRvIGVuIGxhIHdlYicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnc2VhcmNoaW5nIHRoZSB3ZWInKVxuICApIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6IHQoU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG5cbiAgY29uc3QgdHJpbW1lZE1lc3NhZ2UgPSBub2RlTWVzc2FnZS50cmltKClcbiAgaWYgKHRyaW1tZWRNZXNzYWdlICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTWVzc2FnZSkgJiYgIWxvb2tzTGlrZVJhd1Rvb2xOYW1lKHRyaW1tZWRNZXNzYWdlKSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdHJpbW1lZE1lc3NhZ2UgfVxuICB9XG5cbiAgaWYgKGlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlKHRyaW1tZWRNZXNzYWdlKSB8fCBvcHRpb25zPy51c2VSZXN1bWluZ0ZhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmFjdGl2aXR5LnJlc3VtaW5nQWN0aW9uJykgfVxuICB9XG4gIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5leGVjdXRpbmdBY3Rpb24nKSB9XG59XG5cbmV4cG9ydCB0eXBlIEhpdGxFeGVjdXRpb25Db250ZXh0ID0ge1xuICBtZXNzYWdlSWQ/OiBzdHJpbmdcbiAgbWVzc2FnZVRleHQ/OiBzdHJpbmdcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgcGVuZGluZ0FjdGlvbnM/OiBQZW5kaW5nQWN0aW9uW11cbiAgdGhyZWFkSWRzPzogc3RyaW5nW11cbn1cblxuY29uc3QgcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkID0gKFxuICBjb250ZXh0OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHRocmVhZElkPzogc3RyaW5nXG4pOiBQZW5kaW5nQWN0aW9uW10gPT4ge1xuICBjb25zdCBwZW5kaW5nID0gY29udGV4dD8ucGVuZGluZ0FjdGlvbnMgPz8gY29udGV4dD8uYXBwcm92YWw/LnBlbmRpbmdfYWN0aW9ucyA/PyBbXVxuICBpZiAoIXBlbmRpbmcubGVuZ3RoKSByZXR1cm4gW11cblxuICBpZiAodGhyZWFkSWQpIHtcbiAgICBjb25zdCBmb3JUaHJlYWQgPSBwZW5kaW5nLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnRocmVhZF9pZCA9PT0gdGhyZWFkSWQpXG4gICAgaWYgKGZvclRocmVhZC5sZW5ndGgpIHJldHVybiBmb3JUaHJlYWRcbiAgfVxuXG4gIGlmIChjb250ZXh0Py50aHJlYWRJZHM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBwZW5kaW5nLmZpbHRlcihhY3Rpb24gPT4gY29udGV4dC50aHJlYWRJZHM/LmluY2x1ZGVzKGFjdGlvbi50aHJlYWRfaWQpKVxuICB9XG5cbiAgcmV0dXJuIHBlbmRpbmdcbn1cblxuY29uc3QgZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMgPSAoYWN0aW9uczogUGVuZGluZ0FjdGlvbltdKTogc3RyaW5nW10gPT4gW1xuICAuLi5uZXcgU2V0KGFjdGlvbnMubWFwKGFjdGlvbiA9PiBub3JtYWxpemVIaXRsVG9vbE5hbWUoYWN0aW9uLnRvb2xfbmFtZSkpLmZpbHRlcihCb29sZWFuKSksXG5dXG5cbi8qKiBSZXN1ZWx2ZSBpbmRpY2Fkb3IgSElUTCBwcmlvcml6YW5kbyBwZW5kaW5nX2FjdGlvbnMgZGVsIG1lbnNhamUgZGUgYXByb2JhY2nDs24gYW50ZXJpb3IuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHkgPSAoXG4gIG5vZGVNZXNzYWdlOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBjb250ZXh0PzogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsLFxuICB0aHJlYWRJZD86IHN0cmluZyxcbiAgb3B0aW9ucz86IHsgdXNlUmVzdW1pbmdGYWxsYmFjaz86IGJvb2xlYW4gfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBwZW5kaW5nRm9yVGhyZWFkID0gcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkKGNvbnRleHQsIHRocmVhZElkKVxuICBjb25zdCBkZXRlY3RlZFRvb2xzID0gZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMocGVuZGluZ0ZvclRocmVhZClcblxuICBjb25zdCB0cmltbWVkTm9kZU1lc3NhZ2UgPSBub2RlTWVzc2FnZS50cmltKClcbiAgY29uc3QgYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UgPVxuICAgIHRyaW1tZWROb2RlTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE5vZGVNZXNzYWdlKSAmJiAhbG9va3NMaWtlUmF3VG9vbE5hbWUodHJpbW1lZE5vZGVNZXNzYWdlKVxuICAgICAgPyB7IHBoYXNlOiAnYWN0aW9uJyBhcyBjb25zdCwgbWVzc2FnZTogdHJpbW1lZE5vZGVNZXNzYWdlIH1cbiAgICAgIDogbnVsbFxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgaWYgKGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlKSB7XG4gICAgICByZXR1cm4gYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2VcbiAgICB9XG4gICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgb3B0aW9ucylcbiAgfVxuXG4gIHJldHVybiBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkobm9kZU1lc3NhZ2UsIHQsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlSW5pdGlhbEhpdGxTdHJlYW1BY3Rpdml0eSA9IChcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGxcbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0FjdGlvbnMgPSByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQoY29udGV4dClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdBY3Rpb25zKVxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgeyB1c2VSZXN1bWluZ0ZhbGxiYWNrOiB0cnVlIH0pXG4gIH1cblxuICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiB0KCdjaGF0LnByb2Nlc3NpbmcnKSB9XG59XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9NRVNTQUdFX1JPVEFURV9NUyA9IDMyMDBcblxuY29uc3QgUk9UQVRBQkxFX1BIQVNFUzogU3RyZWFtQWN0aXZpdHlQaGFzZVtdID0gWydnZW5lcmF0aW5nJywgJ3RoaW5raW5nJywgJ3NlYXJjaCcsICdkZWVwX3NlYXJjaCcsICdhdHRhY2htZW50J11cblxuY29uc3QgZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSwgYXR0YWNobWVudHNDb3VudCA9IDApOiByZWFkb25seSBzdHJpbmdbXSB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKHBoYXNlKSB7XG4gICAgY2FzZSAnZ2VuZXJhdGluZyc6XG4gICAgICByZXR1cm4gR0VORVJBVElOR19NRVNTQUdFX0tFWVNcbiAgICBjYXNlICd0aGlua2luZyc6XG4gICAgICByZXR1cm4gVEhJTktJTkdfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAnc2VhcmNoJzpcbiAgICAgIHJldHVybiBTRUFSQ0hfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAnZGVlcF9zZWFyY2gnOlxuICAgICAgcmV0dXJuIERFRVBfU0VBUkNIX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ2F0dGFjaG1lbnQnOlxuICAgICAgcmV0dXJuIGF0dGFjaG1lbnRzQ291bnQgPiAxID8gQVRUQUNITUVOVF9NRVNTQUdFX0tFWVNfUExVUkFMIDogQVRUQUNITUVOVF9NRVNTQUdFX0tFWVNcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCA9IChcbiAgcGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsXG4gIGluZGV4OiBudW1iZXIsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBhdHRhY2htZW50c0NvdW50ID0gMFxuKTogc3RyaW5nID0+IHtcbiAgaWYgKHBoYXNlID09PSAnd3JpdGluZycpIHtcbiAgICByZXR1cm4gdChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKVxuICB9XG5cbiAgY29uc3Qga2V5cyA9IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UocGhhc2UsIGF0dGFjaG1lbnRzQ291bnQpXG4gIGlmICgha2V5cz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBjb25zdCBjbGFtcGVkSW5kZXggPSBNYXRoLm1pbihNYXRoLm1heCgwLCBpbmRleCksIGtleXMubGVuZ3RoIC0gMSlcbiAgcmV0dXJuIHQoa2V5c1tjbGFtcGVkSW5kZXhdKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSA9IChpbmRleDogbnVtYmVyLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCd0aGlua2luZycsIGluZGV4LCB0KVxuXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGluZ0xvYWRpbmdNZXNzYWdlID0gKGluZGV4OiBudW1iZXIsIHQ6IFRyYW5zbGF0ZUZuKTogc3RyaW5nID0+XG4gIGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ2dlbmVyYXRpbmcnLCBpbmRleCwgdClcblxuZXhwb3J0IGNvbnN0IGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGtleXMgPSBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlKHBoYXNlKVxuICBpZiAoIWtleXMpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gY3VycmVudEluZGV4IDwga2V5cy5sZW5ndGggLSAxXG59XG5cbmV4cG9ydCBjb25zdCBhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlID0gKFxuICBhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHksXG4gIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICB0OiBUcmFuc2xhdGVGblxuKTogeyBhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHk7IG5leHRJbmRleDogbnVtYmVyIH0gfCBudWxsID0+IHtcbiAgaWYgKCFjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlKGFjdGl2aXR5LnBoYXNlLCBjdXJyZW50SW5kZXgpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDFcbiAgcmV0dXJuIHtcbiAgICBhY3Rpdml0eToge1xuICAgICAgcGhhc2U6IGFjdGl2aXR5LnBoYXNlLFxuICAgICAgbWVzc2FnZTogZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleChhY3Rpdml0eS5waGFzZSwgbmV4dEluZGV4LCB0LCBhY3Rpdml0eS5hdHRhY2htZW50c0NvdW50KSxcbiAgICAgIC4uLihhY3Rpdml0eS5hdHRhY2htZW50c0NvdW50ICE9IG51bGwgJiYgeyBhdHRhY2htZW50c0NvdW50OiBhY3Rpdml0eS5hdHRhY2htZW50c0NvdW50IH0pLFxuICAgIH0sXG4gICAgbmV4dEluZGV4LFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjYW5Sb3RhdGVTdHJlYW1BY3Rpdml0eVBoYXNlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlKTogYm9vbGVhbiA9PiBST1RBVEFCTEVfUEhBU0VTLmluY2x1ZGVzKHBoYXNlKVxuXG5leHBvcnQgY29uc3QgZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5ID0gKHQ6IFRyYW5zbGF0ZUZuKTogU3RyZWFtQWN0aXZpdHkgPT4gKHtcbiAgcGhhc2U6ICd3cml0aW5nJyxcbiAgbWVzc2FnZTogdChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zOiB7XG4gICAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGhhc0F0dGFjaG1lbnRzPzogYm9vbGVhblxuICAgIGF0dGFjaG1lbnRzQ291bnQ/OiBudW1iZXJcbiAgfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBpZiAob3B0aW9ucy5pc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnc2VhcmNoJywgbWVzc2FnZTogdChTRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cbiAgaWYgKG9wdGlvbnMuaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdkZWVwX3NlYXJjaCcsIG1lc3NhZ2U6IHQoREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cbiAgaWYgKG9wdGlvbnMuaGFzQXR0YWNobWVudHMpIHtcbiAgICBjb25zdCBhdHRhY2htZW50c0NvdW50ID0gb3B0aW9ucy5hdHRhY2htZW50c0NvdW50ID8/IDBcbiAgICByZXR1cm4ge1xuICAgICAgcGhhc2U6ICdhdHRhY2htZW50JyxcbiAgICAgIG1lc3NhZ2U6IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ2F0dGFjaG1lbnQnLCAwLCB0LCBhdHRhY2htZW50c0NvdW50KSxcbiAgICAgIGF0dGFjaG1lbnRzQ291bnQsXG4gICAgfVxuICB9XG4gIHJldHVybiB7IHBoYXNlOiAnZ2VuZXJhdGluZycsIG1lc3NhZ2U6IHQoR0VORVJBVElOR19NRVNTQUdFX0tFWVNbMF0pIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSA9IChwYXJhbXM6IHtcbiAgc3RyZWFtQWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbFxuICBsb2FkaW5nTWVzc2FnZTogc3RyaW5nIHwgbnVsbFxuICBhY3RpdmVMb2FkaW5nczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB3YWl0aW5nUmVzcG9uc2U6IGJvb2xlYW5cbiAgaXNXZWJTZWFyY2hBY3RpdmU6IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG4gIGF0dGFjaG1lbnRzQ291bnQ/OiBudW1iZXJcbiAgdDogVHJhbnNsYXRlRm5cbn0pOiBTdHJlYW1BY3Rpdml0eSB8IG51bGwgPT4ge1xuICBpZiAocGFyYW1zLnN0cmVhbUFjdGl2aXR5KSB7XG4gICAgcmV0dXJuIHBhcmFtcy5zdHJlYW1BY3Rpdml0eVxuICB9XG5cbiAgY29uc3QgYWN0aXZlS2V5cyA9IE9iamVjdC5rZXlzKHBhcmFtcy5hY3RpdmVMb2FkaW5ncylcbiAgaWYgKGFjdGl2ZUtleXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpcnN0S2V5ID0gYWN0aXZlS2V5c1swXVxuICAgIGNvbnN0IHJhdyA9IHBhcmFtcy5hY3RpdmVMb2FkaW5nc1tmaXJzdEtleV1cbiAgICBpZiAocmF3ICYmIHJhdyAhPT0gcGFyYW1zLnQoJ2NoYXQucHJvY2Vzc2luZycpKSB7XG4gICAgICBjb25zdCBoaXRsVG9vbCA9IHJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZShyYXcpXG4gICAgICBpZiAoaGl0bFRvb2wpIHtcbiAgICAgICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoaGl0bFRvb2wsIHBhcmFtcy50KVxuICAgICAgfVxuXG4gICAgICBjb25zdCB0cmltbWVkID0gcmF3LnRyaW0oKVxuICAgICAgaWYgKHRyaW1tZWQgJiYgIWlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlKHRyaW1tZWQpKSB7XG4gICAgICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdHJpbW1lZCB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkocmF3LCBwYXJhbXMudCwgeyB1c2VSZXN1bWluZ0ZhbGxiYWNrOiB0cnVlIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAncHJvY2Vzc2luZycsIG1lc3NhZ2U6IHBhcmFtcy50KCdjaGF0LnByb2Nlc3NpbmcnKSB9XG4gIH1cblxuICBpZiAocGFyYW1zLmxvYWRpbmdNZXNzYWdlKSB7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC53cml0aW5nJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSlcbiAgICApIHtcbiAgICAgIHJldHVybiBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkocGFyYW1zLnQpXG4gICAgfVxuICAgIGlmIChwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmcnKSkge1xuICAgICAgcmV0dXJuIHsgcGhhc2U6ICdnZW5lcmF0aW5nJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0RlZXBTZWFyY2gnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHBhcmFtcy50LCB7XG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdXZWJTZWFyY2gnKSxcbiAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJyksXG4gICAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdBdHRhY2htZW50JyksXG4gICAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBhcmFtcy5hdHRhY2htZW50c0NvdW50LFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy53YWl0aW5nUmVzcG9uc2UpIHtcbiAgICByZXR1cm4gZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHBhcmFtcy50LCB7XG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXJhbXMuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgaGFzQXR0YWNobWVudHM6IHBhcmFtcy5oYXNBdHRhY2htZW50cyxcbiAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBhcmFtcy5hdHRhY2htZW50c0NvdW50LFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCA9IChtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT5cbiAgdHlwZW9mIG1lc3NhZ2VJZCA9PT0gJ3N0cmluZycgJiYgbWVzc2FnZUlkLmluY2x1ZGVzKCctc3RyZWFtaW5nJylcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLFNBQVNBLHFCQUFxQixRQUFRLGlCQUFpQjtBQUl2RCxJQUFNQyxxQkFBcUIsR0FBRyxDQUM1QixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLGlDQUFpQyxDQUN6QjtBQUVWLElBQU1DLHVCQUF1QixHQUFHLENBQzlCLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsb0NBQW9DLENBQzVCO0FBRVYsSUFBTUMsbUJBQW1CLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxrQ0FBa0MsQ0FBVTtBQUUxRyxJQUFNQyx3QkFBd0IsR0FBRyxDQUMvQixvQ0FBb0MsRUFDcEMsd0NBQXdDLENBQ2hDO0FBRVYsSUFBTUMsdUJBQXVCLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxxQ0FBcUMsQ0FBVTtBQUVwSCxJQUFNQyw4QkFBOEIsR0FBRyxDQUNyQyx3Q0FBd0MsRUFDeEMsMkNBQTJDLENBQ25DO0FBRVYsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRyxpQ0FBMEM7O0FBRXRGO0FBQ0EsSUFBTUMsdUJBQStDLEdBQUc7RUFDdERDLFdBQVcsRUFBRSw0QkFBNEI7RUFDekNDLFVBQVUsRUFBRSw0QkFBNEI7RUFDeENDLGtCQUFrQixFQUFFLGtDQUFrQztFQUN0REMsWUFBWSxFQUFFLDZCQUE2QjtFQUMzQ0MsVUFBVSxFQUFFLDRCQUE0QjtFQUN4Q0MsU0FBUyxFQUFFLDJCQUEyQjtFQUN0Q0MsZ0JBQWdCLEVBQUUsaUNBQWlDO0VBQ25EQyxXQUFXLEVBQUUsNEJBQTRCO0VB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LGlCQUFpQixDQUFDLEVBQUU7TUFDekQsT0FBTztRQUFFRyxLQUFLLEVBQUUsWUFBWTtRQUFFWixPQUFPLEVBQUVrRixNQUFNLENBQUNPO01BQWUsQ0FBQztJQUNoRTtJQUNBLElBQ0VQLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUN6RSxDQUFDLENBQUMsMEJBQTBCLENBQUMsSUFDOUR5RSxNQUFNLENBQUNPLGNBQWMsS0FBS1AsTUFBTSxDQUFDekUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLElBQy9EeUUsTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQ3pFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxFQUMvRDtNQUNBLE9BQU9tRSx3QkFBd0IsQ0FBQ00sTUFBTSxDQUFDekUsQ0FBQyxFQUFFO1FBQ3hDb0UsaUJBQWlCLEVBQUVLLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUN6RSxDQUFDLENBQUMsMEJBQTBCLENBQUM7UUFDakZxRSxrQkFBa0IsRUFBRUksTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQ3pFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztRQUNuRnNFLGNBQWMsRUFBRUcsTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQ3pFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztRQUMvRWdELGdCQUFnQixFQUFFeUIsTUFBTSxDQUFDekI7TUFDM0IsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPO01BQUU3QyxLQUFLLEVBQUUsUUFBUTtNQUFFWixPQUFPLEVBQUVrRixNQUFNLENBQUNPO0lBQWUsQ0FBQztFQUM1RDtFQUVBLElBQUlQLE1BQU0sQ0FBQ1EsZUFBZSxFQUFFO0lBQzFCLE9BQU9kLHdCQUF3QixDQUFDTSxNQUFNLENBQUN6RSxDQUFDLEVBQUU7TUFDeENvRSxpQkFBaUIsRUFBRUssTUFBTSxDQUFDTCxpQkFBaUI7TUFDM0NDLGtCQUFrQixFQUFFSSxNQUFNLENBQUNKLGtCQUFrQjtNQUM3Q0MsY0FBYyxFQUFFRyxNQUFNLENBQUNILGNBQWM7TUFDckN0QixnQkFBZ0IsRUFBRXlCLE1BQU0sQ0FBQ3pCO0lBQzNCLENBQUMsQ0FBQztFQUNKO0VBRUEsT0FBTyxJQUFJO0FBQ2IsQ0FBQztBQUVELE9BQU8sSUFBTWtDLCtCQUErQixHQUFHLFNBQWxDQSwrQkFBK0JBLENBQUlDLFNBQTZCO0VBQUEsT0FDM0UsT0FBT0EsU0FBUyxLQUFLLFFBQVEsSUFBSUEsU0FBUyxDQUFDeEUsUUFBUSxDQUFDLFlBQVksQ0FBQztBQUFBIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.56-2",
3
+ "version": "2.11.56-4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {
@@ -1,38 +0,0 @@
1
- import styled from 'styled-components';
2
- import { Skeleton } from '../Skeleton';
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- var SCESSkeletonList = styled.div.withConfig({
5
- displayName: "EntitySelectorskeleton__SCESSkeletonList",
6
- componentId: "sc-8r7kak-0"
7
- })(["display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;width:100%;"]);
8
- var SCESSkeletonRow = styled.div.withConfig({
9
- displayName: "EntitySelectorskeleton__SCESSkeletonRow",
10
- componentId: "sc-8r7kak-1"
11
- })(["display:flex;flex-direction:column;justify-content:center;gap:4px;align-self:stretch;padding:8px 9px;border-radius:4px;border:1px solid #e0e0e0;"]);
12
- var PRIMARY_WIDTHS = ['58%', '72%', '46%', '64%', '52%'];
13
- export var EntitySelectorSkeleton = function EntitySelectorSkeleton(_ref) {
14
- var _ref$count = _ref.count,
15
- count = _ref$count === void 0 ? 4 : _ref$count;
16
- return /*#__PURE__*/_jsx(SCESSkeletonList, {
17
- children: Array.from({
18
- length: count
19
- }).map(function (_, index) {
20
- return (
21
- /*#__PURE__*/
22
- // eslint-disable-next-line react/no-array-index-key
23
- _jsxs(SCESSkeletonRow, {
24
- children: [/*#__PURE__*/_jsx(Skeleton, {
25
- variant: "text",
26
- width: "30%",
27
- height: 10
28
- }), /*#__PURE__*/_jsx(Skeleton, {
29
- variant: "text",
30
- width: PRIMARY_WIDTHS[index % PRIMARY_WIDTHS.length],
31
- height: 14
32
- })]
33
- }, "entity-selector-skeleton-".concat(index))
34
- );
35
- })
36
- });
37
- };
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTa2VsZXRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJTQ0VTU2tlbGV0b25MaXN0IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0VTU2tlbGV0b25Sb3ciLCJQUklNQVJZX1dJRFRIUyIsIkVudGl0eVNlbGVjdG9yU2tlbGV0b24iLCJfcmVmIiwiX3JlZiRjb3VudCIsImNvdW50IiwiY2hpbGRyZW4iLCJBcnJheSIsImZyb20iLCJsZW5ndGgiLCJtYXAiLCJfIiwiaW5kZXgiLCJ2YXJpYW50Iiwid2lkdGgiLCJoZWlnaHQiLCJjb25jYXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9FbnRpdHlTZWxlY3Rvci9FbnRpdHlTZWxlY3Rvci5za2VsZXRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vU2tlbGV0b24nXG5cbmNvbnN0IFNDRVNTa2VsZXRvbkxpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTQ0VTU2tlbGV0b25Sb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDhweCA5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbmBcblxuY29uc3QgUFJJTUFSWV9XSURUSFMgPSBbJzU4JScsICc3MiUnLCAnNDYlJywgJzY0JScsICc1MiUnXVxuXG5leHBvcnQgY29uc3QgRW50aXR5U2VsZWN0b3JTa2VsZXRvbiA9ICh7IGNvdW50ID0gNCB9OiB7IGNvdW50PzogbnVtYmVyIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U0NFU1NrZWxldG9uTGlzdD5cbiAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb3VudCB9KS5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICAgICAgPFNDRVNTa2VsZXRvblJvdyBrZXk9e2BlbnRpdHktc2VsZWN0b3Itc2tlbGV0b24tJHtpbmRleH1gfT5cbiAgICAgICAgICA8U2tlbGV0b24gdmFyaWFudD1cInRleHRcIiB3aWR0aD1cIjMwJVwiIGhlaWdodD17MTB9IC8+XG4gICAgICAgICAgPFNrZWxldG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgd2lkdGg9e1BSSU1BUllfV0lEVEhTW2luZGV4ICUgUFJJTUFSWV9XSURUSFMubGVuZ3RoXX0gaGVpZ2h0PXsxNH0gLz5cbiAgICAgICAgPC9TQ0VTU2tlbGV0b25Sb3c+XG4gICAgICApKX1cbiAgICA8L1NDRVNTa2VsZXRvbkxpc3Q+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFTQyxRQUFRLFFBQVEsYUFBYTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFdEMsSUFBTUMsZ0JBQWdCLEdBQUdOLE1BQU0sQ0FBQ08sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdHQU9sQztBQUVELElBQU1DLGVBQWUsR0FBR1gsTUFBTSxDQUFDTyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd0pBU2pDO0FBRUQsSUFBTUUsY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztBQUUxRCxPQUFPLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUFDLElBQUEsRUFBMEM7RUFBQSxJQUFBQyxVQUFBLEdBQUFELElBQUEsQ0FBcENFLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsQ0FBQyxHQUFBQSxVQUFBO0VBQ2hELG9CQUNFWixJQUFBLENBQUNHLGdCQUFnQjtJQUFBVyxRQUFBLEVBQ2RDLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO01BQUVDLE1BQU0sRUFBRUo7SUFBTSxDQUFDLENBQUMsQ0FBQ0ssR0FBRyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsS0FBSztNQUFBO1FBQUE7UUFDMUM7UUFDQWxCLEtBQUEsQ0FBQ00sZUFBZTtVQUFBTSxRQUFBLGdCQUNkZCxJQUFBLENBQUNGLFFBQVE7WUFBQ3VCLE9BQU8sRUFBQyxNQUFNO1lBQUNDLEtBQUssRUFBQyxLQUFLO1lBQUNDLE1BQU0sRUFBRTtVQUFHLENBQUUsQ0FBQyxlQUNuRHZCLElBQUEsQ0FBQ0YsUUFBUTtZQUFDdUIsT0FBTyxFQUFDLE1BQU07WUFBQ0MsS0FBSyxFQUFFYixjQUFjLENBQUNXLEtBQUssR0FBR1gsY0FBYyxDQUFDUSxNQUFNLENBQUU7WUFBQ00sTUFBTSxFQUFFO1VBQUcsQ0FBRSxDQUFDO1FBQUEsK0JBQUFDLE1BQUEsQ0FGN0NKLEtBQUssQ0FHdEM7TUFBQztJQUFBLENBQ25CO0VBQUMsQ0FDYyxDQUFDO0FBRXZCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=