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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +2 -5
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +12 -15
  3. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +5 -20
  4. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +69 -0
  5. package/lib/components/atoms/ChatClientSelector/index.js +2 -0
  6. package/lib/components/atoms/Chip/Chip.js +4 -3
  7. package/lib/components/atoms/Chip/styles.js +2 -2
  8. package/lib/components/atoms/EntitySelector/EntitySelector.js +181 -0
  9. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +57 -0
  10. package/lib/components/atoms/EntitySelector/index.js +2 -0
  11. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +5 -3
  12. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +4 -3
  13. package/lib/components/atoms/MAIAInput/MAIAInput.js +12 -35
  14. package/lib/components/atoms/MAIAInput/styles.js +39 -38
  15. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +1 -1
  16. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +6 -23
  17. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +56 -193
  18. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +2 -2
  19. package/lib/components/index.js +2 -1
  20. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +56 -0
  21. package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
  22. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +10 -3
  23. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +2 -3
  24. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +2 -3
  25. package/lib/components/molecules/ChatAIHome/styles.js +6 -6
  26. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +239 -176
  27. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -118
  28. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +18 -6
  29. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  30. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +6 -4
  31. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +4 -4
  32. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  33. package/lib/components/molecules/ChatFooter/ChatFooter.js +7 -4
  34. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +2 -3
  35. package/lib/components/molecules/Sidebar/Sidebar.js +3 -4
  36. package/lib/components/organisms/ChatAI/ChatAI.js +11 -5
  37. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +26 -0
  38. package/lib/components/organisms/ClientAIButton/index.js +2 -0
  39. package/lib/constants/config.js +3 -2
  40. package/lib/context/global-context.js +1 -1
  41. package/lib/hooks/useChatManager/useChatManager.js +49 -19
  42. package/lib/hooks/useChatMessages/useChatMessages.js +78 -41
  43. package/lib/hooks/useChats/useChats.js +9 -6
  44. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -4
  45. package/lib/hooks/useProjectSummaryConfig.js +35 -7
  46. package/lib/hooks/useRecentClientsSearch.js +176 -0
  47. package/lib/index.css +15 -297
  48. package/lib/lang/br/index.js +25 -2
  49. package/lib/lang/en/index.js +25 -2
  50. package/lib/lang/es/index.js +25 -2
  51. package/lib/lang/fr/index.js +21 -2
  52. package/lib/services/maia/Agents/getAgents.js +6 -4
  53. package/lib/services/maia/Chats/getChatMessages.js +30 -16
  54. package/lib/services/maia/Chats/getChatsByUserId.js +4 -3
  55. package/lib/services/maia/Orchestrator/orchestrator.js +6 -4
  56. package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
  57. package/lib/services/maia/RecentClients/index.js +6 -0
  58. package/lib/services/maia/index.js +4 -2
  59. package/lib/services/utils/mapChatMessages.js +12 -4
  60. package/lib/store/chatsStore.types.js +1 -1
  61. package/lib/store/useChatsStore.js +9 -7
  62. package/lib/types/Chat.js +1 -1
  63. package/lib/types/Client.js +2 -0
  64. package/lib/types/agent.js +1 -1
  65. package/package.json +16 -24
  66. package/lib/hooks/useStreamdownStyles.js +0 -20
  67. package/lib/streamdownStyles.js +0 -6
@@ -17,9 +17,7 @@ export var ApprovalBox = function ApprovalBox(_ref) {
17
17
  _ref$isLoading = _ref.isLoading,
18
18
  isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
19
19
  _ref$isProjectDeleted = _ref.isProjectDeleted,
20
- isProjectDeleted = _ref$isProjectDeleted === void 0 ? false : _ref$isProjectDeleted,
21
- _ref$isExpanded = _ref.isExpanded,
22
- isExpanded = _ref$isExpanded === void 0 ? false : _ref$isExpanded;
20
+ isProjectDeleted = _ref$isProjectDeleted === void 0 ? false : _ref$isProjectDeleted;
23
21
  var _useTranslation = useTranslation([SECTIONS.chatAI]),
24
22
  t = _useTranslation.t;
25
23
  var _useState = useState(status),
@@ -140,7 +138,6 @@ export var ApprovalBox = function ApprovalBox(_ref) {
140
138
  }), /*#__PURE__*/_jsx(SCABDescription, {
141
139
  children: t('approvalBox.description')
142
140
  }), /*#__PURE__*/_jsx(SCABActionsList, {
143
- $expanded: isExpanded,
144
141
  children: renderActionItem()
145
142
  }), localStatus === 'pending' && !isProjectDeleted && /*#__PURE__*/_jsxs(SCABButtonsContainer, {
146
143
  children: [/*#__PURE__*/_jsx(SCABButton, {
@@ -172,4 +169,4 @@ export var ApprovalBox = function ApprovalBox(_ref) {
172
169
  })]
173
170
  });
174
171
  };
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJTQ0FCU3RhdHVzQmFkZ2UiLCJTRUNUSU9OUyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkFwcHJvdmFsQm94IiwiX3JlZiIsImFjdGlvbiIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfcmVmJGlzRXhwYW5kZWQiLCJpc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJwcmV2IiwiaGFuZGxlQXBwcm92ZSIsInRocmVhZF9pZCIsImhhbmRsZVJlamVjdCIsInJlbmRlckFjdGlvbkl0ZW0iLCJhcmdzVG9EaXNwbGF5IiwiX3R5cGVvZiIsInRvb2xfYXJncyIsIkFycmF5IiwiaXNBcnJheSIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwiX3JlZjIiLCJfcmVmMyIsImtleSIsInZhbHVlIiwiaXRlbSIsIml0ZW1JbmRleCIsInRpdGxlIiwibmFtZSIsImxhYmVsIiwicHVzaCIsIml0ZW1FbnRyaWVzIiwibGVuZ3RoIiwiZmlyc3RFbnRyeSIsImNvbmNhdCIsImlkeCIsIl9yZWY0IiwiX3JlZjUiLCJpdGVtS2V5IiwiaXRlbVZhbHVlIiwiYWN0aW9uTmFtZSIsInRvb2xfbmFtZSIsInRvTG93ZXJDYXNlIiwiY2hpbGRyZW4iLCJtYXAiLCJfcmVmNiIsInRvb2xfY2FsbF9pZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzbGljZSIsIiRleHBhbmRlZCIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZWNrQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2tDaXJjbGUnXG5pbXBvcnQgeyBDcm9zc0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzQ2lyY2xlJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQge1xuICBTQ0FwcHJvdmFsQm94LFxuICBTQ0FCSGVhZGVyLFxuICBTQ0FCVGl0bGUsXG4gIFNDQUJEZXNjcmlwdGlvbixcbiAgU0NBQkFjdGlvbnNMaXN0LFxuICBTQ0FCQWN0aW9uSXRlbSxcbiAgU0NBQkFjdGlvbk5hbWUsXG4gIFNDQUJBY3Rpb25BcmdzLFxuICBTQ0FCQXJnSXRlbSxcbiAgU0NBQkFyZ1ZhbHVlLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxufSBmcm9tICcuL0FwcHJvdmFsQm94LnN0eWxlcydcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb246IFBlbmRpbmdBY3Rpb24gLy8gU2luZ2xlIGFjdGlvbiBpbnN0ZWFkIG9mIGZ1bGwgYXBwcm92YWxcbiAgb25BcHByb3ZlOiAodGhyZWFkSWQ6IHN0cmluZykgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkOiBzdHJpbmcpID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9uLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbn06IEFwcHJvdmFsQm94UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2xvY2FsU3RhdHVzLCBzZXRMb2NhbFN0YXR1c10gPSB1c2VTdGF0ZTwncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJz4oc3RhdHVzKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoYW5kbGVBcHByb3ZlID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgc2V0TG9jYWxTdGF0dXMoJ2FwcHJvdmVkJylcbiAgICBvbkFwcHJvdmUoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IHJlbmRlckFjdGlvbkl0ZW0gPSAoKSA9PiB7XG4gICAgLy8gTWFuZWphciB0b29sX2FyZ3MgY3VhbmRvIGNvbnRpZW5lIGFycmF5cyBkZW50cm8gZGUgc3VzIHByb3BpZWRhZGVzXG4gICAgY29uc3QgYXJnc1RvRGlzcGxheTogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9PiA9IFtdXG5cbiAgICBpZiAodHlwZW9mIGFjdGlvbi50b29sX2FyZ3MgPT09ICdvYmplY3QnICYmIGFjdGlvbi50b29sX2FyZ3MgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkoYWN0aW9uLnRvb2xfYXJncykpIHtcbiAgICAgIC8vIEl0ZXJhciBzb2JyZSBsYXMgcHJvcGllZGFkZXMgZGUgdG9vbF9hcmdzXG4gICAgICBPYmplY3QuZW50cmllcyhhY3Rpb24udG9vbF9hcmdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gRmlsdHJhciBwcm9qZWN0X2lkXG4gICAgICAgIGlmIChrZXkgPT09ICdwcm9qZWN0X2lkJykgcmV0dXJuXG5cbiAgICAgICAgLy8gU2kgZWwgdmFsb3IgZXMgdW4gYXJyYXksIG1hcGVhciBjYWRhIGVsZW1lbnRvXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVsIGl0ZW0gZXMgdW4gb2JqZXRvLCBidXNjYXIgcHJvcGllZGFkZXMgY29tdW5lcyBjb21vICd0aXRsZScsICduYW1lJywgZXRjLlxuICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGl0ZW0udGl0bGUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0ubGFiZWxcbiAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgdGllbmUgdMOtdHVsbywgbW9zdHJhcmxvIGRpcmVjdGFtZW50ZVxuICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdGl0bGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBubyB0aWVuZSB0w610dWxvLCBtb3N0cmFyIGVsIHByaW1lciB2YWxvciBkZWwgb2JqZXRvXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUVudHJpZXMgPSBPYmplY3QuZW50cmllcyhpdGVtKVxuICAgICAgICAgICAgICAgIGlmIChpdGVtRW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEVudHJ5ID0gaXRlbUVudHJpZXNbMF1cbiAgICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogYCR7a2V5fVske2l0ZW1JbmRleH1dYCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpcnN0RW50cnlbMV0sXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZWwgaXRlbSBlcyB1biB2YWxvciBzaW1wbGVcbiAgICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGAke2tleX1bJHtpdGVtSW5kZXh9XWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBTaSBubyBlcyB1biBhcnJheSwgYWdyZWdhcmxvIG5vcm1hbG1lbnRlXG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHsga2V5LCB2YWx1ZSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb24udG9vbF9hcmdzKSkge1xuICAgICAgLy8gU2kgdG9vbF9hcmdzIGVzIGRpcmVjdGFtZW50ZSB1biBhcnJheSAoY2FzbyBtZW5vcyBjb23Dum4pXG4gICAgICBhY3Rpb24udG9vbF9hcmdzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhpdGVtKS5mb3JFYWNoKChbaXRlbUtleSwgaXRlbVZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAga2V5OiBgaXRlbV8ke2lkeH1fJHtpdGVtS2V5fWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBpdGVtVmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYGl0ZW1fJHtpZHh9YCxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0KGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7YWN0aW9uLnRvb2xfbmFtZS50b0xvd2VyQ2FzZSgpfWApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQUJBY3Rpb25JdGVtPlxuICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2FjdGlvbk5hbWV9PC9TQ0FCQWN0aW9uTmFtZT5cbiAgICAgICAgPFNDQUJBY3Rpb25BcmdzPlxuICAgICAgICAgIHthcmdzVG9EaXNwbGF5Lm1hcCgoeyBrZXksIHZhbHVlIH0pID0+IChcbiAgICAgICAgICAgIDxTQ0FCQXJnSXRlbSBrZXk9e2Ake2FjdGlvbi50b29sX2NhbGxfaWR9LSR7a2V5fS0ke0pTT04uc3RyaW5naWZ5KHZhbHVlKS5zbGljZSgwLCAyMCl9YH0+XG4gICAgICAgICAgICAgIDxTQ0FCQXJnVmFsdWU+e3ZhbHVlfTwvU0NBQkFyZ1ZhbHVlPlxuICAgICAgICAgICAgPC9TQ0FCQXJnSXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TQ0FCQWN0aW9uQXJncz5cbiAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBcHByb3ZhbEJveD5cbiAgICAgIDxTQ0FCSGVhZGVyPlxuICAgICAgICA8U0NBQlRpdGxlPnt0KCdhcHByb3ZhbEJveC50aXRsZScpfTwvU0NBQlRpdGxlPlxuICAgICAgPC9TQ0FCSGVhZGVyPlxuXG4gICAgICA8U0NBQkRlc2NyaXB0aW9uPnt0KCdhcHByb3ZhbEJveC5kZXNjcmlwdGlvbicpfTwvU0NBQkRlc2NyaXB0aW9uPlxuXG4gICAgICA8U0NBQkFjdGlvbnNMaXN0ICRleHBhbmRlZD17aXNFeHBhbmRlZH0+e3JlbmRlckFjdGlvbkl0ZW0oKX08L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLFFBQ1Ysc0JBQXNCO0FBQzdCLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQWNwRCxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBLEVBUUE7RUFBQSxJQVB0QkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7SUFDVEMsUUFBUSxHQUFBSCxJQUFBLENBQVJHLFFBQVE7SUFBQUMsV0FBQSxHQUFBSixJQUFBLENBQ1JLLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsU0FBUyxHQUFBQSxXQUFBO0lBQUFFLGNBQUEsR0FBQU4sSUFBQSxDQUNsQk8sU0FBUztJQUFUQSxTQUFTLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUscUJBQUEsR0FBQVIsSUFBQSxDQUNqQlMsZ0JBQWdCO0lBQWhCQSxnQkFBZ0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQUFFLGVBQUEsR0FBQVYsSUFBQSxDQUN4QlcsVUFBVTtJQUFWQSxVQUFVLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7RUFFbEIsSUFBQUUsZUFBQSxHQUFjbEMsY0FBYyxDQUFDLENBQUNjLFFBQVEsQ0FBQ3FCLE1BQU0sQ0FBQyxDQUFDO0lBQXZDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQUFDLFNBQUEsR0FBc0N6QyxRQUFRLENBQXNDK0IsTUFBTSxDQUFDO0lBQUFXLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXBGRyxXQUFXLEdBQUFGLFVBQUE7SUFBRUcsY0FBYyxHQUFBSCxVQUFBOztFQUVsQztFQUNBekMsU0FBUyxDQUFDLFlBQU07SUFDZDRDLGNBQWMsQ0FBQyxVQUFBQyxJQUFJO01BQUEsT0FBS0EsSUFBSSxLQUFLZixNQUFNLEdBQUdBLE1BQU0sR0FBR2UsSUFBSTtJQUFBLENBQUMsQ0FBQztFQUMzRCxDQUFDLEVBQUUsQ0FBQ2YsTUFBTSxDQUFDLENBQUM7RUFFWixJQUFNZ0IsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBLEVBQVM7SUFDMUIsSUFBSWQsU0FBUyxJQUFJVyxXQUFXLEtBQUssU0FBUyxFQUFFO0lBQzVDQyxjQUFjLENBQUMsVUFBVSxDQUFDO0lBQzFCakIsU0FBUyxDQUFDRCxNQUFNLENBQUNxQixTQUFTLENBQUM7RUFDN0IsQ0FBQztFQUVELElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekIsSUFBSWhCLFNBQVMsSUFBSVcsV0FBVyxLQUFLLFNBQVMsRUFBRTtJQUM1Q0MsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUMxQmhCLFFBQVEsQ0FBQ0YsTUFBTSxDQUFDcUIsU0FBUyxDQUFDO0VBQzVCLENBQUM7RUFFRCxJQUFNRSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBLEVBQVM7SUFDN0I7SUFDQSxJQUFNQyxhQUFpRCxHQUFHLEVBQUU7SUFFNUQsSUFBSUMsT0FBQSxDQUFPekIsTUFBTSxDQUFDMEIsU0FBUyxNQUFLLFFBQVEsSUFBSTFCLE1BQU0sQ0FBQzBCLFNBQVMsS0FBSyxJQUFJLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUM1QixNQUFNLENBQUMwQixTQUFTLENBQUMsRUFBRTtNQUN6RztNQUNBRyxNQUFNLENBQUNDLE9BQU8sQ0FBQzlCLE1BQU0sQ0FBQzBCLFNBQVMsQ0FBQyxDQUFDSyxPQUFPLENBQUMsVUFBQUMsS0FBQSxFQUFrQjtRQUFBLElBQUFDLEtBQUEsR0FBQWpCLGNBQUEsQ0FBQWdCLEtBQUE7VUFBaEJFLEdBQUcsR0FBQUQsS0FBQTtVQUFFRSxLQUFLLEdBQUFGLEtBQUE7UUFDbkQ7UUFDQSxJQUFJQyxHQUFHLEtBQUssWUFBWSxFQUFFOztRQUUxQjtRQUNBLElBQUlQLEtBQUssQ0FBQ0MsT0FBTyxDQUFDTyxLQUFLLENBQUMsRUFBRTtVQUN4QkEsS0FBSyxDQUFDSixPQUFPLENBQUMsVUFBQ0ssSUFBSSxFQUFFQyxTQUFTLEVBQUs7WUFDakMsSUFBSVosT0FBQSxDQUFPVyxJQUFJLE1BQUssUUFBUSxJQUFJQSxJQUFJLEtBQUssSUFBSSxFQUFFO2NBQzdDO2NBQ0EsSUFBTUUsS0FBSyxHQUFHRixJQUFJLENBQUNFLEtBQUssSUFBSUYsSUFBSSxDQUFDRyxJQUFJLElBQUlILElBQUksQ0FBQ0ksS0FBSztjQUNuRCxJQUFJRixLQUFLLEVBQUU7Z0JBQ1Q7Z0JBQ0FkLGFBQWEsQ0FBQ2lCLElBQUksQ0FBQztrQkFDakJQLEdBQUcsRUFBSEEsR0FBRztrQkFDSEMsS0FBSyxFQUFFRztnQkFDVCxDQUFDLENBQUM7Y0FDSixDQUFDLE1BQU07Z0JBQ0w7Z0JBQ0EsSUFBTUksV0FBVyxHQUFHYixNQUFNLENBQUNDLE9BQU8sQ0FBQ00sSUFBSSxDQUFDO2dCQUN4QyxJQUFJTSxXQUFXLENBQUNDLE1BQU0sR0FBRyxDQUFDLEVBQUU7a0JBQzFCLElBQU1DLFVBQVUsR0FBR0YsV0FBVyxDQUFDLENBQUMsQ0FBQztrQkFDakNsQixhQUFhLENBQUNpQixJQUFJLENBQUM7b0JBQ2pCUCxHQUFHLEtBQUFXLE1BQUEsQ0FBS1gsR0FBRyxPQUFBVyxNQUFBLENBQUlSLFNBQVMsTUFBRztvQkFDM0JGLEtBQUssRUFBRVMsVUFBVSxDQUFDLENBQUM7a0JBQ3JCLENBQUMsQ0FBQztnQkFDSjtjQUNGO1lBQ0YsQ0FBQyxNQUFNO2NBQ0w7Y0FDQXBCLGFBQWEsQ0FBQ2lCLElBQUksQ0FBQztnQkFDakJQLEdBQUcsS0FBQVcsTUFBQSxDQUFLWCxHQUFHLE9BQUFXLE1BQUEsQ0FBSVIsU0FBUyxNQUFHO2dCQUMzQkYsS0FBSyxFQUFFQztjQUNULENBQUMsQ0FBQztZQUNKO1VBQ0YsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxNQUFNO1VBQ0w7VUFDQVosYUFBYSxDQUFDaUIsSUFBSSxDQUFDO1lBQUVQLEdBQUcsRUFBSEEsR0FBRztZQUFFQyxLQUFLLEVBQUxBO1VBQU0sQ0FBQyxDQUFDO1FBQ3BDO01BQ0YsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxNQUFNLElBQUlSLEtBQUssQ0FBQ0MsT0FBTyxDQUFDNUIsTUFBTSxDQUFDMEIsU0FBUyxDQUFDLEVBQUU7TUFDMUM7TUFDQTFCLE1BQU0sQ0FBQzBCLFNBQVMsQ0FBQ0ssT0FBTyxDQUFDLFVBQUNLLElBQUksRUFBRVUsR0FBRyxFQUFLO1FBQ3RDLElBQUlyQixPQUFBLENBQU9XLElBQUksTUFBSyxRQUFRLElBQUlBLElBQUksS0FBSyxJQUFJLEVBQUU7VUFDN0NQLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDTSxJQUFJLENBQUMsQ0FBQ0wsT0FBTyxDQUFDLFVBQUFnQixLQUFBLEVBQTBCO1lBQUEsSUFBQUMsS0FBQSxHQUFBaEMsY0FBQSxDQUFBK0IsS0FBQTtjQUF4QkUsT0FBTyxHQUFBRCxLQUFBO2NBQUVFLFNBQVMsR0FBQUYsS0FBQTtZQUMvQ3hCLGFBQWEsQ0FBQ2lCLElBQUksQ0FBQztjQUNqQlAsR0FBRyxVQUFBVyxNQUFBLENBQVVDLEdBQUcsT0FBQUQsTUFBQSxDQUFJSSxPQUFPLENBQUU7Y0FDN0JkLEtBQUssRUFBRWU7WUFDVCxDQUFDLENBQUM7VUFDSixDQUFDLENBQUM7UUFDSixDQUFDLE1BQU07VUFDTDFCLGFBQWEsQ0FBQ2lCLElBQUksQ0FBQztZQUNqQlAsR0FBRyxVQUFBVyxNQUFBLENBQVVDLEdBQUcsQ0FBRTtZQUNsQlgsS0FBSyxFQUFFQztVQUNULENBQUMsQ0FBQztRQUNKO01BQ0YsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxJQUFNZSxVQUFVLEdBQUd0QyxDQUFDLHdCQUFBZ0MsTUFBQSxDQUF3QjdDLE1BQU0sQ0FBQ29ELFNBQVMsQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBRSxDQUFDO0lBRTdFLG9CQUNFMUQsS0FBQSxDQUFDWixjQUFjO01BQUF1RSxRQUFBLGdCQUNiN0QsSUFBQSxDQUFDVCxjQUFjO1FBQUFzRSxRQUFBLEVBQUVIO01BQVUsQ0FBaUIsQ0FBQyxlQUM3QzFELElBQUEsQ0FBQ1IsY0FBYztRQUFBcUUsUUFBQSxFQUNaOUIsYUFBYSxDQUFDK0IsR0FBRyxDQUFDLFVBQUFDLEtBQUE7VUFBQSxJQUFHdEIsR0FBRyxHQUFBc0IsS0FBQSxDQUFIdEIsR0FBRztZQUFFQyxLQUFLLEdBQUFxQixLQUFBLENBQUxyQixLQUFLO1VBQUEsb0JBQzlCMUMsSUFBQSxDQUFDUCxXQUFXO1lBQUFvRSxRQUFBLGVBQ1Y3RCxJQUFBLENBQUNOLFlBQVk7Y0FBQW1FLFFBQUEsRUFBRW5CO1lBQUssQ0FBZTtVQUFDLE1BQUFVLE1BQUEsQ0FEakI3QyxNQUFNLENBQUN5RCxZQUFZLE9BQUFaLE1BQUEsQ0FBSVgsR0FBRyxPQUFBVyxNQUFBLENBQUlhLElBQUksQ0FBQ0MsU0FBUyxDQUFDeEIsS0FBSyxDQUFDLENBQUN5QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUV4RSxDQUFDO1FBQUEsQ0FDZjtNQUFDLENBQ1ksQ0FBQztJQUFBLENBQ0gsQ0FBQztFQUVyQixDQUFDO0VBRUQsb0JBQ0VqRSxLQUFBLENBQUNqQixhQUFhO0lBQUE0RSxRQUFBLGdCQUNaN0QsSUFBQSxDQUFDZCxVQUFVO01BQUEyRSxRQUFBLGVBQ1Q3RCxJQUFBLENBQUNiLFNBQVM7UUFBQTBFLFFBQUEsRUFBRXpDLENBQUMsQ0FBQyxtQkFBbUI7TUFBQyxDQUFZO0lBQUMsQ0FDckMsQ0FBQyxlQUVicEIsSUFBQSxDQUFDWixlQUFlO01BQUF5RSxRQUFBLEVBQUV6QyxDQUFDLENBQUMseUJBQXlCO0lBQUMsQ0FBa0IsQ0FBQyxlQUVqRXBCLElBQUEsQ0FBQ1gsZUFBZTtNQUFDK0UsU0FBUyxFQUFFbkQsVUFBVztNQUFBNEMsUUFBQSxFQUFFL0IsZ0JBQWdCLENBQUM7SUFBQyxDQUFrQixDQUFDLEVBRTdFTixXQUFXLEtBQUssU0FBUyxJQUFJLENBQUNULGdCQUFnQixpQkFDN0NiLEtBQUEsQ0FBQ1Asb0JBQW9CO01BQUFrRSxRQUFBLGdCQUNuQjdELElBQUEsQ0FBQ0osVUFBVTtRQUFDeUUsUUFBUSxFQUFDLFFBQVE7UUFBQ0MsT0FBTyxFQUFFekMsWUFBYTtRQUFDMEMsU0FBUyxFQUFFMUQsU0FBVTtRQUFBZ0QsUUFBQSxFQUN2RXpDLENBQUMsQ0FBQyxrQkFBa0I7TUFBQyxDQUNaLENBQUMsZUFDYnBCLElBQUEsQ0FBQ0osVUFBVTtRQUFDeUUsUUFBUSxFQUFDLFNBQVM7UUFBQ0MsT0FBTyxFQUFFM0MsYUFBYztRQUFDNEMsU0FBUyxFQUFFMUQsU0FBVTtRQUFBZ0QsUUFBQSxFQUN6RXpDLENBQUMsQ0FBQyxxQkFBcUI7TUFBQyxDQUNmLENBQUM7SUFBQSxDQUNPLENBQ3ZCLEVBQ0FJLFdBQVcsS0FBSyxTQUFTLGlCQUN4QnhCLElBQUEsQ0FBQ0gsZUFBZTtNQUFDMkUsT0FBTyxFQUFFaEQsV0FBWTtNQUFBcUMsUUFBQSxFQUNuQ3JDLFdBQVcsS0FBSyxVQUFVLGdCQUN6QnRCLEtBQUEsQ0FBQUUsU0FBQTtRQUFBeUQsUUFBQSxnQkFDRTdELElBQUEsQ0FBQ2xCLFdBQVc7VUFBQzJGLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNDLEtBQUssRUFBQztRQUFTLENBQUUsQ0FBQyxFQUNyRHZELENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztNQUFBLENBQ2pDLENBQUMsZ0JBRUhsQixLQUFBLENBQUFFLFNBQUE7UUFBQXlELFFBQUEsZ0JBQ0U3RCxJQUFBLENBQUNqQixXQUFXO1VBQUMwRixLQUFLLEVBQUUsRUFBRztVQUFDQyxNQUFNLEVBQUUsRUFBRztVQUFDQyxLQUFLLEVBQUM7UUFBUyxDQUFFLENBQUMsRUFDckR2RCxDQUFDLENBQUMsMkJBQTJCLENBQUM7TUFBQSxDQUMvQjtJQUNILENBQ2MsQ0FDbEI7RUFBQSxDQUNZLENBQUM7QUFFcEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJTQ0FCU3RhdHVzQmFkZ2UiLCJTRUNUSU9OUyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkFwcHJvdmFsQm94IiwiX3JlZiIsImFjdGlvbiIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsInByZXYiLCJoYW5kbGVBcHByb3ZlIiwidGhyZWFkX2lkIiwiaGFuZGxlUmVqZWN0IiwicmVuZGVyQWN0aW9uSXRlbSIsImFyZ3NUb0Rpc3BsYXkiLCJfdHlwZW9mIiwidG9vbF9hcmdzIiwiQXJyYXkiLCJpc0FycmF5IiwiT2JqZWN0IiwiZW50cmllcyIsImZvckVhY2giLCJfcmVmMiIsIl9yZWYzIiwia2V5IiwidmFsdWUiLCJpdGVtIiwiaXRlbUluZGV4IiwidGl0bGUiLCJuYW1lIiwibGFiZWwiLCJwdXNoIiwiaXRlbUVudHJpZXMiLCJsZW5ndGgiLCJmaXJzdEVudHJ5IiwiY29uY2F0IiwiaWR4IiwiX3JlZjQiLCJfcmVmNSIsIml0ZW1LZXkiLCJpdGVtVmFsdWUiLCJhY3Rpb25OYW1lIiwidG9vbF9uYW1lIiwidG9Mb3dlckNhc2UiLCJjaGlsZHJlbiIsIm1hcCIsIl9yZWY2IiwidG9vbF9jYWxsX2lkIiwiSlNPTiIsInN0cmluZ2lmeSIsInNsaWNlIiwiJHZhcmlhbnQiLCJvbkNsaWNrIiwiJGRpc2FibGVkIiwiJHN0YXR1cyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkFjdGlvbkFyZ3MsXG4gIFNDQUJBcmdJdGVtLFxuICBTQ0FCQXJnVmFsdWUsXG4gIFNDQUJCdXR0b25zQ29udGFpbmVyLFxuICBTQ0FCQnV0dG9uLFxuICBTQ0FCU3RhdHVzQmFkZ2UsXG59IGZyb20gJy4vQXBwcm92YWxCb3guc3R5bGVzJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuXG5pbnRlcmZhY2UgQXBwcm92YWxCb3hQcm9wcyB7XG4gIGFjdGlvbjogUGVuZGluZ0FjdGlvbiAvLyBTaW5nbGUgYWN0aW9uIGluc3RlYWQgb2YgZnVsbCBhcHByb3ZhbFxuICBvbkFwcHJvdmU6ICh0aHJlYWRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uUmVqZWN0OiAodGhyZWFkSWQ6IHN0cmluZykgPT4gdm9pZFxuICBzdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBpc0xvYWRpbmc/OiBib29sZWFuXG4gIC8qKiBTaSBlbCBjaGF0L3Byb3llY3RvIGVzdMOhIGVsaW1pbmFkbywgc2Ugb2N1bHRhbiBsb3MgYm90b25lcyBkZSBhcHJvYmFyL3JlY2hhemFyICovXG4gIGlzUHJvamVjdERlbGV0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBBcHByb3ZhbEJveCA9ICh7XG4gIGFjdGlvbixcbiAgb25BcHByb3ZlLFxuICBvblJlamVjdCxcbiAgc3RhdHVzID0gJ3BlbmRpbmcnLFxuICBpc0xvYWRpbmcgPSBmYWxzZSxcbiAgaXNQcm9qZWN0RGVsZXRlZCA9IGZhbHNlLFxufTogQXBwcm92YWxCb3hQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCBbbG9jYWxTdGF0dXMsIHNldExvY2FsU3RhdHVzXSA9IHVzZVN0YXRlPCdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnPihzdGF0dXMpXG5cbiAgLy8gU2luY3Jvbml6YXIgbG9jYWxTdGF0dXMgY29uIGVsIHByb3Agc3RhdHVzIGN1YW5kbyBjYW1iaWEgZGVzZGUgZWwgcGFkcmUgKHNvbG8gcG9yIHZhbHVlLCBldml0YSBidWNsZXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxTdGF0dXMocHJldiA9PiAocHJldiAhPT0gc3RhdHVzID8gc3RhdHVzIDogcHJldikpXG4gIH0sIFtzdGF0dXNdKVxuXG4gIGNvbnN0IGhhbmRsZUFwcHJvdmUgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICBzZXRMb2NhbFN0YXR1cygnYXBwcm92ZWQnKVxuICAgIG9uQXBwcm92ZShhY3Rpb24udGhyZWFkX2lkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0ID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgc2V0TG9jYWxTdGF0dXMoJ3JlamVjdGVkJylcbiAgICBvblJlamVjdChhY3Rpb24udGhyZWFkX2lkKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQWN0aW9uSXRlbSA9ICgpID0+IHtcbiAgICAvLyBNYW5lamFyIHRvb2xfYXJncyBjdWFuZG8gY29udGllbmUgYXJyYXlzIGRlbnRybyBkZSBzdXMgcHJvcGllZGFkZXNcbiAgICBjb25zdCBhcmdzVG9EaXNwbGF5OiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55IH0+ID0gW11cblxuICAgIGlmICh0eXBlb2YgYWN0aW9uLnRvb2xfYXJncyA9PT0gJ29iamVjdCcgJiYgYWN0aW9uLnRvb2xfYXJncyAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShhY3Rpb24udG9vbF9hcmdzKSkge1xuICAgICAgLy8gSXRlcmFyIHNvYnJlIGxhcyBwcm9waWVkYWRlcyBkZSB0b29sX2FyZ3NcbiAgICAgIE9iamVjdC5lbnRyaWVzKGFjdGlvbi50b29sX2FyZ3MpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAvLyBGaWx0cmFyIHByb2plY3RfaWRcbiAgICAgICAgaWYgKGtleSA9PT0gJ3Byb2plY3RfaWQnKSByZXR1cm5cblxuICAgICAgICAvLyBTaSBlbCB2YWxvciBlcyB1biBhcnJheSwgbWFwZWFyIGNhZGEgZWxlbWVudG9cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gU2kgZWwgaXRlbSBlcyB1biBvYmpldG8sIGJ1c2NhciBwcm9waWVkYWRlcyBjb211bmVzIGNvbW8gJ3RpdGxlJywgJ25hbWUnLCBldGMuXG4gICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gaXRlbS50aXRsZSB8fCBpdGVtLm5hbWUgfHwgaXRlbS5sYWJlbFxuICAgICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAvLyBTaSB0aWVuZSB0w610dWxvLCBtb3N0cmFybG8gZGlyZWN0YW1lbnRlXG4gICAgICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFNpIG5vIHRpZW5lIHTDrXR1bG8sIG1vc3RyYXIgZWwgcHJpbWVyIHZhbG9yIGRlbCBvYmpldG9cbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGl0ZW0pXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1FbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0RW50cnkgPSBpdGVtRW50cmllc1swXVxuICAgICAgICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBgJHtrZXl9WyR7aXRlbUluZGV4fV1gLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZmlyc3RFbnRyeVsxXSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBTaSBlbCBpdGVtIGVzIHVuIHZhbG9yIHNpbXBsZVxuICAgICAgICAgICAgICBhcmdzVG9EaXNwbGF5LnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogYCR7a2V5fVske2l0ZW1JbmRleH1dYCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFNpIG5vIGVzIHVuIGFycmF5LCBhZ3JlZ2FybG8gbm9ybWFsbWVudGVcbiAgICAgICAgICBhcmdzVG9EaXNwbGF5LnB1c2goeyBrZXksIHZhbHVlIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFjdGlvbi50b29sX2FyZ3MpKSB7XG4gICAgICAvLyBTaSB0b29sX2FyZ3MgZXMgZGlyZWN0YW1lbnRlIHVuIGFycmF5IChjYXNvIG1lbm9zIGNvbcO6bilcbiAgICAgIGFjdGlvbi50b29sX2FyZ3MuZm9yRWFjaCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgaXRlbSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGl0ZW0pLmZvckVhY2goKFtpdGVtS2V5LCBpdGVtVmFsdWVdKSA9PiB7XG4gICAgICAgICAgICBhcmdzVG9EaXNwbGF5LnB1c2goe1xuICAgICAgICAgICAgICBrZXk6IGBpdGVtXyR7aWR4fV8ke2l0ZW1LZXl9YCxcbiAgICAgICAgICAgICAgdmFsdWU6IGl0ZW1WYWx1ZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcmdzVG9EaXNwbGF5LnB1c2goe1xuICAgICAgICAgICAga2V5OiBgaXRlbV8ke2lkeH1gLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgY29uc3QgYWN0aW9uTmFtZSA9IHQoYGFwcHJvdmFsQm94LmFjdGlvbnMuJHthY3Rpb24udG9vbF9uYW1lLnRvTG93ZXJDYXNlKCl9YClcblxuICAgIHJldHVybiAoXG4gICAgICA8U0NBQkFjdGlvbkl0ZW0+XG4gICAgICAgIDxTQ0FCQWN0aW9uTmFtZT57YWN0aW9uTmFtZX08L1NDQUJBY3Rpb25OYW1lPlxuICAgICAgICA8U0NBQkFjdGlvbkFyZ3M+XG4gICAgICAgICAge2FyZ3NUb0Rpc3BsYXkubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4gKFxuICAgICAgICAgICAgPFNDQUJBcmdJdGVtIGtleT17YCR7YWN0aW9uLnRvb2xfY2FsbF9pZH0tJHtrZXl9LSR7SlNPTi5zdHJpbmdpZnkodmFsdWUpLnNsaWNlKDAsIDIwKX1gfT5cbiAgICAgICAgICAgICAgPFNDQUJBcmdWYWx1ZT57dmFsdWV9PC9TQ0FCQXJnVmFsdWU+XG4gICAgICAgICAgICA8L1NDQUJBcmdJdGVtPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NDQUJBY3Rpb25BcmdzPlxuICAgICAgPC9TQ0FCQWN0aW9uSXRlbT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3Q+e3JlbmRlckFjdGlvbkl0ZW0oKX08L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLFFBQ1Ysc0JBQXNCO0FBQzdCLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQVlwRCxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBLEVBT0E7RUFBQSxJQU50QkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7SUFDVEMsUUFBUSxHQUFBSCxJQUFBLENBQVJHLFFBQVE7SUFBQUMsV0FBQSxHQUFBSixJQUFBLENBQ1JLLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsU0FBUyxHQUFBQSxXQUFBO0lBQUFFLGNBQUEsR0FBQU4sSUFBQSxDQUNsQk8sU0FBUztJQUFUQSxTQUFTLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUscUJBQUEsR0FBQVIsSUFB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QVM7UUFBQXdFLFFBQUEsRUFBRXpDLENBQUMsQ0FBQyxtQkFBbUI7TUFBQyxDQUFZO0lBQUMsQ0FDckMsQ0FBQyxlQUVibEIsSUFBQSxDQUFDWixlQUFlO01BQUF1RSxRQUFBLEVBQUV6QyxDQUFDLENBQUMseUJBQXlCO0lBQUMsQ0FBa0IsQ0FBQyxlQUVqRWxCLElBQUEsQ0FBQ1gsZUFBZTtNQUFBc0UsUUFBQSxFQUFFL0IsZ0JBQWdCLENBQUM7SUFBQyxDQUFrQixDQUFDLEVBRXRETixXQUFXLEtBQUssU0FBUyxJQUFJLENBQUNQLGdCQUFnQixpQkFDN0NiLEtBQUEsQ0FBQ1Asb0JBQW9CO01BQUFnRSxRQUFBLGdCQUNuQjNELElBQUEsQ0FBQ0osVUFBVTtRQUFDc0UsUUFBUSxFQUFDLFFBQVE7UUFBQ0MsT0FBTyxFQUFFeEMsWUFBYTtRQUFDeUMsU0FBUyxFQUFFdkQsU0FBVTtRQUFBOEMsUUFBQSxFQUN2RXpDLENBQUMsQ0FBQyxrQkFBa0I7TUFBQyxDQUNaLENBQUMsZUFDYmxCLElBQUEsQ0FBQ0osVUFBVTtRQUFDc0UsUUFBUSxFQUFDLFNBQVM7UUFBQ0MsT0FBTyxFQUFFMUMsYUFBYztRQUFDMkMsU0FBUyxFQUFFdkQsU0FBVTtRQUFBOEMsUUFBQSxFQUN6RXpDLENBQUMsQ0FBQyxxQkFBcUI7TUFBQyxDQUNmLENBQUM7SUFBQSxDQUNPLENBQ3ZCLEVBQ0FJLFdBQVcsS0FBSyxTQUFTLGlCQUN4QnRCLElBQUEsQ0FBQ0gsZUFBZTtNQUFDd0UsT0FBTyxFQUFFL0MsV0FBWTtNQUFBcUMsUUFBQSxFQUNuQ3JDLFdBQVcsS0FBSyxVQUFVLGdCQUN6QnBCLEtBQUEsQ0FBQUUsU0FBQTtRQUFBdUQsUUFBQSxnQkFDRTNELElBQUEsQ0FBQ2xCLFdBQVc7VUFBQ3dGLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNDLEtBQUssRUFBQztRQUFTLENBQUUsQ0FBQyxFQUNyRHRELENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztNQUFBLENBQ2pDLENBQUMsZ0JBRUhoQixLQUFBLENBQUFFLFNBQUE7UUFBQXVELFFBQUEsZ0JBQ0UzRCxJQUFBLENBQUNqQixXQUFXO1VBQUN1RixLQUFLLEVBQUUsRUFBRztVQUFDQyxNQUFNLEVBQUUsRUFBRztVQUFDQyxLQUFLLEVBQUM7UUFBUyxDQUFFLENBQUMsRUFDckR0RCxDQUFDLENBQUMsMkJBQTJCLENBQUM7TUFBQSxDQUMvQjtJQUNILENBQ2MsQ0FDbEI7RUFBQSxDQUNZLENBQUM7QUFFcEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -18,10 +18,7 @@ export var SCABDescription = styled.p.withConfig({
18
18
  export var SCABActionsList = styled.div.withConfig({
19
19
  displayName: "ApprovalBoxstyles__SCABActionsList",
20
20
  componentId: "sc-1vnmjr4-4"
21
- })(["background:white;border-radius:8px;padding:12px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d5d5d5;background:#fff;max-width:100%;overflow:hidden;", ""], function (_ref) {
22
- var $expanded = _ref.$expanded;
23
- return $expanded ? "\n min-width: 480px;\n width: fit-content;\n " : "\n width: 100%;\n ";
24
- });
21
+ })(["background:white;border-radius:8px;padding:12px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d5d5d5;background:#fff;max-width:100%;min-width:0;overflow:hidden;"]);
25
22
  export var SCABActionItem = styled.div.withConfig({
26
23
  displayName: "ApprovalBoxstyles__SCABActionItem",
27
24
  componentId: "sc-1vnmjr4-5"
@@ -29,7 +26,7 @@ export var SCABActionItem = styled.div.withConfig({
29
26
  export var SCABActionName = styled.span.withConfig({
30
27
  displayName: "ApprovalBoxstyles__SCABActionName",
31
28
  componentId: "sc-1vnmjr4-6"
32
- })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
29
+ })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:140%;letter-spacing:-0.21px;text-transform:capitalize;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
33
30
  export var SCABActionArgs = styled.ul.withConfig({
34
31
  displayName: "ApprovalBoxstyles__SCABActionArgs",
35
32
  componentId: "sc-1vnmjr4-7"
@@ -49,25 +46,25 @@ export var SCABArgValue = styled.span.withConfig({
49
46
  export var SCABButtonsContainer = styled.div.withConfig({
50
47
  displayName: "ApprovalBoxstyles__SCABButtonsContainer",
51
48
  componentId: "sc-1vnmjr4-11"
52
- })(["display:flex;align-items:flex-start;gap:18px;align-self:stretch;max-width:480px;width:100%;"]);
49
+ })(["display:flex;align-items:flex-start;gap:18px;align-self:stretch;width:400px;"]);
53
50
  export var SCABButton = styled.button.withConfig({
54
51
  displayName: "ApprovalBoxstyles__SCABButton",
55
52
  componentId: "sc-1vnmjr4-12"
56
- })(["display:flex;padding:10px 12px;height:36px;justify-content:center;align-items:center;flex:1 0 0;border-radius:4px;font-family:'Work Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:14px;text-align:center;cursor:", ";transition:all 0.2s ease;opacity:", ";", ""], function (_ref2) {
57
- var $disabled = _ref2.$disabled;
53
+ })(["display:flex;padding:10px 12px;height:36px;justify-content:center;align-items:center;flex:1 0 0;border-radius:4px;font-family:'Work Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:14px;text-align:center;cursor:", ";transition:all 0.2s ease;opacity:", ";", ""], function (_ref) {
54
+ var $disabled = _ref.$disabled;
58
55
  return $disabled ? 'not-allowed' : 'pointer';
59
- }, function (_ref3) {
60
- var $disabled = _ref3.$disabled;
56
+ }, function (_ref2) {
57
+ var $disabled = _ref2.$disabled;
61
58
  return $disabled ? 0.6 : 1;
62
- }, function (_ref4) {
63
- var $variant = _ref4.$variant;
59
+ }, function (_ref3) {
60
+ var $variant = _ref3.$variant;
64
61
  return $variant === 'approve' ? "\n background: #8740BF;\n color: #FFF;\n border: none;\n \n &:hover:not(:disabled) {\n background: rgba(115, 54, 171, 1);\n }\n " : "\n background: transparent;\n color: #8740BF;\n border: 1px solid #8740BF;\n \n &:hover:not(:disabled) {\n background: rgba(135, 64, 191, 0.05);\n }\n ";
65
62
  });
66
63
  export var SCABStatusBadge = styled.div.withConfig({
67
64
  displayName: "ApprovalBoxstyles__SCABStatusBadge",
68
65
  componentId: "sc-1vnmjr4-13"
69
- })(["display:inline-flex;align-items:center;gap:4px;color:#343433;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-0.21px;", ""], function (_ref5) {
70
- var $status = _ref5.$status;
66
+ })(["display:inline-flex;align-items:center;gap:4px;color:#343433;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-0.21px;", ""], function (_ref4) {
67
+ var $status = _ref4.$status;
71
68
  switch ($status) {
72
69
  case 'approved':
73
70
  return "\n ";
@@ -77,4 +74,4 @@ export var SCABStatusBadge = styled.div.withConfig({
77
74
  return "\n background: rgba(135, 64, 191, 0.1);\n color: rgba(135, 64, 191, 1);\n ";
78
75
  }
79
76
  });
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0FwcHJvdmFsQm94IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiaDQiLCJTQ0FCRGVzY3JpcHRpb24iLCJwIiwiU0NBQkFjdGlvbnNMaXN0IiwiX3JlZiIsIiRleHBhbmRlZCIsIlNDQUJBY3Rpb25JdGVtIiwiU0NBQkFjdGlvbk5hbWUiLCJzcGFuIiwiU0NBQkFjdGlvbkFyZ3MiLCJ1bCIsIlNDQUJBcmdJdGVtIiwibGkiLCJTQ0FCQXJnS2V5IiwiU0NBQkFyZ1ZhbHVlIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjIiLCIkZGlzYWJsZWQiLCJfcmVmMyIsIl9yZWY0IiwiJHZhcmlhbnQiLCJTQ0FCU3RhdHVzQmFkZ2UiLCJfcmVmNSIsIiRzdGF0dXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC5zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDQXBwcm92YWxCb3ggPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQlRpdGxlID0gc3R5bGVkLmg0YFxuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJEZXNjcmlwdGlvbiA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbnNMaXN0ID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7ICRleHBhbmRlZCB9KSA9PlxuICAgICRleHBhbmRlZFxuICAgICAgPyBgXG4gICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGBcbiAgICAgIDogYFxuICAgIHdpZHRoOiAxMDAlO1xuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICBtaW4td2lkdGg6IDA7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25OYW1lID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25BcmdzID0gc3R5bGVkLnVsYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnSXRlbSA9IHN0eWxlZC5saWBcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnS2V5ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjOTk5O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFyZ1ZhbHVlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMThweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICR2YXJpYW50OiAnYXBwcm92ZScgfCAncmVqZWN0JzsgJGRpc2FibGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAxIDAgMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInKX07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG9wYWNpdHk6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAwLjYgOiAxKX07XG5cbiAgJHsoeyAkdmFyaWFudCB9KSA9PlxuICAgICR2YXJpYW50ID09PSAnYXBwcm92ZSdcbiAgICAgID8gYFxuICAgIGJhY2tncm91bmQ6ICM4NzQwQkY7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIFxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxMTUsIDU0LCAxNzEsIDEpO1xuICAgIH1cbiAgYFxuICAgICAgOiBgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM4NzQwQkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg3NDBCRjtcbiAgICBcbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM1LCA2NCwgMTkxLCAwLjA1KTtcbiAgICB9XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCU3RhdHVzQmFkZ2UgPSBzdHlsZWQuZGl2PHsgJHN0YXR1czogJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcgfCAncGVuZGluZycgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcblxuICBjb2xvcjogIzM0MzQzMztcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuXG4gICR7KHsgJHN0YXR1cyB9KSA9PiB7XG4gICAgc3dpdGNoICgkc3RhdHVzKSB7XG4gICAgICBjYXNlICdhcHByb3ZlZCc6XG4gICAgICAgIHJldHVybiBgXG4gICAgICAgIGBcbiAgICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgYFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xKTtcbiAgICAgICAgICBjb2xvcjogcmdiYSgxMzUsIDY0LCAxOTEsIDEpO1xuICAgICAgICBgXG4gICAgfVxuICB9fVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBRXRDLE9BQU8sSUFBTUMsYUFBYSxHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrQ0FJdEM7QUFFRCxPQUFPLElBQU1DLFVBQVUsR0FBR04sTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0RBSW5DO0FBRUQsT0FBTyxJQUFNRSxTQUFTLEdBQUdQLE1BQU0sQ0FBQ1EsRUFBRSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9JQVFqQztBQUVELE9BQU8sSUFBTUksZUFBZSxHQUFHVCxNQUFNLENBQUNVLENBQUMsQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFTdEM7QUFFRCxPQUFPLElBQU1NLGVBQWUsR0FBR1gsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNk1BWXJDLFVBQUFPLElBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQ1pBLFNBQVMsb0ZBT1Y7QUFBQSxFQUNGO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdkLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlMQWdCdkM7QUFFRCxPQUFPLElBQU1VLGNBQWMsR0FBR2YsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd4QztBQUVELE9BQU8sSUFBTVksY0FBYyxHQUFHakIsTUFBTSxDQUFDa0IsRUFBRSxDQUFBZixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBIQVF0QztBQUVELE9BQU8sSUFBTWMsV0FBVyxHQUFHbkIsTUFBTSxDQUFDb0IsRUFBRSxDQUFBakIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrR0FPbkM7QUFFRCxPQUFPLElBQU1nQixVQUFVLEdBQUdyQixNQUFNLENBQUNnQixJQUFJLENBQUFiLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUJBRXBDO0FBRUQsT0FBTyxJQUFNaUIsWUFBWSxHQUFHdEIsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd0QztBQUVELE9BQU8sSUFBTWtCLG9CQUFvQixHQUFHdkIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUdBTzdDO0FBRUQsT0FBTyxJQUFNbUIsVUFBVSxHQUFHeEIsTUFBTSxDQUFDeUIsTUFBTSxDQUFBdEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3U0FjM0IsVUFBQXFCLEtBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELEtBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQVFBLFNBQVMsR0FBRyxhQUFhLEdBQUcsU0FBUztBQUFBLENBQUMsRUFFekQsVUFBQUMsS0FBQTtFQUFBLElBQUdELFNBQVMsR0FBQUMsS0FBQSxDQUFURCxTQUFTO0VBQUEsT0FBUUEsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUVqRCxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLEtBQUssU0FBUyxpVkFrQnZCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHL0IsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc01BYXJDLFVBQUEyQixLQUFBLEVBQWlCO0VBQUEsSUFBZEMsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFDVixRQUFRQSxPQUFPO0lBQ2IsS0FBSyxVQUFVO01BQ2I7SUFFRixLQUFLLFVBQVU7TUFDYjtJQUVGO01BQ0U7RUFJSjtBQUNGLENBQUMsQ0FDRiIsImlnbm9yZUxpc3QiOltdfQ==
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0FwcHJvdmFsQm94IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiaDQiLCJTQ0FCRGVzY3JpcHRpb24iLCJwIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsInNwYW4iLCJTQ0FCQWN0aW9uQXJncyIsInVsIiwiU0NBQkFyZ0l0ZW0iLCJsaSIsIlNDQUJBcmdLZXkiLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJidXR0b24iLCJfcmVmIiwiJGRpc2FibGVkIiwiX3JlZjIiLCJfcmVmMyIsIiR2YXJpYW50IiwiU0NBQlN0YXR1c0JhZGdlIiwiX3JlZjQiLCIkc3RhdHVzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3guc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ0FwcHJvdmFsQm94ID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJUaXRsZSA9IHN0eWxlZC5oNGBcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCRGVzY3JpcHRpb24gPSBzdHlsZWQucGBcbiAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25zTGlzdCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIG1pbi13aWR0aDogMDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbk5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25BcmdzID0gc3R5bGVkLnVsYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnSXRlbSA9IHN0eWxlZC5saWBcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnS2V5ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjOTk5O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFyZ1ZhbHVlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMThweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDQwMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkdmFyaWFudDogJ2FwcHJvdmUnIHwgJ3JlamVjdCc7ICRkaXNhYmxlZD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAwIDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiAkeyh7ICRkaXNhYmxlZCB9KSA9PiAoJGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyl9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBvcGFjaXR5OiAkeyh7ICRkaXNhYmxlZCB9KSA9PiAoJGRpc2FibGVkID8gMC42IDogMSl9O1xuXG4gICR7KHsgJHZhcmlhbnQgfSkgPT5cbiAgICAkdmFyaWFudCA9PT0gJ2FwcHJvdmUnXG4gICAgICA/IGBcbiAgICBiYWNrZ3JvdW5kOiAjODc0MEJGO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBcbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTE1LCA1NCwgMTcxLCAxKTtcbiAgICB9XG4gIGBcbiAgICAgIDogYFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjODc0MEJGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NzQwQkY7XG4gICAgXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNSwgNjQsIDE5MSwgMC4wNSk7XG4gICAgfVxuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQlN0YXR1c0JhZGdlID0gc3R5bGVkLmRpdjx7ICRzdGF0dXM6ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnIHwgJ3BlbmRpbmcnIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG5cbiAgY29sb3I6ICMzNDM0MzM7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcblxuICAkeyh7ICRzdGF0dXMgfSkgPT4ge1xuICAgIHN3aXRjaCAoJHN0YXR1cykge1xuICAgICAgY2FzZSAnYXBwcm92ZWQnOlxuICAgICAgICByZXR1cm4gYFxuICAgICAgICBgXG4gICAgICBjYXNlICdyZWplY3RlZCc6XG4gICAgICAgIHJldHVybiBgXG4gICAgICAgIGBcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBgXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzUsIDY0LCAxOTEsIDAuMSk7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKTtcbiAgICAgICAgYFxuICAgIH1cbiAgfX1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLGFBQWEsR0FBR0QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0NBSXRDO0FBRUQsT0FBTyxJQUFNQyxVQUFVLEdBQUdOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdEQUluQztBQUVELE9BQU8sSUFBTUUsU0FBUyxHQUFHUCxNQUFNLENBQUNRLEVBQUUsQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSUFRakM7QUFFRCxPQUFPLElBQU1JLGVBQWUsR0FBR1QsTUFBTSxDQUFDVSxDQUFDLENBQUFQLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0pBU3RDO0FBRUQsT0FBTyxJQUFNTSxlQUFlLEdBQUdYLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9OQWF4QztBQUVELE9BQU8sSUFBTU8sY0FBYyxHQUFHWixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5TEFnQnZDO0FBRUQsT0FBTyxJQUFNUSxjQUFjLEdBQUdiLE1BQU0sQ0FBQ2MsSUFBSSxDQUFBWCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVPQVl4QztBQUVELE9BQU8sSUFBTVUsY0FBYyxHQUFHZixNQUFNLENBQUNnQixFQUFFLENBQUFiLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMEhBUXRDO0FBRUQsT0FBTyxJQUFNWSxXQUFXLEdBQUdqQixNQUFNLENBQUNrQixFQUFFLENBQUFmLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0dBT25DO0FBRUQsT0FBTyxJQUFNYyxVQUFVLEdBQUduQixNQUFNLENBQUNjLElBQUksQ0FBQVgsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtQkFFcEM7QUFFRCxPQUFPLElBQU1lLFlBQVksR0FBR3BCLE1BQU0sQ0FBQ2MsSUFBSSxDQUFBWCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd0QztBQUVELE9BQU8sSUFBTWdCLG9CQUFvQixHQUFHckIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0ZBTTdDO0FBRUQsT0FBTyxJQUFNaUIsVUFBVSxHQUFHdEIsTUFBTSxDQUFDdUIsTUFBTSxDQUFBcEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3U0FjM0IsVUFBQW1CLElBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQVFBLFNBQVMsR0FBRyxhQUFhLEdBQUcsU0FBUztBQUFBLENBQUMsRUFFekQsVUFBQUMsS0FBQTtFQUFBLElBQUdELFNBQVMsR0FBQUMsS0FBQSxDQUFURCxTQUFTO0VBQUEsT0FBUUEsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUVqRCxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLEtBQUssU0FBUyxpVkFrQnZCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHN0IsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc01BYXJDLFVBQUF5QixLQUFBLEVBQWlCO0VBQUEsSUFBZEMsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFDVixRQUFRQSxPQUFPO0lBQ2IsS0FBSyxVQUFVO01BQ2I7SUFFRixLQUFLLFVBQVU7TUFDYjtJQUVGO01BQ0U7RUFJSjtBQUNGLENBQUMsQ0FDRiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -6,9 +6,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  /* eslint-disable import/no-extraneous-dependencies */
7
7
  import React, { useState, useEffect, useRef } from 'react';
8
8
  import { createPortal } from 'react-dom';
9
- import { Streamdown } from 'streamdown';
10
- import { math } from '@streamdown/math';
11
- import { createCodePlugin } from '@streamdown/code';
9
+ import Markdown from 'react-markdown';
10
+ import remarkGfm from 'remark-gfm';
12
11
  import FileViewer from 'react-file-viewer';
13
12
  import { CUButton } from '@projectcor/button/lib/components/CUButton';
14
13
  import { Cross } from '@projectcor/icons/lib/components/Cross';
@@ -21,9 +20,6 @@ import { downloadFileFromUrl } from '../../../utils/fileDownloadHelper';
21
20
  import { SCAPMWrapper, SCAPMModal, SCAPMHeader, SCAPMContent, SCAPMImageContainer, SCAPMPdfContainer, SCAPMTextContainer, SCAPMMarkdownContainer, SCAPMUnsupportedContainer, SCAPMLoadingContainer, SCAPMPdfIframe, SCAPMUnsupportedContainerText, SCAPMErrorContainer, SCAPMErrorFileName } from './AttachmentPreviewModal.styles';
22
21
  import { ErrorState } from '../icons/ErrorState';
23
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
- var code = createCodePlugin({
25
- themes: ['github-light', 'github-light']
26
- });
27
23
  var getFileTypeDetails = function getFileTypeDetails(fileName, mimeType) {
28
24
  // Lista de extensiones válidas conocidas
29
25
  var validExtensions = ['.png', '.jpg', '.jpeg', '.pdf', '.md', '.txt', '.csv', '.xlsx', '.xls', '.doc', '.docx'];
@@ -399,19 +395,8 @@ export var AttachmentPreviewModal = function AttachmentPreviewModal(_ref) {
399
395
  title: attachment.name
400
396
  })
401
397
  }), !isLoading && isMarkdown && /*#__PURE__*/_jsx(SCAPMMarkdownContainer, {
402
- children: /*#__PURE__*/_jsx(Streamdown, {
403
- plugins: {
404
- math: math,
405
- code: code
406
- },
407
- shikiTheme: ['github-light', 'github-light'],
408
- linkSafety: {
409
- enabled: false
410
- },
411
- controls: {
412
- table: false,
413
- code: false
414
- },
398
+ children: /*#__PURE__*/_jsx(Markdown, {
399
+ remarkPlugins: [remarkGfm],
415
400
  children: textContent
416
401
  })
417
402
  }), !isLoading && isText && /*#__PURE__*/_jsx(SCAPMTextContainer, {
@@ -457,4 +442,4 @@ export var AttachmentPreviewModal = function AttachmentPreviewModal(_ref) {
457
442
  })
458
443
  }), container);
459
444
  };
460
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiY3JlYXRlUG9ydGFsIiwiU3RyZWFtZG93biIsIm1hdGgiLCJjcmVhdGVDb2RlUGx1Z2luIiwiRmlsZVZpZXdlciIsIkNVQnV0dG9uIiwiQ3Jvc3MiLCJTcGlubmVyTG90dGllIiwidXNlVHJhbnNsYXRpb24iLCJCYWNrZHJvcCIsIkltYWdlUHJldmlldyIsIkV4Y2VsUHJldmlldyIsImRvd25sb2FkRmlsZUZyb21VcmwiLCJTQ0FQTVdyYXBwZXIiLCJTQ0FQTU1vZGFsIiwiU0NBUE1IZWFkZXIiLCJTQ0FQTUNvbnRlbnQiLCJTQ0FQTUltYWdlQ29udGFpbmVyIiwiU0NBUE1QZGZDb250YWluZXIiLCJTQ0FQTVRleHRDb250YWluZXIiLCJTQ0FQTU1hcmtkb3duQ29udGFpbmVyIiwiU0NBUE1VbnN1cHBvcnRlZENvbnRhaW5lciIsIlNDQVBNTG9hZGluZ0NvbnRhaW5lciIsIlNDQVBNUGRmSWZyYW1lIiwiU0NBUE1VbnN1cHBvcnRlZENvbnRhaW5lclRleHQiLCJTQ0FQTUVycm9yQ29udGFpbmVyIiwiU0NBUE1FcnJvckZpbGVOYW1lIiwiRXJyb3JTdGF0ZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJjb2RlIiwidGhlbWVzIiwiZ2V0RmlsZVR5cGVEZXRhaWxzIiwiZmlsZU5hbWUiLCJtaW1lVHlwZSIsInZhbGlkRXh0ZW5zaW9ucyIsIm1pbWVUb0V4dCIsImZpbGVFeHRlbnNpb24iLCJpbmNsdWRlcyIsImV4dFdpdGhEb3QiLCJjb25jYXQiLCJ0b0xvd2VyQ2FzZSIsImxhc3REb3RJbmRleCIsImxhc3RJbmRleE9mIiwiZXh0cmFjdGVkRXh0Iiwic3Vic3RyaW5nIiwiaXNJbWFnZSIsImlzUGRmIiwiaXNNYXJrZG93biIsImlzVGV4dCIsImlzRXhjZWwiLCJpc09mZmljZURvYyIsIkF0dGFjaG1lbnRQcmV2aWV3TW9kYWwiLCJfcmVmIiwiaXNPcGVuIiwib25DbG9zZSIsImF0dGFjaG1lbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZmlsZVVybCIsInNldEZpbGVVcmwiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZpbGVVcmxGb3JWaWV3ZXIiLCJzZXRGaWxlVXJsRm9yVmlld2VyIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0ZXh0Q29udGVudCIsInNldFRleHRDb250ZW50IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJtb2RhbFJlZiIsImNvbnRhaW5lciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJVUkwiLCJyZXZva2VPYmplY3RVUkwiLCJ1bmRlZmluZWQiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9kb2N1bWVudCIsImJvZHkiLCJvcmlnaW5hbE92ZXJmbG93Iiwic3R5bGUiLCJvdmVyZmxvdyIsIl9nZXRGaWxlVHlwZURldGFpbHMiLCJuYW1lIiwidHlwZSIsInByb2Nlc3NGaWxlIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJpc0ltZyIsImlzUGRmRmlsZSIsImlzTWQiLCJpc1R4dCIsImlzWGxzIiwiaXNEb2MiLCJ1cmwiLCJfdXJsIiwicmVhZGVyIiwiX3VybDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNyZWF0ZU9iamVjdFVSTCIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJlIiwiX2UkdGFyZ2V0IiwiY29udGVudCIsInRhcmdldCIsInJlc3VsdCIsIm9uZXJyb3IiLCJyZWFkQXNUZXh0Iiwic3RvcCIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwiX3g1IiwiX3g2IiwiX3g3IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJsb2FkRmlsZSIsIl9yZWYzIiwiX2NhbGxlZTIiLCJleHRlbnNpb25Ub01pbWVUeXBlIiwiZmlsZU5hbWVXaXRoRXh0ZW5zaW9uIiwiX2ZpbGUiLCJkb3dubG9hZGVkRmlsZURldGFpbHMiLCJkb3dubG9hZGVkRmlsZSIsIl90IiwiX2NvbnRleHQyIiwidXJsX29yaWdpbmFsIiwiYWJydXB0IiwidXJsX3RodW1ibmFpbCIsImVuZHNXaXRoIiwic2VudCIsIm9yaWdpbmFsRmlsZSIsIkZpbGUiLCJzaXplIiwiaGFuZGxlTW9kYWxDbGljayIsInN0b3BQcm9wYWdhdGlvbiIsIl9nZXRGaWxlVHlwZURldGFpbHMyIiwiY2hpbGRyZW4iLCJvbkNsaWNrIiwiekluZGV4IiwicmVmIiwiaWNvbk9ubHkiLCJ2YXJpYW50IiwiY29sb3IiLCJoZWlnaHQiLCJ3aWR0aCIsImVycm9yIiwic3JjIiwiYWx0IiwibWF4V2lkdGgiLCJtYXhIZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJiYWNrZ3JvdW5kQ29sb3IiLCJ0aXRsZSIsInBsdWdpbnMiLCJzaGlraVRoZW1lIiwibGlua1NhZmV0eSIsImVuYWJsZWQiLCJjb250cm9scyIsInRhYmxlIiwiZmlsZVR5cGVGb3JWaWV3ZXIiLCJmaWxlVHlwZSIsImZpbGVQYXRoIiwib25FcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0F0dGFjaG1lbnRQcmV2aWV3TW9kYWwvQXR0YWNobWVudFByZXZpZXdNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgU3RyZWFtZG93biB9IGZyb20gJ3N0cmVhbWRvd24nXG5pbXBvcnQgeyBtYXRoIH0gZnJvbSAnQHN0cmVhbWRvd24vbWF0aCdcbmltcG9ydCB7IGNyZWF0ZUNvZGVQbHVnaW4gfSBmcm9tICdAc3RyZWFtZG93bi9jb2RlJ1xuaW1wb3J0IEZpbGVWaWV3ZXIgZnJvbSAncmVhY3QtZmlsZS12aWV3ZXInXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBTcGlubmVyTG90dGllIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL2NvbXBvbmVudHMvc3Bpbm5lci1sb3R0aWUvU3Bpbm5lckxvdHRpZSdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vQmFja2Ryb3AnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgRXhjZWxQcmV2aWV3IH0gZnJvbSAnLi9FeGNlbFByZXZpZXcnXG5pbXBvcnQgeyBkb3dubG9hZEZpbGVGcm9tVXJsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZmlsZURvd25sb2FkSGVscGVyJ1xuaW1wb3J0IHtcbiAgU0NBUE1XcmFwcGVyLFxuICBTQ0FQTU1vZGFsLFxuICBTQ0FQTUhlYWRlcixcbiAgU0NBUE1Db250ZW50LFxuICBTQ0FQTUltYWdlQ29udGFpbmVyLFxuICBTQ0FQTVBkZkNvbnRhaW5lcixcbiAgU0NBUE1UZXh0Q29udGFpbmVyLFxuICBTQ0FQTU1hcmtkb3duQ29udGFpbmVyLFxuICBTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyLFxuICBTQ0FQTUxvYWRpbmdDb250YWluZXIsXG4gIFNDQVBNUGRmSWZyYW1lLFxuICBTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyVGV4dCxcbiAgU0NBUE1FcnJvckNvbnRhaW5lcixcbiAgU0NBUE1FcnJvckZpbGVOYW1lLFxufSBmcm9tICcuL0F0dGFjaG1lbnRQcmV2aWV3TW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2ljb25zL0Vycm9yU3RhdGUnXG5cbmNvbnN0IGNvZGUgPSBjcmVhdGVDb2RlUGx1Z2luKHsgdGhlbWVzOiBbJ2dpdGh1Yi1saWdodCcsICdnaXRodWItbGlnaHQnXSB9KVxuXG50eXBlIEF0dGFjaG1lbnRQcmV2aWV3TW9kYWxQcm9wcyA9IHtcbiAgaXNPcGVuOiBib29sZWFuXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcbiAgYXR0YWNobWVudDogQXR0YWNobWVudEZpbGUgfCBudWxsXG59XG5cbmNvbnN0IGdldEZpbGVUeXBlRGV0YWlscyA9IChmaWxlTmFtZTogc3RyaW5nLCBtaW1lVHlwZT86IHN0cmluZykgPT4ge1xuICAvLyBMaXN0YSBkZSBleHRlbnNpb25lcyB2w6FsaWRhcyBjb25vY2lkYXNcbiAgY29uc3QgdmFsaWRFeHRlbnNpb25zID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBkZicsICcubWQnLCAnLnR4dCcsICcuY3N2JywgJy54bHN4JywgJy54bHMnLCAnLmRvYycsICcuZG9jeCddXG5cbiAgLy8gTWFwZW8gZGUgdGlwb3MgTUlNRSBhIGV4dGVuc2lvbmVzXG4gIGNvbnN0IG1pbWVUb0V4dDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAndGV4dC9wbGFpbic6ICcudHh0JyxcbiAgICAndGV4dC9jc3YnOiAnLmNzdicsXG4gICAgJ3RleHQvbWFya2Rvd24nOiAnLm1kJyxcbiAgICAndGV4dC94LW1hcmtkb3duJzogJy5tZCcsXG4gICAgJ2FwcGxpY2F0aW9uL3BkZic6ICcucGRmJyxcbiAgICAnaW1hZ2UvcG5nJzogJy5wbmcnLFxuICAgICdpbWFnZS9qcGVnJzogJy5qcGVnJyxcbiAgICAnaW1hZ2UvanBnJzogJy5qcGcnLFxuICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6ICcuZG9jeCcsXG4gICAgJ2FwcGxpY2F0aW9uL21zd29yZCc6ICcuZG9jJyxcbiAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiAnLnhsc3gnLFxuICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnOiAnLnhscycsXG4gIH1cblxuICBsZXQgZmlsZUV4dGVuc2lvbiA9ICcnXG5cbiAgLy8gUHJpbWVybywgaW50ZW50YXIgdXNhciBlbCBtaW1lVHlwZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gIGlmIChtaW1lVHlwZSkge1xuICAgIGlmIChtaW1lVHlwZS5pbmNsdWRlcygnLycpKSB7XG4gICAgICAvLyBFcyB1biB0aXBvIE1JTUUgY29tcGxldG8gKGVqOiAnaW1hZ2UvcG5nJylcbiAgICAgIGZpbGVFeHRlbnNpb24gPSBtaW1lVG9FeHRbbWltZVR5cGVdIHx8ICcnXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVzIHVuYSBleHRlbnNpw7NuIHNpbiBwdW50byAoZWo6ICdwbmcnKVxuICAgICAgY29uc3QgZXh0V2l0aERvdCA9IGAuJHttaW1lVHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgIC8vIFZhbGlkYXIgcXVlIHNlYSB1bmEgZXh0ZW5zacOzbiB2w6FsaWRhIGNvbm9jaWRhXG4gICAgICBpZiAodmFsaWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dFdpdGhEb3QpKSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSBleHRXaXRoRG90XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2kgbm8gc2UgcHVkbyBkZXRlcm1pbmFyIGRlc2RlIG1pbWVUeXBlLCBpbnRlbnRhciBleHRyYWVyIGRlbCBub21icmUgZGVsIGFyY2hpdm9cbiAgaWYgKCFmaWxlRXh0ZW5zaW9uKSB7XG4gICAgY29uc3QgbGFzdERvdEluZGV4ID0gZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKVxuICAgIGlmIChsYXN0RG90SW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCBleHRyYWN0ZWRFeHQgPSBmaWxlTmFtZS5zdWJzdHJpbmcobGFzdERvdEluZGV4KS50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyBWYWxpZGFyIHF1ZSBsYSBleHRlbnNpw7NuIGV4dHJhw61kYSBzZWEgdsOhbGlkYVxuICAgICAgaWYgKHZhbGlkRXh0ZW5zaW9ucy5pbmNsdWRlcyhleHRyYWN0ZWRFeHQpKSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSBleHRyYWN0ZWRFeHRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaSBhw7puIG5vIGhheSBleHRlbnNpw7NuIHkgdGVuZW1vcyBtaW1lVHlwZSwgaW50ZW50YXIgZWwgZmFsbGJhY2tcbiAgaWYgKCFmaWxlRXh0ZW5zaW9uICYmIG1pbWVUeXBlKSB7XG4gICAgaWYgKG1pbWVUeXBlLmluY2x1ZGVzKCcvJykpIHtcbiAgICAgIGZpbGVFeHRlbnNpb24gPSBtaW1lVG9FeHRbbWltZVR5cGVdIHx8ICcnXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNpIG1pbWVUeXBlIGVzIHVuYSBleHRlbnNpw7NuIHNpbiBwdW50bywgYWdyZWdhciBlbCBwdW50b1xuICAgICAgZmlsZUV4dGVuc2lvbiA9IGAuJHttaW1lVHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZpbGVFeHRlbnNpb24sXG4gICAgaXNJbWFnZTogWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSxcbiAgICBpc1BkZjogZmlsZUV4dGVuc2lvbiA9PT0gJy5wZGYnLFxuICAgIGlzTWFya2Rvd246IGZpbGVFeHRlbnNpb24gPT09ICcubWQnLFxuICAgIGlzVGV4dDogWycudHh0JywgJy5jc3YnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSxcbiAgICBpc0V4Y2VsOiBbJy54bHN4JywgJy54bHMnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSxcbiAgICBpc09mZmljZURvYzogWycuZG9jJywgJy5kb2N4J10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbiksXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEF0dGFjaG1lbnRQcmV2aWV3TW9kYWwgPSAoeyBpc09wZW4sIG9uQ2xvc2UsIGF0dGFjaG1lbnQgfTogQXR0YWNobWVudFByZXZpZXdNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydjaGF0X2FpX3NlY3Rpb24nXSlcbiAgY29uc3QgW2ZpbGVVcmwsIHNldEZpbGVVcmxdID0gdXNlU3RhdGU8c3RyaW5nPignJylcbiAgY29uc3QgW2ZpbGVVcmxGb3JWaWV3ZXIsIHNldEZpbGVVcmxGb3JWaWV3ZXJdID0gdXNlU3RhdGU8c3RyaW5nPignJylcbiAgY29uc3QgW3RleHRDb250ZW50LCBzZXRUZXh0Q29udGVudF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IG1vZGFsUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtcm9vdC1hY3Rpb25zJylcblxuICAvLyBDbGVhbnVwIGRlIFVSTHMgY3VhbmRvIGVsIGNvbXBvbmVudGUgc2UgZGVzbW9udGUgbyBjYW1iaWUgZWwgYXJjaGl2b1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZmlsZVVybCkge1xuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGZpbGVVcmwpXG4gICAgICB9XG4gICAgICBpZiAoZmlsZVVybEZvclZpZXdlcikge1xuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGZpbGVVcmxGb3JWaWV3ZXIpXG4gICAgICB9XG4gICAgfVxuICB9LCBbZmlsZVVybCwgZmlsZVVybEZvclZpZXdlcl0pXG5cbiAgLy8gTGlzdGVuZXIgcGFyYSBjZXJyYXIgZWwgbW9kYWwgY29uIGxhIHRlY2xhIEVTQ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgfHwgZXZlbnQua2V5ID09PSAnRXNjJykge1xuICAgICAgICBvbkNsb3NlKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93bilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93bilcbiAgICB9XG4gIH0sIFtpc09wZW4sIG9uQ2xvc2VdKVxuXG4gIC8vIFByZXZlbmlyIHNjcm9sbCBkZWwgYm9keSBjdWFuZG8gZWwgbW9kYWwgZXN0w6EgYWJpZXJ0b1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgeyBib2R5IH0gPSBkb2N1bWVudFxuICAgIGlmICghYm9keSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsT3ZlcmZsb3cgPSBib2R5LnN0eWxlLm92ZXJmbG93XG4gICAgYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgYm9keS5zdHlsZS5vdmVyZmxvdyA9IG9yaWdpbmFsT3ZlcmZsb3dcbiAgICB9XG4gIH0sIFtpc09wZW5dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWF0dGFjaG1lbnQpIHtcbiAgICAgIHNldEZpbGVVcmwoJycpXG4gICAgICBzZXRGaWxlVXJsRm9yVmlld2VyKCcnKVxuICAgICAgc2V0VGV4dENvbnRlbnQoJycpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcblxuICAgIC8vIERldGVybWluYXIgZWwgdGlwbyBkZSBhcmNoaXZvIHVzYW5kbyBsYSBmdW5jacOzbiBkZSB1dGlsaWRhZFxuICAgIGNvbnN0IHsgZmlsZUV4dGVuc2lvbiwgaXNJbWFnZSwgaXNQZGYsIGlzTWFya2Rvd24sIGlzVGV4dCwgaXNFeGNlbCwgaXNPZmZpY2VEb2MgfSA9IGdldEZpbGVUeXBlRGV0YWlscyhcbiAgICAgIGF0dGFjaG1lbnQubmFtZSxcbiAgICAgIGF0dGFjaG1lbnQudHlwZVxuICAgIClcblxuICAgIGNvbnN0IHByb2Nlc3NGaWxlID0gYXN5bmMgKFxuICAgICAgZmlsZTogRmlsZSxcbiAgICAgIGlzSW1nOiBib29sZWFuLFxuICAgICAgaXNQZGZGaWxlOiBib29sZWFuLFxuICAgICAgaXNNZDogYm9vbGVhbixcbiAgICAgIGlzVHh0OiBib29sZWFuLFxuICAgICAgaXNYbHM6IGJvb2xlYW4sXG4gICAgICBpc0RvYzogYm9vbGVhblxuICAgICkgPT4ge1xuICAgICAgaWYgKGlzSW1nKSB7XG4gICAgICAgIC8vIFBhcmEgaW3DoWdlbmVzLCBjcmVhciBVUkwgZGVsIGJsb2JcbiAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuICAgICAgICBzZXRGaWxlVXJsKHVybClcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgfSBlbHNlIGlmIChpc1BkZkZpbGUpIHtcbiAgICAgICAgLy8gUGFyYSBQREZzLCBjcmVhciBVUkwgZGVsIGJsb2JcbiAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuICAgICAgICBzZXRGaWxlVXJsKHVybClcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgfSBlbHNlIGlmIChpc01kIHx8IGlzVHh0KSB7XG4gICAgICAgIC8vIFBhcmEgYXJjaGl2b3MgZGUgdGV4dG8geSBtYXJrZG93biwgbGVlciBlbCBjb250ZW5pZG9cbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxuICAgICAgICByZWFkZXIub25sb2FkID0gZSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGUudGFyZ2V0Py5yZXN1bHQgYXMgc3RyaW5nXG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoY29udGVudClcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICB9XG4gICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpXG4gICAgICB9IGVsc2UgaWYgKGlzWGxzKSB7XG4gICAgICAgIC8vIFBhcmEgYXJjaGl2b3MgRXhjZWwsIGVsIGNvbXBvbmVudGUgRXhjZWxQcmV2aWV3IG1hbmVqYXLDoSBsYSBjYXJnYVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICB9IGVsc2UgaWYgKGlzRG9jKSB7XG4gICAgICAgIC8vIFBhcmEgZG9jdW1lbnRvcyBkZSBPZmZpY2UgKFdvcmQpLCBjcmVhciBVUkwgcGFyYSByZWFjdC1maWxlLXZpZXdlclxuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG4gICAgICAgIHNldEZpbGVVcmxGb3JWaWV3ZXIodXJsKVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbG9hZEZpbGUgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBTaSBlcyBpbWFnZW4sIHVzYXIgdXJsX29yaWdpbmFsIGRpcmVjdGFtZW50ZSAoc2llbXByZSB2aWVuZSBkZWwgYmFja2VuZClcbiAgICAgICAgLy8gU2kgbm8gdGllbmUgdXJsX29yaWdpbmFsLCB1c2FyIHVybF90aHVtYm5haWwgY29tbyBmYWxsYmFja1xuICAgICAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgICAgIGlmIChhdHRhY2htZW50LnVybF9vcmlnaW5hbCkge1xuICAgICAgICAgICAgLy8gVXNhciB1cmxfb3JpZ2luYWwgcGFyYSBpbWFnZW4gZW4gY2FsaWRhZCBvcmlnaW5hbFxuICAgICAgICAgICAgc2V0RmlsZVVybChhdHRhY2htZW50LnVybF9vcmlnaW5hbClcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYXR0YWNobWVudC51cmxfdGh1bWJuYWlsKSB7XG4gICAgICAgICAgICAvLyBVc2FyIHRodW1ibmFpbCBjb21vIGZhbGxiYWNrIChzb2xvIHNpIG5vIGhheSB1cmxfb3JpZ2luYWwpXG4gICAgICAgICAgICBzZXRGaWxlVXJsKGF0dGFjaG1lbnQudXJsX3RodW1ibmFpbClcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpIHRpZW5lIHVybF9vcmlnaW5hbCBkZWwgYmFja2VuZCAocGFyYSBhcmNoaXZvcyBuby1pbWFnZW4pLCBkZXNjYXJnYXIgZWwgYXJjaGl2b1xuICAgICAgICAvLyB1cmxfb3JpZ2luYWwgYWhvcmEgdmllbmUgcGFyYSB0b2RvcyBsb3MgYXJjaGl2b3MgZGVsIGJhY2tlbmRcbiAgICAgICAgaWYgKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKSB7XG4gICAgICAgICAgLy8gTWFwZWFyIGV4dGVuc2nDs24gYSBNSU1FIHR5cGUgcGFyYSBsYSBkZXNjYXJnYVxuICAgICAgICAgIGNvbnN0IGV4dGVuc2lvblRvTWltZVR5cGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgICAgICcuY3N2JzogJ3RleHQvY3N2JyxcbiAgICAgICAgICAgICcubWQnOiAndGV4dC9tYXJrZG93bicsXG4gICAgICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAgICAgJy5wbmcnOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICcuanBnJzogJ2ltYWdlL2pwZWcnLFxuICAgICAgICAgICAgJy5qcGVnJzogJ2ltYWdlL2pwZWcnLFxuICAgICAgICAgICAgJy5kb2N4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgICAgICAgICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAgICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBTaSBhdHRhY2htZW50LnR5cGUgZXMgdW5hIGV4dGVuc2nDs24gKHNpbiBwdW50byksIGFncmVnYXIgZWwgcHVudG9cbiAgICAgICAgICBsZXQgbWltZVR5cGUgPSBhdHRhY2htZW50LnR5cGVcbiAgICAgICAgICBpZiAoYXR0YWNobWVudC50eXBlICYmICFhdHRhY2htZW50LnR5cGUuaW5jbHVkZXMoJy8nKSkge1xuICAgICAgICAgICAgY29uc3QgZXh0V2l0aERvdCA9IGAuJHthdHRhY2htZW50LnR5cGUudG9Mb3dlckNhc2UoKX1gXG4gICAgICAgICAgICBtaW1lVHlwZSA9IGV4dGVuc2lvblRvTWltZVR5cGVbZXh0V2l0aERvdF0gfHwgYXR0YWNobWVudC50eXBlXG4gICAgICAgICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uICYmIGV4dGVuc2lvblRvTWltZVR5cGVbZmlsZUV4dGVuc2lvbl0pIHtcbiAgICAgICAgICAgIG1pbWVUeXBlID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFzZWd1cmFyIHF1ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gdGVuZ2EgbGEgZXh0ZW5zacOzbiBjb3JyZWN0YVxuICAgICAgICAgIGxldCBmaWxlTmFtZVdpdGhFeHRlbnNpb24gPSBhdHRhY2htZW50Lm5hbWVcbiAgICAgICAgICBpZiAoZmlsZUV4dGVuc2lvbiAmJiAhZmlsZU5hbWVXaXRoRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgICAgZmlsZU5hbWVXaXRoRXh0ZW5zaW9uID0gYCR7ZmlsZU5hbWVXaXRoRXh0ZW5zaW9ufSR7ZmlsZUV4dGVuc2lvbn1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGRvd25sb2FkRmlsZUZyb21VcmwoYXR0YWNobWVudC51cmxfb3JpZ2luYWwsIGZpbGVOYW1lV2l0aEV4dGVuc2lvbiwgbWltZVR5cGUpXG5cbiAgICAgICAgICAvLyBSZS1kZXRlY3RhciBlbCB0aXBvIGRlIGFyY2hpdm8gZGVzcHXDqXMgZGUgZGVzY2FyZ2FyIChlbCBhcmNoaXZvIGRlc2NhcmdhZG8gcHVlZGUgdGVuZXIgbWVqb3IgaW5mb3JtYWNpw7NuKVxuICAgICAgICAgIC8vIFVzYXIgbGEgZnVuY2nDs24gZGUgdXRpbGlkYWQgcGFyYSBvYnRlbmVyIGxvcyBkZXRhbGxlcyBkZWwgYXJjaGl2byBkZXNjYXJnYWRvXG4gICAgICAgICAgLy8gU2kgbm8gaGF5IGV4dGVuc2nDs24gZW4gZWwgYXJjaGl2byBkZXNjYXJnYWRvLCB1c2FyIGVsIHRpcG8gTUlNRSBkZWwgYXJjaGl2byBvIGRlbCBhdHRhY2htZW50XG4gICAgICAgICAgY29uc3QgZG93bmxvYWRlZEZpbGVEZXRhaWxzID0gZ2V0RmlsZVR5cGVEZXRhaWxzKGZpbGUubmFtZSwgZmlsZS50eXBlIHx8IGF0dGFjaG1lbnQudHlwZSlcblxuICAgICAgICAgIGF3YWl0IHByb2Nlc3NGaWxlKFxuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGRvd25sb2FkZWRGaWxlRGV0YWlscy5pc0ltYWdlLFxuICAgICAgICAgICAgZG93bmxvYWRlZEZpbGVEZXRhaWxzLmlzUGRmLFxuICAgICAgICAgICAgZG93bmxvYWRlZEZpbGVEZXRhaWxzLmlzTWFya2Rvd24sXG4gICAgICAgICAgICBkb3dubG9hZGVkRmlsZURldGFpbHMuaXNUZXh0LFxuICAgICAgICAgICAgZG93bmxvYWRlZEZpbGVEZXRhaWxzLmlzRXhjZWwsXG4gICAgICAgICAgICBkb3dubG9hZGVkRmlsZURldGFpbHMuaXNPZmZpY2VEb2NcbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBPYnRlbmVyIGVsIGFyY2hpdm8gbG9jYWwgKHByZWZlcmlyIG9yaWdpbmFsRmlsZSBwYXJhIGltw6FnZW5lcylcbiAgICAgICAgY29uc3QgZmlsZSA9IGF0dGFjaG1lbnQub3JpZ2luYWxGaWxlIHx8IGF0dGFjaG1lbnQuZmlsZVxuXG4gICAgICAgIC8vIFNpIGVsIGFyY2hpdm8gbG9jYWwgZXN0w6EgdmFjw61vIChzaXplID09PSAwKSB5IHRlbmVtb3MgdXJsX29yaWdpbmFsLCB1c2FyIHVybF9vcmlnaW5hbFxuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUgJiYgZmlsZS5zaXplID09PSAwICYmIGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKSB7XG4gICAgICAgICAgY29uc3QgZG93bmxvYWRlZEZpbGUgPSBhd2FpdCBkb3dubG9hZEZpbGVGcm9tVXJsKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsLCBhdHRhY2htZW50Lm5hbWUsIGF0dGFjaG1lbnQudHlwZSlcbiAgICAgICAgICBhd2FpdCBwcm9jZXNzRmlsZShkb3dubG9hZGVkRmlsZSwgaXNJbWFnZSwgaXNQZGYsIGlzTWFya2Rvd24sIGlzVGV4dCwgaXNFeGNlbCwgaXNPZmZpY2VEb2MpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgRmlsZSkpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBwcm9jZXNzRmlsZShmaWxlLCBpc0ltYWdlLCBpc1BkZiwgaXNNYXJrZG93biwgaXNUZXh0LCBpc0V4Y2VsLCBpc09mZmljZURvYylcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkRmlsZSgpXG4gIH0sIFtpc09wZW4sIGF0dGFjaG1lbnRdKVxuXG4gIGNvbnN0IGhhbmRsZU1vZGFsQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIGlmICghaXNPcGVuIHx8ICFhdHRhY2htZW50IHx8ICFjb250YWluZXIpIHJldHVybiBudWxsXG5cbiAgLy8gVXNhciBsYSBmdW5jacOzbiBkZSB1dGlsaWRhZCBwYXJhIG9idGVuZXIgbG9zIGRldGFsbGVzIGRlbCBhcmNoaXZvXG4gIGNvbnN0IHsgZmlsZUV4dGVuc2lvbiwgaXNJbWFnZSwgaXNQZGYsIGlzTWFya2Rvd24sIGlzVGV4dCwgaXNFeGNlbCwgaXNPZmZpY2VEb2MgfSA9IGdldEZpbGVUeXBlRGV0YWlscyhcbiAgICBhdHRhY2htZW50Lm5hbWUsXG4gICAgYXR0YWNobWVudC50eXBlXG4gIClcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxTQ0FQTVdyYXBwZXI+XG4gICAgICA8QmFja2Ryb3Agb25DbGljaz17b25DbG9zZX0gekluZGV4PXsxMTExMn0+XG4gICAgICAgIDxTQ0FQTU1vZGFsIHJlZj17bW9kYWxSZWZ9IG9uQ2xpY2s9e2hhbmRsZU1vZGFsQ2xpY2t9PlxuICAgICAgICAgIDxTQ0FQTUhlYWRlcj5cbiAgICAgICAgICAgIDxDVUJ1dHRvbiBpY29uT25seSB2YXJpYW50PVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9e29uQ2xvc2V9PlxuICAgICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjNjY2NjY2XCIgaGVpZ2h0PXsyMn0gd2lkdGg9ezIyfSAvPlxuICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICA8L1NDQVBNSGVhZGVyPlxuICAgICAgICAgIDxTQ0FQTUNvbnRlbnRcbiAgICAgICAgICAgIGlzSW1hZ2U9e2lzSW1hZ2V9XG4gICAgICAgICAgICBlcnJvcj17IWlzTG9hZGluZyAmJiAhaXNJbWFnZSAmJiAhaXNQZGYgJiYgIWlzTWFya2Rvd24gJiYgIWlzVGV4dCAmJiAhaXNFeGNlbCAmJiAhaXNPZmZpY2VEb2N9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2lzTG9hZGluZyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTUxvYWRpbmdDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPFNwaW5uZXJMb3R0aWUgc2l6ZT17NDh9IC8+XG4gICAgICAgICAgICAgIDwvU0NBUE1Mb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshaXNMb2FkaW5nICYmIGlzSW1hZ2UgJiYgKFxuICAgICAgICAgICAgICA8U0NBUE1JbWFnZUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8SW1hZ2VQcmV2aWV3XG4gICAgICAgICAgICAgICAgICBzcmM9e2ZpbGVVcmx9XG4gICAgICAgICAgICAgICAgICBhbHQ9e2F0dGFjaG1lbnQubmFtZX1cbiAgICAgICAgICAgICAgICAgIG1heFdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjhweFwiXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TQ0FQTUltYWdlQ29udGFpbmVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshaXNMb2FkaW5nICYmIGlzUGRmICYmIChcbiAgICAgICAgICAgICAgPFNDQVBNUGRmQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxTQ0FQTVBkZklmcmFtZSBzcmM9e2ZpbGVVcmx9IHRpdGxlPXthdHRhY2htZW50Lm5hbWV9IC8+XG4gICAgICAgICAgICAgIDwvU0NBUE1QZGZDb250YWluZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgeyFpc0xvYWRpbmcgJiYgaXNNYXJrZG93biAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTU1hcmtkb3duQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxTdHJlYW1kb3duXG4gICAgICAgICAgICAgICAgICBwbHVnaW5zPXt7IG1hdGgsIGNvZGUgfX1cbiAgICAgICAgICAgICAgICAgIHNoaWtpVGhlbWU9e1snZ2l0aHViLWxpZ2h0JywgJ2dpdGh1Yi1saWdodCddfVxuICAgICAgICAgICAgICAgICAgbGlua1NhZmV0eT17eyBlbmFibGVkOiBmYWxzZSB9fVxuICAgICAgICAgICAgICAgICAgY29udHJvbHM9e3sgdGFibGU6IGZhbHNlLCBjb2RlOiBmYWxzZSB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt0ZXh0Q29udGVudH1cbiAgICAgICAgICAgICAgICA8L1N0cmVhbWRvd24+XG4gICAgICAgICAgICAgIDwvU0NBUE1NYXJrZG93bkNvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7IWlzTG9hZGluZyAmJiBpc1RleHQgJiYgKFxuICAgICAgICAgICAgICA8U0NBUE1UZXh0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxwcmU+e3RleHRDb250ZW50fTwvcHJlPlxuICAgICAgICAgICAgICA8L1NDQVBNVGV4dENvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7IWlzTG9hZGluZyAmJlxuICAgICAgICAgICAgICBpc0V4Y2VsICYmXG4gICAgICAgICAgICAgICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gU2kgdGllbmUgdXJsX29yaWdpbmFsLCBFeGNlbFByZXZpZXcgbWFuZWphcsOhIGxhIGRlc2NhcmdhXG4gICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gPEV4Y2VsUHJldmlldyBmaWxlVXJsPXthdHRhY2htZW50LnVybF9vcmlnaW5hbH0gZmlsZU5hbWU9e2F0dGFjaG1lbnQubmFtZX0gLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IGF0dGFjaG1lbnQub3JpZ2luYWxGaWxlIHx8IGF0dGFjaG1lbnQuZmlsZVxuICAgICAgICAgICAgICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBGaWxlKSkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICByZXR1cm4gPEV4Y2VsUHJldmlldyBmaWxlPXtmaWxlfSBmaWxlTmFtZT17YXR0YWNobWVudC5uYW1lfSAvPlxuICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgeyFpc0xvYWRpbmcgJiYgaXNPZmZpY2VEb2MgJiYgZmlsZVVybEZvclZpZXdlciAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTVRleHRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBmaWxlVHlwZUZvclZpZXdlciA9IGZpbGVFeHRlbnNpb24uc3Vic3RyaW5nKDEpXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RmlsZVZpZXdlclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGVUeXBlPXtmaWxlVHlwZUZvclZpZXdlcn1cbiAgICAgICAgICAgICAgICAgICAgICBmaWxlUGF0aD17ZmlsZVVybEZvclZpZXdlcn1cbiAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICA8L1NDQVBNVGV4dENvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7IWlzTG9hZGluZyAmJiAhaXNJbWFnZSAmJiAhaXNQZGYgJiYgIWlzTWFya2Rvd24gJiYgIWlzVGV4dCAmJiAhaXNFeGNlbCAmJiAhaXNPZmZpY2VEb2MgJiYgKFxuICAgICAgICAgICAgICA8U0NBUE1FcnJvckNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8U0NBUE1VbnN1cHBvcnRlZENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxFcnJvclN0YXRlIC8+XG4gICAgICAgICAgICAgICAgICA8U0NBUE1VbnN1cHBvcnRlZENvbnRhaW5lclRleHQ+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjaGF0LmF0dGFjaG1lbnRQcmV2aWV3TW9kYWwudW5zdXBwb3J0ZWRGaWxlTWVzc2FnZScpfVxuICAgICAgICAgICAgICAgICAgPC9TQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyVGV4dD5cbiAgICAgICAgICAgICAgICA8L1NDQVBNVW5zdXBwb3J0ZWRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPFNDQVBNRXJyb3JGaWxlTmFtZT57YXR0YWNobWVudC5uYW1lfTwvU0NBUE1FcnJvckZpbGVOYW1lPlxuICAgICAgICAgICAgICA8L1NDQVBNRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NBUE1Db250ZW50PlxuICAgICAgICA8L1NDQVBNTW9kYWw+XG4gICAgICA8L0JhY2tkcm9wPlxuICAgIDwvU0NBUE1XcmFwcGVyPixcbiAgICBjb250YWluZXJcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMxRCxTQUFTQyxZQUFZLFFBQVEsV0FBVztBQUN4QyxTQUFTQyxVQUFVLFFBQVEsWUFBWTtBQUN2QyxTQUFTQyxJQUFJLFFBQVEsa0JBQWtCO0FBQ3ZDLFNBQVNDLGdCQUFnQixRQUFRLGtCQUFrQjtBQUNuRCxPQUFPQyxVQUFVLE1BQU0sbUJBQW1CO0FBQzFDLFNBQVNDLFFBQVEsUUFBUSw0Q0FBNEM7QUFDckUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxhQUFhLFFBQVEscUVBQXFFO0FBQ25HLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxhQUFhO0FBRXRDLFNBQVNDLFlBQVksUUFBUSw4QkFBOEI7QUFDM0QsU0FB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
445
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiY3JlYXRlUG9ydGFsIiwiTWFya2Rvd24iLCJyZW1hcmtHZm0iLCJGaWxlVmlld2VyIiwiQ1VCdXR0b24iLCJDcm9zcyIsIlNwaW5uZXJMb3R0aWUiLCJ1c2VUcmFuc2xhdGlvbiIsIkJhY2tkcm9wIiwiSW1hZ2VQcmV2aWV3IiwiRXhjZWxQcmV2aWV3IiwiZG93bmxvYWRGaWxlRnJvbVVybCIsIlNDQVBNV3JhcHBlciIsIlNDQVBNTW9kYWwiLCJTQ0FQTUhlYWRlciIsIlNDQVBNQ29udGVudCIsIlNDQVBNSW1hZ2VDb250YWluZXIiLCJTQ0FQTVBkZkNvbnRhaW5lciIsIlNDQVBNVGV4dENvbnRhaW5lciIsIlNDQVBNTWFya2Rvd25Db250YWluZXIiLCJTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyIiwiU0NBUE1Mb2FkaW5nQ29udGFpbmVyIiwiU0NBUE1QZGZJZnJhbWUiLCJTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyVGV4dCIsIlNDQVBNRXJyb3JDb250YWluZXIiLCJTQ0FQTUVycm9yRmlsZU5hbWUiLCJFcnJvclN0YXRlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImdldEZpbGVUeXBlRGV0YWlscyIsImZpbGVOYW1lIiwibWltZVR5cGUiLCJ2YWxpZEV4dGVuc2lvbnMiLCJtaW1lVG9FeHQiLCJmaWxlRXh0ZW5zaW9uIiwiaW5jbHVkZXMiLCJleHRXaXRoRG90IiwiY29uY2F0IiwidG9Mb3dlckNhc2UiLCJsYXN0RG90SW5kZXgiLCJsYXN0SW5kZXhPZiIsImV4dHJhY3RlZEV4dCIsInN1YnN0cmluZyIsImlzSW1hZ2UiLCJpc1BkZiIsImlzTWFya2Rvd24iLCJpc1RleHQiLCJpc0V4Y2VsIiwiaXNPZmZpY2VEb2MiLCJBdHRhY2htZW50UHJldmlld01vZGFsIiwiX3JlZiIsImlzT3BlbiIsIm9uQ2xvc2UiLCJhdHRhY2htZW50IiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImZpbGVVcmwiLCJzZXRGaWxlVXJsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJmaWxlVXJsRm9yVmlld2VyIiwic2V0RmlsZVVybEZvclZpZXdlciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidGV4dENvbnRlbnQiLCJzZXRUZXh0Q29udGVudCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwibW9kYWxSZWYiLCJjb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiVVJMIiwicmV2b2tlT2JqZWN0VVJMIiwidW5kZWZpbmVkIiwiaGFuZGxlS2V5RG93biIsImV2ZW50Iiwia2V5IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfZG9jdW1lbnQiLCJib2R5Iiwib3JpZ2luYWxPdmVyZmxvdyIsInN0eWxlIiwib3ZlcmZsb3ciLCJfZ2V0RmlsZVR5cGVEZXRhaWxzIiwibmFtZSIsInR5cGUiLCJwcm9jZXNzRmlsZSIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJmaWxlIiwiaXNJbWciLCJpc1BkZkZpbGUiLCJpc01kIiwiaXNUeHQiLCJpc1hscyIsImlzRG9jIiwidXJsIiwiX3VybCIsInJlYWRlciIsIl91cmwyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjcmVhdGVPYmplY3RVUkwiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiZSIsIl9lJHRhcmdldCIsImNvbnRlbnQiLCJ0YXJnZXQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzVGV4dCIsInN0b3AiLCJfeCIsIl94MiIsIl94MyIsIl94NCIsIl94NSIsIl94NiIsIl94NyIsImFwcGx5IiwiYXJndW1lbnRzIiwibG9hZEZpbGUiLCJfcmVmMyIsIl9jYWxsZWUyIiwiZXh0ZW5zaW9uVG9NaW1lVHlwZSIsImZpbGVOYW1lV2l0aEV4dGVuc2lvbiIsIl9maWxlIiwiZG93bmxvYWRlZEZpbGVEZXRhaWxzIiwiZG93bmxvYWRlZEZpbGUiLCJfdCIsIl9jb250ZXh0MiIsInVybF9vcmlnaW5hbCIsImFicnVwdCIsInVybF90aHVtYm5haWwiLCJlbmRzV2l0aCIsInNlbnQiLCJvcmlnaW5hbEZpbGUiLCJGaWxlIiwic2l6ZSIsImhhbmRsZU1vZGFsQ2xpY2siLCJzdG9wUHJvcGFnYXRpb24iLCJfZ2V0RmlsZVR5cGVEZXRhaWxzMiIsImNoaWxkcmVuIiwib25DbGljayIsInpJbmRleCIsInJlZiIsImljb25Pbmx5IiwidmFyaWFudCIsImNvbG9yIiwiaGVpZ2h0Iiwid2lkdGgiLCJlcnJvciIsInNyYyIsImFsdCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZENvbG9yIiwidGl0bGUiLCJyZW1hcmtQbHVnaW5zIiwiZmlsZVR5cGVGb3JWaWV3ZXIiLCJmaWxlVHlwZSIsImZpbGVQYXRoIiwib25FcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0F0dGFjaG1lbnRQcmV2aWV3TW9kYWwvQXR0YWNobWVudFByZXZpZXdNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IE1hcmtkb3duIGZyb20gJ3JlYWN0LW1hcmtkb3duJ1xuaW1wb3J0IHJlbWFya0dmbSBmcm9tICdyZW1hcmstZ2ZtJ1xuaW1wb3J0IEZpbGVWaWV3ZXIgZnJvbSAncmVhY3QtZmlsZS12aWV3ZXInXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBTcGlubmVyTG90dGllIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL2NvbXBvbmVudHMvc3Bpbm5lci1sb3R0aWUvU3Bpbm5lckxvdHRpZSdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vQmFja2Ryb3AnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgRXhjZWxQcmV2aWV3IH0gZnJvbSAnLi9FeGNlbFByZXZpZXcnXG5pbXBvcnQgeyBkb3dubG9hZEZpbGVGcm9tVXJsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZmlsZURvd25sb2FkSGVscGVyJ1xuaW1wb3J0IHtcbiAgU0NBUE1XcmFwcGVyLFxuICBTQ0FQTU1vZGFsLFxuICBTQ0FQTUhlYWRlcixcbiAgU0NBUE1Db250ZW50LFxuICBTQ0FQTUltYWdlQ29udGFpbmVyLFxuICBTQ0FQTVBkZkNvbnRhaW5lcixcbiAgU0NBUE1UZXh0Q29udGFpbmVyLFxuICBTQ0FQTU1hcmtkb3duQ29udGFpbmVyLFxuICBTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyLFxuICBTQ0FQTUxvYWRpbmdDb250YWluZXIsXG4gIFNDQVBNUGRmSWZyYW1lLFxuICBTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyVGV4dCxcbiAgU0NBUE1FcnJvckNvbnRhaW5lcixcbiAgU0NBUE1FcnJvckZpbGVOYW1lLFxufSBmcm9tICcuL0F0dGFjaG1lbnRQcmV2aWV3TW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2ljb25zL0Vycm9yU3RhdGUnXG5cbnR5cGUgQXR0YWNobWVudFByZXZpZXdNb2RhbFByb3BzID0ge1xuICBpc09wZW46IGJvb2xlYW5cbiAgb25DbG9zZTogKCkgPT4gdm9pZFxuICBhdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSB8IG51bGxcbn1cblxuY29uc3QgZ2V0RmlsZVR5cGVEZXRhaWxzID0gKGZpbGVOYW1lOiBzdHJpbmcsIG1pbWVUeXBlPzogc3RyaW5nKSA9PiB7XG4gIC8vIExpc3RhIGRlIGV4dGVuc2lvbmVzIHbDoWxpZGFzIGNvbm9jaWRhc1xuICBjb25zdCB2YWxpZEV4dGVuc2lvbnMgPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZycsICcucGRmJywgJy5tZCcsICcudHh0JywgJy5jc3YnLCAnLnhsc3gnLCAnLnhscycsICcuZG9jJywgJy5kb2N4J11cblxuICAvLyBNYXBlbyBkZSB0aXBvcyBNSU1FIGEgZXh0ZW5zaW9uZXNcbiAgY29uc3QgbWltZVRvRXh0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICd0ZXh0L3BsYWluJzogJy50eHQnLFxuICAgICd0ZXh0L2Nzdic6ICcuY3N2JyxcbiAgICAndGV4dC9tYXJrZG93bic6ICcubWQnLFxuICAgICd0ZXh0L3gtbWFya2Rvd24nOiAnLm1kJyxcbiAgICAnYXBwbGljYXRpb24vcGRmJzogJy5wZGYnLFxuICAgICdpbWFnZS9wbmcnOiAnLnBuZycsXG4gICAgJ2ltYWdlL2pwZWcnOiAnLmpwZWcnLFxuICAgICdpbWFnZS9qcGcnOiAnLmpwZycsXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JzogJy5kb2N4JyxcbiAgICAnYXBwbGljYXRpb24vbXN3b3JkJzogJy5kb2MnLFxuICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc6ICcueGxzeCcsXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6ICcueGxzJyxcbiAgfVxuXG4gIGxldCBmaWxlRXh0ZW5zaW9uID0gJydcblxuICAvLyBQcmltZXJvLCBpbnRlbnRhciB1c2FyIGVsIG1pbWVUeXBlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgaWYgKG1pbWVUeXBlKSB7XG4gICAgaWYgKG1pbWVUeXBlLmluY2x1ZGVzKCcvJykpIHtcbiAgICAgIC8vIEVzIHVuIHRpcG8gTUlNRSBjb21wbGV0byAoZWo6ICdpbWFnZS9wbmcnKVxuICAgICAgZmlsZUV4dGVuc2lvbiA9IG1pbWVUb0V4dFttaW1lVHlwZV0gfHwgJydcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRXMgdW5hIGV4dGVuc2nDs24gc2luIHB1bnRvIChlajogJ3BuZycpXG4gICAgICBjb25zdCBleHRXaXRoRG90ID0gYC4ke21pbWVUeXBlLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgLy8gVmFsaWRhciBxdWUgc2VhIHVuYSBleHRlbnNpw7NuIHbDoWxpZGEgY29ub2NpZGFcbiAgICAgIGlmICh2YWxpZEV4dGVuc2lvbnMuaW5jbHVkZXMoZXh0V2l0aERvdCkpIHtcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9IGV4dFdpdGhEb3RcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaSBubyBzZSBwdWRvIGRldGVybWluYXIgZGVzZGUgbWltZVR5cGUsIGludGVudGFyIGV4dHJhZXIgZGVsIG5vbWJyZSBkZWwgYXJjaGl2b1xuICBpZiAoIWZpbGVFeHRlbnNpb24pIHtcbiAgICBjb25zdCBsYXN0RG90SW5kZXggPSBmaWxlTmFtZS5sYXN0SW5kZXhPZignLicpXG4gICAgaWYgKGxhc3REb3RJbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IGV4dHJhY3RlZEV4dCA9IGZpbGVOYW1lLnN1YnN0cmluZyhsYXN0RG90SW5kZXgpLnRvTG93ZXJDYXNlKClcbiAgICAgIC8vIFZhbGlkYXIgcXVlIGxhIGV4dGVuc2nDs24gZXh0cmHDrWRhIHNlYSB2w6FsaWRhXG4gICAgICBpZiAodmFsaWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dHJhY3RlZEV4dCkpIHtcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9IGV4dHJhY3RlZEV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpIGHDum4gbm8gaGF5IGV4dGVuc2nDs24geSB0ZW5lbW9zIG1pbWVUeXBlLCBpbnRlbnRhciBlbCBmYWxsYmFja1xuICBpZiAoIWZpbGVFeHRlbnNpb24gJiYgbWltZVR5cGUpIHtcbiAgICBpZiAobWltZVR5cGUuaW5jbHVkZXMoJy8nKSkge1xuICAgICAgZmlsZUV4dGVuc2lvbiA9IG1pbWVUb0V4dFttaW1lVHlwZV0gfHwgJydcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2kgbWltZVR5cGUgZXMgdW5hIGV4dGVuc2nDs24gc2luIHB1bnRvLCBhZ3JlZ2FyIGVsIHB1bnRvXG4gICAgICBmaWxlRXh0ZW5zaW9uID0gYC4ke21pbWVUeXBlLnRvTG93ZXJDYXNlKCl9YFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZmlsZUV4dGVuc2lvbixcbiAgICBpc0ltYWdlOiBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pLFxuICAgIGlzUGRmOiBmaWxlRXh0ZW5zaW9uID09PSAnLnBkZicsXG4gICAgaXNNYXJrZG93bjogZmlsZUV4dGVuc2lvbiA9PT0gJy5tZCcsXG4gICAgaXNUZXh0OiBbJy50eHQnLCAnLmNzdiddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pLFxuICAgIGlzRXhjZWw6IFsnLnhsc3gnLCAnLnhscyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pLFxuICAgIGlzT2ZmaWNlRG9jOiBbJy5kb2MnLCAnLmRvY3gnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXR0YWNobWVudFByZXZpZXdNb2RhbCA9ICh7IGlzT3Blbiwgb25DbG9zZSwgYXR0YWNobWVudCB9OiBBdHRhY2htZW50UHJldmlld01vZGFsUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ2NoYXRfYWlfc2VjdGlvbiddKVxuICBjb25zdCBbZmlsZVVybCwgc2V0RmlsZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKVxuICBjb25zdCBbZmlsZVVybEZvclZpZXdlciwgc2V0RmlsZVVybEZvclZpZXdlcl0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKVxuICBjb25zdCBbdGV4dENvbnRlbnQsIHNldFRleHRDb250ZW50XSA9IHVzZVN0YXRlPHN0cmluZz4oJycpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuXG4gIC8vIENsZWFudXAgZGUgVVJMcyBjdWFuZG8gZWwgY29tcG9uZW50ZSBzZSBkZXNtb250ZSBvIGNhbWJpZSBlbCBhcmNoaXZvXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChmaWxlVXJsKSB7XG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZmlsZVVybClcbiAgICAgIH1cbiAgICAgIGlmIChmaWxlVXJsRm9yVmlld2VyKSB7XG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZmlsZVVybEZvclZpZXdlcilcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmaWxlVXJsLCBmaWxlVXJsRm9yVmlld2VyXSlcblxuICAvLyBMaXN0ZW5lciBwYXJhIGNlcnJhciBlbCBtb2RhbCBjb24gbGEgdGVjbGEgRVNDXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyB8fCBldmVudC5rZXkgPT09ICdFc2MnKSB7XG4gICAgICAgIG9uQ2xvc2UoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuICAgIH1cbiAgfSwgW2lzT3Blbiwgb25DbG9zZV0pXG5cbiAgLy8gUHJldmVuaXIgc2Nyb2xsIGRlbCBib2R5IGN1YW5kbyBlbCBtb2RhbCBlc3TDoSBhYmllcnRvXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCB7IGJvZHkgfSA9IGRvY3VtZW50XG4gICAgaWYgKCFib2R5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWxPdmVyZmxvdyA9IGJvZHkuc3R5bGUub3ZlcmZsb3dcbiAgICBib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBib2R5LnN0eWxlLm92ZXJmbG93ID0gb3JpZ2luYWxPdmVyZmxvd1xuICAgIH1cbiAgfSwgW2lzT3Blbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzT3BlbiB8fCAhYXR0YWNobWVudCkge1xuICAgICAgc2V0RmlsZVVybCgnJylcbiAgICAgIHNldEZpbGVVcmxGb3JWaWV3ZXIoJycpXG4gICAgICBzZXRUZXh0Q29udGVudCgnJylcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldElzTG9hZGluZyh0cnVlKVxuXG4gICAgLy8gRGV0ZXJtaW5hciBlbCB0aXBvIGRlIGFyY2hpdm8gdXNhbmRvIGxhIGZ1bmNpw7NuIGRlIHV0aWxpZGFkXG4gICAgY29uc3QgeyBmaWxlRXh0ZW5zaW9uLCBpc0ltYWdlLCBpc1BkZiwgaXNNYXJrZG93biwgaXNUZXh0LCBpc0V4Y2VsLCBpc09mZmljZURvYyB9ID0gZ2V0RmlsZVR5cGVEZXRhaWxzKFxuICAgICAgYXR0YWNobWVudC5uYW1lLFxuICAgICAgYXR0YWNobWVudC50eXBlXG4gICAgKVxuXG4gICAgY29uc3QgcHJvY2Vzc0ZpbGUgPSBhc3luYyAoXG4gICAgICBmaWxlOiBGaWxlLFxuICAgICAgaXNJbWc6IGJvb2xlYW4sXG4gICAgICBpc1BkZkZpbGU6IGJvb2xlYW4sXG4gICAgICBpc01kOiBib29sZWFuLFxuICAgICAgaXNUeHQ6IGJvb2xlYW4sXG4gICAgICBpc1hsczogYm9vbGVhbixcbiAgICAgIGlzRG9jOiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBpZiAoaXNJbWcpIHtcbiAgICAgICAgLy8gUGFyYSBpbcOhZ2VuZXMsIGNyZWFyIFVSTCBkZWwgYmxvYlxuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG4gICAgICAgIHNldEZpbGVVcmwodXJsKVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICB9IGVsc2UgaWYgKGlzUGRmRmlsZSkge1xuICAgICAgICAvLyBQYXJhIFBERnMsIGNyZWFyIFVSTCBkZWwgYmxvYlxuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG4gICAgICAgIHNldEZpbGVVcmwodXJsKVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICB9IGVsc2UgaWYgKGlzTWQgfHwgaXNUeHQpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBkZSB0ZXh0byB5IG1hcmtkb3duLCBsZWVyIGVsIGNvbnRlbmlkb1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBlID0+IHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gZS50YXJnZXQ/LnJlc3VsdCBhcyBzdHJpbmdcbiAgICAgICAgICBzZXRUZXh0Q29udGVudChjb250ZW50KVxuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgfVxuICAgICAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSlcbiAgICAgIH0gZWxzZSBpZiAoaXNYbHMpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBFeGNlbCwgZWwgY29tcG9uZW50ZSBFeGNlbFByZXZpZXcgbWFuZWphcsOhIGxhIGNhcmdhXG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIH0gZWxzZSBpZiAoaXNEb2MpIHtcbiAgICAgICAgLy8gUGFyYSBkb2N1bWVudG9zIGRlIE9mZmljZSAoV29yZCksIGNyZWFyIFVSTCBwYXJhIHJlYWN0LWZpbGUtdmlld2VyXG4gICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcbiAgICAgICAgc2V0RmlsZVVybEZvclZpZXdlcih1cmwpXG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsb2FkRmlsZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFNpIGVzIGltYWdlbiwgdXNhciB1cmxfb3JpZ2luYWwgZGlyZWN0YW1lbnRlIChzaWVtcHJlIHZpZW5lIGRlbCBiYWNrZW5kKVxuICAgICAgICAvLyBTaSBubyB0aWVuZSB1cmxfb3JpZ2luYWwsIHVzYXIgdXJsX3RodW1ibmFpbCBjb21vIGZhbGxiYWNrXG4gICAgICAgIGlmIChpc0ltYWdlKSB7XG4gICAgICAgICAgaWYgKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKSB7XG4gICAgICAgICAgICAvLyBVc2FyIHVybF9vcmlnaW5hbCBwYXJhIGltYWdlbiBlbiBjYWxpZGFkIG9yaWdpbmFsXG4gICAgICAgICAgICBzZXRGaWxlVXJsKGF0dGFjaG1lbnQudXJsX29yaWdpbmFsKVxuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhdHRhY2htZW50LnVybF90aHVtYm5haWwpIHtcbiAgICAgICAgICAgIC8vIFVzYXIgdGh1bWJuYWlsIGNvbW8gZmFsbGJhY2sgKHNvbG8gc2kgbm8gaGF5IHVybF9vcmlnaW5hbClcbiAgICAgICAgICAgIHNldEZpbGVVcmwoYXR0YWNobWVudC51cmxfdGh1bWJuYWlsKVxuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2kgdGllbmUgdXJsX29yaWdpbmFsIGRlbCBiYWNrZW5kIChwYXJhIGFyY2hpdm9zIG5vLWltYWdlbiksIGRlc2NhcmdhciBlbCBhcmNoaXZvXG4gICAgICAgIC8vIHVybF9vcmlnaW5hbCBhaG9yYSB2aWVuZSBwYXJhIHRvZG9zIGxvcyBhcmNoaXZvcyBkZWwgYmFja2VuZFxuICAgICAgICBpZiAoYXR0YWNobWVudC51cmxfb3JpZ2luYWwpIHtcbiAgICAgICAgICAvLyBNYXBlYXIgZXh0ZW5zacOzbiBhIE1JTUUgdHlwZSBwYXJhIGxhIGRlc2NhcmdhXG4gICAgICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgICAgICcudHh0JzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAgICAgJy5tZCc6ICd0ZXh0L21hcmtkb3duJyxcbiAgICAgICAgICAgICcucGRmJzogJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgICAgICAgICAnLnBuZyc6ICdpbWFnZS9wbmcnLFxuICAgICAgICAgICAgJy5qcGcnOiAnaW1hZ2UvanBlZycsXG4gICAgICAgICAgICAnLmpwZWcnOiAnaW1hZ2UvanBlZycsXG4gICAgICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAgICAgJy5kb2MnOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAgICAgICAgICcueGxzeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNpIGF0dGFjaG1lbnQudHlwZSBlcyB1bmEgZXh0ZW5zacOzbiAoc2luIHB1bnRvKSwgYWdyZWdhciBlbCBwdW50b1xuICAgICAgICAgIGxldCBtaW1lVHlwZSA9IGF0dGFjaG1lbnQudHlwZVxuICAgICAgICAgIGlmIChhdHRhY2htZW50LnR5cGUgJiYgIWF0dGFjaG1lbnQudHlwZS5pbmNsdWRlcygnLycpKSB7XG4gICAgICAgICAgICBjb25zdCBleHRXaXRoRG90ID0gYC4ke2F0dGFjaG1lbnQudHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgICAgIG1pbWVUeXBlID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtleHRXaXRoRG90XSB8fCBhdHRhY2htZW50LnR5cGVcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpbGVFeHRlbnNpb24gJiYgZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXSkge1xuICAgICAgICAgICAgbWltZVR5cGUgPSBleHRlbnNpb25Ub01pbWVUeXBlW2ZpbGVFeHRlbnNpb25dXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQXNlZ3VyYXIgcXVlIGVsIG5vbWJyZSBkZWwgYXJjaGl2byB0ZW5nYSBsYSBleHRlbnNpw7NuIGNvcnJlY3RhXG4gICAgICAgICAgbGV0IGZpbGVOYW1lV2l0aEV4dGVuc2lvbiA9IGF0dGFjaG1lbnQubmFtZVxuICAgICAgICAgIGlmIChmaWxlRXh0ZW5zaW9uICYmICFmaWxlTmFtZVdpdGhFeHRlbnNpb24udG9Mb3dlckNhc2UoKS5lbmRzV2l0aChmaWxlRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICBmaWxlTmFtZVdpdGhFeHRlbnNpb24gPSBgJHtmaWxlTmFtZVdpdGhFeHRlbnNpb259JHtmaWxlRXh0ZW5zaW9ufWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBmaWxlID0gYXdhaXQgZG93bmxvYWRGaWxlRnJvbVVybChhdHRhY2htZW50LnVybF9vcmlnaW5hbCwgZmlsZU5hbWVXaXRoRXh0ZW5zaW9uLCBtaW1lVHlwZSlcblxuICAgICAgICAgIC8vIFJlLWRldGVjdGFyIGVsIHRpcG8gZGUgYXJjaGl2byBkZXNwdcOpcyBkZSBkZXNjYXJnYXIgKGVsIGFyY2hpdm8gZGVzY2FyZ2FkbyBwdWVkZSB0ZW5lciBtZWpvciBpbmZvcm1hY2nDs24pXG4gICAgICAgICAgLy8gVXNhciBsYSBmdW5jacOzbiBkZSB1dGlsaWRhZCBwYXJhIG9idGVuZXIgbG9zIGRldGFsbGVzIGRlbCBhcmNoaXZvIGRlc2NhcmdhZG9cbiAgICAgICAgICAvLyBTaSBubyBoYXkgZXh0ZW5zacOzbiBlbiBlbCBhcmNoaXZvIGRlc2NhcmdhZG8sIHVzYXIgZWwgdGlwbyBNSU1FIGRlbCBhcmNoaXZvIG8gZGVsIGF0dGFjaG1lbnRcbiAgICAgICAgICBjb25zdCBkb3dubG9hZGVkRmlsZURldGFpbHMgPSBnZXRGaWxlVHlwZURldGFpbHMoZmlsZS5uYW1lLCBmaWxlLnR5cGUgfHwgYXR0YWNobWVudC50eXBlKVxuXG4gICAgICAgICAgYXdhaXQgcHJvY2Vzc0ZpbGUoXG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgZG93bmxvYWRlZEZpbGVEZXRhaWxzLmlzSW1hZ2UsXG4gICAgICAgICAgICBkb3dubG9hZGVkRmlsZURldGFpbHMuaXNQZGYsXG4gICAgICAgICAgICBkb3dubG9hZGVkRmlsZURldGFpbHMuaXNNYXJrZG93bixcbiAgICAgICAgICAgIGRvd25sb2FkZWRGaWxlRGV0YWlscy5pc1RleHQsXG4gICAgICAgICAgICBkb3dubG9hZGVkRmlsZURldGFpbHMuaXNFeGNlbCxcbiAgICAgICAgICAgIGRvd25sb2FkZWRGaWxlRGV0YWlscy5pc09mZmljZURvY1xuICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9idGVuZXIgZWwgYXJjaGl2byBsb2NhbCAocHJlZmVyaXIgb3JpZ2luYWxGaWxlIHBhcmEgaW3DoWdlbmVzKVxuICAgICAgICBjb25zdCBmaWxlID0gYXR0YWNobWVudC5vcmlnaW5hbEZpbGUgfHwgYXR0YWNobWVudC5maWxlXG5cbiAgICAgICAgLy8gU2kgZWwgYXJjaGl2byBsb2NhbCBlc3TDoSB2YWPDrW8gKHNpemUgPT09IDApIHkgdGVuZW1vcyB1cmxfb3JpZ2luYWwsIHVzYXIgdXJsX29yaWdpbmFsXG4gICAgICAgIGlmIChmaWxlIGluc3RhbmNlb2YgRmlsZSAmJiBmaWxlLnNpemUgPT09IDAgJiYgYXR0YWNobWVudC51cmxfb3JpZ2luYWwpIHtcbiAgICAgICAgICBjb25zdCBkb3dubG9hZGVkRmlsZSA9IGF3YWl0IGRvd25sb2FkRmlsZUZyb21VcmwoYXR0YWNobWVudC51cmxfb3JpZ2luYWwsIGF0dGFjaG1lbnQubmFtZSwgYXR0YWNobWVudC50eXBlKVxuICAgICAgICAgIGF3YWl0IHByb2Nlc3NGaWxlKGRvd25sb2FkZWRGaWxlLCBpc0ltYWdlLCBpc1BkZiwgaXNNYXJrZG93biwgaXNUZXh0LCBpc0V4Y2VsLCBpc09mZmljZURvYylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHByb2Nlc3NGaWxlKGZpbGUsIGlzSW1hZ2UsIGlzUGRmLCBpc01hcmtkb3duLCBpc1RleHQsIGlzRXhjZWwsIGlzT2ZmaWNlRG9jKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRGaWxlKClcbiAgfSwgW2lzT3BlbiwgYXR0YWNobWVudF0pXG5cbiAgY29uc3QgaGFuZGxlTW9kYWxDbGljayA9IChlOiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgaWYgKCFpc09wZW4gfHwgIWF0dGFjaG1lbnQgfHwgIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICAvLyBVc2FyIGxhIGZ1bmNpw7NuIGRlIHV0aWxpZGFkIHBhcmEgb2J0ZW5lciBsb3MgZGV0YWxsZXMgZGVsIGFyY2hpdm9cbiAgY29uc3QgeyBmaWxlRXh0ZW5zaW9uLCBpc0ltYWdlLCBpc1BkZiwgaXNNYXJrZG93biwgaXNUZXh0LCBpc0V4Y2VsLCBpc09mZmljZURvYyB9ID0gZ2V0RmlsZVR5cGVEZXRhaWxzKFxuICAgIGF0dGFjaG1lbnQubmFtZSxcbiAgICBhdHRhY2htZW50LnR5cGVcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFNDQVBNV3JhcHBlcj5cbiAgICAgIDxCYWNrZHJvcCBvbkNsaWNrPXtvbkNsb3NlfSB6SW5kZXg9ezExMTEyfT5cbiAgICAgICAgPFNDQVBNTW9kYWwgcmVmPXttb2RhbFJlZn0gb25DbGljaz17aGFuZGxlTW9kYWxDbGlja30+XG4gICAgICAgICAgPFNDQVBNSGVhZGVyPlxuICAgICAgICAgICAgPENVQnV0dG9uIGljb25Pbmx5IHZhcmlhbnQ9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cIiM2NjY2NjZcIiBoZWlnaHQ9ezIyfSB3aWR0aD17MjJ9IC8+XG4gICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIDwvU0NBUE1IZWFkZXI+XG4gICAgICAgICAgPFNDQVBNQ29udGVudFxuICAgICAgICAgICAgaXNJbWFnZT17aXNJbWFnZX1cbiAgICAgICAgICAgIGVycm9yPXshaXNMb2FkaW5nICYmICFpc0ltYWdlICYmICFpc1BkZiAmJiAhaXNNYXJrZG93biAmJiAhaXNUZXh0ICYmICFpc0V4Y2VsICYmICFpc09mZmljZURvY31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aXNMb2FkaW5nICYmIChcbiAgICAgICAgICAgICAgPFNDQVBNTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8U3Bpbm5lckxvdHRpZSBzaXplPXs0OH0gLz5cbiAgICAgICAgICAgICAgPC9TQ0FQTUxvYWRpbmdDb250YWluZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgeyFpc0xvYWRpbmcgJiYgaXNJbWFnZSAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTUltYWdlQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxJbWFnZVByZXZpZXdcbiAgICAgICAgICAgICAgICAgIHNyYz17ZmlsZVVybH1cbiAgICAgICAgICAgICAgICAgIGFsdD17YXR0YWNobWVudC5uYW1lfVxuICAgICAgICAgICAgICAgICAgbWF4V2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgIG1heEhlaWdodD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPVwiOHB4XCJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQVBNSW1hZ2VDb250YWluZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgeyFpc0xvYWRpbmcgJiYgaXNQZGYgJiYgKFxuICAgICAgICAgICAgICA8U0NBUE1QZGZDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPFNDQVBNUGRmSWZyYW1lIHNyYz17ZmlsZVVybH0gdGl0bGU9e2F0dGFjaG1lbnQubmFtZX0gLz5cbiAgICAgICAgICAgICAgPC9TQ0FQTVBkZkNvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7IWlzTG9hZGluZyAmJiBpc01hcmtkb3duICYmIChcbiAgICAgICAgICAgICAgPFNDQVBNTWFya2Rvd25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgPE1hcmtkb3duIHJlbWFya1BsdWdpbnM9e1tyZW1hcmtHZm1dfT57dGV4dENvbnRlbnR9PC9NYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9TQ0FQTU1hcmtkb3duQ29udGFpbmVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshaXNMb2FkaW5nICYmIGlzVGV4dCAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTVRleHRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHByZT57dGV4dENvbnRlbnR9PC9wcmU+XG4gICAgICAgICAgICAgIDwvU0NBUE1UZXh0Q29udGFpbmVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshaXNMb2FkaW5nICYmXG4gICAgICAgICAgICAgIGlzRXhjZWwgJiZcbiAgICAgICAgICAgICAgKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBTaSB0aWVuZSB1cmxfb3JpZ2luYWwsIEV4Y2VsUHJldmlldyBtYW5lamFyw6EgbGEgZGVzY2FyZ2FcbiAgICAgICAgICAgICAgICBpZiAoYXR0YWNobWVudC51cmxfb3JpZ2luYWwpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiA8RXhjZWxQcmV2aWV3IGZpbGVVcmw9e2F0dGFjaG1lbnQudXJsX29yaWdpbmFsfSBmaWxlTmFtZT17YXR0YWNobWVudC5uYW1lfSAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gYXR0YWNobWVudC5vcmlnaW5hbEZpbGUgfHwgYXR0YWNobWVudC5maWxlXG4gICAgICAgICAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIHJldHVybiA8RXhjZWxQcmV2aWV3IGZpbGU9e2ZpbGV9IGZpbGVOYW1lPXthdHRhY2htZW50Lm5hbWV9IC8+XG4gICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICB7IWlzTG9hZGluZyAmJiBpc09mZmljZURvYyAmJiBmaWxlVXJsRm9yVmlld2VyICYmIChcbiAgICAgICAgICAgICAgPFNDQVBNVGV4dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVUeXBlRm9yVmlld2VyID0gZmlsZUV4dGVuc2lvbi5zdWJzdHJpbmcoMSlcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxGaWxlVmlld2VyXG4gICAgICAgICAgICAgICAgICAgICAgZmlsZVR5cGU9e2ZpbGVUeXBlRm9yVmlld2VyfVxuICAgICAgICAgICAgICAgICAgICAgIGZpbGVQYXRoPXtmaWxlVXJsRm9yVmlld2VyfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3I9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgIDwvU0NBUE1UZXh0Q29udGFpbmVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshaXNMb2FkaW5nICYmICFpc0ltYWdlICYmICFpc1BkZiAmJiAhaXNNYXJrZG93biAmJiAhaXNUZXh0ICYmICFpc0V4Y2VsICYmICFpc09mZmljZURvYyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0FQTUVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPEVycm9yU3RhdGUgLz5cbiAgICAgICAgICAgICAgICAgIDxTQ0FQTVVuc3VwcG9ydGVkQ29udGFpbmVyVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NoYXQuYXR0YWNobWVudFByZXZpZXdNb2RhbC51bnN1cHBvcnRlZEZpbGVNZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQVBNVW5zdXBwb3J0ZWRDb250YWluZXJUZXh0PlxuICAgICAgICAgICAgICAgIDwvU0NBUE1VbnN1cHBvcnRlZENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8U0NBUE1FcnJvckZpbGVOYW1lPnthdHRhY2htZW50Lm5hbWV9PC9TQ0FQTUVycm9yRmlsZU5hbWU+XG4gICAgICAgICAgICAgIDwvU0NBUE1FcnJvckNvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0FQTUNvbnRlbnQ+XG4gICAgICAgIDwvU0NBUE1Nb2RhbD5cbiAgICAgIDwvQmFja2Ryb3A+XG4gICAgPC9TQ0FQTVdyYXBwZXI+LFxuICAgIGNvbnRh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
@@ -0,0 +1,69 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useMemo, useState } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { EntitySelector } from '../EntitySelector/EntitySelector';
5
+ import { useRecentClientsSearch } from '../../../hooks/useRecentClientsSearch';
6
+ import { SECTIONS } from '../../../constants/config';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var mapClientToEntityItem = function mapClientToEntityItem(client, t) {
9
+ var secondary = client.totalProyectos != null ? "".concat(client.totalProyectos, " ").concat(client.totalProyectos === 1 ? t('clientSelector.project') : t('clientSelector.projects')) : undefined;
10
+ return {
11
+ id: client.id,
12
+ primary: client.name,
13
+ secondary: secondary
14
+ };
15
+ };
16
+ export var ChatClientSelector = function ChatClientSelector(_ref) {
17
+ var onClientSelected = _ref.onClientSelected;
18
+ var _useTranslation = useTranslation([SECTIONS.clientSelector]),
19
+ t = _useTranslation.t;
20
+ var _useRecentClientsSear = useRecentClientsSearch(),
21
+ fetchRecentClients = _useRecentClientsSear.fetchRecentClients,
22
+ recentClientsLoading = _useRecentClientsSear.recentClientsLoading,
23
+ recentClientsError = _useRecentClientsSear.recentClientsError,
24
+ recentClients = _useRecentClientsSear.recentClients,
25
+ updateSearchValue = _useRecentClientsSear.updateSearchValue;
26
+ var _useState = useState(''),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ searchValue = _useState2[0],
29
+ setSearchValue = _useState2[1];
30
+ var handleSearchChange = function handleSearchChange(value) {
31
+ setSearchValue(value);
32
+ updateSearchValue(value);
33
+ };
34
+ var entityItems = useMemo(function () {
35
+ return (recentClients || []).map(function (client) {
36
+ return mapClientToEntityItem(client, t);
37
+ });
38
+ }, [recentClients, t]);
39
+ var translations = useMemo(function () {
40
+ return {
41
+ placeholder: t('clientSelector.placeholder'),
42
+ recentTitle: t('clientSelector.recentClients'),
43
+ searching: t('clientSelector.searchingClients'),
44
+ empty: t('clientSelector.emptyState'),
45
+ error: t('clientSelector.errorMessage')
46
+ };
47
+ }, [t]);
48
+ var handleItemSelected = function handleItemSelected(item) {
49
+ var client = recentClients === null || recentClients === void 0 ? void 0 : recentClients.find(function (c) {
50
+ return String(c.id) === String(item.id);
51
+ });
52
+ if (client) {
53
+ onClientSelected === null || onClientSelected === void 0 || onClientSelected(client);
54
+ }
55
+ };
56
+ return /*#__PURE__*/_jsx(EntitySelector, {
57
+ items: entityItems,
58
+ loading: recentClientsLoading,
59
+ error: recentClientsError,
60
+ searchValue: searchValue,
61
+ onSearchChange: handleSearchChange,
62
+ fetchRecent: fetchRecentClients,
63
+ onItemSelected: handleItemSelected,
64
+ translations: translations,
65
+ containerId: "chat_client_selector",
66
+ entityType: "client"
67
+ });
68
+ };
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlU3RhdGUiLCJ1c2VUcmFuc2xhdGlvbiIsIkVudGl0eVNlbGVjdG9yIiwidXNlUmVjZW50Q2xpZW50c1NlYXJjaCIsIlNFQ1RJT05TIiwianN4IiwiX2pzeCIsIm1hcENsaWVudFRvRW50aXR5SXRlbSIsImNsaWVudCIsInQiLCJzZWNvbmRhcnkiLCJ0b3RhbFByb3llY3RvcyIsImNvbmNhdCIsInVuZGVmaW5lZCIsImlkIiwicHJpbWFyeSIsIm5hbWUiLCJDaGF0Q2xpZW50U2VsZWN0b3IiLCJfcmVmIiwib25DbGllbnRTZWxlY3RlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNsaWVudFNlbGVjdG9yIiwiX3VzZVJlY2VudENsaWVudHNTZWFyIiwiZmV0Y2hSZWNlbnRDbGllbnRzIiwicmVjZW50Q2xpZW50c0xvYWRpbmciLCJyZWNlbnRDbGllbnRzRXJyb3IiLCJyZWNlbnRDbGllbnRzIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWFyY2hWYWx1ZSIsInNldFNlYXJjaFZhbHVlIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwidmFsdWUiLCJlbnRpdHlJdGVtcyIsIm1hcCIsInRyYW5zbGF0aW9ucyIsInBsYWNlaG9sZGVyIiwicmVjZW50VGl0bGUiLCJzZWFyY2hpbmciLCJlbXB0eSIsImVycm9yIiwiaGFuZGxlSXRlbVNlbGVjdGVkIiwiaXRlbSIsImZpbmQiLCJjIiwiU3RyaW5nIiwiaXRlbXMiLCJsb2FkaW5nIiwib25TZWFyY2hDaGFuZ2UiLCJmZXRjaFJlY2VudCIsIm9uSXRlbVNlbGVjdGVkIiwiY29udGFpbmVySWQiLCJlbnRpdHlUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hhdENsaWVudFNlbGVjdG9yL0NoYXRDbGllbnRTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkMsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBFbnRpdHlTZWxlY3RvciwgRW50aXR5U2VsZWN0b3JJdGVtIH0gZnJvbSAnLi4vRW50aXR5U2VsZWN0b3IvRW50aXR5U2VsZWN0b3InXG5pbXBvcnQgeyB1c2VSZWNlbnRDbGllbnRzU2VhcmNoLCBSZWNlbnRDbGllbnRTZXR0ZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZWNlbnRDbGllbnRzU2VhcmNoJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuXG50eXBlIENoYXRDbGllbnRTZWxlY3RvclByb3BzID0ge1xuICBvbkNsaWVudFNlbGVjdGVkPzogKGNsaWVudDogUmVjZW50Q2xpZW50U2V0dGVyKSA9PiB2b2lkXG59XG5cbmNvbnN0IG1hcENsaWVudFRvRW50aXR5SXRlbSA9IChcbiAgY2xpZW50OiBSZWNlbnRDbGllbnRTZXR0ZXIsXG4gIHQ6IChrZXk6IHN0cmluZywgb3B0cz86IG9iamVjdCkgPT4gc3RyaW5nXG4pOiBFbnRpdHlTZWxlY3Rvckl0ZW0gPT4ge1xuICBjb25zdCBzZWNvbmRhcnkgPVxuICAgIGNsaWVudC50b3RhbFByb3llY3RvcyAhPSBudWxsXG4gICAgICA/IGAke2NsaWVudC50b3RhbFByb3llY3Rvc30gJHtjbGllbnQudG90YWxQcm95ZWN0b3MgPT09IDEgPyB0KCdjbGllbnRTZWxlY3Rvci5wcm9qZWN0JykgOiB0KCdjbGllbnRTZWxlY3Rvci5wcm9qZWN0cycpfWBcbiAgICAgIDogdW5kZWZpbmVkXG4gIHJldHVybiB7XG4gICAgaWQ6IGNsaWVudC5pZCxcbiAgICBwcmltYXJ5OiBjbGllbnQubmFtZSxcbiAgICBzZWNvbmRhcnksXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRDbGllbnRTZWxlY3RvcjogRkM8Q2hhdENsaWVudFNlbGVjdG9yUHJvcHM+ID0gKHsgb25DbGllbnRTZWxlY3RlZCB9KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNsaWVudFNlbGVjdG9yXSlcblxuICBjb25zdCB7IGZldGNoUmVjZW50Q2xpZW50cywgcmVjZW50Q2xpZW50c0xvYWRpbmcsIHJlY2VudENsaWVudHNFcnJvciwgcmVjZW50Q2xpZW50cywgdXBkYXRlU2VhcmNoVmFsdWUgfSA9XG4gICAgdXNlUmVjZW50Q2xpZW50c1NlYXJjaCgpXG5cbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcblxuICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKHZhbHVlKVxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlKHZhbHVlKVxuICB9XG5cbiAgY29uc3QgZW50aXR5SXRlbXMgPSB1c2VNZW1vKFxuICAgICgpID0+IChyZWNlbnRDbGllbnRzIHx8IFtdKS5tYXAoY2xpZW50ID0+IG1hcENsaWVudFRvRW50aXR5SXRlbShjbGllbnQsIHQpKSxcbiAgICBbcmVjZW50Q2xpZW50cywgdF1cbiAgKVxuXG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBsYWNlaG9sZGVyOiB0KCdjbGllbnRTZWxlY3Rvci5wbGFjZWhvbGRlcicpLFxuICAgICAgcmVjZW50VGl0bGU6IHQoJ2NsaWVudFNlbGVjdG9yLnJlY2VudENsaWVudHMnKSxcbiAgICAgIHNlYXJjaGluZzogdCgnY2xpZW50U2VsZWN0b3Iuc2VhcmNoaW5nQ2xpZW50cycpLFxuICAgICAgZW1wdHk6IHQoJ2NsaWVudFNlbGVjdG9yLmVtcHR5U3RhdGUnKSxcbiAgICAgIGVycm9yOiB0KCdjbGllbnRTZWxlY3Rvci5lcnJvck1lc3NhZ2UnKSxcbiAgICB9KSxcbiAgICBbdF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUl0ZW1TZWxlY3RlZCA9IChpdGVtOiBFbnRpdHlTZWxlY3Rvckl0ZW0pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSByZWNlbnRDbGllbnRzPy5maW5kKGMgPT4gU3RyaW5nKGMuaWQpID09PSBTdHJpbmcoaXRlbS5pZCkpXG4gICAgaWYgKGNsaWVudCkge1xuICAgICAgb25DbGllbnRTZWxlY3RlZD8uKGNsaWVudClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxFbnRpdHlTZWxlY3RvclxuICAgICAgaXRlbXM9e2VudGl0eUl0ZW1zfVxuICAgICAgbG9hZGluZz17cmVjZW50Q2xpZW50c0xvYWRpbmd9XG4gICAgICBlcnJvcj17cmVjZW50Q2xpZW50c0Vycm9yfVxuICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlfVxuICAgICAgb25TZWFyY2hDaGFuZ2U9e2hhbmRsZVNlYXJjaENoYW5nZX1cbiAgICAgIGZldGNoUmVjZW50PXtmZXRjaFJlY2VudENsaWVudHN9XG4gICAgICBvbkl0ZW1TZWxlY3RlZD17aGFuZGxlSXRlbVNlbGVjdGVkfVxuICAgICAgdHJhbnNsYXRpb25zPXt0cmFuc2xhdGlvbnN9XG4gICAgICBjb250YWluZXJJZD1cImNoYXRfY2xpZW50X3NlbGVjdG9yXCJcbiAgICAgIGVudGl0eVR5cGU9XCJjbGllbnRcIlxuICAgIC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQWFBLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDN0MsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsY0FBYyxRQUE0QixrQ0FBa0M7QUFDckYsU0FBU0Msc0JBQXNCLFFBQTRCLHVDQUF1QztBQUNsRyxTQUFTQyxRQUFRLFFBQVEsMkJBQTJCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBTXBELElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQ3pCQyxNQUEwQixFQUMxQkMsQ0FBeUMsRUFDbEI7RUFDdkIsSUFBTUMsU0FBUyxHQUNi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
@@ -0,0 +1,2 @@
1
+ export { ChatClientSelector } from './ChatClientSelector';
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0Q2xpZW50U2VsZWN0b3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9DaGF0Q2xpZW50U2VsZWN0b3IvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ2hhdENsaWVudFNlbGVjdG9yIH0gZnJvbSAnLi9DaGF0Q2xpZW50U2VsZWN0b3InXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGtCQUFrQixRQUFRLHNCQUFzQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -22,7 +22,8 @@ export var Chip = function Chip(_ref) {
22
22
  containerWidth = _useState4[0],
23
23
  setContainerWidth = _useState4[1];
24
24
  var _useGlobalContext = useGlobalContext(),
25
- section = _useGlobalContext.section;
25
+ section = _useGlobalContext.section,
26
+ agent = _useGlobalContext.agent;
26
27
  useEffect(function () {
27
28
  var container = containerRef.current;
28
29
  if (!container) return;
@@ -69,7 +70,7 @@ export var Chip = function Chip(_ref) {
69
70
  children: /*#__PURE__*/_jsx(SCChip, {
70
71
  ref: containerRef,
71
72
  children: /*#__PURE__*/_jsxs(ChipContent, {
72
- children: [section !== 'project' && icon.project, items.map(function (item, index) {
73
+ children: [section !== 'project' && (agent === null || agent === void 0 ? void 0 : agent.entity) !== 'client' && icon.project, items.map(function (item, index) {
73
74
  return /*#__PURE__*/_jsxs(ItemContainer, {
74
75
  children: [index !== 0 && /*#__PURE__*/_jsx(Separator, {
75
76
  children: '>'
@@ -88,4 +89,4 @@ export var Chip = function Chip(_ref) {
88
89
  })
89
90
  });
90
91
  };
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRvb2x0aXAiLCJwYWxsZXRlIiwiU0NDaGlwIiwiQ2hpcENvbnRhaW5lciIsIkNoaXBDb250ZW50IiwiSXRlbUNvbnRhaW5lciIsIlNlcGFyYXRvciIsIkl0ZW1UZXh0IiwidXNlR2xvYmFsQ29udGV4dCIsIkZvbGRlckljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hpcCIsIl9yZWYiLCJpdGVtcyIsImNvbnRhaW5lclJlZiIsIml0ZW1SZWZzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3ZlcmZsb3dJdGVtcyIsInNldE92ZXJmbG93SXRlbXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNvbnRhaW5lcldpZHRoIiwic2V0Q29udGFpbmVyV2lkdGgiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlY3Rpb24iLCJjb250YWluZXIiLCJjdXJyZW50IiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImVudHJpZXMiLCJlbnRyeSIsImNvbnRlbnRSZWN0Iiwid2lkdGgiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsIm1heEl0ZW1XaWR0aCIsImxlbmd0aCIsIm5ld092ZXJmbG93SXRlbXMiLCJtYXAiLCJyZWYiLCJ0ZW1wIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsInZpc2liaWxpdHkiLCJ3aGl0ZVNwYWNlIiwiZm9udCIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJ0ZXh0Q29udGVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInRleHRXaWR0aCIsIm9mZnNldFdpZHRoIiwicmVtb3ZlQ2hpbGQiLCJpc092ZXJmbG93IiwiaWNvbiIsInByb2plY3QiLCJoZWlnaHQiLCJjb2xvciIsImNvbG9ycyIsInNlY29uZGFyeSIsImNoaWxkcmVuIiwiaXRlbSIsImluZGV4IiwidGl0bGUiLCJlbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NoaXAvQ2hpcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY29uc2lzdGVudC1yZXR1cm4gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby11bnJlc29sdmVkICovXG5pbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCBwYWxsZXRlIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IFNDQ2hpcCwgQ2hpcENvbnRhaW5lciwgQ2hpcENvbnRlbnQsIEl0ZW1Db250YWluZXIsIFNlcGFyYXRvciwgSXRlbVRleHQgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgRm9sZGVySWNvbiB9IGZyb20gJy4uL2ljb25zL0ZvbGRlckljb24nXG5cbnR5cGUgQ2hpcFByb3BzID0ge1xuICBpdGVtczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGNvbnN0IENoaXAgPSAoeyBpdGVtcyB9OiBDaGlwUHJvcHMpID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpdGVtUmVmcyA9IHVzZVJlZjwoSFRNTERpdkVsZW1lbnQgfCBudWxsKVtdPihbXSlcbiAgY29uc3QgW292ZXJmbG93SXRlbXMsIHNldE92ZXJmbG93SXRlbXNdID0gdXNlU3RhdGU8Ym9vbGVhbltdPihbXSlcbiAgY29uc3QgW2NvbnRhaW5lcldpZHRoLCBzZXRDb250YWluZXJXaWR0aF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCB7IHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuXG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXVxuICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIHNldENvbnRhaW5lcldpZHRoKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjb250YWluZXJXaWR0aCA9PT0gMCkgcmV0dXJuXG4gICAgY29uc3QgbWF4SXRlbVdpZHRoID0gY29udGFpbmVyV2lkdGggLyBpdGVtcy5sZW5ndGhcblxuICAgIGNvbnN0IG5ld092ZXJmbG93SXRlbXMgPSBpdGVtUmVmcy5jdXJyZW50Lm1hcChyZWYgPT4ge1xuICAgICAgaWYgKHJlZikge1xuICAgICAgICBjb25zdCB0ZW1wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICAgICAgdGVtcC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSdcbiAgICAgICAgdGVtcC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcbiAgICAgICAgdGVtcC5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCdcbiAgICAgICAgdGVtcC5zdHlsZS5mb250ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocmVmKS5mb250XG4gICAgICAgIHRlbXAudGV4dENvbnRlbnQgPSByZWYudGV4dENvbnRlbnQgfHwgJydcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZW1wKVxuICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSB0ZW1wLm9mZnNldFdpZHRoXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVtcClcblxuICAgICAgICBjb25zdCBpc092ZXJmbG93ID0gdGV4dFdpZHRoID4gbWF4SXRlbVdpZHRoXG5cbiAgICAgICAgcmV0dXJuIGlzT3ZlcmZsb3dcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gICAgc2V0T3ZlcmZsb3dJdGVtcyhuZXdPdmVyZmxvd0l0ZW1zKVxuICB9LCBbY29udGFpbmVyV2lkdGgsIGl0ZW1zXSlcblxuICBjb25zdCBpY29uID0ge1xuICAgIHByb2plY3Q6IDxGb2xkZXJJY29uIHdpZHRoPVwiMTRweFwiIGhlaWdodD1cIjE0cHhcIiBjb2xvcj17cGFsbGV0ZS5jb2xvcnMuc2Vjb25kYXJ5fSAvPixcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENoaXBDb250YWluZXI+XG4gICAgICA8U0NDaGlwIHJlZj17Y29udGFpbmVyUmVmfT5cbiAgICAgICAgPENoaXBDb250ZW50PlxuICAgICAgICAgIHtzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgaWNvbi5wcm9qZWN0fVxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8SXRlbUNvbnRhaW5lciBrZXk9e2l0ZW19PlxuICAgICAgICAgICAgICB7aW5kZXggIT09IDAgJiYgPFNlcGFyYXRvcj57Jz4nfTwvU2VwYXJhdG9yPn1cbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3NlY3Rpb24gPT09ICdwcm9qZWN0JyAmJiBvdmVyZmxvd0l0ZW1zW2luZGV4XSA/IGl0ZW0gOiAnJ30+XG4gICAgICAgICAgICAgICAgPEl0ZW1UZXh0XG4gICAgICAgICAgICAgICAgICByZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudFtpbmRleF0gPSBlbFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbX1cbiAgICAgICAgICAgICAgICA8L0l0ZW1UZXh0PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICA8L0l0ZW1Db250YWluZXI+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvQ2hpcENvbnRlbnQ+XG4gICAgICA8L1NDQ2hpcD5cbiAgICA8L0NoaXBDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNuRCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLE9BQU9DLE9BQU8sTUFBTSxtQ0FBbUM7QUFDdkQsU0FBU0MsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsYUFBYSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxVQUFVO0FBQ2pHLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQU1oRCxPQUFPLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFBQyxJQUFBLEVBQTZCO0VBQUEsSUFBdkJDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQzFCLElBQU1DLFlBQVksR0FBR3BCLE1BQU0sQ0FBaUIsSUFBSSxDQUFDO0VBQ2pELElBQU1xQixRQUFRLEdBQUdyQixNQUFNLENBQTRCLEVBQUUsQ0FBQztFQUN0RCxJQUFBc0IsU0FBQSxHQUEwQ3BCLFFBQVEsQ0FBWSxFQUFFLENBQUM7SUFBQXFCLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFERyxhQUFhLEdBQUFGLFVBQUE7SUFBRUcsZ0JBQWdCLEdBQUFILFVBQUE7RUFDdEMsSUFBQUksVUFBQSxHQUE0Q3pCLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQTBCLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQWhERSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBQUcsaUJBQUEsR0FBb0JwQixnQkFBZ0IsQ0FBQyxDQUFDO0lBQTlCcUIsT0FBTyxHQUFBRCxpQkFBQSxDQUFQQyxPQUFPO0VBRWYvQixTQUFTLENBQUMsWUFBTTtJQUNkLElBQU1nQyxTQUFTLEdBQUdiLFlBQVksQ0FBQ2MsT0FBTztJQUN0QyxJQUFJLENBQUNELFNBQVMsRUFBRTtJQUVoQixJQUFNRSxjQUFjLEdBQUcsSUFBSUMsY0FBYyxDQUFDLFVBQUFDLE9BQU8sRUFBSTtNQUNuRCxJQUFNQyxLQUFLLEdBQUdELE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFDeEIsSUFBSUMsS0FBSyxFQUFFO1FBQ1RSLGlCQUFpQixDQUFDUSxLQUFLLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDO01BQzVDO0lBQ0YsQ0FBQyxDQUFDO0lBRUZMLGNBQWMsQ0FBQ00sT0FBTyxDQUFDUixTQUFTLENBQUM7SUFDakMsT0FBTyxZQUFNO01BQ1hFLGNBQWMsQ0FBQ08sVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTnpDLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTRCLGNBQWMsS0FBSyxDQUFDLEVBQUU7SUFDMUIsSUFBTWMsWUFBWSxHQUFHZCxjQUFjLEdBQUdWLEtBQUssQ0FBQ3lCLE1BQU07SUFFbEQsSUFBTUMsZ0JBQWdCLEdBQUd4QixRQUFRLENBQUNhLE9BQU8sQ0FBQ1ksR0FBRyxDQUFDLFVBQUFDLEdBQUcsRUFBSTtNQUNuRCxJQUFJQSxHQUFHLEVBQUU7UUFDUCxJQUFNQyxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUMxQ0YsSUFBSSxDQUFDRyxLQUFLLENBQUNDLFFBQVEsR0FBRyxVQUFVO1FBQ2hDSixJQUFJLENBQUNHLEtBQUssQ0FBQ0UsVUFBVSxHQUFHLFFBQVE7UUFDaENMLElBQUksQ0FBQ0csS0FBSyxDQUFDRyxVQUFVLEdBQUcsUUFBUTtRQUNoQ04sSUFBSSxDQUFDRyxLQUFLLENBQUNJLElBQUksR0FBR0MsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQ1YsR0FBRyxDQUFDLENBQUNRLElBQUk7UUFDbkRQLElBQUksQ0FBQ1UsV0FBVyxHQUFHWCxHQUFHLENBQUNXLFdBQVcsSUFBSSxFQUFFO1FBQ3hDVCxRQUFRLENBQUNVLElBQUksQ0FBQ0MsV0FBVyxDQUFDWixJQUFJLENBQUM7UUFDL0IsSUFBTWEsU0FBUyxHQUFHYixJQUFJLENBQUNjLFdBQVc7UUFDbENiLFFBQVEsQ0FBQ1UsSUFBSSxDQUFDSSxXQUFXLENBQUNmLElBQUksQ0FBQztRQUUvQixJQUFNZ0IsVUFBVSxHQUFHSCxTQUFTLEdBQUdsQixZQUFZO1FBRTNDLE9BQU9xQixVQUFVO01BQ25CO01BQ0EsT0FBTyxLQUFLO0lBQ2QsQ0FBQyxDQUFDO0lBQ0Z0QyxnQkFBZ0IsQ0FBQ21CLGdCQUFnQixDQUFDO0VBQ3BDLENBQUMsRUFBRSxDQUFDaEIsY0FBYyxFQUFFVixLQUFLLENBQUMsQ0FBQztFQUUzQixJQUFNOEMsSUFBSSxHQUFHO0lBQ1hDLE9BQU8sZUFBRXBELElBQUEsQ0FBQ0YsVUFBVTtNQUFDNEIsS0FBSyxFQUFDLE1BQU07TUFBQzJCLE1BQU0sRUFBQyxNQUFNO01BQUNDLEtBQUssRUFBRWhFLE9BQU8sQ0FBQ2lFLE1BQU0sQ0FBQ0M7SUFBVSxDQUFFO0VBQ3BGLENBQUM7RUFFRCxvQkFDRXhELElBQUEsQ0FBQ1IsYUFBYTtJQUFBaUUsUUFBQSxlQUNaekQsSUFBQSxDQUFDVCxNQUFNO01BQUMwQyxHQUFHLEVBQUUzQixZQUFhO01BQUFtRCxRQUFBLGVBQ3hCdkQsS0FBQSxDQUFDVCxXQUFXO1FBQUFnRSxRQUFBLEdBQ1R2QyxPQUFPLEtBQUssU0FBUyxJQUFJaUMsSUFBSSxDQUFDQyxPQUFPLEVBQ3JDL0MsS0FBSyxDQUFDMkIsR0FBRyxDQUFDLFVBQUMwQixJQUFJLEVBQUVDLEtBQUs7VUFBQSxvQkFDckJ6RCxLQUFBLENBQUNSLGFBQWE7WUFBQStELFFBQUEsR0FDWEUsS0FBSyxLQUFLLENBQUMsaUJBQUkzRCxJQUFBLENBQUNMLFNBQVM7Y0FBQThELFFBQUEsRUFBRTtZQUFHLENBQVksQ0FBQyxlQUM1Q3pELElBQUEsQ0FBQ1gsT0FBTztjQUFDdUUsS0FBSyxFQUFFMUMsT0FBTyxLQUFLLFNBQVMsSUFBSVAsYUFBYSxDQUFDZ0QsS0FBSyxDQUFDLEdBQUdELElBQUksR0FBRyxFQUFHO2NBQUFELFFBQUEsZUFDeEV6RCxJQUFBLENBQUNKLFFBQVE7Z0JBQ1BxQyxHQUFHLEVBQUUsU0FBTEEsR0FBR0EsQ0FBRTRCLEVBQUUsRUFBSTtrQkFDVHRELFFBQVEsQ0FBQ2EsT0FBTyxDQUFDdUMsS0FBSyxDQUFDLEdBQUdFLEVBQUU7Z0JBQzlCLENBQUU7Z0JBQUFKLFFBQUEsRUFFREM7Y0FBSSxDQUNHO1lBQUMsQ0FDSixDQUFDO1VBQUEsR0FWUUEsSUFXTCxDQUFDO1FBQUEsQ0FDakIsQ0FBQztNQUFBLENBQ1M7SUFBQyxDQUNSO0VBQUMsQ0FDSSxDQUFDO0FBRXBCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
92
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRvb2x0aXAiLCJwYWxsZXRlIiwiU0NDaGlwIiwiQ2hpcENvbnRhaW5lciIsIkNoaXBDb250ZW50IiwiSXRlbUNvbnRhaW5lciIsIlNlcGFyYXRvciIsIkl0ZW1UZXh0IiwidXNlR2xvYmFsQ29udGV4dCIsIkZvbGRlckljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hpcCIsIl9yZWYiLCJpdGVtcyIsImNvbnRhaW5lclJlZiIsIml0ZW1SZWZzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3ZlcmZsb3dJdGVtcyIsInNldE92ZXJmbG93SXRlbXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNvbnRhaW5lcldpZHRoIiwic2V0Q29udGFpbmVyV2lkdGgiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlY3Rpb24iLCJhZ2VudCIsImNvbnRhaW5lciIsImN1cnJlbnQiLCJyZXNpemVPYnNlcnZlciIsIlJlc2l6ZU9ic2VydmVyIiwiZW50cmllcyIsImVudHJ5IiwiY29udGVudFJlY3QiLCJ3aWR0aCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwibWF4SXRlbVdpZHRoIiwibGVuZ3RoIiwibmV3T3ZlcmZsb3dJdGVtcyIsIm1hcCIsInJlZiIsInRlbXAiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsInBvc2l0aW9uIiwidmlzaWJpbGl0eSIsIndoaXRlU3BhY2UiLCJmb250Iiwid2luZG93IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInRleHRDb250ZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidGV4dFdpZHRoIiwib2Zmc2V0V2lkdGgiLCJyZW1vdmVDaGlsZCIsImlzT3ZlcmZsb3ciLCJpY29uIiwicHJvamVjdCIsImhlaWdodCIsImNvbG9yIiwiY29sb3JzIiwic2Vjb25kYXJ5IiwiY2hpbGRyZW4iLCJlbnRpdHkiLCJpdGVtIiwiaW5kZXgiLCJ0aXRsZSIsImVsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLXVucmVzb2x2ZWQgKi9cbmltcG9ydCB7IHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHBhbGxldGUgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgU0NDaGlwLCBDaGlwQ29udGFpbmVyLCBDaGlwQ29udGVudCwgSXRlbUNvbnRhaW5lciwgU2VwYXJhdG9yLCBJdGVtVGV4dCB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBGb2xkZXJJY29uIH0gZnJvbSAnLi4vaWNvbnMvRm9sZGVySWNvbidcblxudHlwZSBDaGlwUHJvcHMgPSB7XG4gIGl0ZW1zOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgY29uc3QgQ2hpcCA9ICh7IGl0ZW1zIH06IENoaXBQcm9wcykgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGl0ZW1SZWZzID0gdXNlUmVmPChIVE1MRGl2RWxlbWVudCB8IG51bGwpW10+KFtdKVxuICBjb25zdCBbb3ZlcmZsb3dJdGVtcywgc2V0T3ZlcmZsb3dJdGVtc10gPSB1c2VTdGF0ZTxib29sZWFuW10+KFtdKVxuICBjb25zdCBbY29udGFpbmVyV2lkdGgsIHNldENvbnRhaW5lcldpZHRoXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IHsgc2VjdGlvbiwgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuXG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXVxuICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIHNldENvbnRhaW5lcldpZHRoKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjb250YWluZXJXaWR0aCA9PT0gMCkgcmV0dXJuXG4gICAgY29uc3QgbWF4SXRlbVdpZHRoID0gY29udGFpbmVyV2lkdGggLyBpdGVtcy5sZW5ndGhcblxuICAgIGNvbnN0IG5ld092ZXJmbG93SXRlbXMgPSBpdGVtUmVmcy5jdXJyZW50Lm1hcChyZWYgPT4ge1xuICAgICAgaWYgKHJlZikge1xuICAgICAgICBjb25zdCB0ZW1wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICAgICAgdGVtcC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSdcbiAgICAgICAgdGVtcC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcbiAgICAgICAgdGVtcC5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCdcbiAgICAgICAgdGVtcC5zdHlsZS5mb250ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocmVmKS5mb250XG4gICAgICAgIHRlbXAudGV4dENvbnRlbnQgPSByZWYudGV4dENvbnRlbnQgfHwgJydcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZW1wKVxuICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSB0ZW1wLm9mZnNldFdpZHRoXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVtcClcblxuICAgICAgICBjb25zdCBpc092ZXJmbG93ID0gdGV4dFdpZHRoID4gbWF4SXRlbVdpZHRoXG5cbiAgICAgICAgcmV0dXJuIGlzT3ZlcmZsb3dcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gICAgc2V0T3ZlcmZsb3dJdGVtcyhuZXdPdmVyZmxvd0l0ZW1zKVxuICB9LCBbY29udGFpbmVyV2lkdGgsIGl0ZW1zXSlcblxuICBjb25zdCBpY29uID0ge1xuICAgIHByb2plY3Q6IDxGb2xkZXJJY29uIHdpZHRoPVwiMTRweFwiIGhlaWdodD1cIjE0cHhcIiBjb2xvcj17cGFsbGV0ZS5jb2xvcnMuc2Vjb25kYXJ5fSAvPixcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENoaXBDb250YWluZXI+XG4gICAgICA8U0NDaGlwIHJlZj17Y29udGFpbmVyUmVmfT5cbiAgICAgICAgPENoaXBDb250ZW50PlxuICAgICAgICAgIHtzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgYWdlbnQ/LmVudGl0eSAhPT0gJ2NsaWVudCcgJiYgaWNvbi5wcm9qZWN0fVxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8SXRlbUNvbnRhaW5lciBrZXk9e2l0ZW19PlxuICAgICAgICAgICAgICB7aW5kZXggIT09IDAgJiYgPFNlcGFyYXRvcj57Jz4nfTwvU2VwYXJhdG9yPn1cbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3NlY3Rpb24gPT09ICdwcm9qZWN0JyAmJiBvdmVyZmxvd0l0ZW1zW2luZGV4XSA/IGl0ZW0gOiAnJ30+XG4gICAgICAgICAgICAgICAgPEl0ZW1UZXh0XG4gICAgICAgICAgICAgICAgICByZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudFtpbmRleF0gPSBlbFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbX1cbiAgICAgICAgICAgICAgICA8L0l0ZW1UZXh0PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICA8L0l0ZW1Db250YWluZXI+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvQ2hpcENvbnRlbnQ+XG4gICAgICA8L1NDQ2hpcD5cbiAgICA8L0NoaXBDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNuRCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLE9BQU9DLE9BQU8sTUFBTSxtQ0FBbUM7QUFDdkQsU0FBU0MsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsYUFBYSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxVQUFVO0FBQ2pHLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQU1oRCxPQUFPLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFBQyxJQUFBLEVBQTZCO0VBQUEsSUFBdkJDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQzFCLElBQU1DLFlBQVksR0FBR3BCLE1BQU0sQ0FBaUIsSUFBSSxDQUFDO0VBQ2pELElBQU1xQixRQUFRLEdBQUdyQixNQUFNLENBQTRCLEVBQUUsQ0FBQztFQUN0RCxJ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