@projectcor/maia-components 2.11.100-6 → 2.11.100-8

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 (40) hide show
  1. package/lib/App.js +2 -4
  2. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +14 -212
  3. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +9 -99
  4. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +4 -91
  5. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +61 -264
  6. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +4 -1
  7. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +5 -34
  8. package/lib/hooks/useAgentModel/useCreateAgent.js +14 -40
  9. package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -37
  10. package/lib/hooks/useChatManager/useChatManager.js +66 -167
  11. package/lib/hooks/useEvent.js +1 -2
  12. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +23 -183
  13. package/lib/lang/br/index.js +2 -14
  14. package/lib/lang/en/index.js +2 -14
  15. package/lib/lang/es/index.js +2 -14
  16. package/lib/lang/fr/index.js +2 -14
  17. package/lib/services/maia/Agents/getAgents.js +54 -30
  18. package/lib/services/maia/RecentContexts/getRecentContexts.js +32 -3
  19. package/lib/services/maia/bootstrap/agentsPrefetchSession.js +97 -0
  20. package/lib/services/maia/bootstrap/fetchAgentsList.js +267 -0
  21. package/lib/services/maia/bootstrap/prefetchMaiaAgents.js +96 -0
  22. package/lib/services/maia/bootstrap/prefetchMaiaRecentContexts.js +56 -0
  23. package/lib/services/maia/bootstrap/recentContextsPrefetchSession.js +88 -0
  24. package/lib/types/agentModal.js +1 -1
  25. package/lib/types/streamActivity.js +1 -1
  26. package/lib/utils/normalizeAgentConnectors.js +3 -28
  27. package/package.json +1 -1
  28. package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.js +0 -91
  29. package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.styles.js +0 -19
  30. package/lib/components/molecules/StreamAssistantTurnTimeline/index.js +0 -2
  31. package/lib/dev/DevStreamTimelineDemo.js +0 -614
  32. package/lib/dev/mockStreamTimelineDemo.js +0 -417
  33. package/lib/dev/mockStreamTimelineRunner.js +0 -298
  34. package/lib/hooks/useStreamTimeline/index.js +0 -7
  35. package/lib/hooks/useStreamTimeline/streamTimelineStore.js +0 -37
  36. package/lib/services/maia/Agents/connectors.js +0 -124
  37. package/lib/types/streamTimeline.js +0 -2
  38. package/lib/utils/streamDebugLog.js +0 -170
  39. package/lib/utils/streamExecutionSteps.js +0 -136
  40. package/lib/utils/streamTimeline.js +0 -177
@@ -9,7 +9,6 @@ import { useState, useRef } from 'react';
9
9
  import { useTranslation } from 'react-i18next';
10
10
  import { createAgent } from '../../services/maia/Agents/createAgent';
11
11
  import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
12
- import { connectorAuthErrorMessage, openConnectorAuthorizationWindows, saveAgentConnectors } from '../../services/maia/Agents/connectors';
13
12
  import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
14
13
  import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
15
14
  export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
@@ -47,7 +46,7 @@ export var useCreateAgent = function useCreateAgent() {
47
46
  };
48
47
  var handleCreateAgent = /*#__PURE__*/function () {
49
48
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
50
- var parsedValue, _values$accessibility, _values$accessibility2, _values$accessibility3, response, taskAccess, selectedConnectors, authPopup, connectorsResponse, authErrors, _t, _t2, _t3;
49
+ var parsedValue, _values$accessibility, _values$accessibility2, response, taskAccess, _t, _t2;
51
50
  return _regeneratorRuntime.wrap(function (_context) {
52
51
  while (1) switch (_context.prev = _context.next) {
53
52
  case 0:
@@ -73,10 +72,8 @@ export var useCreateAgent = function useCreateAgent() {
73
72
  throw new Error(response.error);
74
73
  case 4:
75
74
  taskAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.taskAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : true;
76
- selectedConnectors = ((_values$accessibility3 = values.accessibility) === null || _values$accessibility3 === void 0 ? void 0 : _values$accessibility3.selectedConnectors) || [];
77
- authPopup = selectedConnectors.length > 0 ? window.open('', '_blank', 'popup=yes,width=560,height=760') : null;
78
75
  if (!(response !== null && response !== void 0 && response.id)) {
79
- _context.next = 11;
76
+ _context.next = 8;
80
77
  break;
81
78
  }
82
79
  _context.prev = 5;
@@ -90,50 +87,27 @@ export var useCreateAgent = function useCreateAgent() {
90
87
  _t = _context["catch"](5);
91
88
  console.error('Error setting agent tool groups:', _t);
92
89
  case 8:
93
- _context.prev = 8;
94
- _context.next = 9;
95
- return saveAgentConnectors(response.id.toString(), selectedConnectors);
96
- case 9:
97
- connectorsResponse = _context.sent;
98
- openConnectorAuthorizationWindows(connectorsResponse.requires_auth || [], authPopup);
99
- authErrors = connectorsResponse.auth_errors || [];
100
- if (authErrors.length) {
101
- handleSnackbarError(authErrors.map(function (error) {
102
- return error.slug === 'netsuite' ? t('accessibilitySection.netsuiteAuthSetupRequired') : connectorAuthErrorMessage(error);
103
- }).join(' '));
104
- }
105
- _context.next = 11;
106
- break;
107
- case 10:
108
- _context.prev = 10;
109
- _t2 = _context["catch"](8);
110
- console.error('Error setting agent connectors:', _t2);
111
- if (authPopup && !authPopup.closed) {
112
- authPopup.close();
113
- }
114
- handleSnackbarError(t('accessibilitySection.connectorAuthFailed'));
115
- case 11:
116
90
  setError(null);
117
91
  setSuccess(_objectSpread(_objectSpread({}, response), {}, {
118
- connectors: buildAgentConnectorsFromTaskAccess(taskAccess, selectedConnectors)
92
+ connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
119
93
  }));
120
- _context.next = 13;
94
+ _context.next = 10;
121
95
  break;
122
- case 12:
123
- _context.prev = 12;
124
- _t3 = _context["catch"](2);
125
- setError(_t3 instanceof Error ? _t3.message : t('errorAgentCreated'));
96
+ case 9:
97
+ _context.prev = 9;
98
+ _t2 = _context["catch"](2);
99
+ setError(_t2 instanceof Error ? _t2.message : t('errorAgentCreated'));
126
100
  handleSnackbarError(t('errorAgentCreated'));
127
- case 13:
128
- _context.prev = 13;
101
+ case 10:
102
+ _context.prev = 10;
129
103
  setIsLoading(false);
130
104
  isProcessingRef.current = false;
131
- return _context.finish(13);
132
- case 14:
105
+ return _context.finish(10);
106
+ case 11:
133
107
  case "end":
134
108
  return _context.stop();
135
109
  }
136
- }, _callee, null, [[2, 12, 13, 14], [5, 7], [8, 10]]);
110
+ }, _callee, null, [[2, 9, 10, 11], [5, 7]]);
137
111
  }));
138
112
  return function handleCreateAgent(_x) {
139
113
  return _ref.apply(this, arguments);
@@ -151,4 +125,4 @@ export var useCreateAgent = function useCreateAgent() {
151
125
  resetSuccess: resetSuccess
152
126
  };
153
127
  };
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsInVzZVNuYWNrQmFyTWFuYWdlciIsImJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCIsImJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlQ3JlYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlQ3JlYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwicmVzcG9uc2UiLCJ0YXNrQWNjZXNzIiwic2VsZWN0ZWRDb25uZWN0b3JzIiwiYXV0aFBvcHVwIiwiY29ubmVjdG9yc1Jlc3BvbnNlIiwiYXV0aEVycm9ycyIsIl90IiwiX3QyIiwiX3QzIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJsZW5ndGgiLCJ3aW5kb3ciLCJvcGVuIiwiaWQiLCJ0b1N0cmluZyIsImNvbnNvbGUiLCJyZXF1aXJlc19hdXRoIiwiYXV0aF9lcnJvcnMiLCJtYXAiLCJzbHVnIiwiam9pbiIsImNsb3NlZCIsImNsb3NlIiwiX29iamVjdFNwcmVhZCIsImNvbm5lY3RvcnMiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldFN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudENyZWF0ZVJlcXVlc3QsIGNyZWF0ZUFnZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY3JlYXRlQWdlbnQnXG5pbXBvcnQgeyBzZXRBZ2VudFRvb2xHcm91cHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9zZXRBZ2VudFRvb2xHcm91cHMnXG5pbXBvcnQgeyBjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlLCBvcGVuQ29ubmVjdG9yQXV0aG9yaXphdGlvbldpbmRvd3MsIHNhdmVBZ2VudENvbm5lY3RvcnMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9jb25uZWN0b3JzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCwgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudENyZWF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGFnZW50VmFsdWVzLm5hbWUsXG4gICAgZW1vamk6IGFnZW50VmFsdWVzLmVtb2ppIHx8ICfinKgnLFxuICAgIGludHJvZHVjdGlvbjogYWdlbnRWYWx1ZXMuaW50cm9kdWN0aW9uIHx8ICcnLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiBhZ2VudFZhbHVlcy5pbnB1dFBsYWNlaG9sZGVyIHx8ICcnLFxuICAgIHVzZXJfcHJvbXB0OiBhZ2VudFZhbHVlcy51c2VyUHJvbXB0LFxuICAgIHByb3ZpZGVyOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5wcm92aWRlcixcbiAgICBtb2RlbF9uYW1lOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5tb2RlbF9uYW1lLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDcmVhdGVBZ2VudCA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignYWJtX2FnZW50X3NlY3Rpb24nKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3N1Y2Nlc3MsIHNldFN1Y2Nlc3NdID0gdXNlU3RhdGU8YW55PihmYWxzZSlcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBpc1Byb2Nlc3NpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlU2V0U3VjY2VzcyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHNldFN1Y2Nlc3ModmFsdWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVBZ2VudCA9IGFzeW5jICh2YWx1ZXM6IGFueSkgPT4ge1xuICAgIGlmIChpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVmFsdWU6IEFnZW50Q3JlYXRlUmVxdWVzdCA9IHBhcnNlZFZhbHVlc0J5UmVxKHZhbHVlcy5nZW5lcmFsKVxuXG4gICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZWF0ZUFnZW50KHBhcnNlZFZhbHVlKVxuXG4gICAgICBpZiAocmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB0YXNrQWNjZXNzID0gdmFsdWVzLmFjY2Vzc2liaWxpdHk/LnRhc2tBY2Nlc3MgPz8gdHJ1ZVxuICAgICAgY29uc3Qgc2VsZWN0ZWRDb25uZWN0b3JzOiBzdHJpbmdbXSA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW11cbiAgICAgIGNvbnN0IGF1dGhQb3B1cCA9XG4gICAgICAgIHNlbGVjdGVkQ29ubmVjdG9ycy5sZW5ndGggPiAwID8gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnLCAncG9wdXA9eWVzLHdpZHRoPTU2MCxoZWlnaHQ9NzYwJykgOiBudWxsXG5cbiAgICAgIGlmIChyZXNwb25zZT8uaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBzZXRBZ2VudFRvb2xHcm91cHMocmVzcG9uc2UuaWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY29ubmVjdG9yc1Jlc3BvbnNlID0gYXdhaXQgc2F2ZUFnZW50Q29ubmVjdG9ycyhyZXNwb25zZS5pZC50b1N0cmluZygpLCBzZWxlY3RlZENvbm5lY3RvcnMpXG4gICAgICAgICAgb3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzKGNvbm5lY3RvcnNSZXNwb25zZS5yZXF1aXJlc19hdXRoIHx8IFtdLCBhdXRoUG9wdXApXG4gICAgICAgICAgY29uc3QgYXV0aEVycm9ycyA9IGNvbm5lY3RvcnNSZXNwb25zZS5hdXRoX2Vycm9ycyB8fCBbXVxuICAgICAgICAgIGlmIChhdXRoRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihcbiAgICAgICAgICAgICAgYXV0aEVycm9ycy5tYXAoZXJyb3IgPT5cbiAgICAgICAgICAgICAgICBlcnJvci5zbHVnID09PSAnbmV0c3VpdGUnID8gdCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubmV0c3VpdGVBdXRoU2V0dXBSZXF1aXJlZCcpIDogY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZShlcnJvcilcbiAgICAgICAgICAgICAgKS5qb2luKCcgJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGNvbm5lY3RvcnNFcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNldHRpbmcgYWdlbnQgY29ubmVjdG9yczonLCBjb25uZWN0b3JzRXJyb3IpXG4gICAgICAgICAgaWYgKGF1dGhQb3B1cCAmJiAhYXV0aFBvcHVwLmNsb3NlZCkge1xuICAgICAgICAgICAgYXV0aFBvcHVwLmNsb3NlKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb25uZWN0b3JBdXRoRmFpbGVkJykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHNldFN1Y2Nlc3MoeyAuLi5yZXNwb25zZSwgY29ubmVjdG9yczogYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2Vzcyh0YXNrQWNjZXNzLCBzZWxlY3RlZENvbm5lY3RvcnMpIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVDcmVhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJl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RSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUosR0FBQSxHQUFBRyxRQUFBO1lBRURjLE9BQU8sQ0FBQzlDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBQTZCLEdBQWlCLENBQUM7WUFDakUsSUFBSUosU0FBUyxJQUFJLENBQUNBLFNBQVMsQ0FBQzJCLE1BQU0sRUFBRTtjQUNsQzNCLFNBQVMsQ0FBQzRCLEtBQUssQ0FBQyxDQUFDO1lBQ25CO1lBQ0E5QyxtQkFBbUIsQ0FBQ2YsQ0FBQyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7VUFBQTtZQUl0RVMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNkSSxVQUFVLENBQUFpRCxhQUFBLENBQUFBLGFBQUEsS0FBTWhDLFFBQVE7Y0FBRWlDLFVBQVUsRUFBRWhGLGtDQUFrQyxDQUFDZ0QsVUFBVSxFQUFFQyxrQkFBa0I7WUFBQyxFQUFFLENBQUM7WUFBQVEsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUgsR0FBQSxHQUFBRSxRQUFBO1lBRTNHL0IsUUFBUSxDQUFDNkIsR0FBQSxZQUFlUyxLQUFLLEdBQUdULEdBQUEsQ0FBSTBCLE9BQU8sR0FBR2hFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JFZSxtQkFBbUIsQ0FBQ2YsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7VUFBQTtZQUFBd0MsUUFBQSxDQUFBQyxJQUFBO1lBRTNDcEMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNuQlcsZUFBZSxDQUFDMkIsT0FBTyxHQUFHLEtBQUs7WUFBQSxPQUFBSCxRQUFBLENBQUF5QixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUF6QixRQUFBLENBQUEwQixJQUFBO1FBQUE7TUFBQSxHQUFBMUMsT0FBQTtJQUFBLENBRWxDO0lBQUEsZ0JBM0RLTCxpQkFBaUJBLENBQUFnRCxFQUFBO01BQUEsT0FBQS9DLElBQUEsQ0FBQWdELEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsR0EyRHRCO0VBRUQsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QnpELFVBQVUsQ0FBQyxLQUFLLENBQUM7RUFDbkIsQ0FBQztFQUVELE9BQU87SUFDTE0saUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakJmLFNBQVMsRUFBVEEsU0FBUztJQUNUSSxLQUFLLEVBQUxBLEtBQUs7SUFDTEksT0FBTyxFQUFQQSxPQUFPO0lBQ1BLLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCcUQsWUFBWSxFQUFaQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwibmFtZSIsImVtb2ppIiwiaW50cm9kdWN0aW9uIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJpbnB1dFBsYWNlaG9sZGVyIiwidXNlcl9wcm9tcHQiLCJ1c2VyUHJvbXB0IiwicHJvdmlkZXIiLCJhaU1vZGVsIiwibW9kZWxfbmFtZSIsInVzZUNyZWF0ZUFnZW50IiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic3VjY2VzcyIsInNldFN1Y2Nlc3MiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImlzUHJvY2Vzc2luZ1JlZiIsImhhbmRsZVNldFN1Y2Nlc3MiLCJ2YWx1ZSIsImhhbmRsZUNyZWF0ZUFnZW50IiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwidmFsdWVzIiwicGFyc2VkVmFsdWUiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkyIiwicmVzcG9uc2UiLCJ0YXNrQWNjZXNzIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsImlkIiwidG9TdHJpbmciLCJjb25zb2xlIiwiX29iamVjdFNwcmVhZCIsImNvbm5lY3RvcnMiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldFN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudENyZWF0ZVJlcXVlc3QsIGNyZWF0ZUFnZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY3JlYXRlQWdlbnQnXG5pbXBvcnQgeyBzZXRBZ2VudFRvb2xHcm91cHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9zZXRBZ2VudFRvb2xHcm91cHMnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0LCBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuXG5leHBvcnQgY29uc3QgcGFyc2VkVmFsdWVzQnlSZXEgPSAoYWdlbnRWYWx1ZXM6IGFueSk6IEFnZW50Q3JlYXRlUmVxdWVzdCA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNyZWF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNyZWF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRDcmVhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY3JlYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhc2tBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlXG5cbiAgICAgIGlmIChyZXNwb25zZT8uaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBzZXRBZ2VudFRvb2xHcm91cHMocmVzcG9uc2UuaWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVDcmVhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJlc2V0U3VjY2VzcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDeEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBNkJDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDeEYsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQywyQkFBMkIsRUFBRUMsa0NBQWtDLFFBQVEsc0NBQXNDO0FBRXRILE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsV0FBZ0IsRUFBeUI7RUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtFQUN6RSxPQUFPO0lBQ0xDLElBQUksRUFBRUgsV0FBVyxDQUFDRyxJQUFJO0lBQ3RCQyxLQUFLLEVBQUVKLFdBQVcsQ0FBQ0ksS0FBSyxJQUFJLEdBQUc7SUFDL0JDLFlBQVksRUFBRUwsV0FBVyxDQUFDSyxZQUFZLElBQUksRUFBRTtJQUM1Q0MsaUJBQWlCLEVBQUVOLFdBQVcsQ0FBQ08sZ0JBQWdCLElBQUksRUFBRTtJQUNyREMsV0FBVyxFQUFFUixXQUFXLENBQUNTLFVBQVU7SUFDbkNDLFFBQVEsR0FBQVQsb0JBQUEsR0FBRUQsV0FBVyxDQUFDVyxPQUFPLGNBQUFWLG9CQUFBLHVCQUFuQkEsb0JBQUEsQ0FBcUJTLFFBQVE7SUFD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
@@ -9,7 +9,6 @@ import { useState, useRef } from 'react';
9
9
  import { useTranslation } from 'react-i18next';
10
10
  import { updateAgent } from '../../services/maia/Agents/updateAgent';
11
11
  import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
12
- import { connectorAuthErrorMessage, openConnectorAuthorizationWindows, saveAgentConnectors } from '../../services/maia/Agents/connectors';
13
12
  import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
14
13
  import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
15
14
  export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
@@ -48,7 +47,7 @@ export var useUpdateAgent = function useUpdateAgent() {
48
47
  };
49
48
  var handleUpdateAgent = /*#__PURE__*/function () {
50
49
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
51
- var parsedValue, _values$accessibility, _values$accessibility2, _values$accessibility3, _values$general, response, taskAccess, selectedConnectors, agentId, authPopup, connectorsResponse, authErrors, _t, _t2, _t3;
50
+ var parsedValue, _values$accessibility, _values$accessibility2, _values$general, response, taskAccess, agentId, _t, _t2;
52
51
  return _regeneratorRuntime.wrap(function (_context) {
53
52
  while (1) switch (_context.prev = _context.next) {
54
53
  case 0:
@@ -74,11 +73,9 @@ export var useUpdateAgent = function useUpdateAgent() {
74
73
  throw new Error(response.error);
75
74
  case 4:
76
75
  taskAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.taskAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : true;
77
- selectedConnectors = ((_values$accessibility3 = values.accessibility) === null || _values$accessibility3 === void 0 ? void 0 : _values$accessibility3.selectedConnectors) || [];
78
76
  agentId = (_values$general = values.general) === null || _values$general === void 0 ? void 0 : _values$general.id;
79
- authPopup = selectedConnectors.length > 0 ? window.open('', '_blank', 'popup=yes,width=560,height=760') : null;
80
77
  if (!agentId) {
81
- _context.next = 11;
78
+ _context.next = 8;
82
79
  break;
83
80
  }
84
81
  _context.prev = 5;
@@ -92,49 +89,26 @@ export var useUpdateAgent = function useUpdateAgent() {
92
89
  _t = _context["catch"](5);
93
90
  console.error('Error setting agent tool groups:', _t);
94
91
  case 8:
95
- _context.prev = 8;
96
- _context.next = 9;
97
- return saveAgentConnectors(agentId.toString(), selectedConnectors);
98
- case 9:
99
- connectorsResponse = _context.sent;
100
- openConnectorAuthorizationWindows(connectorsResponse.requires_auth || [], authPopup);
101
- authErrors = connectorsResponse.auth_errors || [];
102
- if (authErrors.length) {
103
- handleSnackbarError(authErrors.map(function (error) {
104
- return error.slug === 'netsuite' ? t('accessibilitySection.netsuiteAuthSetupRequired') : connectorAuthErrorMessage(error);
105
- }).join(' '));
106
- }
107
- _context.next = 11;
108
- break;
109
- case 10:
110
- _context.prev = 10;
111
- _t2 = _context["catch"](8);
112
- console.error('Error setting agent connectors:', _t2);
113
- if (authPopup && !authPopup.closed) {
114
- authPopup.close();
115
- }
116
- handleSnackbarError(t('accessibilitySection.connectorAuthFailed'));
117
- case 11:
118
92
  setError(null);
119
93
  setSuccess(_objectSpread(_objectSpread({}, response), {}, {
120
- connectors: buildAgentConnectorsFromTaskAccess(taskAccess, selectedConnectors)
94
+ connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
121
95
  }));
122
96
  setIsLoading(false);
123
97
  isProcessingRef.current = false;
124
- _context.next = 13;
98
+ _context.next = 10;
125
99
  break;
126
- case 12:
127
- _context.prev = 12;
128
- _t3 = _context["catch"](2);
129
- setError(_t3 instanceof Error ? _t3.message : t('errorAgentCreated'));
100
+ case 9:
101
+ _context.prev = 9;
102
+ _t2 = _context["catch"](2);
103
+ setError(_t2 instanceof Error ? _t2.message : t('errorAgentCreated'));
130
104
  setIsLoading(false);
131
105
  isProcessingRef.current = false;
132
106
  handleSnackbarError(t('errorAgentCreated'));
133
- case 13:
107
+ case 10:
134
108
  case "end":
135
109
  return _context.stop();
136
110
  }
137
- }, _callee, null, [[2, 12], [5, 7], [8, 10]]);
111
+ }, _callee, null, [[2, 9], [5, 7]]);
138
112
  }));
139
113
  return function handleUpdateAgent(_x) {
140
114
  return _ref.apply(this, arguments);
@@ -152,4 +126,4 @@ export var useUpdateAgent = function useUpdateAgent() {
152
126
  resetSuccess: resetSuccess
153
127
  };
154
128
  };
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsInVzZVNuYWNrQmFyTWFuYWdlciIsImJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCIsImJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJpZCIsIm5hbWUiLCJlbW9qaSIsImludHJvZHVjdGlvbiIsImlucHV0X3BsYWNlaG9sZGVyIiwiaW5wdXRQbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwidXNlclByb21wdCIsInByb3ZpZGVyIiwiYWlNb2RlbCIsIm1vZGVsX25hbWUiLCJ1c2VVcGRhdGVBZ2VudCIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJpc1Byb2Nlc3NpbmdSZWYiLCJoYW5kbGVTZXRTdWNjZXNzIiwidmFsdWUiLCJoYW5kbGVVcGRhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInZhbHVlcyIsInBhcnNlZFZhbHVlIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTMiLCJfdmFsdWVzJGdlbmVyYWwiLCJyZXNwb25zZSIsInRhc2tBY2Nlc3MiLCJzZWxlY3RlZENvbm5lY3RvcnMiLCJhZ2VudElkIiwiYXV0aFBvcHVwIiwiY29ubmVjdG9yc1Jlc3BvbnNlIiwiYXV0aEVycm9ycyIsIl90IiwiX3QyIiwiX3QzIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJsZW5ndGgiLCJ3aW5kb3ciLCJvcGVuIiwidG9TdHJpbmciLCJjb25zb2xlIiwicmVxdWlyZXNfYXV0aCIsImF1dGhfZXJyb3JzIiwibWFwIiwic2x1ZyIsImpvaW4iLCJjbG9zZWQiLCJjbG9zZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlVXBkYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRVcGRhdGVSZXF1ZXN0LCB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZSwgb3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzLCBzYXZlQWdlbnRDb25uZWN0b3JzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QsIGJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MgfSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5cbmV4cG9ydCBjb25zdCBwYXJzZWRWYWx1ZXNCeVJlcSA9IChhZ2VudFZhbHVlczogYW55KTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDogYWdlbnRWYWx1ZXMuaWQsXG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVwZGF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwZGF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdXBkYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhc2tBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlXG4gICAgICBjb25zdCBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdID0gdmFsdWVzLmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9ycyB8fCBbXVxuICAgICAgY29uc3QgYWdlbnRJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICAgICAgY29uc3QgYXV0aFBvcHVwID1cbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzLmxlbmd0aCA+IDAgPyB3aW5kb3cub3BlbignJywgJ19ibGFuaycsICdwb3B1cD15ZXMsd2lkdGg9NTYwLGhlaWdodD03NjAnKSA6IG51bGxcbiAgICAgIGlmIChhZ2VudElkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKGFnZW50SWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY29ubmVjdG9yc1Jlc3BvbnNlID0gYXdhaXQgc2F2ZUFnZW50Q29ubmVjdG9ycyhhZ2VudElkLnRvU3RyaW5nKCksIHNlbGVjdGVkQ29ubmVjdG9ycylcbiAgICAgICAgICBvcGVuQ29ubmVjdG9yQXV0aG9yaXphdGlvbldpbmRvd3MoY29ubmVjdG9yc1Jlc3BvbnNlLnJlcXVpcmVzX2F1dGggfHwgW10sIGF1dGhQb3B1cClcbiAgICAgICAgICBjb25zdCBhdXRoRXJyb3JzID0gY29ubmVjdG9yc1Jlc3BvbnNlLmF1dGhfZXJyb3JzIHx8IFtdXG4gICAgICAgICAgaWYgKGF1dGhFcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKFxuICAgICAgICAgICAgICBhdXRoRXJyb3JzLm1hcChlcnJvciA9PlxuICAgICAgICAgICAgICAgIGVycm9yLnNsdWcgPT09ICduZXRzdWl0ZScgPyB0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5uZXRzdWl0ZUF1dGhTZXR1cFJlcXVpcmVkJykgOiBjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlKGVycm9yKVxuICAgICAgICAgICAgICApLmpvaW4oJyAnKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoY29ubmVjdG9yc0Vycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc2V0dGluZyBhZ2VudCBjb25uZWN0b3JzOicsIGNvbm5lY3RvcnNFcnJvcilcbiAgICAgICAgICBpZiAoYXV0aFBvcHVwICYmICFhdXRoUG9wdXAuY2xvc2VkKSB7XG4gICAgICAgICAgICBhdXRoUG9wdXAuY2xvc2UoKVxuICAgICAgICAgIH1cbiAgICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckF1dGhGYWlsZWQnKSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MsIHNlbGVjdGVkQ29ubmVjdG9ycykgfSlcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiB0KCdlcnJvckFnZW50Q3JlYXRlZCcpKVxuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVVcGRhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJlc2V0U3VjY2VzcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDeEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBNkJDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDeEYsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLHlCQUF5QixFQUFFQyxpQ0FBaUMsRUFBRUMsbUJBQW1CLFFBQVEsdUNBQXVDO0FBQ3pJLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQywyQkFBMkIsRUFBRUMsa0NBQWtDLFFBQVEsc0NBQXNDO0FBRXRILE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsV0FBZ0IsRUFBeUI7RUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtFQUN6RSxPQUFPO0lBQ0xDLEVBQUUsRUFBRUgsV0FBVyxDQUFDRyxFQUFFO0lBQ2xCQyxJQUFJLEVBQUVKLFdBQVcsQ0FBQ0ksSUFBSTtJQUN0QkMsS0FBSyxFQUFFTCxXQUFXLENBQUNLLEtBQUssSUFBSSxHQUFHO0lBQy9CQyxZQUFZLEVBQUVOLFdBQVcsQ0FBQ00sWUFBWSxJQUFJLEVBQUU7SUFDNUNDLGlCQUFpQixFQUFFUCxXQUFXLENBQUNRLGdCQUFnQixJQUFJLEVBQUU7SUFDckRDLFdBQVcsRUFBRVQsV0FBVyxDQUFDVSxVQUFVO0lBQ25DQyxRQUFRLEdBQUFWLG9CQUFBLEdBQUVELFdBQVcsQ0FBQ1ksT0FBTyxjQUFBWCxvQkFBQSx1QkFBbkJBLG9CQUFBLENBQXFCVSxRQUFRO0lBQ3ZDRSxVQUFVLEdBQUFYLHFCQUFBLEdBQUVGLFdBQVcsQ0FBQ1ksT0FBTyxjQUFBVixx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
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwiaWQiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlVXBkYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlVXBkYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGdlbmVyYWwiLCJyZXNwb25zZSIsInRhc2tBY2Nlc3MiLCJhZ2VudElkIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsInRvU3RyaW5nIiwiY29uc29sZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlVXBkYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRVcGRhdGVSZXF1ZXN0LCB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCwgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBhZ2VudFZhbHVlcy5pZCxcbiAgICBuYW1lOiBhZ2VudFZhbHVlcy5uYW1lLFxuICAgIGVtb2ppOiBhZ2VudFZhbHVlcy5lbW9qaSB8fCAn4pyoJyxcbiAgICBpbnRyb2R1Y3Rpb246IGFnZW50VmFsdWVzLmludHJvZHVjdGlvbiB8fCAnJyxcbiAgICBpbnB1dF9wbGFjZWhvbGRlcjogYWdlbnRWYWx1ZXMuaW5wdXRQbGFjZWhvbGRlciB8fCAnJyxcbiAgICB1c2VyX3Byb21wdDogYWdlbnRWYWx1ZXMudXNlclByb21wdCxcbiAgICBwcm92aWRlcjogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ucHJvdmlkZXIsXG4gICAgbW9kZWxfbmFtZTogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ubW9kZWxfbmFtZSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlVXBkYXRlQWdlbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPGFueT4oZmFsc2UpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgaXNQcm9jZXNzaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZVNldFN1Y2Nlc3MgPSAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICBzZXRTdWNjZXNzKHZhbHVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlQWdlbnQgPSBhc3luYyAodmFsdWVzOiBhbnkpID0+IHtcbiAgICBpZiAoaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZFZhbHVlOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPSBwYXJzZWRWYWx1ZXNCeVJlcSh2YWx1ZXMuZ2VuZXJhbClcblxuICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgIHNldFN1Y2Nlc3MoZmFsc2UpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB1cGRhdGVBZ2VudChwYXJzZWRWYWx1ZSlcblxuICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcilcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFza0FjY2VzcyA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py50YXNrQWNjZXNzID8/IHRydWVcbiAgICAgIGNvbnN0IGFnZW50SWQgPSB2YWx1ZXMuZ2VuZXJhbD8uaWRcbiAgICAgIGlmIChhZ2VudElkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKGFnZW50SWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlVXBkYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixRQUFRLCtDQUErQztBQUNsRixTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFDN0UsU0FBU0MsMkJBQTJCLEVBQUVDLGtDQUFrQyxRQUFRLHNDQUFzQztBQUV0SCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFdBQWdCLEVBQXlCO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMscUJBQUE7RUFDekUsT0FBTztJQUNMQyxFQUFFLEVBQUVILFdBQVcsQ0FBQ0csRUFBRTtJQUNsQkMsSUFBSSxFQUFFSixXQUFXLENBQUNJLElBQUk7SUFDdEJDLEtBQUssRUFBRUwsV0FBVyxDQUFDSyxLQUFLLElBQUksR0FBRztJQUMvQkMsWUFBWSxFQUFFTixXQUFXLENBQUNNLFlBQVksSUFBSSxFQUFFO0lBQzVDQyxpQkFB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