@projectcor/maia-components 2.11.70-0 → 2.11.70

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 (60) hide show
  1. package/lib/components/atoms/Chip/Chip.js +15 -50
  2. package/lib/components/atoms/Chip/styles.js +5 -9
  3. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +6 -38
  4. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +13 -21
  5. package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -32
  6. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +46 -297
  7. package/lib/components/molecules/ChatAIHome/styles.js +26 -63
  8. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +148 -54
  9. package/lib/components/molecules/ChatAIMessages/newStyles.js +9 -19
  10. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +42 -220
  11. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -4
  12. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -26
  13. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +26 -21
  14. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +8 -4
  15. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +11 -3
  16. package/lib/components/molecules/ChatFooter/ChatFooter.js +20 -81
  17. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +7 -22
  18. package/lib/components/molecules/ChatFooter/styles.js +2 -11
  19. package/lib/components/molecules/Sidebar/Sidebar.js +7 -11
  20. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  21. package/lib/constants/maiaTaskPanelAccess.js +5 -7
  22. package/lib/constants/taskUrls.js +2 -9
  23. package/lib/context/global-context.js +1 -8
  24. package/lib/hooks/index.js +1 -2
  25. package/lib/hooks/useChatManager/useChatManager.js +125 -149
  26. package/lib/hooks/useChatMessages/useChatMessages.js +2 -33
  27. package/lib/hooks/useEntitySearch.js +129 -74
  28. package/lib/hooks/useEvent.js +1 -2
  29. package/lib/hooks/useFrequentlyAskedQuestions.js +10 -12
  30. package/lib/hooks/useFrequentlyUsedActions.js +3 -5
  31. package/lib/hooks/useMentionAllowedTypes.js +1 -11
  32. package/lib/hooks/useMentionPopover.js +2 -3
  33. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  34. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +18 -27
  35. package/lib/hooks/useProjectSearch.js +28 -4
  36. package/lib/hooks/useProjectSummaryConfig.js +4 -74
  37. package/lib/hooks/useRecentClientsSearch.js +34 -4
  38. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +16 -24
  39. package/lib/lang/br/index.js +4 -29
  40. package/lib/lang/en/index.js +4 -29
  41. package/lib/lang/es/index.js +4 -29
  42. package/lib/lang/fr/index.js +4 -29
  43. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +3 -6
  44. package/lib/services/maia/Agents/getAgents.js +175 -225
  45. package/lib/services/maia/Chats/getChatMessages.js +3 -13
  46. package/lib/services/maia/Chats/getChatsByUserId.js +2 -10
  47. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +4 -6
  48. package/lib/services/maia/Orchestrator/orchestrator.js +5 -21
  49. package/lib/services/maia/index.js +2 -4
  50. package/lib/services/utils/validateIsMaia.js +2 -2
  51. package/lib/types/agent.js +1 -1
  52. package/lib/utils/agentDisplayName.js +1 -9
  53. package/lib/utils/hitlAnalytics.js +3 -3
  54. package/lib/utils/renderContextMentions.js +1 -3
  55. package/package.json +1 -1
  56. package/lib/hooks/useContextPinPopover.js +0 -235
  57. package/lib/hooks/useRecentContexts.js +0 -86
  58. package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
  59. package/lib/services/maia/RecentContexts/index.js +0 -6
  60. package/lib/utils/entityLinkRender.js +0 -135
@@ -8,7 +8,6 @@ import { buildConfigureSettingsItems } from '../constants/permissions';
8
8
  import { useUser } from '../context/cor-user';
9
9
  import { useTWithSection } from './useT';
10
10
  export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
11
- var _project$client3;
12
11
  var section = _ref.section,
13
12
  entity = _ref.entity,
14
13
  project = _ref.project,
@@ -57,36 +56,11 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
57
56
  return setTaskState(newTask);
58
57
  }, []);
59
58
  var configureSettingsItems = useRef(buildConfigureSettingsItems(user, t));
60
- var _useState13 = useState(function () {
61
- if ((section === 'project' || section === 'task') && (project === null || project === void 0 ? void 0 : project.id) != null) {
62
- var _project$client$name, _project$client;
63
- return {
64
- projectId: String(project.id),
65
- projectName: project.name,
66
- clientName: (_project$client$name = (_project$client = project.client) === null || _project$client === void 0 ? void 0 : _project$client.name) !== null && _project$client$name !== void 0 ? _project$client$name : ''
67
- };
68
- }
69
- return null;
70
- }),
59
+ var _useState13 = useState(null),
71
60
  _useState14 = _slicedToArray(_useState13, 2),
72
61
  chipsProject = _useState14[0],
73
62
  setChipsProjectState = _useState14[1];
74
63
 
75
- // Sincronizar chipsProject cuando el project prop cambia (ej. navegación entre proyectos o tareas)
76
- useEffect(function () {
77
- if ((section === 'project' || section === 'task') && (project === null || project === void 0 ? void 0 : project.id) != null) {
78
- setChipsProjectState(function (prev) {
79
- var _project$client$name2, _project$client2;
80
- if ((prev === null || prev === void 0 ? void 0 : prev.projectId) === String(project.id)) return prev;
81
- return {
82
- projectId: String(project.id),
83
- projectName: project.name,
84
- clientName: (_project$client$name2 = (_project$client2 = project.client) === null || _project$client2 === void 0 ? void 0 : _project$client2.name) !== null && _project$client$name2 !== void 0 ? _project$client$name2 : ''
85
- };
86
- });
87
- }
88
- }, [section, project === null || project === void 0 ? void 0 : project.id, project === null || project === void 0 ? void 0 : project.name, project === null || project === void 0 || (_project$client3 = project.client) === null || _project$client3 === void 0 ? void 0 : _project$client3.name]);
89
-
90
64
  // Sincronizar client cuando la prop llegue después del primer render (ej. section client, datos async)
91
65
  useEffect(function () {
92
66
  if (section === 'client') {
@@ -141,49 +115,6 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
141
115
  var setChipsProject = useCallback(function (newChipsProject) {
142
116
  setChipsProjectState(newChipsProject);
143
117
  }, []);
144
-
145
- // Pin derivado (RFC §12.2): la entidad más específica activa (tarea > proyecto > cliente),
146
- // con su scope hacia arriba en `parents`. Mono hoy; array-ready para cross-entity.
147
- var pinnedContext = useMemo(function () {
148
- if ((task === null || task === void 0 ? void 0 : task.id) != null) {
149
- return {
150
- type: 'task',
151
- id: task.id,
152
- name: task.name,
153
- parents: _objectSpread(_objectSpread({}, task.clientId != null ? {
154
- clientId: task.clientId
155
- } : {}), task.projectId != null ? {
156
- projectId: task.projectId
157
- } : {})
158
- };
159
- }
160
- if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectId) {
161
- return {
162
- type: 'project',
163
- id: chipsProject.projectId,
164
- name: chipsProject.projectName
165
- };
166
- }
167
- if ((project === null || project === void 0 ? void 0 : project.id) != null) {
168
- return _objectSpread({
169
- type: 'project',
170
- id: project.id,
171
- name: project.name
172
- }, project.clientId != null ? {
173
- parents: {
174
- clientId: project.clientId
175
- }
176
- } : {});
177
- }
178
- if ((client === null || client === void 0 ? void 0 : client.id) != null) {
179
- return {
180
- type: 'client',
181
- id: client.id,
182
- name: client.name
183
- };
184
- }
185
- return null;
186
- }, [task === null || task === void 0 ? void 0 : task.id, task === null || task === void 0 ? void 0 : task.name, task === null || task === void 0 ? void 0 : task.clientId, task === null || task === void 0 ? void 0 : task.projectId, chipsProject, project === null || project === void 0 ? void 0 : project.id, project === null || project === void 0 ? void 0 : project.name, project === null || project === void 0 ? void 0 : project.clientId, client === null || client === void 0 ? void 0 : client.id, client === null || client === void 0 ? void 0 : client.name]);
187
118
  var context = useMemo(function () {
188
119
  return {
189
120
  entityValues: entityValues,
@@ -206,13 +137,12 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
206
137
  toggleDeepSearch: toggleDeepSearch,
207
138
  hasMultiAgents: hasMultiAgents,
208
139
  chipsProject: chipsProject,
209
- setChipsProject: setChipsProject,
210
- pinnedContext: pinnedContext
140
+ setChipsProject: setChipsProject
211
141
  };
212
- }, [openSection, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
142
+ }, [openSection, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject]);
213
143
  return {
214
144
  context: context,
215
145
  restoreConfigureSettings: restoreConfigureSettings
216
146
  };
217
147
  };
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm9wZW5TZWN0aW9uIiwic2V0T3BlblNlY3Rpb24iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTkiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTAiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZXRDbGllbnRTdGF0ZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRUYXNrU3RhdGUiLCJzZXRUYXNrIiwibmV3VGFzayIsImNvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJfdXNlU3RhdGUxMyIsImlkIiwiX3Byb2plY3QkY2xpZW50JG5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJTdHJpbmciLCJwcm9qZWN0TmFtZSIsIm5hbWUiLCJjbGllbnROYW1lIiwiX3VzZVN0YXRlMTQiLCJjaGlwc1Byb2plY3QiLCJzZXRDaGlwc1Byb2plY3RTdGF0ZSIsInByZXYiLCJfcHJvamVjdCRjbGllbnQkbmFtZTIiLCJfcHJvamVjdCRjbGllbnQyIiwiX2VudGl0eSRwcm9qZWN0SWQiLCJfZW50aXR5JGNsaWVudElkIiwicmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzIiwiX2NvbmZpZ3VyZVNldHRpbmdzSXRlIiwiY3VycmVudCIsIm1hcCIsIml0ZW0iLCJfb2JqZWN0U3ByZWFkIiwiY2hlY2tlZCIsImhpZGRlbiIsInNlbGVjdEFnZW50IiwibmV3QWdlbnQiLCJjbGVhckFnZW50IiwidG9nZ2xlV2ViU2VhcmNoIiwidG9nZ2xlRGVlcFNlYXJjaCIsInNldENoaXBzUHJvamVjdCIsIm5ld0NoaXBzUHJvamVjdCIsInBpbm5lZENvbnRleHQiLCJ0eXBlIiwicGFyZW50cyIsImNvbnRleHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFN1bW1hcnlDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDaGlwc1Byb2plY3QsIFBpbm5lZENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaydcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtvcGVuU2VjdGlvbiwgc2V0T3BlblNlY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzV2ViU2VhcmNoQWN0aXZlLCBzZXRJc1dlYlNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2lzRGVlcFNlYXJjaEFjdGl2ZSwgc2V0SXNEZWVwU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbZW50aXR5VmFsdWVzLCBzZXRFbnRpdHlWYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0+KGVudGl0eSB8fCB7IHByb2plY3RJZDogbnVsbCwgY2xpZW50SWQ6IG51bGwgfSlcbiAgY29uc3QgW2NsaWVudCwgc2V0Q2xpZW50U3RhdGVdID0gdXNlU3RhdGU8Q2xpZW50IHwgbnVsbD4oaW5pdGlhbENsaWVudCA/PyBudWxsKVxuXG4gIGNvbnN0IHNldENsaWVudCA9IHNldENsaWVudFByb3AgPz8gc2V0Q2xpZW50U3RhdGVcblxuICBjb25zdCBbdGFzaywgc2V0VGFza1N0YXRlXSA9IHVzZVN0YXRlPFRhc2sgfCBudWxsPihpbml0aWFsVGFzayA/PyBudWxsKVxuICBjb25zdCBzZXRUYXNrID0gdXNlQ2FsbGJhY2soKG5ld1Rhc2s6IFRhc2sgfCBudWxsKSA9PiBzZXRUYXNrU3RhdGUobmV3VGFzayksIFtdKVxuXG4gIGNvbnN0IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMgPSB1c2VSZWYoYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zKHVzZXIsIHQpKVxuICBjb25zdCBbY2hpcHNQcm9qZWN0LCBzZXRDaGlwc1Byb2plY3RTdGF0ZV0gPSB1c2VTdGF0ZTxDaGlwc1Byb2plY3QgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2hpcHNQcm9qZWN0IGN1YW5kbyBlbCBwcm9qZWN0IHByb3AgY2FtYmlhIChlai4gbmF2ZWdhY2nDs24gZW50cmUgcHJveWVjdG9zIG8gdGFyZWFzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUocHJldiA9PiB7XG4gICAgICAgIGlmIChwcmV2Py5wcm9qZWN0SWQgPT09IFN0cmluZyhwcm9qZWN0LmlkKSkgcmV0dXJuIHByZXZcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIHByb2plY3Q/LmlkLCBwcm9qZWN0Py5uYW1lLCBwcm9qZWN0Py5jbGllbnQ/Lm5hbWVdKVxuXG4gIC8vIFNpbmNyb25pemFyIGNsaWVudCBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIgKGVqLiBzZWN0aW9uIGNsaWVudCwgZGF0b3MgYXN5bmMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSB7XG4gICAgICBzZXRDbGllbnRTdGF0ZShpbml0aWFsQ2xpZW50ID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbENsaWVudF0pXG5cbiAgLy8gU2luY3Jvbml6YXIgdGFzayBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSB7XG4gICAgICBzZXRUYXNrU3RhdGUoaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsVGFza10pXG5cbiAgLy8gU2luY3Jvbml6YXIgZW50aXR5VmFsdWVzIGN1YW5kbyBlbnRpdHkgY2FtYmllIChlai4gbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbnRpdHkgIT0gbnVsbCkge1xuICAgICAgc2V0RW50aXR5VmFsdWVzKHtcbiAgICAgICAgcHJvamVjdElkOiBlbnRpdHkucHJvamVjdElkID8/IG51bGwsXG4gICAgICAgIGNsaWVudElkOiBlbnRpdHkuY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbZW50aXR5Py5wcm9qZWN0SWQsIGVudGl0eT8uY2xpZW50SWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdwcm9qZWN0Jykgc2V0T3BlblNlY3Rpb24oJ3Byb2plY3QnKVxuICAgIGVsc2UgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSBzZXRPcGVuU2VjdGlvbignY2xpZW50JylcbiAgICBlbHNlIHNldE9wZW5TZWN0aW9uKCdoZWFkZXInKVxuICB9LCBbc2VjdGlvbl0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRDaGlwc1Byb2plY3QgPSB1c2VDYWxsYmFjaygobmV3Q2hpcHNQcm9qZWN0OiBDaGlwc1Byb2plY3QgfCBudWxsKSA9PiB7XG4gICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUobmV3Q2hpcHNQcm9qZWN0KVxuICB9LCBbXSlcblxuICAvLyBQaW4gZGVyaXZhZG8gKFJGQyDCpzEyLjIpOiBsYSBlbnRpZGFkIG3DoXMgZXNwZWPDrWZpY2EgYWN0aXZhICh0YXJlYSA+IHByb3llY3RvID4gY2xpZW50ZSksXG4gIC8vIGNvbiBzdSBzY29wZSBoYWNpYSBhcnJpYmEgZW4gYHBhcmVudHNgLiBNb25vIGhveTsgYXJyYXktcmVhZHkgcGFyYSBjcm9zcy1lbnRpdHkuXG4gIGNvbnN0IHBpbm5lZENvbnRleHQgPSB1c2VNZW1vPFBpbm5lZENvbnRleHQgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0YXNrJyxcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIG5hbWU6IHRhc2submFtZSxcbiAgICAgICAgcGFyZW50czoge1xuICAgICAgICAgIC4uLih0YXNrLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiB0YXNrLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHRhc2sucHJvamVjdElkICE9IG51bGwgPyB7IHByb2plY3RJZDogdGFzay5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLFxuICAgICAgICBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBwcm9qZWN0LmlkLFxuICAgICAgICBuYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIC4uLihwcm9qZWN0LmNsaWVudElkICE9IG51bGwgPyB7IHBhcmVudHM6IHsgY2xpZW50SWQ6IHByb2plY3QuY2xpZW50SWQgfSB9IDoge30pLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2xpZW50Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9LCBbXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICB0YXNrPy5jbGllbnRJZCxcbiAgICB0YXNrPy5wcm9qZWN0SWQsXG4gICAgY2hpcHNQcm9qZWN0LFxuICAgIHByb2plY3Q/LmlkLFxuICAgIHByb2plY3Q/Lm5hbWUsXG4gICAgcHJvamVjdD8uY2xpZW50SWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBjbGllbnQ/Lm5hbWUsXG4gIF0pXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVudGl0eVZhbHVlcyxcbiAgICAgIHNlY3Rpb246IG9wZW5TZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBvcGVuU2VjdGlvbixcbiAgICAgIGVudGl0eVZhbHVlcz8ucHJvamVjdElkLFxuICAgICAgZW50aXR5VmFsdWVzPy5jbGllbnRJZCxcbiAgICAgIGFnZW50LFxuICAgICAgc2VsZWN0QWdlbnQsXG4gICAgICBjbGVhckFnZW50LFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgcHJvamVjdD8uaWQsXG4gICAgICBzZXRQcm9qZWN0LFxuICAgICAgY2xpZW50Py5pZCxcbiAgICAgIHNldENsaWVudCxcbiAgICAgIHRhc2s/LmlkLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICBdXG4gIClcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQsXG4gICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBR3pFLFNBQVNDLFFBQVEsUUFBUSxxQkFBcUI7QUFDOUMsU0FBU0MsMkJBQTJCLFFBQVEsMEJBQTBCO0FBQ3RFLFNBQVNDLE9BQU8sUUFBUSxxQkFBcUI7QUFHN0MsU0FBU0MsZUFBZSxRQUFRLFFBQVE7QUFtQnhDLE9BQU8sSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQUMsSUFBQSxFQVNIO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQVIvQkMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFDUEMsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87SUFDUEMsVUFBVSxHQUFBTCxJQUFBLENBQVZLLFVBQVU7SUFBQUMsV0FBQSxHQUFBTixJQUFBLENBQ1ZPLE1BQU07SUFBRUMsYUFBYSxHQUFBRixXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0lBQ2pCRyxhQUFhLEdBQUFULElBQUEs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WTtNQUNackMsT0FBTyxFQUFFdUIsV0FBVztNQUNwQkosS0FBSyxFQUFMQSxLQUFLO01BQ0xxRCxXQUFXLEVBQVhBLFdBQVc7TUFDWEUsVUFBVSxFQUFWQSxVQUFVO01BQ1YzQixzQkFBc0IsRUFBdEJBLHNCQUFzQjtNQUN0QmlCLHdCQUF3QixFQUF4QkEsd0JBQXdCO01BQ3hCMUIsZUFBZSxFQUFmQSxlQUFlO01BQ2ZwQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLE1BQU0sRUFBTkEsTUFBTTtNQUNORyxTQUFTLEVBQVRBLFNBQVM7TUFDVEUsSUFBSSxFQUFKQSxJQUFJO01BQ0ptQyxPQUFPLEVBQVBBLE9BQU87TUFDUGxCLGlCQUFpQixFQUFqQkEsaUJBQWlCO01BQ2pCZ0QsZUFBZSxFQUFmQSxlQUFlO01BQ2Y1QyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtNQUNsQjZDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCaEUsY0FBYyxFQUFkQSxjQUFjO01BQ2Q2QyxZQUFZLEVBQVpBLFlBQVk7TUFDWm9CLGVBQWUsRUFBZkEsZUFBZTtNQUNmRSxhQUFhLEVBQWJBO0lBQ0YsQ0FBQztFQUFBLENBQUMsRUFDRixDQUNFeEQsV0FBVyxFQUNYYyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJoQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVnBDLGVBQWUsRUFDZjBCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFK0MsRUFBRSxFQUNYOUMsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRTRDLEVBQUUsRUFDVnpDLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUV1QyxFQUFFLEVBQ1JKLE9BQU8sRUFDUGxCLGlCQUFpQixFQUNqQmdELGVBQWUsRUFDZjVDLGtCQUFrQixFQUNsQjZDLGdCQUFnQixFQUNoQmhFLGNBQWMsRUFDZDZDLFlBQVksRUFDWm9CLGVBQWUsRUFDZkUsYUFBYSxDQUVqQixDQUFDO0VBRUQsT0FBTztJQUNMRyxPQUFPLEVBQVBBLE9BQU87SUFDUGxCLHdCQUF3QixFQUF4QkE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
148
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsInNlY3Rpb24iLCJlbnRpdHkiLCJwcm9qZWN0Iiwic2V0UHJvamVjdCIsIl9yZWYkY2xpZW50IiwiY2xpZW50IiwiaW5pdGlhbENsaWVudCIsInNldENsaWVudFByb3AiLCJzZXRDbGllbnQiLCJfcmVmJHRhc2siLCJ0YXNrIiwiaW5pdGlhbFRhc2siLCJoYXNNdWx0aUFnZW50cyIsInVzZXIiLCJ0IiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWdlbnQiLCJzZXRBZ2VudCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwib3BlblNlY3Rpb24iLCJzZXRPcGVuU2VjdGlvbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJzZXRJc1dlYlNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwic2V0SXNEZWVwU2VhcmNoQWN0aXZlIiwiX3VzZVN0YXRlOSIsInByb2plY3RJZCIsImNsaWVudElkIiwiX3VzZVN0YXRlMCIsImVudGl0eVZhbHVlcyIsInNldEVudGl0eVZhbHVlcyIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInNldENsaWVudFN0YXRlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNldFRhc2tTdGF0ZSIsInNldFRhc2siLCJuZXdUYXNrIiwiY29uZmlndXJlU2V0dGluZ3NJdGVtcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJjaGlwc1Byb2plY3QiLCJzZXRDaGlwc1Byb2plY3RTdGF0ZSIsIl9lbnRpdHkkcHJvamVjdElkIiwiX2VudGl0eSRjbGllbnRJZCIsInJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyIsIl9jb25maWd1cmVTZXR0aW5nc0l0ZSIsImN1cnJlbnQiLCJtYXAiLCJpdGVtIiwiX29iamVjdFNwcmVhZCIsImNoZWNrZWQiLCJoaWRkZW4iLCJzZWxlY3RBZ2VudCIsIm5ld0FnZW50IiwiY2xlYXJBZ2VudCIsInRvZ2dsZVdlYlNlYXJjaCIsInByZXYiLCJ0b2dnbGVEZWVwU2VhcmNoIiwic2V0Q2hpcHNQcm9qZWN0IiwibmV3Q2hpcHNQcm9qZWN0IiwiY29udGV4dCIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVByb2plY3RTdW1tYXJ5Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ2hpcHNQcm9qZWN0IH0gZnJvbSAnLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyB9IGZyb20gJy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi90eXBlcy9hZ2VudCdcblxuaW1wb3J0IHsgdXNlVFdpdGhTZWN0aW9uIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3R5cGVzL1Byb2plY3QnXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICcuLi90eXBlcy9DbGllbnQnXG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdHlwZXMvVGFzaydcblxudHlwZSBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzID0ge1xuICBzZWN0aW9uOiAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snXG4gIGVudGl0eT86IHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9IHwgbnVsbFxuICBwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbFxuICBzZXRQcm9qZWN0OiAocHJvamVjdDogUHJvamVjdCB8IG51bGwpID0+IHZvaWRcbiAgY2xpZW50PzogQ2xpZW50IHwgbnVsbFxuICBzZXRDbGllbnQ/OiAoY2xpZW50OiBDbGllbnQgfCBudWxsKSA9PiB2b2lkXG4gIHRhc2s/OiBUYXNrIHwgbnVsbFxuICBoYXNNdWx0aUFnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnID0gKHtcbiAgc2VjdGlvbixcbiAgZW50aXR5LFxuICBwcm9qZWN0LFxuICBzZXRQcm9qZWN0LFxuICBjbGllbnQ6IGluaXRpYWxDbGllbnQgPSBudWxsLFxuICBzZXRDbGllbnQ6IHNldENsaWVudFByb3AsXG4gIHRhc2s6IGluaXRpYWxUYXNrID0gbnVsbCxcbiAgaGFzTXVsdGlBZ2VudHMsXG59OiBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgdCA9IHVzZVRXaXRoU2VjdGlvbihTRUNUSU9OUy5jaGF0QUkpXG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbb3BlblNlY3Rpb24sIHNldE9wZW5TZWN0aW9uXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc1dlYlNlYXJjaEFjdGl2ZSwgc2V0SXNXZWJTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0RlZXBTZWFyY2hBY3RpdmUsIHNldElzRGVlcFNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2VudGl0eVZhbHVlcywgc2V0RW50aXR5VmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9PihlbnRpdHkgfHwgeyBwcm9qZWN0SWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH0pXG4gIGNvbnN0IFtjbGllbnQsIHNldENsaWVudFN0YXRlXSA9IHVzZVN0YXRlPENsaWVudCB8IG51bGw+KGluaXRpYWxDbGllbnQgPz8gbnVsbClcblxuICBjb25zdCBzZXRDbGllbnQgPSBzZXRDbGllbnRQcm9wID8/IHNldENsaWVudFN0YXRlXG5cbiAgY29uc3QgW3Rhc2ssIHNldFRhc2tTdGF0ZV0gPSB1c2VTdGF0ZTxUYXNrIHwgbnVsbD4oaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgY29uc3Qgc2V0VGFzayA9IHVzZUNhbGxiYWNrKChuZXdUYXNrOiBUYXNrIHwgbnVsbCkgPT4gc2V0VGFza1N0YXRlKG5ld1Rhc2spLCBbXSlcblxuICBjb25zdCBjb25maWd1cmVTZXR0aW5nc0l0ZW1zID0gdXNlUmVmKGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyh1c2VyLCB0KSlcbiAgY29uc3QgW2NoaXBzUHJvamVjdCwgc2V0Q2hpcHNQcm9qZWN0U3RhdGVdID0gdXNlU3RhdGU8Q2hpcHNQcm9qZWN0IHwgbnVsbD4obnVsbClcblxuICAvLyBTaW5jcm9uaXphciBjbGllbnQgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyIChlai4gc2VjdGlvbiBjbGllbnQsIGRhdG9zIGFzeW5jKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAnY2xpZW50Jykge1xuICAgICAgc2V0Q2xpZW50U3RhdGUoaW5pdGlhbENsaWVudCA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxDbGllbnRdKVxuXG4gIC8vIFNpbmNyb25pemFyIHRhc2sgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICd0YXNrJykge1xuICAgICAgc2V0VGFza1N0YXRlKGluaXRpYWxUYXNrID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbFRhc2tdKVxuXG4gIC8vIFNpbmNyb25pemFyIGVudGl0eVZhbHVlcyBjdWFuZG8gZW50aXR5IGNhbWJpZSAoZWouIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlcilcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50aXR5ICE9IG51bGwpIHtcbiAgICAgIHNldEVudGl0eVZhbHVlcyh7XG4gICAgICAgIHByb2plY3RJZDogZW50aXR5LnByb2plY3RJZCA/PyBudWxsLFxuICAgICAgICBjbGllbnRJZDogZW50aXR5LmNsaWVudElkID8/IG51bGwsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2VudGl0eT8ucHJvamVjdElkLCBlbnRpdHk/LmNsaWVudElkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAncHJvamVjdCcpIHNldE9wZW5TZWN0aW9uKCdwcm9qZWN0JylcbiAgICBlbHNlIGlmIChzZWN0aW9uID09PSAnY2xpZW50Jykgc2V0T3BlblNlY3Rpb24oJ2NsaWVudCcpXG4gICAgZWxzZSBzZXRPcGVuU2VjdGlvbignaGVhZGVyJylcbiAgfSwgW3NlY3Rpb25dKVxuXG4gIGNvbnN0IHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLmN1cnJlbnQgPSBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLmN1cnJlbnQ/Lm1hcChpdGVtID0+ICh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgY2hlY2tlZDogIWl0ZW0uaGlkZGVuLFxuICAgIH0pKVxuICB9LCBbXSlcblxuICBjb25zdCBzZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKChuZXdBZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRBZ2VudChuZXdBZ2VudClcbiAgfSwgW10pXG5cbiAgY29uc3QgY2xlYXJBZ2VudCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRBZ2VudChudWxsKVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVXZWJTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNXZWJTZWFyY2hBY3RpdmUocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlRGVlcFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0RlZXBTZWFyY2hBY3RpdmUocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Q2hpcHNQcm9qZWN0ID0gdXNlQ2FsbGJhY2soKG5ld0NoaXBzUHJvamVjdDogQ2hpcHNQcm9qZWN0IHwgbnVsbCkgPT4ge1xuICAgIHNldENoaXBzUHJvamVjdFN0YXRlKG5ld0NoaXBzUHJvamVjdClcbiAgfSwgW10pXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVudGl0eVZhbHVlcyxcbiAgICAgIHNlY3Rpb246IG9wZW5TZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgIH0pLFxuICAgIFtcbiAgICAgIG9wZW5TZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgXVxuICApXG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZXh0LFxuICAgIHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUd6RSxTQUFTQyxRQUFRLFFBQVEscUJBQXFCO0FBQzlDLFNBQVNDLDJCQUEyQixRQUFRLDBCQUEwQjtBQUN0RSxTQUFTQyxPQUFPLFFBQVEscUJBQXFCO0FBRzdDLFNBQVNDLGVBQWUsUUFBUSxRQUFRO0FBbUJ4QyxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUFDLElBQUEsRUFTSDtFQUFBLElBUi9CQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUNQQyxNQUFNLEdBQUFGLElBQUEsQ0FBTkUsTUFBTTtJQUNOQyxPQUFPLEdBQUFILElBQUEsQ0FBUEcsT0FBTztJQUNQQyxVQUFVLEdBQUFKLElBQUEsQ0FBVkksVUFBVTtJQUFBQyxXQUFBLEdBQUFMLElBQUEsQ0FDVk0sTUFBTTtJQUFFQyxhQUFhLEdBQUFGLFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7SUFDakJHLGFBQWEsR0FBQVIsSUFBQSxDQUF4QlMsU0FBUztJQUFBQyxTQUFBLEdBQUFWLElBQUEsQ0FDVFcsSUFBSTtJQUFFQyxXQUFXLEdBQUFGLFNBQUEsY0FBRyxJQUFJLEdBQUFBLFNBQUE7SUFDeEJHLGNBQWMsR0FBQWIsSUFBQSxDQUFkYSxjQUFjO0VBRWQsSUFBTUMsSUFBSSxHQUFHakIsT0FBTyxDQUFDLENBQUM7RUFDdEIsSUFBTWtCLENBQUMsR0FBR2pCLGVBQWUsQ0FBQ0gsUUFBUSxDQUFDcUIsTUFBTSxDQUFDO0VBQzFDLElBQUFDLFNBQUEsR0FBMEJ4QixRQUFRLENBQWUsSUFBSSxDQUFDO0lBQUF5QixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUEvQ0csS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFBSSxVQUFBLEdBQXNDN0IsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQThCLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQTVERSxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBQ2xDLElBQUFHLFVBQUEsR0FBa0RqQyxRQUFRLENBQVUsS0FBSyxDQUFDO0lBQUFrQyxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUFuRUUsaUJBQWlCLEdBQUFELFVBQUE7SUFBRUUsb0JBQW9CLEdBQUFGLFVBQUE7RUFDOUMsSUFBQUcsVUFBQSxHQUFvRHJDLFFBQVEsQ0FBVSxLQUFLLENBQUM7SUFBQXNDLFVBQUEsR0FBQVosY0FBQSxDQUFBVyxVQUFBO0lBQXJFRSxrQkFBa0IsR0FBQUQsVUFBQTtJQUFFRSxxQkFBcUIsR0FBQUYsVUFBQTtFQUNoRCxJQUFBRyxVQUFBLEdBQXdDekMsUUFBUSxDQUc3Q1MsTUFBTSxJQUFJO01BQUVpQyxTQUFTLEVBQUUsSUFBSTtNQUFFQyxRQUFRLEVBQUU7SUFBSyxDQUFDLENBQUM7SUFBQUMsVUFBQSxHQUFBbEIsY0FBQSxDQUFBZSxVQUFBO0lBSDFDSSxZQUFZLEdBQUFELFVBQUE7SUFBRUUsZUFBZSxHQUFBRixVQUFBO0VBSXBDLElBQUFHLFVBQUEsR0FBaUMvQyxRQUFRLENBQWdCYyxhQUFhLGFBQWJBLGFBQWEsY0FBYkEsYUFBYSxHQUFJLElBQUksQ0FBQztJQUFBa0MsV0FBQSxHQUFBdEIsY0FBQSxDQUFBcUIsVUFBQTtJQUF4RWxDLE1BQU0sR0FBQW1DLFdBQUE7SUFBRUMsY0FBYyxHQUFBRCxXQUFBO0VBRTdCLElBQU1oQyxTQUFTLEdBQUdELGFBQWEsYUFBYkEsYUFBYSxjQUFiQSxhQUFhLEdBQUlrQyxjQUFjO0VBRWpELElBQUFDLFdBQUEsR0FBNkJsRCxRQUFRLENBQWNtQixXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJLElBQUksQ0FBQztJQUFBZ0MsV0FBQSxHQUFBekIsY0FBQSxDQUFBd0IsV0FBQTtJQUFoRWhDLElBQUksR0FBQWlDLFdBQUE7SUFBRUMsWUFBWSxHQUFBRCxXQUFBO0VBQ3pCLElBQU1FLE9BQU8sR0FBR3hELFdBQVcsQ0FBQyxVQUFDeUQsT0FBb0I7SUFBQSxPQUFLRixZQUFZLENBQUNFLE9BQU8sQ0FBQztFQUFBLEdBQUUsRUFBRSxDQUFDO0VBRWhGLElBQU1DLHNCQUFzQixHQUFHekQsTUFBTSxDQUFDSywyQkFBMkIsQ0FBQ2tCLElBQUksRUFBRUMsQ0FBQyxDQUFDLENBQUM7RUFDM0UsSUFBQWtDLFdBQUEsR0FBNkN4RCxRQUFRLENBQXNCLElBQUksQ0FBQztJQUFBeUQsV0FBQSxHQUFBL0IsY0FBQSxDQUFBOEIsV0FBQTtJQUF6RUUsWUFBWSxHQUFBRCxXQUFBO0lBQUVFLG9CQUFvQixHQUFBRixXQUFBOztFQUV6QztFQUNBeEQsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJTyxPQUFPLEtBQUssUUFBUSxFQUFFO01BQ3hCeUMsY0FBYyxDQUFDbkMsYUFBYSxhQUFiQSxhQUFhLGNBQWJBLGFBQWEsR0FBSSxJQUFJLENBQUM7SUFDdkM7RUFDRixDQUFDLEVBQUUsQ0FBQ04sT0FBTyxFQUFFTSxhQUFhLENBQUMsQ0FBQzs7RUFFNUI7RUFDQWIsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJTyxPQUFPLEtBQUssTUFBTSxFQUFFO01BQ3RCNEMsWUFBWSxDQUFDakMsV0FBVyxhQUFYQSxXQUFXLGNBQVhBLFdBQVcsR0FBSSxJQUFJLENBQUM7SUFDbkM7RUFDRixDQUFDLEVBQUUsQ0FBQ1gsT0FBTyxFQUFFVyxXQUFXLENBQUMsQ0FBQzs7RUFFMUI7RUFDQWxCLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSVEsTUFBTSxJQUFJLElBQUksRUFBRTtNQUFBLElBQUFtRCxpQkFBQSxFQUFBQyxnQkFBQTtNQUNsQmYsZUFBZSxDQUFDO1FBQ2RKLFNBQVMsR0FBQWtCLGlCQUFBLEdBQUVuRCxNQUFNLENBQUNpQyxTQUFTLGNBQUFrQixpQkFBQSxjQUFBQSxpQkFBQSxHQUFJLElBQUk7UUFDbkNqQixRQUFRLEdBQUFrQixnQkFBQSxHQUFFcEQsTUFBTSxDQUFDa0MsUUFBUSxjQUFBa0IsZ0JBQUEsY0FBQUEsZ0JBQUEsR0FBSTtNQUMvQixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDcEQsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVpQyxTQUFTLEVBQUVqQyxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRWtDLFFBQVEsQ0FBQyxDQUFDO0VBRXpDMUMsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJTyxPQUFPLEtBQUssU0FBUyxFQUFFd0IsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUMvQyxJQUFJeEIsT0FBTyxLQUFLLFFBQVEsRUFBRXdCLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFDbERBLGNBQWMsQ0FBQyxRQUFRLENBQUM7RUFDL0IsQ0FBQyxFQUFFLENBQUN4QixPQUFPLENBQUMsQ0FBQztFQUViLElBQU1zRCx3QkFBd0IsR0FBR2pFLFdBQVcsQ0FBQyxZQUFNO0lBQUEsSUFBQWtFLHFCQUFBO0lBQ2pEUixzQkFBc0IsQ0FBQ1MsT0FBTyxJQUFBRCxxQkFBQSxHQUFHUixzQkFBc0IsQ0FBQ1MsT0FBTyxjQUFBRCxxQkFBQSx1QkFBOUJBLHFCQUFBLENBQWdDRSxHQUFHLENBQUMsVUFBQUMsSUFBSTtNQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNwRUQsSUFBSTtRQUNQRSxPQUFPLEVBQUUsQ0FBQ0YsSUFBSSxDQUFDRztNQUFNO0lBQUEsQ0FDckIsQ0FBQztFQUNMLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNQyxXQUFXLEdBQUd6RSxXQUFXLENBQUMsVUFBQzBFLFFBQWUsRUFBSztJQUNuRDNDLFFBQVEsQ0FBQzJDLFFBQVEsQ0FBQztFQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTUMsVUFBVSxHQUFHM0UsV0FBVyxDQUFDLFlBQU07SUFDbkMrQixRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNNkMsZUFBZSxHQUFHNUUsV0FBVyxDQUFDLFlBQU07SUFDeEN1QyxvQkFBb0IsQ0FBQyxVQUFBc0MsSUFBSTtNQUFBLE9BQUksQ0FBQ0EsSUFBSTtJQUFBLEVBQUM7RUFDckMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1DLGdCQUFnQixHQUFHOUUsV0FBVyxDQUFDLFlBQU07SUFDekMyQyxxQkFBcUIsQ0FBQyxVQUFBa0MsSUFBSTtNQUFBLE9BQUksQ0FBQ0EsSUFBSTtJQUFBLEVBQUM7RUFDdEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1FLGVBQWUsR0FBRy9FLFdBQVcsQ0FBQyxVQUFDZ0YsZUFBb0MsRUFBSztJQUM1RWxCLG9CQUFvQixDQUFDa0IsZUFBZSxDQUFDO0VBQ3ZDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNQyxPQUFPLEdBQUcvRSxPQUFPLENBQ3JCO0lBQUEsT0FBTztNQUNMOEMsWUFBWSxFQUFaQSxZQUFZO01BQ1pyQyxPQUFPLEVBQUV1QixXQUFXO01BQ3BCSixLQUFLLEVBQUxBLEtBQUs7TUFDTDJDLFdBQVcsRUFBWEEsV0FBVztNQUNYRSxVQUFVLEVBQVZBLFVBQVU7TUFDVmpCLHNCQUFzQixFQUF0QkEsc0JBQXNCO01BQ3RCTyx3QkFBd0IsRUFBeEJBLHdCQUF3QjtNQUN4QmhCLGVBQWUsRUFBZkEsZUFBZTtNQUNmcEMsT0FBTyxFQUFQQSxPQUFPO01BQ1BDLFVBQVUsRUFBVkEsVUFBVTtNQUNWRSxNQUFNLEVBQU5BLE1BQU07TUFDTkcsU0FBUyxFQUFUQSxTQUFTO01BQ1RFLElBQUksRUFBSkEsSUFBSTtNQUNKbUMsT0FBTyxFQUFQQSxPQUFPO01BQ1BsQixpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQnNDLGVBQWUsRUFBZkEsZUFBZTtNQUNmbEMsa0JBQWtCLEVBQWxCQSxrQkFBa0I7TUFDbEJvQyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtNQUNoQnZELGNBQWMsRUFBZEEsY0FBYztNQUNkc0MsWUFBWSxFQUFaQSxZQUFZO01BQ1prQixlQUFlLEVBQWZBO0lBQ0YsQ0FBQztFQUFBLENBQUMsRUFDRixDQUNFN0MsV0FBVyxFQUNYYyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJoQixLQUFLLEVBQ0wyQyxXQUFXLEVBQ1hFLFVBQVUsRUFDVjFCLGVBQWUsRUFDZmdCLHdCQUF3QixFQUN4QnBELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFcUUsRUFBRSxFQUNYcEUsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRWtFLEVBQUUsRUFDVi9ELFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUU2RCxFQUFFLEVBQ1IxQixPQUFPLEVBQ1BsQixpQkFBaUIsRUFDakJzQyxlQUFlLEVBQ2ZsQyxrQkFBa0IsRUFDbEJvQyxnQkFBZ0IsRUFDaEJ2RCxjQUFjLEVBQ2RzQyxZQUFZLEVBQ1prQixlQUFlLENBRW5CLENBQUM7RUFFRCxPQUFPO0lBQ0xFLE9BQU8sRUFBUEEsT0FBTztJQUNQaEIsd0JBQXdCLEVBQXhCQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -6,6 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  import { useLazyQuery } from '@apollo/client';
8
8
  import { useEffect, useState, useCallback } from 'react';
9
+ import maia from '../services/maia';
9
10
  import { SEARCH_QUERY_DEBOUNCE_MS } from '../constants/config';
10
11
  import { useDebounce } from './useDebounce';
11
12
  import { SEARCH_CLIENTS } from '../services/query';
@@ -93,16 +94,45 @@ export var useRecentClientsSearch = function useRecentClientsSearch() {
93
94
  });
94
95
  };
95
96
  var fetchRecentClientsWithLoading = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
97
+ var data, mapped, _t;
96
98
  return _regeneratorRuntime.wrap(function (_context) {
97
99
  while (1) switch (_context.prev = _context.next) {
98
100
  case 0:
99
- setRecentClientsData([]);
101
+ setLoading(true);
102
+ setError(false);
103
+ setRecentError(false);
104
+ setIsQueryInProgress(true);
105
+ setLoadingRecentClients(true);
106
+ _context.prev = 1;
107
+ _context.next = 2;
108
+ return maia.RecentClients.getRecentClients();
109
+ case 2:
110
+ data = _context.sent;
111
+ mapped = (Array.isArray(data) ? data : []).map(function (c) {
112
+ return _objectSpread({
113
+ id: c.id,
114
+ name: c.name
115
+ }, c.totalProyectos != null && {
116
+ totalProyectos: c.totalProyectos
117
+ });
118
+ });
119
+ setRecentClientsData(mapped);
120
+ _context.next = 4;
121
+ break;
122
+ case 3:
123
+ _context.prev = 3;
124
+ _t = _context["catch"](1);
125
+ setRecentError(true);
126
+ setRecentClientsData(null);
127
+ case 4:
128
+ _context.prev = 4;
100
129
  setLoadingRecentClients(false);
101
- case 1:
130
+ return _context.finish(4);
131
+ case 5:
102
132
  case "end":
103
133
  return _context.stop();
104
134
  }
105
- }, _callee);
135
+ }, _callee, null, [[1, 3, 4, 5]]);
106
136
  })), []);
107
137
  useEffect(function () {
108
138
  if (loadingRecentClients || loadingSearchClients) {
@@ -148,4 +178,4 @@ export var useRecentClientsSearch = function useRecentClientsSearch() {
148
178
  updateSearchValue: updateSearchValue
149
179
  };
150
180
  };
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiU0VBUkNIX1FVRVJZX0RFQk9VTkNFX01TIiwidXNlRGVib3VuY2UiLCJTRUFSQ0hfQ0xJRU5UUyIsIkNMSUVOVF9TVEFUVVNfQUNUSVZFIiwibWFwcGVyQ2xpZW50c1NlYXJjaCIsInZhbHVlcyIsInNlYXJjaFZhbHVlIiwiX3ZhbHVlcyRtYXAiLCJtYXAiLCJ2YWx1ZSIsImNsaWVudE5hbWUiLCJuYW1lIiwibmFtZUhpZ2hsaWdodCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJ0ZXh0SW5kZXgiLCJpbmRleE9mIiwic3RhcnQiLCJsZW5ndGgiLCJfb2JqZWN0U3ByZWFkIiwiaWQiLCJ0b3RhbFByb3llY3RvcyIsInVzZVJlY2VudENsaWVudHNTZWFyY2giLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJjbGllbnRzIiwic2V0Q2xpZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNldFNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJpc1F1ZXJ5SW5Qcm9ncmVzcyIsInNldElzUXVlcnlJblByb2dyZXNzIiwiZGVib3VuY2VkU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJyZWNlbnRDbGllbnRzRGF0YSIsInNldFJlY2VudENsaWVudHNEYXRhIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsImxvYWRpbmdSZWNlbnRDbGllbnRzIiwic2V0TG9hZGluZ1JlY2VudENsaWVudHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVjZW50RXJyb3IiLCJzZXRSZWNlbnRFcnJvciIsIl91c2VMYXp5UXVlcnkiLCJ2YXJpYWJsZXMiLCJwYWdlIiwicGVyUGFnZSIsImZpbHRlciIsIl91c2VMYXp5UXVlcnkyIiwiZmV0Y2hTZWFyY2hDbGllbnRzIiwiX3VzZUxhenlRdWVyeTIkIiwic2VhcmNoRGF0YSIsImRhdGEiLCJsb2FkaW5nU2VhcmNoQ2xpZW50cyIsInNlYXJjaEVycm9yIiwiaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzIiwiY2xpZW50U3RhdHVzSWQiLCJmZXRjaFJlY2VudENsaWVudHNXaXRoTG9hZGluZyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzdG9wIiwiX3NlYXJjaERhdGEkY2xpZW50cyIsInRyaW0iLCJtYXBwZWQiLCJ1cGRhdGVTZWFyY2hWYWx1ZSIsIm5ld1NlYXJjaFZhbHVlIiwiZmV0Y2hSZWNlbnRDbGllbnRzIiwicmVjZW50Q2xpZW50c0xvYWRpbmciLCJyZWNlbnRDbGllbnRzRXJyb3IiLCJyZWNlbnRDbGllbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVJlY2VudENsaWVudHNTZWFyY2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF6eVF1ZXJ5IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IG1haWEgZnJvbSAnLi4vc2VydmljZXMvbWFpYSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5pbXBvcnQgeyBTRUFSQ0hfQ0xJRU5UUyB9IGZyb20gJy4uL3NlcnZpY2VzL3F1ZXJ5J1xuXG5jb25zdCBDTElFTlRfU1RBVFVTX0FDVElWRSA9IDFcblxuZXhwb3J0IHR5cGUgUmVjZW50Q2xpZW50U2V0dGVyID0ge1xuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogUmFuZ28gZGVsIHTDqXJtaW5vIGJ1c2NhZG8gZGVudHJvIGRlIGBuYW1lYCAoc29sbyByZXN1bHRhZG9zIGRlIGLDunNxdWVkYSkgKi9cbiAgbmFtZUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICB0b3RhbFByb3llY3Rvcz86IG51bWJlclxufVxuXG50eXBlIFF1ZXJ5Q2xpZW50RGF0YSA9IHtcbiAgY2xpZW50czoge1xuICAgIHRvdGFsOiBudW1iZXJcbiAgICBwZXJQYWdlOiBudW1iZXJcbiAgICBwYWdlOiBudW1iZXIgfCBudWxsXG4gICAgbGFzdFBhZ2U6IG51bWJlclxuICAgIGRhdGE6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9PlxuICB9XG59XG5cbmNvbnN0IG1hcHBlckNsaWVudHNTZWFyY2ggPSAoXG4gIHZhbHVlczogQXJyYXk8eyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIH0+LFxuICBzZWFyY2hWYWx1ZT86IHN0cmluZ1xuKTogUmVjZW50Q2xpZW50U2V0dGVyW10gPT4ge1xuICByZXR1cm4gKFxuICAgIHZhbHVlcz8ubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudE5hbWUgPSB2YWx1ZS5uYW1lIHx8ICcnXG4gICAgICBsZXQgbmFtZUhpZ2hsaWdodDogeyBzdGFydDogbnVtYmVyOyBsZW5ndGg6IG51bWJlciB9IHwgdW5kZWZpbmVkXG4gICAgICBpZiAoc2VhcmNoVmFsdWUgJiYgY2xpZW50TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgIGNvbnN0IHRleHRJbmRleCA9IGNsaWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgIG5hbWVIaWdobGlnaHQgPSB7IHN0YXJ0OiB0ZXh0SW5kZXgsIGxlbmd0aDogc2VhcmNoVmFsdWUubGVuZ3RoIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB2YWx1ZS5pZCxcbiAgICAgICAgbmFtZTogY2xpZW50TmFtZSxcbiAgICAgICAgLi4uKG5hbWVIaWdobGlnaHQgJiYgeyBuYW1lSGlnaGxpZ2h0IH0pLFxuICAgICAgICB0b3RhbFByb3llY3RvczogdmFsdWUudG90YWxQcm95ZWN0b3MsXG4gICAgICB9XG4gICAgfSkgPz8gW11cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlUmVjZW50Q2xpZW50c1NlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgW2NsaWVudHMsIHNldENsaWVudHNdID0gdXNlU3RhdGU8UmVjZW50Q2xpZW50U2V0dGVyW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNRdWVyeUluUHJvZ3Jlc3MsIHNldElzUXVlcnlJblByb2dyZXNzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUylcblxuICBjb25zdCBbcmVjZW50Q2xpZW50c0RhdGEsIHNldFJlY2VudENsaWVudHNEYXRhXSA9IHVzZVN0YXRlPFJlY2VudENsaWVudFNldHRlcltdIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2xvYWRpbmdSZWNlbnRDbGllbnRzLCBzZXRMb2FkaW5nUmVjZW50Q2xpZW50c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3JlY2VudEVycm9yLCBzZXRSZWNlbnRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBbZmV0Y2hTZWFyY2hDbGllbnRzLCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGxvYWRpbmdTZWFyY2hDbGllbnRzLCBlcnJvcjogc2VhcmNoRXJyb3IgfV0gPVxuICAgIHVzZUxhenlRdWVyeTxRdWVyeUNsaWVudERhdGE+KFNFQVJDSF9DTElFTlRTLCB7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIGZpbHRlcjoge30sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgY29uc3QgaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB2YWx1ZSA/IHsgbmFtZTogdmFsdWUsIGNsaWVudFN0YXR1c0lkOiBbQ0xJRU5UX1NUQVRVU19BQ1RJVkVdIH0gOiB7fVxuICAgIGZldGNoU2VhcmNoQ2xpZW50cyh7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgcGVyUGFnZTogMjAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZldGNoUmVjZW50Q2xpZW50c1dpdGhMb2FkaW5nID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldFJlY2VudENsaWVudHNEYXRhKFtdKVxuICAgIHNldExvYWRpbmdSZWNlbnRDbGllbnRzKGZhbHNlKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nUmVjZW50Q2xpZW50cyB8fCBsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRFcnJvciB8fCBzZWFyY2hFcnJvcikge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG4gIH0sIFtsb2FkaW5nUmVjZW50Q2xpZW50cywgbG9hZGluZ1NlYXJjaENsaWVudHMsIHJlY2VudEVycm9yLCBzZWFyY2hFcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cyAmJiBpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaERhdGE/LmNsaWVudHM/LmRhdGEgJiYgZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgY29uc3QgbWFwcGVkID0gbWFwcGVyQ2xpZW50c1NlYXJjaChzZWFyY2hEYXRhLmNsaWVudHMuZGF0YSwgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRDbGllbnRzKG1hcHBlZClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudENsaWVudHNEYXRhICE9PSBudWxsICYmICFkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0Q2xpZW50cyhyZWNlbnRDbGllbnRzRGF0YSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gIH0sIFtcbiAgICBzZWFyY2hEYXRhLFxuICAgIHJlY2VudENsaWVudHNEYXRhLFxuICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlLFxuICAgIGxvYWRpbmdSZWNlbnRDbGllbnRzLFxuICAgIGxvYWRpbmdTZWFyY2hDbGllbnRzLFxuICAgIGlzUXVlcnlJblByb2dyZXNzLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzKGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlXSlcblxuICBjb25zdCB1cGRhdGVTZWFyY2hWYWx1ZSA9IChuZXdTZWFyY2hWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUobmV3U2VhcmNoVmFsdWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZldGNoUmVjZW50Q2xpZW50czogZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0xvYWRpbmc6IGxvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0Vycm9yOiBlcnJvcixcbiAgICByZWNlbnRDbGllbnRzOiBjbGllbnRzLFxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBRXhELFNBQVNDLHdCQUF3QixRQUFRLHFCQUFxQjtBQUM5RCxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBRWxELElBQU1DLG9CQUFvQixHQUFHLENBQUM7QUFvQjlCLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQ3ZCQyxNQUFvRSxFQUNwRUMsV0FBb0IsRUFDSztFQUFBLElBQUFDLFdBQUE7RUFDekIsUUFBQUEsV0FBQSxHQUNFRixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRUcsR0FBRyxDQUFDLFVBQUFDLEtBQUssRUFBSTtJQUNuQixJQUFNQyxVQUFVLEdBQUdELEtBQUssQ0FBQ0UsSUFBSSxJQUFJLEVBQUU7SUFDbkMsSUFBSUMsYUFBNEQ7SUFDaEUsSUFBSU4sV0FBVyxJQUFJSSxVQUFVLENBQUNHLFdBQVcsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQ1IsV0FBVyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDL0UsSUFBTUUsU0FBUyxHQUFHTCxVQUFVLENBQUNHLFdBQVcsQ0FBQyxDQUFDLENBQUNHLE9BQU8sQ0FBQ1YsV0FBVyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxDQUFDO01BQzdFRCxhQUFhLEdBQUc7UUFBRUssS0FBSyxFQUFFRixTQUFTO1FBQUVHLE1BQU0sRUFBRVosV0FBVyxDQUFDWTtNQUFPLENBQUM7SUFDbEU7SUFDQSxPQUFBQyxhQUFBLENBQUFBLGFBQUE7TUFDRUMsRUFBRSxFQUFFWCxLQUFLLENBQUNXLEVBQUU7TUFDWlQsSUFBSSxFQUFFRDtJQUFVLEdBQ1pFLGFBQWEsSUFBSTtNQUFFQSxhQUFhLEVBQWJBO0lBQWMsQ0FBQztNQUN0Q1MsY0FBYyxFQUFFWixLQUFLLENBQUNZO0lBQWM7RUFFeEMsQ0FBQyxDQUFDLGNBQUFkLFdBQUEsY0FBQUEsV0FBQSxHQUFJLEVBQUU7QUFFWixDQUFDO0FBRUQsT0FBTyxJQUFNZSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFBLEVBQVM7RUFDMUMsSUFBQUMsU0FBQSxHQUE4QnpCLFFBQVEsQ0FBdUIsRUFBRSxDQUFDO0lBQUEwQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUF6REcsT0FBTyxHQUFBRixVQUFBO0lBQUVHLFVBQVUsR0FBQUgsVUFBQTtFQUMxQixJQUFBSSxVQUFBLEdBQThCOUIsUUFBUSxDQUFDLElBQUksQ0FBQztJQUFBK0IsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBckNFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQmxDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1DLFVBQUEsR0FBQVIsY0FBQSxDQUFBTyxVQUFBO0lBQWxDRSxLQUFLLEdBQUFELFVBQUE7SUFBRUUsUUFBUSxHQUFBRixVQUFBO0VBQ3RCLElBQUFHLFVBQUEsR0FBc0N0QyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQUF1QyxVQUFBLEdBQUFaLGNBQUEsQ0FBQVcsVUFBQTtJQUEzQzlCLFdBQVcsR0FBQStCLFVBQUE7SUFBRUMsY0FBYyxHQUFBRCxVQUFBO0VBQ2xDLElBQUFFLFVBQUEsR0FBa0R6QyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUEwQyxVQUFBLEdBQUFmLGNBQUEsQ0FBQWMsVUFBQTtJQUExREUsaUJBQWlCLEdBQUFELFVBQUE7SUFBRUUsb0JBQW9CLEdBQUFGLFVBQUE7RUFFOUMsSUFBTUcsb0JBQW9CLEdBQUcxQyxXQUFXLENBQUNLLFdBQVcsRUFBRU4sd0JBQXdCLENBQUM7RUFFL0UsSUFBQTRDLFVBQUEsR0FBa0Q5QyxRQUFRLENBQThCLElBQUksQ0FBQztJQUFBK0MsV0FBQSxHQUFBcEIsY0FBQSxDQUFBbUIsVUFBQTtJQUF0RkUsaUJBQWlCLEdBQUFELFdBQUE7SUFBRUUsb0JBQW9CLEdBQUFGLFdBQUE7RUFDOUMsSUFBQUcsV0FBQSxHQUF3RGxELFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1ELFdBQUEsR0FBQXhCLGNBQUEsQ0FBQXVCLFdBQUE7SUFBaEVFLG9CQUFvQixHQUFBRCxXQUFBO0lBQUVFLHVCQUF1QixHQUFBRixXQUFBO0VBQ3BELElBQUFHLFdBQUEsR0FBc0N0RCxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF1RCxXQUFBLEdBQUE1QixjQUFBLENBQUEyQixXQUFBO0lBQTlDRSxXQUFXLEdBQUFELFdBQUE7SUFBRUUsY0FBYyxHQUFBRixXQUFBO0VBRWxDLElBQUFHLGFBQUEsR0FDRTVELFlBQVksQ0FBa0JNLGNBQWMsRUFBRTtNQUM1Q3VELFNBQVMsRUFBRTtRQUNUQyxJQUFJLEVBQUUsQ0FBQztRQUNQQyxPQUFPLEVBQUUsRUFBRTtRQUNYQyxNQUFNLEVBQUUsQ0FBQztNQUNYO0lBQ0YsQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQXBDLGNBQUEsQ0FBQStCLGFBQUE7SUFQR00sa0JBQWtCLEdBQUFELGNBQUE7SUFBQUUsZUFBQSxHQUFBRixjQUFBO0lBQVVHLFVBQVUsR0FBQUQsZUFBQSxDQUFoQkUsSUFBSTtJQUF1QkMsb0JBQW9CLEdBQUFILGVBQUEsQ0FBN0JqQyxPQUFPO0lBQStCcUMsV0FBVyxHQUFBSixlQUFBLENBQWxCN0IsS0FBSztFQVNuRixJQUFNa0Msd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSTNELEtBQWEsRUFBSztJQUNsRCxJQUFNbUQsTUFBTSxHQUFHbkQsS0FBSyxHQUFHO01BQUVFLElBQUksRUFBRUYsS0FBSztNQUFFNEQsY0FBYyxFQUFFLENBQUNsRSxvQkFBb0I7SUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GMkQsa0JBQWtCLENBQUM7TUFDakJMLFNBQVMsRUFBRTtRQUNUQyxJQUFJLEVBQUUsQ0FBQztRQUNQQyxPQUFPLEVBQUUsRUFBRTtRQUNYQyxNQUFNLEVBQU5BO01BQ0Y7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDO0VBRUQsSUFBTVUsNkJBQTZCLEdBQUd2RSxXQUFXLGNBQUF3RSxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQUMsUUFBQTtJQUFBLE9BQUFGLG1CQUFBLENBQUFHLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFDaEQvQixvQkFBb0IsQ0FBQyxFQUFFLENBQUM7VUFDeEJJLHVCQUF1QixDQUFDLEtBQUssQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBeUIsUUFBQSxDQUFBRyxJQUFBO01BQUE7SUFBQSxHQUFBTCxPQUFBO0VBQUEsQ0FDL0IsSUFBRSxFQUFFLENBQUM7RUFFTjdFLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSXFELG9CQUFvQixJQUFJZ0Isb0JBQW9CLEVBQUU7TUFDaERuQyxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ2hCSSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ2pCO0lBQ0EsSUFBSW1CLFdBQVcsSUFBSWEsV0FBVyxFQUFFO01BQzlCaEMsUUFBUSxDQUFDLElBQUksQ0FBQztNQUNkSixVQUFVLENBQUMsS0FBSyxDQUFDO01BQ2pCVyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDN0I7RUFDRixDQUFDLEVBQUUsQ0FBQ1Esb0JBQW9CLEVBQUVnQixvQkFBb0IsRUFBRVosV0FBVyxFQUFFYSxXQUFXLENBQUMsQ0FBQztFQUUxRXRFLFNBQVMsQ0FBQyxZQUFNO0lBQUEsSUFBQW1GLG1CQUFBO0lBQ2QsSUFBSSxDQUFDOUIsb0JBQW9CLElBQUksQ0FBQ2dCLG9CQUFvQixJQUFJekIsaUJBQWlCLEVBQUU7TUFDdkVDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztJQUM3QjtJQUVBLElBQUlzQixVQUFVLGFBQVZBLFVBQVUsZ0JBQUFnQixtQkFBQSxHQUFWaEIsVUFBVSxDQUFFdEMsT0FBTyxjQUFBc0QsbUJBQUEsZUFBbkJBLG1CQUFBLENBQXFCZixJQUFJLElBQUl0QixvQkFBb0IsQ0FBQ3NDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQ2Ysb0JBQW9CLEVBQUU7TUFDckYsSUFBTWdCLE1BQU0sR0FBRzlFLG1CQUFtQixDQUFDNEQsVUFBVSxDQUFDdEMsT0FBTyxDQUFDdUMsSUFBSSxFQUFFdEIsb0JBQW9CLENBQUM7TUFDakZoQixVQUFVLENBQUN1RCxNQUFNLENBQUM7TUFDbEJuRCxVQUFVLENBQUMsS0FBSyxDQUFDO01BQ2pCSSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ2pCO0lBQ0EsSUFBSVcsaUJBQWlCLEtBQUssSUFBSSxJQUFJLENBQUNILG9CQUFvQixDQUFDc0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDL0Isb0JBQW9CLElBQUksQ0FBQ1QsaUJBQWlCLEVBQUU7TUFDN0dkLFVBQVUsQ0FBQ21CLGlCQUFpQixDQUFDO01BQzdCZixVQUFVLENBQUMsS0FBSyxDQUFDO01BQ2pCSSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ2pCO0VBQ0YsQ0FBQyxFQUFFLENBQ0Q2QixVQUFVLEVBQ1ZsQixpQkFBaUIsRUFDakJILG9CQUFvQixFQUNwQk8sb0JBQW9CLEVBQ3BCZ0Isb0JBQW9CLEVBQ3BCekIsaUJBQWlCLENBQ2xCLENBQUM7RUFFRjVDLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSThDLG9CQUFvQixDQUFDc0MsSUFBSSxDQUFDLENBQUMsRUFBRTtNQUMvQmIsd0JBQXdCLENBQUN6QixvQkFBb0IsQ0FBQztJQUNoRDtFQUNGLENBQUMsRUFBRSxDQUFDQSxvQkFBb0IsQ0FBQyxDQUFDO0VBRTFCLElBQU13QyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxjQUFzQixFQUFLO0lBQ3BEOUMsY0FBYyxDQUFDOEMsY0FBYyxDQUFDO0VBQ2hDLENBQUM7RUFFRCxPQUFPO0lBQ0xDLGtCQUFrQixFQUFFZiw2QkFBNkI7SUFDakRnQixvQkFBb0IsRUFBRXhELE9BQU87SUFDN0J5RCxrQkFBa0IsRUFBRXJELEtBQUs7SUFDekJzRCxhQUFhLEVBQUU5RCxPQUFPO0lBQ3RCeUQsaUJBQWlCLEVBQWpCQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyIsInVzZURlYm91bmNlIiwiU0VBUkNIX0NMSUVOVFMiLCJDTElFTlRfU1RBVFVTX0FDVElWRSIsIm1hcHBlckNsaWVudHNTZWFyY2giLCJ2YWx1ZXMiLCJzZWFyY2hWYWx1ZSIsIl92YWx1ZXMkbWFwIiwibWFwIiwidmFsdWUiLCJjbGllbnROYW1lIiwibmFtZSIsIm5hbWVIaWdobGlnaHQiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwidGV4dEluZGV4IiwiaW5kZXhPZiIsInN0YXJ0IiwibGVuZ3RoIiwiX29iamVjdFNwcmVhZCIsImlkIiwidG90YWxQcm95ZWN0b3MiLCJ1c2VSZWNlbnRDbGllbnRzU2VhcmNoIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY2xpZW50cyIsInNldENsaWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiaXNRdWVyeUluUHJvZ3Jlc3MiLCJzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyIsImRlYm91bmNlZFNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwicmVjZW50Q2xpZW50c0RhdGEiLCJzZXRSZWNlbnRDbGllbnRzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50Q2xpZW50cyIsInNldExvYWRpbmdSZWNlbnRDbGllbnRzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInJlY2VudEVycm9yIiwic2V0UmVjZW50RXJyb3IiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwicGFnZSIsInBlclBhZ2UiLCJmaWx0ZXIiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoQ2xpZW50cyIsIl91c2VMYXp5UXVlcnkyJCIsInNlYXJjaERhdGEiLCJkYXRhIiwibG9hZGluZ1NlYXJjaENsaWVudHMiLCJzZWFyY2hFcnJvciIsImhhbmRsZUZldGNoU2VhcmNoQ2xpZW50cyIsImNsaWVudFN0YXR1c0lkIiwiZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmciLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIm1hcHBlZCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRDbGllbnRzIiwiZ2V0UmVjZW50Q2xpZW50cyIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJjIiwiZmluaXNoIiwic3RvcCIsIl9zZWFyY2hEYXRhJGNsaWVudHMiLCJ0cmltIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50Q2xpZW50cyIsInJlY2VudENsaWVudHNMb2FkaW5nIiwicmVjZW50Q2xpZW50c0Vycm9yIiwicmVjZW50Q2xpZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSZWNlbnRDbGllbnRzU2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxhenlRdWVyeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgeyBTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlRGVib3VuY2UgfSBmcm9tICcuL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgU0VBUkNIX0NMSUVOVFMgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWVyeSdcblxuY29uc3QgQ0xJRU5UX1NUQVRVU19BQ1RJVkUgPSAxXG5cbmV4cG9ydCB0eXBlIFJlY2VudENsaWVudFNldHRlciA9IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFJhbmdvIGRlbCB0w6lybWlubyBidXNjYWRvIGRlbnRybyBkZSBgbmFtZWAgKHNvbG8gcmVzdWx0YWRvcyBkZSBiw7pzcXVlZGEpICovXG4gIG5hbWVIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXJcbn1cblxudHlwZSBRdWVyeUNsaWVudERhdGEgPSB7XG4gIGNsaWVudHM6IHtcbiAgICB0b3RhbDogbnVtYmVyXG4gICAgcGVyUGFnZTogbnVtYmVyXG4gICAgcGFnZTogbnVtYmVyIHwgbnVsbFxuICAgIGxhc3RQYWdlOiBudW1iZXJcbiAgICBkYXRhOiBBcnJheTx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfT5cbiAgfVxufVxuXG5jb25zdCBtYXBwZXJDbGllbnRzU2VhcmNoID0gKFxuICB2YWx1ZXM6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9PixcbiAgc2VhcmNoVmFsdWU/OiBzdHJpbmdcbik6IFJlY2VudENsaWVudFNldHRlcltdID0+IHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZXM/Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBjbGllbnROYW1lID0gdmFsdWUubmFtZSB8fCAnJ1xuICAgICAgbGV0IG5hbWVIaWdobGlnaHQ6IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfSB8IHVuZGVmaW5lZFxuICAgICAgaWYgKHNlYXJjaFZhbHVlICYmIGNsaWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBjbGllbnROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICBuYW1lSGlnaGxpZ2h0ID0geyBzdGFydDogdGV4dEluZGV4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdmFsdWUuaWQsXG4gICAgICAgIG5hbWU6IGNsaWVudE5hbWUsXG4gICAgICAgIC4uLihuYW1lSGlnaGxpZ2h0ICYmIHsgbmFtZUhpZ2hsaWdodCB9KSxcbiAgICAgICAgdG90YWxQcm95ZWN0b3M6IHZhbHVlLnRvdGFsUHJveWVjdG9zLFxuICAgICAgfVxuICAgIH0pID8/IFtdXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVJlY2VudENsaWVudHNTZWFyY2ggPSAoKSA9PiB7XG4gIGNvbnN0IFtjbGllbnRzLCBzZXRDbGllbnRzXSA9IHVzZVN0YXRlPFJlY2VudENsaWVudFNldHRlcltdPihbXSlcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2lzUXVlcnlJblByb2dyZXNzLCBzZXRJc1F1ZXJ5SW5Qcm9ncmVzc10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBkZWJvdW5jZWRTZWFyY2hWYWx1ZSA9IHVzZURlYm91bmNlKHNlYXJjaFZhbHVlLCBTRUFSQ0hfUVVFUllfREVCT1VOQ0VfTVMpXG5cbiAgY29uc3QgW3JlY2VudENsaWVudHNEYXRhLCBzZXRSZWNlbnRDbGllbnRzRGF0YV0gPSB1c2VTdGF0ZTxSZWNlbnRDbGllbnRTZXR0ZXJbXSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkaW5nUmVjZW50Q2xpZW50cywgc2V0TG9hZGluZ1JlY2VudENsaWVudHNdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtyZWNlbnRFcnJvciwgc2V0UmVjZW50RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2ZldGNoU2VhcmNoQ2xpZW50cywgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBsb2FkaW5nU2VhcmNoQ2xpZW50cywgZXJyb3I6IHNlYXJjaEVycm9yIH1dID1cbiAgICB1c2VMYXp5UXVlcnk8UXVlcnlDbGllbnREYXRhPihTRUFSQ0hfQ0xJRU5UUywge1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBlclBhZ2U6IDIwLFxuICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gIGNvbnN0IGhhbmRsZUZldGNoU2VhcmNoQ2xpZW50cyA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gdmFsdWUgPyB7IG5hbWU6IHZhbHVlLCBjbGllbnRTdGF0dXNJZDogW0NMSUVOVF9TVEFUVVNfQUNUSVZFXSB9IDoge31cbiAgICBmZXRjaFNlYXJjaENsaWVudHMoe1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBlclBhZ2U6IDIwLFxuICAgICAgICBmaWx0ZXIsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBmZXRjaFJlY2VudENsaWVudHNXaXRoTG9hZGluZyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgc2V0UmVjZW50RXJyb3IoZmFsc2UpXG4gICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3ModHJ1ZSlcbiAgICBzZXRMb2FkaW5nUmVjZW50Q2xpZW50cyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgbWFpYS5SZWNlbnRDbGllbnRzLmdldFJlY2VudENsaWVudHMoKVxuICAgICAgY29uc3QgbWFwcGVkID0gKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pLm1hcChcbiAgICAgICAgKGM6IHsgaWQ6IG51bWJlcjsgbmFtZTogc3RyaW5nOyB0b3RhbFByb3llY3Rvcz86IG51bWJlciB9KSA9PiAoe1xuICAgICAgICAgIGlkOiBjLmlkLFxuICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAuLi4oYy50b3RhbFByb3llY3RvcyAhPSBudWxsICYmIHsgdG90YWxQcm95ZWN0b3M6IGMudG90YWxQcm95ZWN0b3MgfSksXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBzZXRSZWNlbnRDbGllbnRzRGF0YShtYXBwZWQpXG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRSZWNlbnRFcnJvcih0cnVlKVxuICAgICAgc2V0UmVjZW50Q2xpZW50c0RhdGEobnVsbClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZ1JlY2VudENsaWVudHMoZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nUmVjZW50Q2xpZW50cyB8fCBsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRFcnJvciB8fCBzZWFyY2hFcnJvcikge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG4gIH0sIFtsb2FkaW5nUmVjZW50Q2xpZW50cywgbG9hZGluZ1NlYXJjaENsaWVudHMsIHJlY2VudEVycm9yLCBzZWFyY2hFcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cyAmJiBpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaERhdGE/LmNsaWVudHM/LmRhdGEgJiYgZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpICYmICFsb2FkaW5nU2VhcmNoQ2xpZW50cykge1xuICAgICAgY29uc3QgbWFwcGVkID0gbWFwcGVyQ2xpZW50c1NlYXJjaChzZWFyY2hEYXRhLmNsaWVudHMuZGF0YSwgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRDbGllbnRzKG1hcHBlZClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudENsaWVudHNEYXRhICE9PSBudWxsICYmICFkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdSZWNlbnRDbGllbnRzICYmICFpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0Q2xpZW50cyhyZWNlbnRDbGllbnRzRGF0YSlcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gIH0sIFtcbiAgICBzZWFyY2hEYXRhLFxuICAgIHJlY2VudENsaWVudHNEYXRhLFxuICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlLFxuICAgIGxvYWRpbmdSZWNlbnRDbGllbnRzLFxuICAgIGxvYWRpbmdTZWFyY2hDbGllbnRzLFxuICAgIGlzUXVlcnlJblByb2dyZXNzLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgaGFuZGxlRmV0Y2hTZWFyY2hDbGllbnRzKGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlXSlcblxuICBjb25zdCB1cGRhdGVTZWFyY2hWYWx1ZSA9IChuZXdTZWFyY2hWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUobmV3U2VhcmNoVmFsdWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZldGNoUmVjZW50Q2xpZW50czogZmV0Y2hSZWNlbnRDbGllbnRzV2l0aExvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0xvYWRpbmc6IGxvYWRpbmcsXG4gICAgcmVjZW50Q2xpZW50c0Vycm9yOiBlcnJvcixcbiAgICByZWNlbnRDbGllbnRzOiBjbGllbnRzLFxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQ3hELE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFDbkMsU0FBU0Msd0JBQXdCLFFBQVEscUJBQXFCO0FBQzlELFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxtQkFBbUI7QUFFbEQsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQztBQW9COUIsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FDdkJDLE1BQW9FLEVBQ3BFQyxXQUFvQixFQUNLO0VBQUEsSUFBQUMsV0FBQTtFQUN6QixRQUFBQSxXQUFBLEdBQ0VGLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFRyxHQUFHLENBQUMsVUFBQUMsS0FBSyxFQUFJO0lBQ25CLElBQU1DLFVBQVUsR0FBR0QsS0FBSyxDQUFDRSxJQUFJLElBQUksRUFBRTtJQUNuQyxJQUFJQyxhQUE0RDtJQUNoRSxJQUFJTixXQUFXLElBQUlJLFVBQVUsQ0FBQ0csV0FBVyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDUixXQUFXLENBQUNPLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtN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
@@ -2,9 +2,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  /**
4
4
  * Hook que desacopla la cadencia de llegada del texto (stream SSE) de la
5
- * cadencia de renderizado. Usa un timer corto para liberar chars a ritmo
6
- * constante hacia el DOM, eliminando los "frenos" que se producen cuando el
7
- * backend emite ráfagas de tokens.
5
+ * cadencia de renderizado. Usa `requestAnimationFrame` para liberar chars
6
+ * a ritmo constante hacia el DOM, eliminando los "frenos" que se producen
7
+ * cuando el backend emite ráfagas de tokens.
8
8
  *
9
9
  * Cuando `enabled` pasa a false (fin de stream), el texto se completa al
10
10
  * instante. Durante el streaming, el buffer se vacía dinámicamente apuntando
@@ -40,7 +40,7 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
40
40
  setDisplayed = _useState2[1];
41
41
  var targetRef = useRef(targetText);
42
42
  var displayedLenRef = useRef(displayed.length);
43
- var tickTimerRef = useRef(null);
43
+ var rafRef = useRef(null);
44
44
  var lastTickRef = useRef(0);
45
45
 
46
46
  // Medición de la cadencia del backend: se actualiza cuando cambia targetText.
@@ -73,9 +73,9 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
73
73
  }
74
74
  targetRef.current = targetText;
75
75
  if (!enabled) {
76
- if (tickTimerRef.current != null) {
77
- window.clearTimeout(tickTimerRef.current);
78
- tickTimerRef.current = null;
76
+ if (rafRef.current != null) {
77
+ cancelAnimationFrame(rafRef.current);
78
+ rafRef.current = null;
79
79
  }
80
80
  lastTickRef.current = 0;
81
81
  if (displayedLenRef.current !== targetText.length) {
@@ -94,15 +94,7 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
94
94
  displayedLenRef.current = 0;
95
95
  setDisplayed('');
96
96
  }
97
- if (tickTimerRef.current != null) return undefined;
98
- var getNow = function getNow() {
99
- return typeof performance !== 'undefined' ? performance.now() : Date.now();
100
- };
101
- var scheduleTick = function scheduleTick(tick) {
102
- tickTimerRef.current = window.setTimeout(function () {
103
- tick(getNow());
104
- }, 16);
105
- };
97
+ if (rafRef.current != null) return undefined;
106
98
  var _tick = function tick(tickNow) {
107
99
  var prev = lastTickRef.current;
108
100
  var dt = prev ? Math.min(tickNow - prev, 64) : 16;
@@ -111,7 +103,7 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
111
103
  var currentLen = displayedLenRef.current;
112
104
  var remaining = target.length - currentLen;
113
105
  if (remaining <= 0) {
114
- scheduleTick(_tick);
106
+ rafRef.current = requestAnimationFrame(_tick);
115
107
  return;
116
108
  }
117
109
 
@@ -124,7 +116,7 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
124
116
  var waitedMs = firstAt > 0 ? tickNow - firstAt : 0;
125
117
  var warmupComplete = warmupMs <= 0 || waitedMs >= warmupMs || target.length >= minBufferChars * 2;
126
118
  if (!warmupComplete) {
127
- scheduleTick(_tick);
119
+ rafRef.current = requestAnimationFrame(_tick);
128
120
  return;
129
121
  }
130
122
  warmupDoneRef.current = true;
@@ -181,17 +173,17 @@ export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref)
181
173
  displayedLenRef.current = nextLen;
182
174
  setDisplayed(target.slice(0, nextLen));
183
175
  }
184
- scheduleTick(_tick);
176
+ rafRef.current = requestAnimationFrame(_tick);
185
177
  };
186
- scheduleTick(_tick);
178
+ rafRef.current = requestAnimationFrame(_tick);
187
179
  return function () {
188
- if (tickTimerRef.current != null) {
189
- window.clearTimeout(tickTimerRef.current);
190
- tickTimerRef.current = null;
180
+ if (rafRef.current != null) {
181
+ cancelAnimationFrame(rafRef.current);
182
+ rafRef.current = null;
191
183
  }
192
184
  lastTickRef.current = 0;
193
185
  };
194
186
  }, [targetText, enabled, minCharsPerFrame, maxCharsPerFrame, targetLagMs, snapToWordBoundary, adaptToBackendRate, backendRateFactor, targetBufferMs, bufferCorrectionMs, minBufferChars, warmupMs]);
195
187
  return displayed;
196
188
  };
197
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZVNtb290aFN0cmVhbVRleHQiLCJ0YXJnZXRUZXh0IiwiX3JlZiIsImVuYWJsZWQiLCJfcmVmJG1pbkNoYXJzUGVyRnJhbWUiLCJtaW5DaGFyc1BlckZyYW1lIiwiX3JlZiRtYXhDaGFyc1BlckZyYW1lIiwibWF4Q2hhcnNQZXJGcmFtZSIsIl9yZWYkdGFyZ2V0TGFnTXMiLCJ0YXJnZXRMYWdNcyIsIl9yZWYkc25hcFRvV29yZEJvdW5kYSIsInNuYXBUb1dvcmRCb3VuZGFyeSIsIl9yZWYkYWRhcHRUb0JhY2tlbmRSYSIsImFkYXB0VG9CYWNrZW5kUmF0ZSIsIl9yZWYkYmFja2VuZFJhdGVGYWN0byIsImJhY2tlbmRSYXRlRmFjdG9yIiwiX3JlZiR0YXJnZXRCdWZmZXJNcyIsInRhcmdldEJ1ZmZlck1zIiwiX3JlZiRidWZmZXJDb3JyZWN0aW9uIiwiYnVmZmVyQ29ycmVjdGlvbk1zIiwiX3JlZiRtaW5CdWZmZXJDaGFycyIsIm1pbkJ1ZmZlckNoYXJzIiwiX3JlZiR3YXJtdXBNcyIsIndhcm11cE1zIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZGlzcGxheWVkIiwic2V0RGlzcGxheWVkIiwidGFyZ2V0UmVmIiwiZGlzcGxheWVkTGVuUmVmIiwibGVuZ3RoIiwidGlja1RpbWVyUmVmIiwibGFzdFRpY2tSZWYiLCJsYXN0VGFyZ2V0TGVuUmVmIiwibGFzdFRhcmdldFVwZGF0ZVJlZiIsImJhY2tlbmRDaGFyc1Blck1zUmVmIiwiZmlyc3RDaHVua0F0UmVmIiwid2FybXVwRG9uZVJlZiIsIm5vdyIsInBlcmZvcm1hbmNlIiwiRGF0ZSIsInByZXZUYXJnZXRMZW4iLCJjdXJyZW50IiwiZGVsdGFDaGFycyIsInByZXZUYXJnZXRBdCIsImR0IiwiTWF0aCIsIm1heCIsInJhdGUiLCJwcmV2UmF0ZSIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInVuZGVmaW5lZCIsImdldE5vdyIsInNjaGVkdWxlVGljayIsInRpY2siLCJzZXRUaW1lb3V0IiwidGlja05vdyIsInByZXYiLCJtaW4iLCJ0YXJnZXQiLCJjdXJyZW50TGVuIiwicmVtYWluaW5nIiwiZmlyc3RBdCIsIndhaXRlZE1zIiwid2FybXVwQ29tcGxldGUiLCJjaGFyc1Blck1zIiwiZWZmZWN0aXZlQ2hhcnNQZXJNcyIsImJhY2tlbmRSYXRlIiwicmVuZGVyUmF0ZUNhcCIsImVmZmVjdGl2ZUJ1ZmZlclJhdGUiLCJ0YXJnZXRCdWZmZXJDaGFycyIsImJ1ZmZlckRlbHRhIiwiY29ycmVjdGlvbiIsImNhcCIsInJhd1N0ZXAiLCJjZWlsIiwic3RlcCIsIm5leHRMZW4iLCJzbGljZSIsImxhc3RCb3VuZGFyeSIsImxhc3RJbmRleE9mIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNtb290aFN0cmVhbVRleHQvdXNlU21vb3RoU3RyZWFtVGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxudHlwZSBVc2VTbW9vdGhTdHJlYW1UZXh0T3B0aW9ucyA9IHtcbiAgLyoqIFNpIGVzdMOhIGRlc2hhYmlsaXRhZG8sIGRldnVlbHZlIGVsIHRhcmdldCB0YWwgY3VhbCAoc2luIGFuaW1hY2nDs24pLiAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBDYW50aWRhZCBtw61uaW1hIGRlIGNoYXJzIGEgbGliZXJhciBwb3IgZnJhbWUgY3VhbmRvIGhheSBidWZmZXIuICovXG4gIG1pbkNoYXJzUGVyRnJhbWU/OiBudW1iZXJcbiAgLyoqIENvdGEgc3VwZXJpb3IgZGUgY2hhcnMgcG9yIGZyYW1lIHBhcmEgZXZpdGFyIHNhbHRvcyBncmFuZGVzLiAqL1xuICBtYXhDaGFyc1BlckZyYW1lPzogbnVtYmVyXG4gIC8qKlxuICAgKiBMYWcgb2JqZXRpdm8gKG1zKSBlbnRyZSBlbCB0ZXh0byByZWNpYmlkbyB5IGVsIG1vc3RyYWRvLiBFbCBob29rIGNhbGN1bGFcbiAgICogZGluw6FtaWNhbWVudGUgZWwgc3RlcCBwb3IgZnJhbWUgcGFyYSB2YWNpYXIgZWwgYnVmZmVyIGVuIH50YXJnZXRMYWdNcy5cbiAgICogVmFsb3JlcyBtw6FzIGJham9zID0gc2UgcG9uZSBhbCBkw61hIG3DoXMgcsOhcGlkbyAobWVub3MgXCJzdWF2ZVwiKS5cbiAgICovXG4gIHRhcmdldExhZ01zPzogbnVtYmVyXG4gIC8qKlxuICAgKiBTaSBlc3TDoSBhY3Rpdm8sIGFsIGF2YW56YXIgc2UgZGV0aWVuZSBlbiBlbCDDumx0aW1vIHNlcGFyYWRvciBkZSBwYWxhYnJhXG4gICAqIChlc3BhY2lvLCBzYWx0byBkZSBsw61uZWEsIHNpZ25vcyBkZSBwdW50dWFjacOzbikgcGFyYSBldml0YXIgcmVuZGVyaXphclxuICAgKiBtYXJrZG93biBcImNvcnRhZG8gYSBsYSBtaXRhZFwiIHkgZGFyIHVuYSBzZW5zYWNpw7NuIG3DoXMgbmF0dXJhbC5cbiAgICovXG4gIHNuYXBUb1dvcmRCb3VuZGFyeT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNpIGVzdMOhIGFjdGl2bywgbWlkZSBsYSB0YXNhIHByb21lZGlvIGEgbGEgcXVlIGNyZWNlIGVsIHRhcmdldCAoY2FkZW5jaWFcbiAgICogZGVsIGJhY2tlbmQgZW4gY2hhcnMvbXMpIHkgbGltaXRhIGxhIHZlbG9jaWRhZCBkZSBwaW50YWRvIGEgZXNhIHRhc2FcbiAgICogKG11bHRpcGxpY2FkYSBwb3IgYGJhY2tlbmRSYXRlRmFjdG9yYCkuIEVzdG8gZXZpdGEgZWwgY2FzbyB0w61waWNvIGRlXG4gICAqIFwicGludG8gcsOhcGlkbyBoYXN0YSB2YWNpYXIgZWwgYnVmZmVyIHkgZGVzcHXDqXMgc2UgY29uZ2VsYSBlc3BlcmFuZG9cbiAgICogYWwgcHLDs3hpbW8gY2h1bmsgZGVsIGJhY2tlbmRcIi5cbiAgICovXG4gIGFkYXB0VG9CYWNrZW5kUmF0ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEZhY3RvciBhcGxpY2FkbyBhIGxhIHRhc2EgZGVsIGJhY2tlbmQgY3VhbmRvIGBhZGFwdFRvQmFja2VuZFJhdGVgIGVzdMOhXG4gICAqIGFjdGl2by4gVmFsb3JlcyA8IDEgZGVqYW4gdW4gY29sY2jDs24gY3JlY2llbnRlIChtw6FzIHRvbGVyYW50ZSBhIHBhdXNhcyk7XG4gICAqIHZhbG9yZXMgPiAxIGludGVudGFuIGFsY2FuemFyLiBEZWZhdWx0OiAwLjk1LlxuICAgKi9cbiAgYmFja2VuZFJhdGVGYWN0b3I/OiBudW1iZXJcbiAgLyoqXG4gICAqIENvbGNow7NuIG9iamV0aXZvIGRlIGJ1ZmZlciBleHByZXNhZG8gZW4gbXMgKGN1w6FudG8gdGllbXBvIGRlIHRleHRvIHF1ZXJlbW9zXG4gICAqIHRlbmVyIHNpZW1wcmUgYWRlbGFudGFkbyBhbCBwaW50YWRvKS4gU2kgZXN0w6EgZGVmaW5pZG8ganVudG8gY29uXG4gICAqIGBhZGFwdFRvQmFja2VuZFJhdGVgLCBzZSB1c2EgdW4gY29udHJvbCBwcm9wb3JjaW9uYWw6IGN1YW5kbyBlbCBidWZmZXJcbiAgICogYmFqYSBkZWwgb2JqZXRpdm8sIGxhIHZlbG9jaWRhZCBjYWUgcG9yIGRlYmFqbyBkZSBsYSBkZWwgYmFja2VuZCBwYXJhXG4gICAqIHJlbGxlbmFybG87IGN1YW5kbyBsbyBzdXBlcmEsIHNlIGFjZWxlcmEgcGFyYSBkZXNjYXJnYXJsby4gQXPDrSBsYVxuICAgKiBhbmltYWNpw7NuIGFic29yYmUgcGF1c2FzIGRlbCBiYWNrZW5kIHNpbiBxdWVkYXJzZSBpZGxlLlxuICAgKlxuICAgKiBWYWxvciByZWNvbWVuZGFkbzogMzAw4oCTNjAwbXMgc2Vnw7puIGxhIGVzdGFiaWxpZGFkIGRlbCBiYWNrZW5kLlxuICAgKi9cbiAgdGFyZ2V0QnVmZmVyTXM/OiBudW1iZXJcbiAgLyoqXG4gICAqIENvbnN0YW50ZSBkZSB0aWVtcG8gKG1zKSBkZWwgY29udHJvbGFkb3IgZGVsIGJ1ZmZlci4gQ3VhbnRvIG3DoXMgYmFqbyxcbiAgICogbcOhcyBhZ3Jlc2l2YW1lbnRlIGNvcnJpZ2UgZGVzdsOtb3MuIERlZmF1bHQ6IDUwMC5cbiAgICovXG4gIGJ1ZmZlckNvcnJlY3Rpb25Ncz86IG51bWJlclxuICAvKipcbiAgICogUGlzbyBhYnNvbHV0byBkZWwgY29sY2jDs24gZW4gY2hhcnM6IGVsIGB0YXJnZXRCdWZmZXJDaGFyc2AgY2FsY3VsYWRvIGFcbiAgICogcGFydGlyIGRlIGB0YXJnZXRCdWZmZXJNcyDDlyBiYWNrZW5kUmF0ZWAgbnVuY2EgYmFqYSBkZSBlc3RlIHZhbG9yLiDDmnRpbFxuICAgKiBhbCBjb21pZW56byBkZWwgc3RyZWFtIGN1YW5kbyBsYSB0YXNhIGVzdGltYWRhIGRlbCBiYWNrZW5kIGVzIGJhamEuXG4gICAqIERlZmF1bHQ6IDcwLlxuICAgKi9cbiAgbWluQnVmZmVyQ2hhcnM/OiBudW1iZXJcbiAgLyoqXG4gICAqIFdhcm11cDogbXMgcXVlIGVsIGhvb2sgZXNwZXJhIFwiYWN1bXVsYW5kb1wiIGFudGVzIGRlIGVtcGV6YXIgYSBwaW50YXIsXG4gICAqIGluY2x1c28gc2kgeWEgaGF5IGNoYXJzIGVuIGVsIGJ1ZmZlci4gRXZpdGEgZWwgdMOtcGljbyBcImFycmFucXVlIHLDoXBpZG8sXG4gICAqIGNvbmdlbGFtaWVudG9cIiBjdWFuZG8gZWwgcHJpbWVyIGNodW5rIGxsZWdhIGFudGVzIHF1ZSBlbCBzZWd1bmRvIHNlXG4gICAqIHRhcmRhIG11Y2hvLiBTaSBzZSBkZWZpbmUgY29tbyAwLCBubyBoYXkgd2FybXVwLiBEZWZhdWx0OiA0MDAuXG4gICAqL1xuICB3YXJtdXBNcz86IG51bWJlclxufVxuXG4vKipcbiAqIEhvb2sgcXVlIGRlc2Fjb3BsYSBsYSBjYWRlbmNpYSBkZSBsbGVnYWRhIGRlbCB0ZXh0byAoc3RyZWFtIFNTRSkgZGUgbGFcbiAqIGNhZGVuY2lhIGRlIHJlbmRlcml6YWRvLiBVc2EgdW4gdGltZXIgY29ydG8gcGFyYSBsaWJlcmFyIGNoYXJzIGEgcml0bW9cbiAqIGNvbnN0YW50ZSBoYWNpYSBlbCBET00sIGVsaW1pbmFuZG8gbG9zIFwiZnJlbm9zXCIgcXVlIHNlIHByb2R1Y2VuIGN1YW5kbyBlbFxuICogYmFja2VuZCBlbWl0ZSByw6FmYWdhcyBkZSB0b2tlbnMuXG4gKlxuICogQ3VhbmRvIGBlbmFibGVkYCBwYXNhIGEgZmFsc2UgKGZpbiBkZSBzdHJlYW0pLCBlbCB0ZXh0byBzZSBjb21wbGV0YSBhbFxuICogaW5zdGFudGUuIER1cmFudGUgZWwgc3RyZWFtaW5nLCBlbCBidWZmZXIgc2UgdmFjw61hIGRpbsOhbWljYW1lbnRlIGFwdW50YW5kb1xuICogYWwgbGFnIGNvbmZpZ3VyYWRvLlxuICovXG5leHBvcnQgY29uc3QgdXNlU21vb3RoU3RyZWFtVGV4dCA9IChcbiAgdGFyZ2V0VGV4dDogc3RyaW5nLFxuICB7XG4gICAgZW5hYmxlZCxcbiAgICBtaW5DaGFyc1BlckZyYW1lID0gMSxcbiAgICBtYXhDaGFyc1BlckZyYW1lID0gMjQsXG4gICAgdGFyZ2V0TGFnTXMgPSA0NTAsXG4gICAgc25hcFRvV29yZEJvdW5kYXJ5ID0gZmFsc2UsXG4gICAgYWRhcHRUb0JhY2tlbmRSYXRlID0gdHJ1ZSxcbiAgICBiYWNrZW5kUmF0ZUZhY3RvciA9IDAuOTUsXG4gICAgdGFyZ2V0QnVmZmVyTXMgPSA2MDAsXG4gICAgYnVmZmVyQ29ycmVjdGlvbk1zID0gNTAwLFxuICAgIG1pbkJ1ZmZlckNoYXJzID0gNzAsXG4gICAgd2FybXVwTXMgPSA0MDAsXG4gIH06IFVzZVNtb290aFN0cmVhbVRleHRPcHRpb25zXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbZGlzcGxheWVkLCBzZXREaXNwbGF5ZWRdID0gdXNlU3RhdGU8c3RyaW5nPigoKSA9PiAoZW5hYmxlZCA/ICcnIDogdGFyZ2V0VGV4dCkpXG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gdXNlUmVmKHRhcmdldFRleHQpXG4gIGNvbnN0IGRpc3BsYXllZExlblJlZiA9IHVzZVJlZihkaXNwbGF5ZWQubGVuZ3RoKVxuICBjb25zdCB0aWNrVGltZXJSZWYgPSB1c2VSZWY8bnVtYmVyIHwgbnVsbD4obnVsbClcbiAgY29uc3QgbGFzdFRpY2tSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuXG4gIC8vIE1lZGljacOzbiBkZSBsYSBjYWRlbmNpYSBkZWwgYmFja2VuZDogc2UgYWN0dWFsaXphIGN1YW5kbyBjYW1iaWEgdGFyZ2V0VGV4dC5cbiAgY29uc3QgbGFzdFRhcmdldExlblJlZiA9IHVzZVJlZjxudW1iZXI+KDApXG4gIGNvbnN0IGxhc3RUYXJnZXRVcGRhdGVSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBFc3RpbWFjacOzbiBFTUEgZGUgY2hhcnMvbXMgcHJvZHVjaWRvcyBwb3IgZWwgYmFja2VuZC5cbiAgY29uc3QgYmFja2VuZENoYXJzUGVyTXNSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBUaW1lc3RhbXAgZGVsIHByaW1lciBjaHVuayByZWNpYmlkbyAocGFyYSB3YXJtdXApLlxuICBjb25zdCBmaXJzdENodW5rQXRSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBTaSBlbCB3YXJtdXAgeWEgdGVybWluw7MgKHVuYSB2ZXogdHJ1ZSwgbm8gdnVlbHZlIGEgYWN0aXZhcnNlIGVuIGVzdGUgc3RyZWFtKS5cbiAgY29uc3Qgd2FybXVwRG9uZVJlZiA9IHVzZVJlZjxib29sZWFuPihmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5vdyA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gJ3VuZGVmaW5lZCcgPyBwZXJmb3JtYW5jZS5ub3coKSA6IERhdGUubm93KClcbiAgICBjb25zdCBwcmV2VGFyZ2V0TGVuID0gbGFzdFRhcmdldExlblJlZi5jdXJyZW50XG4gICAgY29uc3QgZGVsdGFDaGFycyA9IHRhcmdldFRleHQubGVuZ3RoIC0gcHJldlRhcmdldExlblxuICAgIGNvbnN0IHByZXZUYXJnZXRBdCA9IGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudFxuXG4gICAgaWYgKGVuYWJsZWQgJiYgZGVsdGFDaGFycyA+IDApIHtcbiAgICAgIGlmIChmaXJzdENodW5rQXRSZWYuY3VycmVudCA9PT0gMCkgZmlyc3RDaHVua0F0UmVmLmN1cnJlbnQgPSBub3dcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZCAmJiBkZWx0YUNoYXJzID4gMCAmJiBwcmV2VGFyZ2V0QXQgPiAwKSB7XG4gICAgICBjb25zdCBkdCA9IE1hdGgubWF4KDEsIG5vdyAtIHByZXZUYXJnZXRBdClcbiAgICAgIGNvbnN0IHJhdGUgPSBkZWx0YUNoYXJzIC8gZHRcbiAgICAgIGNvbnN0IHByZXZSYXRlID0gYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudFxuICAgICAgLy8gRU1BIHN1YXZlIChhbHBoYSA9IDAuMikgcGFyYSBhYnNvcmJlciBqaXR0ZXIgeSBzZWd1aXIgbGEgdGVuZGVuY2lhLlxuICAgICAgYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudCA9IHByZXZSYXRlID09PSAwID8gcmF0ZSA6IHByZXZSYXRlICogMC44ICsgcmF0ZSAqIDAuMlxuICAgIH1cbiAgICBpZiAoZW5hYmxlZCAmJiB0YXJnZXRUZXh0Lmxlbmd0aCAhPT0gcHJldlRhcmdldExlbikge1xuICAgICAgbGFzdFRhcmdldExlblJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dC5sZW5ndGhcbiAgICAgIGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudCA9IG5vd1xuICAgIH1cblxuICAgIHRhcmdldFJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dFxuXG4gICAgaWYgKCFlbmFibGVkKSB7XG4gICAgICBpZiAodGlja1RpbWVyUmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpY2tUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICB0aWNrVGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICAgIGxhc3RUaWNrUmVmLmN1cnJlbnQgPSAwXG4gICAgICBpZiAoZGlzcGxheWVkTGVuUmVmLmN1cnJlbnQgIT09IHRhcmdldFRleHQubGVuZ3RoKSB7XG4gICAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dC5sZW5ndGhcbiAgICAgICAgc2V0RGlzcGxheWVkKHRhcmdldFRleHQpXG4gICAgICB9XG4gICAgICAvLyBSZXNldCBkZSBjYWRlbmNpYSBjdWFuZG8gc2UgYXBhZ2EgcGFyYSBubyBjb250YW1pbmFyIGVsIHByw7N4aW1vIHN0cmVhbS5cbiAgICAgIGxhc3RUYXJnZXRMZW5SZWYuY3VycmVudCA9IDBcbiAgICAgIGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudCA9IDBcbiAgICAgIGJhY2tlbmRDaGFyc1Blck1zUmVmLmN1cnJlbnQgPSAwXG4gICAgICBmaXJzdENodW5rQXRSZWYuY3VycmVudCA9IDBcbiAgICAgIHdhcm11cERvbmVSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKGRpc3BsYXllZExlblJlZi5jdXJyZW50ID4gdGFyZ2V0VGV4dC5sZW5ndGgpIHtcbiAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gMFxuICAgICAgc2V0RGlzcGxheWVkKCcnKVxuICAgIH1cblxuICAgIGlmICh0aWNrVGltZXJSZWYuY3VycmVudCAhPSBudWxsKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBnZXROb3cgPSAoKSA9PiAodHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJyA/IHBlcmZvcm1hbmNlLm5vdygpIDogRGF0ZS5ub3coKSlcbiAgICBjb25zdCBzY2hlZHVsZVRpY2sgPSAodGljazogKHRpY2tOb3c6IG51bWJlcikgPT4gdm9pZCkgPT4ge1xuICAgICAgdGlja1RpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRpY2soZ2V0Tm93KCkpXG4gICAgICB9LCAxNilcbiAgICB9XG5cbiAgICBjb25zdCB0aWNrID0gKHRpY2tOb3c6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgcHJldiA9IGxhc3RUaWNrUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGR0ID0gcHJldiA/IE1hdGgubWluKHRpY2tOb3cgLSBwcmV2LCA2NCkgOiAxNlxuICAgICAgbGFzdFRpY2tSZWYuY3VycmVudCA9IHRpY2tOb3dcblxuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGN1cnJlbnRMZW4gPSBkaXNwbGF5ZWRMZW5SZWYuY3VycmVudFxuICAgICAgY29uc3QgcmVtYWluaW5nID0gdGFyZ2V0Lmxlbmd0aCAtIGN1cnJlbnRMZW5cblxuICAgICAgaWYgKHJlbWFpbmluZyA8PSAwKSB7XG4gICAgICAgIHNjaGVkdWxlVGljayh0aWNrKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gV2FybXVwOiBhbCBjb21pZW56byBkZWwgc3RyZWFtIGVzcGVyYW1vcyBgd2FybXVwTXNgIGRlc2RlIGVsIHByaW1lclxuICAgICAgLy8gY2h1bmsgYW50ZXMgZGUgZW1wZXphciBhIHBpbnRhci4gRXN0byBjb25zdHJ1eWUgdW4gY29sY2jDs24gaW5pY2lhbCB5XG4gICAgICAvLyBldml0YSBhcnJhbmNhciByw6FwaWRvIHBhcmEgY29uZ2VsYXJub3MgYWN0byBzZWd1aWRvIHNpIGVsIGJhY2tlbmRcbiAgICAgIC8vIHRhcmRhIG11Y2hvIGVuIGVtaXRpciBlbCBzZWd1bmRvIGNodW5rLlxuICAgICAgaWYgKCF3YXJtdXBEb25lUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RBdCA9IGZpcnN0Q2h1bmtBdFJlZi5jdXJyZW50XG4gICAgICAgIGNvbnN0IHdhaXRlZE1zID0gZmlyc3RBdCA+IDAgPyB0aWNrTm93IC0gZmlyc3RBdCA6IDBcbiAgICAgICAgY29uc3Qgd2FybXVwQ29tcGxldGUgPSB3YXJtdXBNcyA8PSAwIHx8IHdhaXRlZE1zID49IHdhcm11cE1zIHx8IHRhcmdldC5sZW5ndGggPj0gbWluQnVmZmVyQ2hhcnMgKiAyXG4gICAgICAgIGlmICghd2FybXVwQ29tcGxldGUpIHtcbiAgICAgICAgICBzY2hlZHVsZVRpY2sodGljaylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB3YXJtdXBEb25lUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIC8vIFZlbG9jaWRhZCBiYXNlOiB2YWNpYXIgZWwgYnVmZmVyIGVuIH50YXJnZXRMYWdNcy5cbiAgICAgIGNvbnN0IGNoYXJzUGVyTXMgPSByZW1haW5pbmcgLyB0YXJnZXRMYWdNc1xuICAgICAgbGV0IGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBjaGFyc1Blck1zXG5cbiAgICAgIGNvbnN0IGJhY2tlbmRSYXRlID0gYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudFxuXG4gICAgICBpZiAoYWRhcHRUb0JhY2tlbmRSYXRlICYmIGJhY2tlbmRSYXRlID4gMCkge1xuICAgICAgICBpZiAodHlwZW9mIHRhcmdldEJ1ZmZlck1zID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIENvbnRyb2wgcHJvcG9yY2lvbmFsOiBtYW50ZW5lciBlbCBidWZmZXIgZW4gdG9ybm8gYWwgY29sY2jDs25cbiAgICAgICAgICAvLyBvYmpldGl2by4gU2kgYnVmZmVyTXMgPCB0YXJnZXQg4oaSIGZyZW5hbW9zIHBvciBkZWJham8gZGVsIGJhY2tlbmRcbiAgICAgICAgICAvLyBwYXJhIGFjdW11bGFyOyBzaSBidWZmZXJNcyA+IHRhcmdldCDihpIgYWNlbGVyYW1vcyBwYXJhIGRlc2Nhcmdhci5cbiAgICAgICAgICAvLyBFbiBlcXVpbGlicmlvLCBwaW50YW1vcyBhbCByaXRtbyBwcm9tZWRpbyBkZWwgYmFja2VuZC5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIEVsIGNvbGNow7NuIG9iamV0aXZvIHNlIGNhbGN1bGEgc29icmUgbGEgdGFzYSAqKmVmZWN0aXZhKiogcXVlXG4gICAgICAgICAgLy8gcG9kZW1vcyBwaW50YXIgKGNhcGVhZGEgcG9yIGBtYXhDaGFyc1BlckZyYW1lYCBhIDYwZnBzKSwgbm8gc29icmVcbiAgICAgICAgICAvLyBsYSBkZWwgYmFja2VuZCBwdXJhLiBFc3RvIGV2aXRhIGVsIGNhc28gcGF0b2zDs2dpY28gZGUgcsOhZmFnYXM6XG4gICAgICAgICAgLy8gc2kgZWwgYmFja2VuZCB0aXJhIGEgNjUwMCBjaC9zLCBlbCB0YXJnZXQgTk8gc2UgdnVlbHZlIDM5MDAgY2hhcnNcbiAgICAgICAgICAvLyAocXVlIGVsIHJlbmRlciBqYW3DoXMgcG9kcsOtYSBzb3N0ZW5lciksIHNpbm8gYWxnbyByYXpvbmFibGUgcXVlXG4gICAgICAgICAgLy8gbGEgYW5pbWFjacOzbiBwdWVkYSBtYW50ZW5lci5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFBpc28gYWJzb2x1dG86IGVsIGNvbGNow7NuIG51bmNhIGJhamEgZGUgYG1pbkJ1ZmZlckNoYXJzYCBhdW5xdWVcbiAgICAgICAgICAvLyBlbCBiYWNrZW5kIGVzdMOpIG1hbmRhbmRvIGxlbnRvIGFsIGluaWNpbyBkZWwgc3RyZWFtLlxuICAgICAgICAgIGNvbnN0IHJlbmRlclJhdGVDYXAgPSAobWF4Q2hhcnNQZXJGcmFtZSAqIDYwKSAvIDEwMDBcbiAgICAgICAgICBjb25zdCBlZmZlY3RpdmVCdWZmZXJSYXRlID0gTWF0aC5taW4oYmFja2VuZFJhdGUsIHJlbmRlclJhdGVDYXApXG4gICAgICAgICAgY29uc3QgdGFyZ2V0QnVmZmVyQ2hhcnMgPSBNYXRoLm1heChtaW5CdWZmZXJDaGFycywgdGFyZ2V0QnVmZmVyTXMgKiBlZmZlY3RpdmVCdWZmZXJSYXRlKVxuICAgICAgICAgIGNvbnN0IGJ1ZmZlckRlbHRhID0gcmVtYWluaW5nIC0gdGFyZ2V0QnVmZmVyQ2hhcnNcbiAgICAgICAgICAvLyBDb3JyZWNjacOzbiB0aWVuZSB1bmlkYWRlcyBkZSBjaGFycy9tcy4gYnVmZmVyQ29ycmVjdGlvbk1zIGNvbnRyb2xhXG4gICAgICAgICAgLy8gcXXDqSB0YW4gcsOhcGlkbyBlbCBidWZmZXIgcmVhbCBjb252ZXJnZSBhbCBvYmpldGl2by5cbiAgICAgICAgICBjb25zdCBjb3JyZWN0aW9uID0gYnVmZmVyRGVsdGEgLyBNYXRoLm1heCgxLCBidWZmZXJDb3JyZWN0aW9uTXMpXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWF4KDAsIGJhY2tlbmRSYXRlICsgY29ycmVjdGlvbilcbiAgICAgICAgICAvLyBBY290YXIgcG9yIGxhIHZlbG9jaWRhZCBkZSBcInZhY2lhciBlbiB0YXJnZXRMYWdNc1wiIHBhcmEgcXVlIHNpXG4gICAgICAgICAgLy8gZGUgcHJvbnRvIGhheSB1biBwaWNvIGdpZ2FudGUgZGUgYnVmZmVyIG5vIHNhbGdhbW9zIGRpc3BhcmFkb3MuXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWluKGVmZmVjdGl2ZUNoYXJzUGVyTXMsIGNoYXJzUGVyTXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW9kbyBzaW1wbGU6IGNhcCBhIGxhIHRhc2EgZGVsIGJhY2tlbmQgKiBmYWN0b3IuXG4gICAgICAgICAgY29uc3QgY2FwID0gYmFja2VuZFJhdGUgKiBiYWNrZW5kUmF0ZUZhY3RvclxuICAgICAgICAgIGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBNYXRoLm1pbihlZmZlY3RpdmVDaGFyc1Blck1zLCBjYXApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmF3U3RlcCA9IE1hdGguY2VpbChlZmZlY3RpdmVDaGFyc1Blck1zICogZHQpXG4gICAgICBjb25zdCBzdGVwID0gTWF0aC5tYXgobWluQ2hhcnNQZXJGcmFtZSwgTWF0aC5taW4obWF4Q2hhcnNQZXJGcmFtZSwgcmF3U3RlcCkpXG5cbiAgICAgIGxldCBuZXh0TGVuID0gTWF0aC5taW4odGFyZ2V0Lmxlbmd0aCwgY3VycmVudExlbiArIHN0ZXApXG5cbiAgICAgIGlmIChzbmFwVG9Xb3JkQm91bmRhcnkgJiYgbmV4dExlbiA8IHRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2xpY2UgPSB0YXJnZXQuc2xpY2UoY3VycmVudExlbiwgbmV4dExlbilcbiAgICAgICAgY29uc3QgbGFzdEJvdW5kYXJ5ID0gTWF0aC5tYXgoc2xpY2UubGFzdEluZGV4T2YoJyAnKSwgc2xpY2UubGFzdEluZGV4T2YoJ1xcbicpLCBzbGljZS5sYXN0SW5kZXhPZignXFx0JykpXG4gICAgICAgIGlmIChsYXN0Qm91bmRhcnkgPj0gMCkge1xuICAgICAgICAgIG5leHRMZW4gPSBjdXJyZW50TGVuICsgbGFzdEJvdW5kYXJ5ICsgMVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0TGVuICE9PSBjdXJyZW50TGVuKSB7XG4gICAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gbmV4dExlblxuICAgICAgICBzZXREaXNwbGF5ZWQodGFyZ2V0LnNsaWNlKDAsIG5leHRMZW4pKVxuICAgICAgfVxuXG4gICAgICBzY2hlZHVsZVRpY2sodGljaylcbiAgICB9XG5cbiAgICBzY2hlZHVsZVRpY2sodGljaylcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodGlja1RpbWVyUmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpY2tUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICB0aWNrVGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICAgIGxhc3RUaWNrUmVmLmN1cnJlbnQgPSAwXG4gICAgfVxuICB9LCBbXG4gICAgdGFyZ2V0VGV4dCxcbiAgICBlbmFibGVkLFxuICAgIG1pbkNoYXJzUGVyRnJhbWUsXG4gICAgbWF4Q2hhcnNQZXJGcmFtZSxcbiAgICB0YXJnZXRMYWdNcyxcbiAgICBzbmFwVG9Xb3JkQm91bmRhcnksXG4gICAgYWRhcHRUb0JhY2tlbmRSYXRlLFxuICAgIGJhY2tlbmRSYXRlRmFjdG9yLFxuICAgIHRhcmdldEJ1ZmZlck1zLFxuICAgIGJ1ZmZlckNvcnJlY3Rpb25NcyxcbiAgICBtaW5CdWZmZXJDaGFycyxcbiAgICB3YXJtdXBNcyxcbiAgXSlcblxuICByZXR1cm4gZGlzcGxheWVkXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFtRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUM5QkMsVUFBa0IsRUFBQUMsSUFBQSxFQWNQO0VBQUEsSUFaVEMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBQUMscUJBQUEsR0FBQUYsSUFBQSxDQUNQRyxnQkFBZ0I7SUFBaEJBLGdCQUFnQixHQUFBRCxxQkFBQSxjQUFHLENBQUMsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0FBQUosSUFBQSxDQUNwQkssZ0JBQWdCO0lBQWhCQSxnQkFBZ0IsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLGdCQUFBLEdBQUFOLElBQUEsQ0FDckJPLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHLEdBQUcsR0FBQUEsZ0JBQUE7SUFBQUUscUJBQUEsR0FBQVIsSUFBQSxDQUNqQlMsa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBQUFWLElBQUEsQ0FDMUJXLGtCQUFrQjtJQUFsQkEsa0JBQWtCLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBWixJQUFBLENBQ3pCYSxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7SUFBQUUsbUJBQUEsR0FBQWQsSUFBQSxDQUN4QmUsY0FBYztJQUFkQSxjQUFjLEdBQUFELG1CQUFBLGNBQUcsR0FBRyxHQUFBQSxtQkFBQTtJQUFBRSxxQkFBQSxHQUFBaEIsSUFB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
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZVNtb290aFN0cmVhbVRleHQiLCJ0YXJnZXRUZXh0IiwiX3JlZiIsImVuYWJsZWQiLCJfcmVmJG1pbkNoYXJzUGVyRnJhbWUiLCJtaW5DaGFyc1BlckZyYW1lIiwiX3JlZiRtYXhDaGFyc1BlckZyYW1lIiwibWF4Q2hhcnNQZXJGcmFtZSIsIl9yZWYkdGFyZ2V0TGFnTXMiLCJ0YXJnZXRMYWdNcyIsIl9yZWYkc25hcFRvV29yZEJvdW5kYSIsInNuYXBUb1dvcmRCb3VuZGFyeSIsIl9yZWYkYWRhcHRUb0JhY2tlbmRSYSIsImFkYXB0VG9CYWNrZW5kUmF0ZSIsIl9yZWYkYmFja2VuZFJhdGVGYWN0byIsImJhY2tlbmRSYXRlRmFjdG9yIiwiX3JlZiR0YXJnZXRCdWZmZXJNcyIsInRhcmdldEJ1ZmZlck1zIiwiX3JlZiRidWZmZXJDb3JyZWN0aW9uIiwiYnVmZmVyQ29ycmVjdGlvbk1zIiwiX3JlZiRtaW5CdWZmZXJDaGFycyIsIm1pbkJ1ZmZlckNoYXJzIiwiX3JlZiR3YXJtdXBNcyIsIndhcm11cE1zIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZGlzcGxheWVkIiwic2V0RGlzcGxheWVkIiwidGFyZ2V0UmVmIiwiZGlzcGxheWVkTGVuUmVmIiwibGVuZ3RoIiwicmFmUmVmIiwibGFzdFRpY2tSZWYiLCJsYXN0VGFyZ2V0TGVuUmVmIiwibGFzdFRhcmdldFVwZGF0ZVJlZiIsImJhY2tlbmRDaGFyc1Blck1zUmVmIiwiZmlyc3RDaHVua0F0UmVmIiwid2FybXVwRG9uZVJlZiIsIm5vdyIsInBlcmZvcm1hbmNlIiwiRGF0ZSIsInByZXZUYXJnZXRMZW4iLCJjdXJyZW50IiwiZGVsdGFDaGFycyIsInByZXZUYXJnZXRBdCIsImR0IiwiTWF0aCIsIm1heCIsInJhdGUiLCJwcmV2UmF0ZSIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwidW5kZWZpbmVkIiwidGljayIsInRpY2tOb3ciLCJwcmV2IiwibWluIiwidGFyZ2V0IiwiY3VycmVudExlbiIsInJlbWFpbmluZyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImZpcnN0QXQiLCJ3YWl0ZWRNcyIsIndhcm11cENvbXBsZXRlIiwiY2hhcnNQZXJNcyIsImVmZmVjdGl2ZUNoYXJzUGVyTXMiLCJiYWNrZW5kUmF0ZSIsInJlbmRlclJhdGVDYXAiLCJlZmZlY3RpdmVCdWZmZXJSYXRlIiwidGFyZ2V0QnVmZmVyQ2hhcnMiLCJidWZmZXJEZWx0YSIsImNvcnJlY3Rpb24iLCJjYXAiLCJyYXdTdGVwIiwiY2VpbCIsInN0ZXAiLCJuZXh0TGVuIiwic2xpY2UiLCJsYXN0Qm91bmRhcnkiLCJsYXN0SW5kZXhPZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTbW9vdGhTdHJlYW1UZXh0L3VzZVNtb290aFN0cmVhbVRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbnR5cGUgVXNlU21vb3RoU3RyZWFtVGV4dE9wdGlvbnMgPSB7XG4gIC8qKiBTaSBlc3TDoSBkZXNoYWJpbGl0YWRvLCBkZXZ1ZWx2ZSBlbCB0YXJnZXQgdGFsIGN1YWwgKHNpbiBhbmltYWNpw7NuKS4gKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogQ2FudGlkYWQgbcOtbmltYSBkZSBjaGFycyBhIGxpYmVyYXIgcG9yIGZyYW1lIGN1YW5kbyBoYXkgYnVmZmVyLiAqL1xuICBtaW5DaGFyc1BlckZyYW1lPzogbnVtYmVyXG4gIC8qKiBDb3RhIHN1cGVyaW9yIGRlIGNoYXJzIHBvciBmcmFtZSBwYXJhIGV2aXRhciBzYWx0b3MgZ3JhbmRlcy4gKi9cbiAgbWF4Q2hhcnNQZXJGcmFtZT86IG51bWJlclxuICAvKipcbiAgICogTGFnIG9iamV0aXZvIChtcykgZW50cmUgZWwgdGV4dG8gcmVjaWJpZG8geSBlbCBtb3N0cmFkby4gRWwgaG9vayBjYWxjdWxhXG4gICAqIGRpbsOhbWljYW1lbnRlIGVsIHN0ZXAgcG9yIGZyYW1lIHBhcmEgdmFjaWFyIGVsIGJ1ZmZlciBlbiB+dGFyZ2V0TGFnTXMuXG4gICAqIFZhbG9yZXMgbcOhcyBiYWpvcyA9IHNlIHBvbmUgYWwgZMOtYSBtw6FzIHLDoXBpZG8gKG1lbm9zIFwic3VhdmVcIikuXG4gICAqL1xuICB0YXJnZXRMYWdNcz86IG51bWJlclxuICAvKipcbiAgICogU2kgZXN0w6EgYWN0aXZvLCBhbCBhdmFuemFyIHNlIGRldGllbmUgZW4gZWwgw7psdGltbyBzZXBhcmFkb3IgZGUgcGFsYWJyYVxuICAgKiAoZXNwYWNpbywgc2FsdG8gZGUgbMOtbmVhLCBzaWdub3MgZGUgcHVudHVhY2nDs24pIHBhcmEgZXZpdGFyIHJlbmRlcml6YXJcbiAgICogbWFya2Rvd24gXCJjb3J0YWRvIGEgbGEgbWl0YWRcIiB5IGRhciB1bmEgc2Vuc2FjacOzbiBtw6FzIG5hdHVyYWwuXG4gICAqL1xuICBzbmFwVG9Xb3JkQm91bmRhcnk/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTaSBlc3TDoSBhY3Rpdm8sIG1pZGUgbGEgdGFzYSBwcm9tZWRpbyBhIGxhIHF1ZSBjcmVjZSBlbCB0YXJnZXQgKGNhZGVuY2lhXG4gICAqIGRlbCBiYWNrZW5kIGVuIGNoYXJzL21zKSB5IGxpbWl0YSBsYSB2ZWxvY2lkYWQgZGUgcGludGFkbyBhIGVzYSB0YXNhXG4gICAqIChtdWx0aXBsaWNhZGEgcG9yIGBiYWNrZW5kUmF0ZUZhY3RvcmApLiBFc3RvIGV2aXRhIGVsIGNhc28gdMOtcGljbyBkZVxuICAgKiBcInBpbnRvIHLDoXBpZG8gaGFzdGEgdmFjaWFyIGVsIGJ1ZmZlciB5IGRlc3B1w6lzIHNlIGNvbmdlbGEgZXNwZXJhbmRvXG4gICAqIGFsIHByw7N4aW1vIGNodW5rIGRlbCBiYWNrZW5kXCIuXG4gICAqL1xuICBhZGFwdFRvQmFja2VuZFJhdGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBGYWN0b3IgYXBsaWNhZG8gYSBsYSB0YXNhIGRlbCBiYWNrZW5kIGN1YW5kbyBgYWRhcHRUb0JhY2tlbmRSYXRlYCBlc3TDoVxuICAgKiBhY3Rpdm8uIFZhbG9yZXMgPCAxIGRlamFuIHVuIGNvbGNow7NuIGNyZWNpZW50ZSAobcOhcyB0b2xlcmFudGUgYSBwYXVzYXMpO1xuICAgKiB2YWxvcmVzID4gMSBpbnRlbnRhbiBhbGNhbnphci4gRGVmYXVsdDogMC45NS5cbiAgICovXG4gIGJhY2tlbmRSYXRlRmFjdG9yPzogbnVtYmVyXG4gIC8qKlxuICAgKiBDb2xjaMOzbiBvYmpldGl2byBkZSBidWZmZXIgZXhwcmVzYWRvIGVuIG1zIChjdcOhbnRvIHRpZW1wbyBkZSB0ZXh0byBxdWVyZW1vc1xuICAgKiB0ZW5lciBzaWVtcHJlIGFkZWxhbnRhZG8gYWwgcGludGFkbykuIFNpIGVzdMOhIGRlZmluaWRvIGp1bnRvIGNvblxuICAgKiBgYWRhcHRUb0JhY2tlbmRSYXRlYCwgc2UgdXNhIHVuIGNvbnRyb2wgcHJvcG9yY2lvbmFsOiBjdWFuZG8gZWwgYnVmZmVyXG4gICAqIGJhamEgZGVsIG9iamV0aXZvLCBsYSB2ZWxvY2lkYWQgY2FlIHBvciBkZWJham8gZGUgbGEgZGVsIGJhY2tlbmQgcGFyYVxuICAgKiByZWxsZW5hcmxvOyBjdWFuZG8gbG8gc3VwZXJhLCBzZSBhY2VsZXJhIHBhcmEgZGVzY2FyZ2FybG8uIEFzw60gbGFcbiAgICogYW5pbWFjacOzbiBhYnNvcmJlIHBhdXNhcyBkZWwgYmFja2VuZCBzaW4gcXVlZGFyc2UgaWRsZS5cbiAgICpcbiAgICogVmFsb3IgcmVjb21lbmRhZG86IDMwMOKAkzYwMG1zIHNlZ8O6biBsYSBlc3RhYmlsaWRhZCBkZWwgYmFja2VuZC5cbiAgICovXG4gIHRhcmdldEJ1ZmZlck1zPzogbnVtYmVyXG4gIC8qKlxuICAgKiBDb25zdGFudGUgZGUgdGllbXBvIChtcykgZGVsIGNvbnRyb2xhZG9yIGRlbCBidWZmZXIuIEN1YW50byBtw6FzIGJham8sXG4gICAqIG3DoXMgYWdyZXNpdmFtZW50ZSBjb3JyaWdlIGRlc3bDrW9zLiBEZWZhdWx0OiA1MDAuXG4gICAqL1xuICBidWZmZXJDb3JyZWN0aW9uTXM/OiBudW1iZXJcbiAgLyoqXG4gICAqIFBpc28gYWJzb2x1dG8gZGVsIGNvbGNow7NuIGVuIGNoYXJzOiBlbCBgdGFyZ2V0QnVmZmVyQ2hhcnNgIGNhbGN1bGFkbyBhXG4gICAqIHBhcnRpciBkZSBgdGFyZ2V0QnVmZmVyTXMgw5cgYmFja2VuZFJhdGVgIG51bmNhIGJhamEgZGUgZXN0ZSB2YWxvci4gw5p0aWxcbiAgICogYWwgY29taWVuem8gZGVsIHN0cmVhbSBjdWFuZG8gbGEgdGFzYSBlc3RpbWFkYSBkZWwgYmFja2VuZCBlcyBiYWphLlxuICAgKiBEZWZhdWx0OiA3MC5cbiAgICovXG4gIG1pbkJ1ZmZlckNoYXJzPzogbnVtYmVyXG4gIC8qKlxuICAgKiBXYXJtdXA6IG1zIHF1ZSBlbCBob29rIGVzcGVyYSBcImFjdW11bGFuZG9cIiBhbnRlcyBkZSBlbXBlemFyIGEgcGludGFyLFxuICAgKiBpbmNsdXNvIHNpIHlhIGhheSBjaGFycyBlbiBlbCBidWZmZXIuIEV2aXRhIGVsIHTDrXBpY28gXCJhcnJhbnF1ZSByw6FwaWRvLFxuICAgKiBjb25nZWxhbWllbnRvXCIgY3VhbmRvIGVsIHByaW1lciBjaHVuayBsbGVnYSBhbnRlcyBxdWUgZWwgc2VndW5kbyBzZVxuICAgKiB0YXJkYSBtdWNoby4gU2kgc2UgZGVmaW5lIGNvbW8gMCwgbm8gaGF5IHdhcm11cC4gRGVmYXVsdDogNDAwLlxuICAgKi9cbiAgd2FybXVwTXM/OiBudW1iZXJcbn1cblxuLyoqXG4gKiBIb29rIHF1ZSBkZXNhY29wbGEgbGEgY2FkZW5jaWEgZGUgbGxlZ2FkYSBkZWwgdGV4dG8gKHN0cmVhbSBTU0UpIGRlIGxhXG4gKiBjYWRlbmNpYSBkZSByZW5kZXJpemFkby4gVXNhIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIHBhcmEgbGliZXJhciBjaGFyc1xuICogYSByaXRtbyBjb25zdGFudGUgaGFjaWEgZWwgRE9NLCBlbGltaW5hbmRvIGxvcyBcImZyZW5vc1wiIHF1ZSBzZSBwcm9kdWNlblxuICogY3VhbmRvIGVsIGJhY2tlbmQgZW1pdGUgcsOhZmFnYXMgZGUgdG9rZW5zLlxuICpcbiAqIEN1YW5kbyBgZW5hYmxlZGAgcGFzYSBhIGZhbHNlIChmaW4gZGUgc3RyZWFtKSwgZWwgdGV4dG8gc2UgY29tcGxldGEgYWxcbiAqIGluc3RhbnRlLiBEdXJhbnRlIGVsIHN0cmVhbWluZywgZWwgYnVmZmVyIHNlIHZhY8OtYSBkaW7DoW1pY2FtZW50ZSBhcHVudGFuZG9cbiAqIGFsIGxhZyBjb25maWd1cmFkby5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVNtb290aFN0cmVhbVRleHQgPSAoXG4gIHRhcmdldFRleHQ6IHN0cmluZyxcbiAge1xuICAgIGVuYWJsZWQsXG4gICAgbWluQ2hhcnNQZXJGcmFtZSA9IDEsXG4gICAgbWF4Q2hhcnNQZXJGcmFtZSA9IDI0LFxuICAgIHRhcmdldExhZ01zID0gNDUwLFxuICAgIHNuYXBUb1dvcmRCb3VuZGFyeSA9IGZhbHNlLFxuICAgIGFkYXB0VG9CYWNrZW5kUmF0ZSA9IHRydWUsXG4gICAgYmFja2VuZFJhdGVGYWN0b3IgPSAwLjk1LFxuICAgIHRhcmdldEJ1ZmZlck1zID0gNjAwLFxuICAgIGJ1ZmZlckNvcnJlY3Rpb25NcyA9IDUwMCxcbiAgICBtaW5CdWZmZXJDaGFycyA9IDcwLFxuICAgIHdhcm11cE1zID0gNDAwLFxuICB9OiBVc2VTbW9vdGhTdHJlYW1UZXh0T3B0aW9uc1xuKTogc3RyaW5nID0+IHtcbiAgY29uc3QgW2Rpc3BsYXllZCwgc2V0RGlzcGxheWVkXSA9IHVzZVN0YXRlPHN0cmluZz4oKCkgPT4gKGVuYWJsZWQgPyAnJyA6IHRhcmdldFRleHQpKVxuXG4gIGNvbnN0IHRhcmdldFJlZiA9IHVzZVJlZih0YXJnZXRUZXh0KVxuICBjb25zdCBkaXNwbGF5ZWRMZW5SZWYgPSB1c2VSZWYoZGlzcGxheWVkLmxlbmd0aClcbiAgY29uc3QgcmFmUmVmID0gdXNlUmVmPG51bWJlciB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGxhc3RUaWNrUmVmID0gdXNlUmVmPG51bWJlcj4oMClcblxuICAvLyBNZWRpY2nDs24gZGUgbGEgY2FkZW5jaWEgZGVsIGJhY2tlbmQ6IHNlIGFjdHVhbGl6YSBjdWFuZG8gY2FtYmlhIHRhcmdldFRleHQuXG4gIGNvbnN0IGxhc3RUYXJnZXRMZW5SZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICBjb25zdCBsYXN0VGFyZ2V0VXBkYXRlUmVmID0gdXNlUmVmPG51bWJlcj4oMClcbiAgLy8gRXN0aW1hY2nDs24gRU1BIGRlIGNoYXJzL21zIHByb2R1Y2lkb3MgcG9yIGVsIGJhY2tlbmQuXG4gIGNvbnN0IGJhY2tlbmRDaGFyc1Blck1zUmVmID0gdXNlUmVmPG51bWJlcj4oMClcbiAgLy8gVGltZXN0YW1wIGRlbCBwcmltZXIgY2h1bmsgcmVjaWJpZG8gKHBhcmEgd2FybXVwKS5cbiAgY29uc3QgZmlyc3RDaHVua0F0UmVmID0gdXNlUmVmPG51bWJlcj4oMClcbiAgLy8gU2kgZWwgd2FybXVwIHlhIHRlcm1pbsOzICh1bmEgdmV6IHRydWUsIG5vIHZ1ZWx2ZSBhIGFjdGl2YXJzZSBlbiBlc3RlIHN0cmVhbSkuXG4gIGNvbnN0IHdhcm11cERvbmVSZWYgPSB1c2VSZWY8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBub3cgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnID8gcGVyZm9ybWFuY2Uubm93KCkgOiBEYXRlLm5vdygpXG4gICAgY29uc3QgcHJldlRhcmdldExlbiA9IGxhc3RUYXJnZXRMZW5SZWYuY3VycmVudFxuICAgIGNvbnN0IGRlbHRhQ2hhcnMgPSB0YXJnZXRUZXh0Lmxlbmd0aCAtIHByZXZUYXJnZXRMZW5cbiAgICBjb25zdCBwcmV2VGFyZ2V0QXQgPSBsYXN0VGFyZ2V0VXBkYXRlUmVmLmN1cnJlbnRcblxuICAgIGlmIChlbmFibGVkICYmIGRlbHRhQ2hhcnMgPiAwKSB7XG4gICAgICBpZiAoZmlyc3RDaHVua0F0UmVmLmN1cnJlbnQgPT09IDApIGZpcnN0Q2h1bmtBdFJlZi5jdXJyZW50ID0gbm93XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWQgJiYgZGVsdGFDaGFycyA+IDAgJiYgcHJldlRhcmdldEF0ID4gMCkge1xuICAgICAgY29uc3QgZHQgPSBNYXRoLm1heCgxLCBub3cgLSBwcmV2VGFyZ2V0QXQpXG4gICAgICBjb25zdCByYXRlID0gZGVsdGFDaGFycyAvIGR0XG4gICAgICBjb25zdCBwcmV2UmF0ZSA9IGJhY2tlbmRDaGFyc1Blck1zUmVmLmN1cnJlbnRcbiAgICAgIC8vIEVNQSBzdWF2ZSAoYWxwaGEgPSAwLjIpIHBhcmEgYWJzb3JiZXIgaml0dGVyIHkgc2VndWlyIGxhIHRlbmRlbmNpYS5cbiAgICAgIGJhY2tlbmRDaGFyc1Blck1zUmVmLmN1cnJlbnQgPSBwcmV2UmF0ZSA9PT0gMCA/IHJhdGUgOiBwcmV2UmF0ZSAqIDAuOCArIHJhdGUgKiAwLjJcbiAgICB9XG4gICAgaWYgKGVuYWJsZWQgJiYgdGFyZ2V0VGV4dC5sZW5ndGggIT09IHByZXZUYXJnZXRMZW4pIHtcbiAgICAgIGxhc3RUYXJnZXRMZW5SZWYuY3VycmVudCA9IHRhcmdldFRleHQubGVuZ3RoXG4gICAgICBsYXN0VGFyZ2V0VXBkYXRlUmVmLmN1cnJlbnQgPSBub3dcbiAgICB9XG5cbiAgICB0YXJnZXRSZWYuY3VycmVudCA9IHRhcmdldFRleHRcblxuICAgIGlmICghZW5hYmxlZCkge1xuICAgICAgaWYgKHJhZlJlZi5jdXJyZW50ICE9IG51bGwpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmUmVmLmN1cnJlbnQpXG4gICAgICAgIHJhZlJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgfVxuICAgICAgbGFzdFRpY2tSZWYuY3VycmVudCA9IDBcbiAgICAgIGlmIChkaXNwbGF5ZWRMZW5SZWYuY3VycmVudCAhPT0gdGFyZ2V0VGV4dC5sZW5ndGgpIHtcbiAgICAgICAgZGlzcGxheWVkTGVuUmVmLmN1cnJlbnQgPSB0YXJnZXRUZXh0Lmxlbmd0aFxuICAgICAgICBzZXREaXNwbGF5ZWQodGFyZ2V0VGV4dClcbiAgICAgIH1cbiAgICAgIC8vIFJlc2V0IGRlIGNhZGVuY2lhIGN1YW5kbyBzZSBhcGFnYSBwYXJhIG5vIGNvbnRhbWluYXIgZWwgcHLDs3hpbW8gc3RyZWFtLlxuICAgICAgbGFzdFRhcmdldExlblJlZi5jdXJyZW50ID0gMFxuICAgICAgbGFzdFRhcmdldFVwZGF0ZVJlZi5jdXJyZW50ID0gMFxuICAgICAgYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudCA9IDBcbiAgICAgIGZpcnN0Q2h1bmtBdFJlZi5jdXJyZW50ID0gMFxuICAgICAgd2FybXVwRG9uZVJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoZGlzcGxheWVkTGVuUmVmLmN1cnJlbnQgPiB0YXJnZXRUZXh0Lmxlbmd0aCkge1xuICAgICAgZGlzcGxheWVkTGVuUmVmLmN1cnJlbnQgPSAwXG4gICAgICBzZXREaXNwbGF5ZWQoJycpXG4gICAgfVxuXG4gICAgaWYgKHJhZlJlZi5jdXJyZW50ICE9IG51bGwpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGNvbnN0IHRpY2sgPSAodGlja05vdzogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBwcmV2ID0gbGFzdFRpY2tSZWYuY3VycmVudFxuICAgICAgY29uc3QgZHQgPSBwcmV2ID8gTWF0aC5taW4odGlja05vdyAtIHByZXYsIDY0KSA6IDE2XG4gICAgICBsYXN0VGlja1JlZi5jdXJyZW50ID0gdGlja05vd1xuXG4gICAgICBjb25zdCB0YXJnZXQgPSB0YXJnZXRSZWYuY3VycmVudFxuICAgICAgY29uc3QgY3VycmVudExlbiA9IGRpc3BsYXllZExlblJlZi5jdXJyZW50XG4gICAgICBjb25zdCByZW1haW5pbmcgPSB0YXJnZXQubGVuZ3RoIC0gY3VycmVudExlblxuXG4gICAgICBpZiAocmVtYWluaW5nIDw9IDApIHtcbiAgICAgICAgcmFmUmVmLmN1cnJlbnQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGljaylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm11cDogYWwgY29taWVuem8gZGVsIHN0cmVhbSBlc3BlcmFtb3MgYHdhcm11cE1zYCBkZXNkZSBlbCBwcmltZXJcbiAgICAgIC8vIGNodW5rIGFudGVzIGRlIGVtcGV6YXIgYSBwaW50YXIuIEVzdG8gY29uc3RydXllIHVuIGNvbGNow7NuIGluaWNpYWwgeVxuICAgICAgLy8gZXZpdGEgYXJyYW5jYXIgcsOhcGlkbyBwYXJhIGNvbmdlbGFybm9zIGFjdG8gc2VndWlkbyBzaSBlbCBiYWNrZW5kXG4gICAgICAvLyB0YXJkYSBtdWNobyBlbiBlbWl0aXIgZWwgc2VndW5kbyBjaHVuay5cbiAgICAgIGlmICghd2FybXVwRG9uZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QXQgPSBmaXJzdENodW5rQXRSZWYuY3VycmVudFxuICAgICAgICBjb25zdCB3YWl0ZWRNcyA9IGZpcnN0QXQgPiAwID8gdGlja05vdyAtIGZpcnN0QXQgOiAwXG4gICAgICAgIGNvbnN0IHdhcm11cENvbXBsZXRlID0gd2FybXVwTXMgPD0gMCB8fCB3YWl0ZWRNcyA+PSB3YXJtdXBNcyB8fCB0YXJnZXQubGVuZ3RoID49IG1pbkJ1ZmZlckNoYXJzICogMlxuICAgICAgICBpZiAoIXdhcm11cENvbXBsZXRlKSB7XG4gICAgICAgICAgcmFmUmVmLmN1cnJlbnQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGljaylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB3YXJtdXBEb25lUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIC8vIFZlbG9jaWRhZCBiYXNlOiB2YWNpYXIgZWwgYnVmZmVyIGVuIH50YXJnZXRMYWdNcy5cbiAgICAgIGNvbnN0IGNoYXJzUGVyTXMgPSByZW1haW5pbmcgLyB0YXJnZXRMYWdNc1xuICAgICAgbGV0IGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBjaGFyc1Blck1zXG5cbiAgICAgIGNvbnN0IGJhY2tlbmRSYXRlID0gYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudFxuXG4gICAgICBpZiAoYWRhcHRUb0JhY2tlbmRSYXRlICYmIGJhY2tlbmRSYXRlID4gMCkge1xuICAgICAgICBpZiAodHlwZW9mIHRhcmdldEJ1ZmZlck1zID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIENvbnRyb2wgcHJvcG9yY2lvbmFsOiBtYW50ZW5lciBlbCBidWZmZXIgZW4gdG9ybm8gYWwgY29sY2jDs25cbiAgICAgICAgICAvLyBvYmpldGl2by4gU2kgYnVmZmVyTXMgPCB0YXJnZXQg4oaSIGZyZW5hbW9zIHBvciBkZWJham8gZGVsIGJhY2tlbmRcbiAgICAgICAgICAvLyBwYXJhIGFjdW11bGFyOyBzaSBidWZmZXJNcyA+IHRhcmdldCDihpIgYWNlbGVyYW1vcyBwYXJhIGRlc2Nhcmdhci5cbiAgICAgICAgICAvLyBFbiBlcXVpbGlicmlvLCBwaW50YW1vcyBhbCByaXRtbyBwcm9tZWRpbyBkZWwgYmFja2VuZC5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIEVsIGNvbGNow7NuIG9iamV0aXZvIHNlIGNhbGN1bGEgc29icmUgbGEgdGFzYSAqKmVmZWN0aXZhKiogcXVlXG4gICAgICAgICAgLy8gcG9kZW1vcyBwaW50YXIgKGNhcGVhZGEgcG9yIGBtYXhDaGFyc1BlckZyYW1lYCBhIDYwZnBzKSwgbm8gc29icmVcbiAgICAgICAgICAvLyBsYSBkZWwgYmFja2VuZCBwdXJhLiBFc3RvIGV2aXRhIGVsIGNhc28gcGF0b2zDs2dpY28gZGUgcsOhZmFnYXM6XG4gICAgICAgICAgLy8gc2kgZWwgYmFja2VuZCB0aXJhIGEgNjUwMCBjaC9zLCBlbCB0YXJnZXQgTk8gc2UgdnVlbHZlIDM5MDAgY2hhcnNcbiAgICAgICAgICAvLyAocXVlIGVsIHJlbmRlciBqYW3DoXMgcG9kcsOtYSBzb3N0ZW5lciksIHNpbm8gYWxnbyByYXpvbmFibGUgcXVlXG4gICAgICAgICAgLy8gbGEgYW5pbWFjacOzbiBwdWVkYSBtYW50ZW5lci5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFBpc28gYWJzb2x1dG86IGVsIGNvbGNow7NuIG51bmNhIGJhamEgZGUgYG1pbkJ1ZmZlckNoYXJzYCBhdW5xdWVcbiAgICAgICAgICAvLyBlbCBiYWNrZW5kIGVzdMOpIG1hbmRhbmRvIGxlbnRvIGFsIGluaWNpbyBkZWwgc3RyZWFtLlxuICAgICAgICAgIGNvbnN0IHJlbmRlclJhdGVDYXAgPSAobWF4Q2hhcnNQZXJGcmFtZSAqIDYwKSAvIDEwMDBcbiAgICAgICAgICBjb25zdCBlZmZlY3RpdmVCdWZmZXJSYXRlID0gTWF0aC5taW4oYmFja2VuZFJhdGUsIHJlbmRlclJhdGVDYXApXG4gICAgICAgICAgY29uc3QgdGFyZ2V0QnVmZmVyQ2hhcnMgPSBNYXRoLm1heChtaW5CdWZmZXJDaGFycywgdGFyZ2V0QnVmZmVyTXMgKiBlZmZlY3RpdmVCdWZmZXJSYXRlKVxuICAgICAgICAgIGNvbnN0IGJ1ZmZlckRlbHRhID0gcmVtYWluaW5nIC0gdGFyZ2V0QnVmZmVyQ2hhcnNcbiAgICAgICAgICAvLyBDb3JyZWNjacOzbiB0aWVuZSB1bmlkYWRlcyBkZSBjaGFycy9tcy4gYnVmZmVyQ29ycmVjdGlvbk1zIGNvbnRyb2xhXG4gICAgICAgICAgLy8gcXXDqSB0YW4gcsOhcGlkbyBlbCBidWZmZXIgcmVhbCBjb252ZXJnZSBhbCBvYmpldGl2by5cbiAgICAgICAgICBjb25zdCBjb3JyZWN0aW9uID0gYnVmZmVyRGVsdGEgLyBNYXRoLm1heCgxLCBidWZmZXJDb3JyZWN0aW9uTXMpXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWF4KDAsIGJhY2tlbmRSYXRlICsgY29ycmVjdGlvbilcbiAgICAgICAgICAvLyBBY290YXIgcG9yIGxhIHZlbG9jaWRhZCBkZSBcInZhY2lhciBlbiB0YXJnZXRMYWdNc1wiIHBhcmEgcXVlIHNpXG4gICAgICAgICAgLy8gZGUgcHJvbnRvIGhheSB1biBwaWNvIGdpZ2FudGUgZGUgYnVmZmVyIG5vIHNhbGdhbW9zIGRpc3BhcmFkb3MuXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWluKGVmZmVjdGl2ZUNoYXJzUGVyTXMsIGNoYXJzUGVyTXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW9kbyBzaW1wbGU6IGNhcCBhIGxhIHRhc2EgZGVsIGJhY2tlbmQgKiBmYWN0b3IuXG4gICAgICAgICAgY29uc3QgY2FwID0gYmFja2VuZFJhdGUgKiBiYWNrZW5kUmF0ZUZhY3RvclxuICAgICAgICAgIGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBNYXRoLm1pbihlZmZlY3RpdmVDaGFyc1Blck1zLCBjYXApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmF3U3RlcCA9IE1hdGguY2VpbChlZmZlY3RpdmVDaGFyc1Blck1zICogZHQpXG4gICAgICBjb25zdCBzdGVwID0gTWF0aC5tYXgobWluQ2hhcnNQZXJGcmFtZSwgTWF0aC5taW4obWF4Q2hhcnNQZXJGcmFtZSwgcmF3U3RlcCkpXG5cbiAgICAgIGxldCBuZXh0TGVuID0gTWF0aC5taW4odGFyZ2V0Lmxlbmd0aCwgY3VycmVudExlbiArIHN0ZXApXG5cbiAgICAgIGlmIChzbmFwVG9Xb3JkQm91bmRhcnkgJiYgbmV4dExlbiA8IHRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2xpY2UgPSB0YXJnZXQuc2xpY2UoY3VycmVudExlbiwgbmV4dExlbilcbiAgICAgICAgY29uc3QgbGFzdEJvdW5kYXJ5ID0gTWF0aC5tYXgoc2xpY2UubGFzdEluZGV4T2YoJyAnKSwgc2xpY2UubGFzdEluZGV4T2YoJ1xcbicpLCBzbGljZS5sYXN0SW5kZXhPZignXFx0JykpXG4gICAgICAgIGlmIChsYXN0Qm91bmRhcnkgPj0gMCkge1xuICAgICAgICAgIG5leHRMZW4gPSBjdXJyZW50TGVuICsgbGFzdEJvdW5kYXJ5ICsgMVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0TGVuICE9PSBjdXJyZW50TGVuKSB7XG4gICAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gbmV4dExlblxuICAgICAgICBzZXREaXNwbGF5ZWQodGFyZ2V0LnNsaWNlKDAsIG5leHRMZW4pKVxuICAgICAgfVxuXG4gICAgICByYWZSZWYuY3VycmVudCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aWNrKVxuICAgIH1cblxuICAgIHJhZlJlZi5jdXJyZW50ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRpY2spXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJhZlJlZi5jdXJyZW50ICE9IG51bGwpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmUmVmLmN1cnJlbnQpXG4gICAgICAgIHJhZlJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgfVxuICAgICAgbGFzdFRpY2tSZWYuY3VycmVudCA9IDBcbiAgICB9XG4gIH0sIFtcbiAgICB0YXJnZXRUZXh0LFxuICAgIGVuYWJsZWQsXG4gICAgbWluQ2hhcnNQZXJGcmFtZSxcbiAgICBtYXhDaGFyc1BlckZyYW1lLFxuICAgIHRhcmdldExhZ01zLFxuICAgIHNuYXBUb1dvcmRCb3VuZGFyeSxcbiAgICBhZGFwdFRvQmFja2VuZFJhdGUsXG4gICAgYmFja2VuZFJhdGVGYWN0b3IsXG4gICAgdGFyZ2V0QnVmZmVyTXMsXG4gICAgYnVmZmVyQ29ycmVjdGlvbk1zLFxuICAgIG1pbkJ1ZmZlckNoYXJzLFxuICAgIHdhcm11cE1zLFxuICBdKVxuXG4gIHJldHVybiBkaXNwbGF5ZWRcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQW1FbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLG1CQUFtQixHQUFHLFNBQXRC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