@projectcor/maia-components 2.11.100-10 → 2.11.100-2
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.
- package/lib/App.js +4 -2
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +212 -14
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +99 -9
- package/lib/components/atoms/Chip/Chip.js +5 -12
- package/lib/components/atoms/Chip/styles.js +6 -6
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +28 -121
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +2 -6
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +5 -12
- package/lib/components/atoms/MAIAInput/MAIAInput.js +270 -398
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +8 -5
- package/lib/components/atoms/MAIAInput/styles.js +86 -102
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +41 -56
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +12 -28
- package/lib/components/atoms/icons/index.js +1 -10
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +91 -4
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +7 -18
- package/lib/components/molecules/ChatAIHome/styles.js +38 -54
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +191 -44
- package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -10
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +2 -1
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +4 -1
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +8 -1
- package/lib/components/molecules/ChatFooter/ChatFooter.js +62 -23
- package/lib/components/molecules/Sidebar/Sidebar.js +3 -14
- package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.js +90 -0
- package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.styles.js +19 -0
- package/lib/components/molecules/StreamAssistantTurnTimeline/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +34 -5
- package/lib/dev/DevStreamTimelineDemo.js +614 -0
- package/lib/dev/mockStreamTimelineDemo.js +417 -0
- package/lib/dev/mockStreamTimelineRunner.js +298 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +40 -14
- package/lib/hooks/useAgentModel/useUpdateAgent.js +37 -11
- package/lib/hooks/useChatManager/useChatManager.js +145 -46
- package/lib/hooks/useEvent.js +2 -1
- package/lib/hooks/useMentionPopover.js +2 -4
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +180 -23
- package/lib/hooks/useStreamTimeline/index.js +7 -0
- package/lib/hooks/useStreamTimeline/streamTimelineStore.js +37 -0
- package/lib/lang/br/index.js +16 -7
- package/lib/lang/en/index.js +16 -7
- package/lib/lang/es/index.js +16 -7
- package/lib/lang/fr/index.js +15 -9
- package/lib/services/maia/Agents/connectors.js +124 -0
- package/lib/styles/config.js +2 -2
- package/lib/types/agentModal.js +1 -1
- package/lib/types/streamActivity.js +1 -1
- package/lib/types/streamTimeline.js +2 -0
- package/lib/utils/normalizeAgentConnectors.js +28 -3
- package/lib/utils/streamDebugLog.js +169 -0
- package/lib/utils/streamExecutionSteps.js +96 -0
- package/lib/utils/streamTimeline.js +161 -0
- package/package.json +1 -1
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -25
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
|
+
import { streamTimelineStore } from '../hooks/useStreamTimeline';
|
|
7
|
+
import { appendContentToStreamTimeline, appendNodeToStreamTimeline, finalizeStreamTimeline, startStreamTimelineTurn } from '../utils/streamTimeline';
|
|
8
|
+
import { getInitialStreamActivity, resolveInitialHitlStreamActivity } from '../utils/streamActivityMessages';
|
|
9
|
+
import { resetExecutionStepCounter } from '../utils/streamExecutionSteps';
|
|
10
|
+
import { mergeStreamChunk } from '../utils/sseStreamContent';
|
|
11
|
+
import { DEMO_TURN_ID, sleep } from './mockStreamTimelineDemo';
|
|
12
|
+
var buildHitlContext = function buildHitlContext(approval, messageText) {
|
|
13
|
+
var _approval$pending_act;
|
|
14
|
+
return {
|
|
15
|
+
messageId: "approval-".concat(approval.original_thread_id),
|
|
16
|
+
messageText: messageText,
|
|
17
|
+
approval: approval,
|
|
18
|
+
pendingActions: approval.pending_actions,
|
|
19
|
+
threadIds: (_approval$pending_act = approval.pending_actions) === null || _approval$pending_act === void 0 ? void 0 : _approval$pending_act.map(function (action) {
|
|
20
|
+
return action.thread_id;
|
|
21
|
+
})
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export var resetMockRunnerState = function resetMockRunnerState(callbacks) {
|
|
25
|
+
streamTimelineStore.clear();
|
|
26
|
+
resetExecutionStepCounter();
|
|
27
|
+
callbacks.onHitlContext(null);
|
|
28
|
+
callbacks.onApprovalUi(null);
|
|
29
|
+
callbacks.onUiPatch({
|
|
30
|
+
waitingResponse: false,
|
|
31
|
+
isWriting: false,
|
|
32
|
+
initialActivity: null,
|
|
33
|
+
phase: 'idle'
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
export var beginMockTurn = function beginMockTurn(callbacks) {
|
|
37
|
+
var turnId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEMO_TURN_ID;
|
|
38
|
+
resetExecutionStepCounter();
|
|
39
|
+
streamTimelineStore.replace(startStreamTimelineTurn(turnId));
|
|
40
|
+
callbacks.onUiPatch({
|
|
41
|
+
phase: 'running',
|
|
42
|
+
waitingResponse: true,
|
|
43
|
+
isWriting: false
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export var beginMockHitlContinue = function beginMockHitlContinue(t, hitlContext, callbacks) {
|
|
47
|
+
var turnId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEMO_TURN_ID;
|
|
48
|
+
resetExecutionStepCounter();
|
|
49
|
+
streamTimelineStore.replace(startStreamTimelineTurn(turnId));
|
|
50
|
+
callbacks.onHitlContext(hitlContext);
|
|
51
|
+
callbacks.onUiPatch({
|
|
52
|
+
phase: 'running_continue',
|
|
53
|
+
waitingResponse: true,
|
|
54
|
+
isWriting: false,
|
|
55
|
+
initialActivity: resolveInitialHitlStreamActivity(t, hitlContext)
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
export var applyMockStreamEvent = /*#__PURE__*/function () {
|
|
59
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event, runId, t, accumulatedRef, hitlContextRef, callbacks) {
|
|
60
|
+
var _event$charDelayMs, delay, buffer, i, _callbacks$onAccumula, _callbacks$onAccumula2, isManual, hitlContext;
|
|
61
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
62
|
+
while (1) switch (_context.prev = _context.next) {
|
|
63
|
+
case 0:
|
|
64
|
+
if (callbacks.isRunActive(runId)) {
|
|
65
|
+
_context.next = 1;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
return _context.abrupt("return", 'stopped');
|
|
69
|
+
case 1:
|
|
70
|
+
if (!(event.kind === 'wait')) {
|
|
71
|
+
_context.next = 3;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
callbacks.onLog(event.label);
|
|
75
|
+
_context.next = 2;
|
|
76
|
+
return sleep(event.ms);
|
|
77
|
+
case 2:
|
|
78
|
+
return _context.abrupt("return", callbacks.isRunActive(runId) ? 'continue' : 'stopped');
|
|
79
|
+
case 3:
|
|
80
|
+
if (!(event.kind === 'thinking')) {
|
|
81
|
+
_context.next = 4;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
callbacks.onLog('event: thinking');
|
|
85
|
+
callbacks.onUiPatch({
|
|
86
|
+
waitingResponse: true,
|
|
87
|
+
isWriting: false,
|
|
88
|
+
initialActivity: getInitialStreamActivity(t, {})
|
|
89
|
+
});
|
|
90
|
+
return _context.abrupt("return", 'continue');
|
|
91
|
+
case 4:
|
|
92
|
+
if (!(event.kind === 'writing')) {
|
|
93
|
+
_context.next = 5;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
callbacks.onLog('event: writing_started');
|
|
97
|
+
callbacks.onUiPatch({
|
|
98
|
+
isWriting: true
|
|
99
|
+
});
|
|
100
|
+
streamTimelineStore.replace(appendContentToStreamTimeline(streamTimelineStore.getSnapshot(), accumulatedRef.current));
|
|
101
|
+
return _context.abrupt("return", 'continue');
|
|
102
|
+
case 5:
|
|
103
|
+
if (!(event.kind === 'node')) {
|
|
104
|
+
_context.next = 6;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
callbacks.onLog("event: ".concat(event.label));
|
|
108
|
+
streamTimelineStore.replace(appendNodeToStreamTimeline(streamTimelineStore.getSnapshot(), event.payload, accumulatedRef.current, t, hitlContextRef.current, event.payload.thread_id));
|
|
109
|
+
return _context.abrupt("return", 'continue');
|
|
110
|
+
case 6:
|
|
111
|
+
if (!(event.kind === 'tokens')) {
|
|
112
|
+
_context.next = 11;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
callbacks.onLog("event: ".concat(event.label));
|
|
116
|
+
delay = (_event$charDelayMs = event.charDelayMs) !== null && _event$charDelayMs !== void 0 ? _event$charDelayMs : 18;
|
|
117
|
+
buffer = accumulatedRef.current;
|
|
118
|
+
i = 0;
|
|
119
|
+
case 7:
|
|
120
|
+
if (!(i < event.text.length)) {
|
|
121
|
+
_context.next = 10;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
if (callbacks.isRunActive(runId)) {
|
|
125
|
+
_context.next = 8;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
return _context.abrupt("return", 'stopped');
|
|
129
|
+
case 8:
|
|
130
|
+
buffer += event.text[i];
|
|
131
|
+
accumulatedRef.current = buffer;
|
|
132
|
+
streamTimelineStore.replace(appendContentToStreamTimeline(streamTimelineStore.getSnapshot(), buffer));
|
|
133
|
+
(_callbacks$onAccumula = callbacks.onAccumulatedChange) === null || _callbacks$onAccumula === void 0 || _callbacks$onAccumula.call(callbacks, buffer);
|
|
134
|
+
// eslint-disable-next-line no-await-in-loop
|
|
135
|
+
_context.next = 9;
|
|
136
|
+
return sleep(delay);
|
|
137
|
+
case 9:
|
|
138
|
+
i += 1;
|
|
139
|
+
_context.next = 7;
|
|
140
|
+
break;
|
|
141
|
+
case 10:
|
|
142
|
+
return _context.abrupt("return", 'continue');
|
|
143
|
+
case 11:
|
|
144
|
+
if (!(event.kind === 'content')) {
|
|
145
|
+
_context.next = 12;
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
callbacks.onLog("event: ".concat(event.label));
|
|
149
|
+
callbacks.onUiPatch({
|
|
150
|
+
isWriting: true
|
|
151
|
+
});
|
|
152
|
+
accumulatedRef.current = mergeStreamChunk(accumulatedRef.current, event.text);
|
|
153
|
+
streamTimelineStore.replace(appendContentToStreamTimeline(streamTimelineStore.getSnapshot(), accumulatedRef.current));
|
|
154
|
+
(_callbacks$onAccumula2 = callbacks.onAccumulatedChange) === null || _callbacks$onAccumula2 === void 0 || _callbacks$onAccumula2.call(callbacks, accumulatedRef.current);
|
|
155
|
+
return _context.abrupt("return", 'continue');
|
|
156
|
+
case 12:
|
|
157
|
+
if (!(event.kind === 'approval_required')) {
|
|
158
|
+
_context.next = 14;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
callbacks.onLog("event: ".concat(event.label));
|
|
162
|
+
isManual = event.approval.manual_approval_detected === true;
|
|
163
|
+
hitlContext = buildHitlContext(event.approval, accumulatedRef.current);
|
|
164
|
+
hitlContextRef.current = hitlContext;
|
|
165
|
+
callbacks.onHitlContext(hitlContext);
|
|
166
|
+
if (!isManual) {
|
|
167
|
+
_context.next = 13;
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
callbacks.onLog('→ manual_approval_detected: stream sigue');
|
|
171
|
+
callbacks.onUiPatch({
|
|
172
|
+
waitingResponse: true,
|
|
173
|
+
isWriting: false,
|
|
174
|
+
initialActivity: resolveInitialHitlStreamActivity(t, hitlContext)
|
|
175
|
+
});
|
|
176
|
+
return _context.abrupt("return", 'continue');
|
|
177
|
+
case 13:
|
|
178
|
+
callbacks.onLog('→ stream settled: timeline limpiado, ApprovalBox');
|
|
179
|
+
streamTimelineStore.clear();
|
|
180
|
+
callbacks.onUiPatch({
|
|
181
|
+
waitingResponse: false,
|
|
182
|
+
isWriting: false,
|
|
183
|
+
initialActivity: null,
|
|
184
|
+
phase: 'awaiting_approval'
|
|
185
|
+
});
|
|
186
|
+
callbacks.onApprovalUi({
|
|
187
|
+
message: accumulatedRef.current,
|
|
188
|
+
approval: event.approval,
|
|
189
|
+
status: 'pending'
|
|
190
|
+
});
|
|
191
|
+
return _context.abrupt("return", 'pause');
|
|
192
|
+
case 14:
|
|
193
|
+
if (!(event.kind === 'complete')) {
|
|
194
|
+
_context.next = 18;
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
callbacks.onLog("event: ".concat(event.label));
|
|
198
|
+
streamTimelineStore.replace(finalizeStreamTimeline(appendContentToStreamTimeline(streamTimelineStore.getSnapshot(), accumulatedRef.current)));
|
|
199
|
+
callbacks.onUiPatch({
|
|
200
|
+
waitingResponse: false,
|
|
201
|
+
isWriting: false,
|
|
202
|
+
initialActivity: null,
|
|
203
|
+
phase: 'done'
|
|
204
|
+
});
|
|
205
|
+
hitlContextRef.current = null;
|
|
206
|
+
callbacks.onHitlContext(null);
|
|
207
|
+
if (!(callbacks.showProdCompleteBehavior && !callbacks.keepTimelineOnComplete)) {
|
|
208
|
+
_context.next = 17;
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
_context.next = 15;
|
|
212
|
+
return sleep(400);
|
|
213
|
+
case 15:
|
|
214
|
+
if (callbacks.isRunActive(runId)) {
|
|
215
|
+
_context.next = 16;
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
return _context.abrupt("return", 'stopped');
|
|
219
|
+
case 16:
|
|
220
|
+
streamTimelineStore.clear();
|
|
221
|
+
callbacks.onLog('→ timeline limpiado (comportamiento prod)');
|
|
222
|
+
case 17:
|
|
223
|
+
return _context.abrupt("return", 'continue');
|
|
224
|
+
case 18:
|
|
225
|
+
return _context.abrupt("return", 'continue');
|
|
226
|
+
case 19:
|
|
227
|
+
case "end":
|
|
228
|
+
return _context.stop();
|
|
229
|
+
}
|
|
230
|
+
}, _callee);
|
|
231
|
+
}));
|
|
232
|
+
return function applyMockStreamEvent(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
233
|
+
return _ref.apply(this, arguments);
|
|
234
|
+
};
|
|
235
|
+
}();
|
|
236
|
+
export var runMockEventList = /*#__PURE__*/function () {
|
|
237
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(events, runId, t, accumulatedRef, hitlContextRef, callbacks) {
|
|
238
|
+
var _iterator, _step, event, result, _t;
|
|
239
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
240
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
241
|
+
case 0:
|
|
242
|
+
_iterator = _createForOfIteratorHelper(events);
|
|
243
|
+
_context2.prev = 1;
|
|
244
|
+
_iterator.s();
|
|
245
|
+
case 2:
|
|
246
|
+
if ((_step = _iterator.n()).done) {
|
|
247
|
+
_context2.next = 7;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
event = _step.value;
|
|
251
|
+
if (callbacks.isRunActive(runId)) {
|
|
252
|
+
_context2.next = 3;
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
return _context2.abrupt("return", 'stopped');
|
|
256
|
+
case 3:
|
|
257
|
+
_context2.next = 4;
|
|
258
|
+
return applyMockStreamEvent(event, runId, t, accumulatedRef, hitlContextRef, callbacks);
|
|
259
|
+
case 4:
|
|
260
|
+
result = _context2.sent;
|
|
261
|
+
if (!(result === 'pause')) {
|
|
262
|
+
_context2.next = 5;
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
return _context2.abrupt("return", 'paused');
|
|
266
|
+
case 5:
|
|
267
|
+
if (!(result === 'stopped')) {
|
|
268
|
+
_context2.next = 6;
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
return _context2.abrupt("return", 'stopped');
|
|
272
|
+
case 6:
|
|
273
|
+
_context2.next = 2;
|
|
274
|
+
break;
|
|
275
|
+
case 7:
|
|
276
|
+
_context2.next = 9;
|
|
277
|
+
break;
|
|
278
|
+
case 8:
|
|
279
|
+
_context2.prev = 8;
|
|
280
|
+
_t = _context2["catch"](1);
|
|
281
|
+
_iterator.e(_t);
|
|
282
|
+
case 9:
|
|
283
|
+
_context2.prev = 9;
|
|
284
|
+
_iterator.f();
|
|
285
|
+
return _context2.finish(9);
|
|
286
|
+
case 10:
|
|
287
|
+
return _context2.abrupt("return", 'completed');
|
|
288
|
+
case 11:
|
|
289
|
+
case "end":
|
|
290
|
+
return _context2.stop();
|
|
291
|
+
}
|
|
292
|
+
}, _callee2, null, [[1, 8, 9, 10]]);
|
|
293
|
+
}));
|
|
294
|
+
return function runMockEventList(_x7, _x8, _x9, _x0, _x1, _x10) {
|
|
295
|
+
return _ref2.apply(this, arguments);
|
|
296
|
+
};
|
|
297
|
+
}();
|
|
298
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHJlYW1UaW1lbGluZVN0b3JlIiwiYXBwZW5kQ29udGVudFRvU3RyZWFtVGltZWxpbmUiLCJhcHBlbmROb2RlVG9TdHJlYW1UaW1lbGluZSIsImZpbmFsaXplU3RyZWFtVGltZWxpbmUiLCJzdGFydFN0cmVhbVRpbWVsaW5lVHVybiIsImdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwicmVzZXRFeGVjdXRpb25TdGVwQ291bnRlciIsIm1lcmdlU3RyZWFtQ2h1bmsiLCJERU1PX1RVUk5fSUQiLCJzbGVlcCIsImJ1aWxkSGl0bENvbnRleHQiLCJhcHByb3ZhbCIsIm1lc3NhZ2VUZXh0IiwiX2FwcHJvdmFsJHBlbmRpbmdfYWN0IiwibWVzc2FnZUlkIiwiY29uY2F0Iiwib3JpZ2luYWxfdGhyZWFkX2lkIiwicGVuZGluZ0FjdGlvbnMiLCJwZW5kaW5nX2FjdGlvbnMiLCJ0aHJlYWRJZHMiLCJtYXAiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJyZXNldE1vY2tSdW5uZXJTdGF0ZSIsImNhbGxiYWNrcyIsImNsZWFyIiwib25IaXRsQ29udGV4dCIsIm9uQXBwcm92YWxVaSIsIm9uVWlQYXRjaCIsIndhaXRpbmdSZXNwb25zZSIsImlzV3JpdGluZyIsImluaXRpYWxBY3Rpdml0eSIsInBoYXNlIiwiYmVnaW5Nb2NrVHVybiIsInR1cm5JZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInJlcGxhY2UiLCJiZWdpbk1vY2tIaXRsQ29udGludWUiLCJ0IiwiaGl0bENvbnRleHQiLCJhcHBseU1vY2tTdHJlYW1FdmVudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImV2ZW50IiwicnVuSWQiLCJhY2N1bXVsYXRlZFJlZiIsImhpdGxDb250ZXh0UmVmIiwiX2V2ZW50JGNoYXJEZWxheU1zIiwiZGVsYXkiLCJidWZmZXIiLCJpIiwiX2NhbGxiYWNrcyRvbkFjY3VtdWxhIiwiX2NhbGxiYWNrcyRvbkFjY3VtdWxhMiIsImlzTWFudWFsIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJpc1J1bkFjdGl2ZSIsImFicnVwdCIsImtpbmQiLCJvbkxvZyIsImxhYmVsIiwibXMiLCJnZXRTbmFwc2hvdCIsImN1cnJlbnQiLCJwYXlsb2FkIiwiY2hhckRlbGF5TXMiLCJ0ZXh0Iiwib25BY2N1bXVsYXRlZENoYW5nZSIsImNhbGwiLCJtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQiLCJtZXNzYWdlIiwic3RhdHVzIiwic2hvd1Byb2RDb21wbGV0ZUJlaGF2aW9yIiwia2VlcFRpbWVsaW5lT25Db21wbGV0ZSIsInN0b3AiLCJfeCIsIl94MiIsIl94MyIsIl94NCIsIl94NSIsIl94NiIsImFwcGx5IiwicnVuTW9ja0V2ZW50TGlzdCIsIl9yZWYyIiwiX2NhbGxlZTIiLCJldmVudHMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInJlc3VsdCIsIl90IiwiX2NvbnRleHQyIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsInNlbnQiLCJlIiwiZiIsImZpbmlzaCIsIl94NyIsIl94OCIsIl94OSIsIl94MCIsIl94MSIsIl94MTAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGV2L21vY2tTdHJlYW1UaW1lbGluZVJ1bm5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFwcHJvdmFsUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5IH0gZnJvbSAnLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgeyBzdHJlYW1UaW1lbGluZVN0b3JlIH0gZnJvbSAnLi4vaG9va3MvdXNlU3RyZWFtVGltZWxpbmUnXG5pbXBvcnQge1xuICBhcHBlbmRDb250ZW50VG9TdHJlYW1UaW1lbGluZSxcbiAgYXBwZW5kTm9kZVRvU3RyZWFtVGltZWxpbmUsXG4gIGZpbmFsaXplU3RyZWFtVGltZWxpbmUsXG4gIHN0YXJ0U3RyZWFtVGltZWxpbmVUdXJuLFxufSBmcm9tICcuLi91dGlscy9zdHJlYW1UaW1lbGluZSdcbmltcG9ydCB7XG4gIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSxcbiAgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHksXG4gIHR5cGUgSGl0bEV4ZWN1dGlvbkNvbnRleHQsXG59IGZyb20gJy4uL3V0aWxzL3N0cmVhbUFjdGl2aXR5TWVzc2FnZXMnXG5pbXBvcnQgeyByZXNldEV4ZWN1dGlvblN0ZXBDb3VudGVyIH0gZnJvbSAnLi4vdXRpbHMvc3RyZWFtRXhlY3V0aW9uU3RlcHMnXG5pbXBvcnQgeyBtZXJnZVN0cmVhbUNodW5rIH0gZnJvbSAnLi4vdXRpbHMvc3NlU3RyZWFtQ29udGVudCdcbmltcG9ydCB0eXBlIHsgTW9ja1N0cmVhbVRpbWVsaW5lRXZlbnQgfSBmcm9tICcuL21vY2tTdHJlYW1UaW1lbGluZURlbW8nXG5pbXBvcnQgeyBERU1PX1RVUk5fSUQsIHNsZWVwIH0gZnJvbSAnLi9tb2NrU3RyZWFtVGltZWxpbmVEZW1vJ1xuXG50eXBlIFRyYW5zbGF0ZUZuID0gKGtleTogc3RyaW5nKSA9PiBzdHJpbmdcblxuZXhwb3J0IHR5cGUgTW9ja1J1bm5lclVpU3RhdGUgPSB7XG4gIHdhaXRpbmdSZXNwb25zZTogYm9vbGVhblxuICBpc1dyaXRpbmc6IGJvb2xlYW5cbiAgaW5pdGlhbEFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgcGhhc2U6ICdpZGxlJyB8ICdydW5uaW5nJyB8ICdhd2FpdGluZ19hcHByb3ZhbCcgfCAncnVubmluZ19jb250aW51ZScgfCAnZG9uZSdcbn1cblxuZXhwb3J0IHR5cGUgTW9ja0FwcHJvdmFsVWlTdGF0ZSA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGFwcHJvdmFsOiBBcHByb3ZhbFJlcXVlc3RcbiAgc3RhdHVzOiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xufSB8IG51bGxcblxuZXhwb3J0IHR5cGUgQXBwbHlFdmVudFJlc3VsdCA9ICdjb250aW51ZScgfCAncGF1c2UnIHwgJ3N0b3BwZWQnXG5cbmV4cG9ydCB0eXBlIE1vY2tSdW5uZXJDYWxsYmFja3MgPSB7XG4gIG9uVWlQYXRjaDogKHBhdGNoOiBQYXJ0aWFsPE1vY2tSdW5uZXJVaVN0YXRlPikgPT4gdm9pZFxuICBvbkFwcHJvdmFsVWk6IChzdGF0ZTogTW9ja0FwcHJvdmFsVWlTdGF0ZSkgPT4gdm9pZFxuICBvbkhpdGxDb250ZXh0OiAoY3R4OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwpID0+IHZvaWRcbiAgb25Mb2c6IChsaW5lOiBzdHJpbmcpID0+IHZvaWRcbiAgb25BY2N1bXVsYXRlZENoYW5nZT86ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWRcbiAgZ2V0UnVuSWQ6ICgpID0+IG51bWJlclxuICBpc1J1bkFjdGl2ZTogKHJ1bklkOiBudW1iZXIpID0+IGJvb2xlYW5cbiAgc2hvd1Byb2RDb21wbGV0ZUJlaGF2aW9yOiBib29sZWFuXG4gIGtlZXBUaW1lbGluZU9uQ29tcGxldGU6IGJvb2xlYW5cbn1cblxuY29uc3QgYnVpbGRIaXRsQ29udGV4dCA9IChhcHByb3ZhbDogQXBwcm92YWxSZXF1ZXN0LCBtZXNzYWdlVGV4dDogc3RyaW5nKTogSGl0bEV4ZWN1dGlvbkNvbnRleHQgPT4gKHtcbiAgbWVzc2FnZUlkOiBgYXBwcm92YWwtJHthcHByb3ZhbC5vcmlnaW5hbF90aHJlYWRfaWR9YCxcbiAgbWVzc2FnZVRleHQsXG4gIGFwcHJvdmFsLFxuICBwZW5kaW5nQWN0aW9uczogYXBwcm92YWwucGVuZGluZ19hY3Rpb25zLFxuICB0aHJlYWRJZHM6IGFwcHJvdmFsLnBlbmRpbmdfYWN0aW9ucz8ubWFwKGFjdGlvbiA9PiBhY3Rpb24udGhyZWFkX2lkKSxcbn0pXG5cbmV4cG9ydCBjb25zdCByZXNldE1vY2tSdW5uZXJTdGF0ZSA9IChjYWxsYmFja3M6IE1vY2tSdW5uZXJDYWxsYmFja3MpOiB2b2lkID0+IHtcbiAgc3RyZWFtVGltZWxpbmVTdG9yZS5jbGVhcigpXG4gIHJlc2V0RXhlY3V0aW9uU3RlcENvdW50ZXIoKVxuICBjYWxsYmFja3Mub25IaXRsQ29udGV4dChudWxsKVxuICBjYWxsYmFja3Mub25BcHByb3ZhbFVpKG51bGwpXG4gIGNhbGxiYWNrcy5vblVpUGF0Y2goe1xuICAgIHdhaXRpbmdSZXNwb25zZTogZmFsc2UsXG4gICAgaXNXcml0aW5nOiBmYWxzZSxcbiAgICBpbml0aWFsQWN0aXZpdHk6IG51bGwsXG4gICAgcGhhc2U6ICdpZGxlJyxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGJlZ2luTW9ja1R1cm4gPSAoY2FsbGJhY2tzOiBNb2NrUnVubmVyQ2FsbGJhY2tzLCB0dXJuSWQgPSBERU1PX1RVUk5fSUQpOiB2b2lkID0+IHtcbiAgcmVzZXRFeGVjdXRpb25TdGVwQ291bnRlcigpXG4gIHN0cmVhbVRpbWVsaW5lU3RvcmUucmVwbGFjZShzdGFydFN0cmVhbVRpbWVsaW5lVHVybih0dXJuSWQpKVxuICBjYWxsYmFja3Mub25VaVBhdGNoKHsgcGhhc2U6ICdydW5uaW5nJywgd2FpdGluZ1Jlc3BvbnNlOiB0cnVlLCBpc1dyaXRpbmc6IGZhbHNlIH0pXG59XG5cbmV4cG9ydCBjb25zdCBiZWdpbk1vY2tIaXRsQ29udGludWUgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBoaXRsQ29udGV4dDogSGl0bEV4ZWN1dGlvbkNvbnRleHQsXG4gIGNhbGxiYWNrczogTW9ja1J1bm5lckNhbGxiYWNrcyxcbiAgdHVybklkID0gREVNT19UVVJOX0lEXG4pOiB2b2lkID0+IHtcbiAgcmVzZXRFeGVjdXRpb25TdGVwQ291bnRlcigpXG4gIHN0cmVhbVRpbWVsaW5lU3RvcmUucmVwbGFjZShzdGFydFN0cmVhbVRpbWVsaW5lVHVybih0dXJuSWQpKVxuICBjYWxsYmFja3Mub25IaXRsQ29udGV4dChoaXRsQ29udGV4dClcbiAgY2FsbGJhY2tzLm9uVWlQYXRjaCh7XG4gICAgcGhhc2U6ICdydW5uaW5nX2NvbnRpbnVlJyxcbiAgICB3YWl0aW5nUmVzcG9uc2U6IHRydWUsXG4gICAgaXNXcml0aW5nOiBmYWxzZSxcbiAgICBpbml0aWFsQWN0aXZpdHk6IHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5KHQsIGhpdGxDb250ZXh0KSxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGFwcGx5TW9ja1N0cmVhbUV2ZW50ID0gYXN5bmMgKFxuICBldmVudDogTW9ja1N0cmVhbVRpbWVsaW5lRXZlbnQsXG4gIHJ1bklkOiBudW1iZXIsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBhY2N1bXVsYXRlZFJlZjogeyBjdXJyZW50OiBzdHJpbmcgfSxcbiAgaGl0bENvbnRleHRSZWY6IHsgY3VycmVudDogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsIH0sXG4gIGNhbGxiYWNrczogTW9ja1J1bm5lckNhbGxiYWNrc1xuKTogUHJvbWlzZTxBcHBseUV2ZW50UmVzdWx0PiA9PiB7XG4gIGlmICghY2FsbGJhY2tzLmlzUnVuQWN0aXZlKHJ1bklkKSkgcmV0dXJuICdzdG9wcGVkJ1xuXG4gIGlmIChldmVudC5raW5kID09PSAnd2FpdCcpIHtcbiAgICBjYWxsYmFja3Mub25Mb2coZXZlbnQubGFiZWwpXG4gICAgYXdhaXQgc2xlZXAoZXZlbnQubXMpXG4gICAgcmV0dXJuIGNhbGxiYWNrcy5pc1J1bkFjdGl2ZShydW5JZCkgPyAnY29udGludWUnIDogJ3N0b3BwZWQnXG4gIH1cblxuICBpZiAoZXZlbnQua2luZCA9PT0gJ3RoaW5raW5nJykge1xuICAgIGNhbGxiYWNrcy5vbkxvZygnZXZlbnQ6IHRoaW5raW5nJylcbiAgICBjYWxsYmFja3Mub25VaVBhdGNoKHtcbiAgICAgIHdhaXRpbmdSZXNwb25zZTogdHJ1ZSxcbiAgICAgIGlzV3JpdGluZzogZmFsc2UsXG4gICAgICBpbml0aWFsQWN0aXZpdHk6IGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSh0LCB7fSksXG4gICAgfSlcbiAgICByZXR1cm4gJ2NvbnRpbnVlJ1xuICB9XG5cbiAgaWYgKGV2ZW50LmtpbmQgPT09ICd3cml0aW5nJykge1xuICAgIGNhbGxiYWNrcy5vbkxvZygnZXZlbnQ6IHdyaXRpbmdfc3RhcnRlZCcpXG4gICAgY2FsbGJhY2tzLm9uVWlQYXRjaCh7IGlzV3JpdGluZzogdHJ1ZSB9KVxuICAgIHN0cmVhbVRpbWVsaW5lU3RvcmUucmVwbGFjZShcbiAgICAgIGFwcGVuZENvbnRlbnRUb1N0cmVhbVRpbWVsaW5lKHN0cmVhbVRpbWVsaW5lU3RvcmUuZ2V0U25hcHNob3QoKSwgYWNjdW11bGF0ZWRSZWYuY3VycmVudClcbiAgICApXG4gICAgcmV0dXJuICdjb250aW51ZSdcbiAgfVxuXG4gIGlmIChldmVudC5raW5kID09PSAnbm9kZScpIHtcbiAgICBjYWxsYmFja3Mub25Mb2coYGV2ZW50OiAke2V2ZW50LmxhYmVsfWApXG4gICAgc3RyZWFtVGltZWxpbmVTdG9yZS5yZXBsYWNlKFxuICAgICAgYXBwZW5kTm9kZVRvU3RyZWFtVGltZWxpbmUoXG4gICAgICAgIHN0cmVhbVRpbWVsaW5lU3RvcmUuZ2V0U25hcHNob3QoKSxcbiAgICAgICAgZXZlbnQucGF5bG9hZCxcbiAgICAgICAgYWNjdW11bGF0ZWRSZWYuY3VycmVudCxcbiAgICAgICAgdCxcbiAgICAgICAgaGl0bENvbnRleHRSZWYuY3VycmVudCxcbiAgICAgICAgZXZlbnQucGF5bG9hZC50aHJlYWRfaWRcbiAgICAgIClcbiAgICApXG4gICAgcmV0dXJuICdjb250aW51ZSdcbiAgfVxuXG4gIGlmIChldmVudC5raW5kID09PSAndG9rZW5zJykge1xuICAgIGNhbGxiYWNrcy5vbkxvZyhgZXZlbnQ6ICR7ZXZlbnQubGFiZWx9YClcbiAgICBjb25zdCBkZWxheSA9IGV2ZW50LmNoYXJEZWxheU1zID8/IDE4XG4gICAgbGV0IGJ1ZmZlciA9IGFjY3VtdWxhdGVkUmVmLmN1cnJlbnRcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnRleHQubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGlmICghY2FsbGJhY2tzLmlzUnVuQWN0aXZlKHJ1bklkKSkgcmV0dXJuICdzdG9wcGVkJ1xuICAgICAgYnVmZmVyICs9IGV2ZW50LnRleHRbaV1cbiAgICAgIGFjY3VtdWxhdGVkUmVmLmN1cnJlbnQgPSBidWZmZXJcbiAgICAgIHN0cmVhbVRpbWVsaW5lU3RvcmUucmVwbGFjZShhcHBlbmRDb250ZW50VG9TdHJlYW1UaW1lbGluZShzdHJlYW1UaW1lbGluZVN0b3JlLmdldFNuYXBzaG90KCksIGJ1ZmZlcikpXG4gICAgICBjYWxsYmFja3Mub25BY2N1bXVsYXRlZENoYW5nZT8uKGJ1ZmZlcilcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBhd2FpdCBzbGVlcChkZWxheSlcbiAgICB9XG4gICAgcmV0dXJuICdjb250aW51ZSdcbiAgfVxuXG4gIGlmIChldmVudC5raW5kID09PSAnY29udGVudCcpIHtcbiAgICBjYWxsYmFja3Mub25Mb2coYGV2ZW50OiAke2V2ZW50LmxhYmVsfWApXG4gICAgY2FsbGJhY2tzLm9uVWlQYXRjaCh7IGlzV3JpdGluZzogdHJ1ZSB9KVxuICAgIGFjY3VtdWxhdGVkUmVmLmN1cnJlbnQgPSBtZXJnZVN0cmVhbUNodW5rKGFjY3VtdWxhdGVkUmVmLmN1cnJlbnQsIGV2ZW50LnRleHQpXG4gICAgc3RyZWFtVGltZWxpbmVTdG9yZS5yZXBsYWNlKFxuICAgICAgYXBwZW5kQ29udGVudFRvU3RyZWFtVGltZWxpbmUoc3RyZWFtVGltZWxpbmVTdG9yZS5nZXRTbmFwc2hvdCgpLCBhY2N1bXVsYXRlZFJlZi5jdXJyZW50KVxuICAgIClcbiAgICBjYWxsYmFja3Mub25BY2N1bXVsYXRlZENoYW5nZT8uKGFjY3VtdWxhdGVkUmVmLmN1cnJlbnQpXG4gICAgcmV0dXJuICdjb250aW51ZSdcbiAgfVxuXG4gIGlmIChldmVudC5raW5kID09PSAnYXBwcm92YWxfcmVxdWlyZWQnKSB7XG4gICAgY2FsbGJhY2tzLm9uTG9nKGBldmVudDogJHtldmVudC5sYWJlbH1gKVxuICAgIGNvbnN0IGlzTWFudWFsID0gZXZlbnQuYXBwcm92YWwubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkID09PSB0cnVlXG4gICAgY29uc3QgaGl0bENvbnRleHQgPSBidWlsZEhpdGxDb250ZXh0KGV2ZW50LmFwcHJvdmFsLCBhY2N1bXVsYXRlZFJlZi5jdXJyZW50KVxuICAgIGhpdGxDb250ZXh0UmVmLmN1cnJlbnQgPSBoaXRsQ29udGV4dFxuICAgIGNhbGxiYWNrcy5vbkhpdGxDb250ZXh0KGhpdGxDb250ZXh0KVxuXG4gICAgaWYgKGlzTWFudWFsKSB7XG4gICAgICBjYWxsYmFja3Mub25Mb2coJ+KGkiBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ6IHN0cmVhbSBzaWd1ZScpXG4gICAgICBjYWxsYmFja3Mub25VaVBhdGNoKHtcbiAgICAgICAgd2FpdGluZ1Jlc3BvbnNlOiB0cnVlLFxuICAgICAgICBpc1dyaXRpbmc6IGZhbHNlLFxuICAgICAgICBpbml0aWFsQWN0aXZpdHk6IHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5KHQsIGhpdGxDb250ZXh0KSxcbiAgICAgIH0pXG4gICAgICByZXR1cm4gJ2NvbnRpbnVlJ1xuICAgIH1cblxuICAgIGNhbGxiYWNrcy5vbkxvZygn4oaSIHN0cmVhbSBzZXR0bGVkOiB0aW1lbGluZSBsaW1waWFkbywgQXBwcm92YWxCb3gnKVxuICAgIHN0cmVhbVRpbWVsaW5lU3RvcmUuY2xlYXIoKVxuICAgIGNhbGxiYWNrcy5vblVpUGF0Y2goe1xuICAgICAgd2FpdGluZ1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgIGlzV3JpdGluZzogZmFsc2UsXG4gICAgICBpbml0aWFsQWN0aXZpdHk6IG51bGwsXG4gICAgICBwaGFzZTogJ2F3YWl0aW5nX2FwcHJvdmFsJyxcbiAgICB9KVxuICAgIGNhbGxiYWNrcy5vbkFwcHJvdmFsVWkoe1xuICAgICAgbWVzc2FnZTogYWNjdW11bGF0ZWRSZWYuY3VycmVudCxcbiAgICAgIGFwcHJvdmFsOiBldmVudC5hcHByb3ZhbCxcbiAgICAgIHN0YXR1czogJ3BlbmRpbmcnLFxuICAgIH0pXG4gICAgcmV0dXJuICdwYXVzZSdcbiAgfVxuXG4gIGlmIChldmVudC5raW5kID09PSAnY29tcGxldGUnKSB7XG4gICAgY2FsbGJhY2tzLm9uTG9nKGBldmVudDogJHtldmVudC5sYWJlbH1gKVxuICAgIHN0cmVhbVRpbWVsaW5lU3RvcmUucmVwbGFjZShcbiAgICAgIGZpbmFsaXplU3RyZWFtVGltZWxpbmUoYXBwZW5kQ29udGVudFRvU3RyZWFtVGltZWxpbmUoc3RyZWFtVGltZWxpbmVTdG9yZS5nZXRTbmFwc2hvdCgpLCBhY2N1bXVsYXRlZFJlZi5jdXJyZW50KSlcbiAgICApXG4gICAgY2FsbGJhY2tzLm9uVWlQYXRjaCh7XG4gICAgICB3YWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICAgICAgaXNXcml0aW5nOiBmYWxzZSxcbiAgICAgIGluaXRpYWxBY3Rpdml0eTogbnVsbCxcbiAgICAgIHBoYXNlOiAnZG9uZScsXG4gICAgfSlcbiAgICBoaXRsQ29udGV4dFJlZi5jdXJyZW50ID0gbnVsbFxuICAgIGNhbGxiYWNrcy5vbkhpdGxDb250ZXh0KG51bGwpXG5cbiAgICBpZiAoY2FsbGJhY2tzLnNob3dQcm9kQ29tcGxldGVCZWhhdmlvciAmJiAhY2FsbGJhY2tzLmtlZXBUaW1lbGluZU9uQ29tcGxldGUpIHtcbiAgICAgIGF3YWl0IHNsZWVwKDQwMClcbiAgICAgIGlmICghY2FsbGJhY2tzLmlzUnVuQWN0aXZlKHJ1bklkKSkgcmV0dXJuICdzdG9wcGVkJ1xuICAgICAgc3RyZWFtVGltZWxpbmVTdG9yZS5jbGVhcigpXG4gICAgICBjYWxsYmFja3Mub25Mb2coJ+KGkiB0aW1lbGluZSBsaW1waWFkbyAoY29tcG9ydGFtaWVudG8gcHJvZCknKVxuICAgIH1cbiAgICByZXR1cm4gJ2NvbnRpbnVlJ1xuICB9XG5cbiAgcmV0dXJuICdjb250aW51ZSdcbn1cblxuZXhwb3J0IGNvbnN0IHJ1bk1vY2tFdmVudExpc3QgPSBhc3luYyAoXG4gIGV2ZW50czogTW9ja1N0cmVhbVRpbWVsaW5lRXZlbnRbXSxcbiAgcnVuSWQ6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGFjY3VtdWxhdGVkUmVmOiB7IGN1cnJlbnQ6IHN0cmluZyB9LFxuICBoaXRsQ29udGV4dFJlZjogeyBjdXJyZW50OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwgfSxcbiAgY2FsbGJhY2tzOiBNb2NrUnVubmVyQ2FsbGJhY2tzXG4pOiBQcm9taXNlPCdjb21wbGV0ZWQnIHwgJ3BhdXNlZCcgfCAnc3RvcHBlZCc+ID0+IHtcbiAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcbiAgICBpZiAoIWNhbGxiYWNrcy5pc1J1bkFjdGl2ZShydW5JZCkpIHJldHVybiAnc3RvcHBlZCdcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFwcGx5TW9ja1N0cmVhbUV2ZW50KGV2ZW50LCBydW5JZCwgdCwgYWNjdW11bGF0ZWRSZWYsIGhpdGxDb250ZXh0UmVmLCBjYWxsYmFja3MpXG4gICAgaWYgKHJlc3VsdCA9PT0gJ3BhdXNlJykgcmV0dXJuICdwYXVzZWQnXG4gICAgaWYgKHJlc3VsdCA9PT0gJ3N0b3BwZWQnKSByZXR1cm4gJ3N0b3BwZWQnXG4gIH1cbiAgcmV0dXJuICdjb21wbGV0ZWQnXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsU0FBU0EsbUJBQW1CLFFBQVEsNEJBQTRCO0FBQ2hFLFNBQ0VDLDZCQUE2QixFQUM3QkMsMEJBQTBCLEVBQzFCQyxzQkFBc0IsRUFDdEJDLHVCQUF1QixRQUNsQix5QkFBeUI7QUFDaEMsU0FDRUMsd0JBQXdCLEVBQ3hCQyxnQ0FBZ0MsUUFFM0IsaUNBQWlDO0FBQ3hDLFNBQVNDLHlCQUF5QixRQUFRLCtCQUErQjtBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSwyQkFBMkI7QUFFNUQsU0FBU0MsWUFBWSxFQUFFQyxLQUFLLFFBQVEsMEJBQTBCO0FBK0I5RCxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJQyxRQUF5QixFQUFFQyxXQUFtQjtFQUFBLElBQUFDLHFCQUFBO0VBQUEsT0FBNEI7SUFDbEdDLFNBQVMsY0FBQUMsTUFBQSxDQUFjSixRQUFRLENBQUNLLGtCQUFrQixDQUFFO0lBQ3BESixXQUFXLEVBQVhBLFdBQVc7SUFDWEQsUUFBUSxFQUFSQSxRQUFRO0lBQ1JNLGNBQWMsRUFBRU4sUUFBUSxDQUFDTyxlQUFlO0lBQ3hDQyxTQUFTLEdBQUFOLHFCQUFBLEdBQUVGLFFBQVEsQ0FBQ08sZUFBZSxjQUFBTCxxQkFBQSx1QkFBeEJBLHFCQUFBLENBQTBCTyxHQUFHLENBQUMsVUFBQUMsTUFBTTtNQUFBLE9BQUlBLE1BQU0sQ0FBQ0MsU0FBUztJQUFBO0VBQ3JFLENBQUM7QUFBQSxDQUFDO0FBRUYsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxTQUE4QixFQUFXO0VBQzVFekIsbUJBQW1CLENBQUMwQixLQUFLLENBQUMsQ0FBQztFQUMzQm5CLHlCQUF5QixDQUFDLENBQUM7RUFDM0JrQixTQUFTLENBQUNFLGFBQWEsQ0FBQyxJQUFJLENBQUM7RUFDN0JGLFNBQVMsQ0FBQ0csWUFBWSxDQUFDLElBQUksQ0FBQztFQUM1QkgsU0FBUyxDQUFDSSxTQUFTLENBQUM7SUFDbEJDLGVBQWUsRUFBRSxLQUFLO0lBQ3RCQyxTQUFTLEVBQUUsS0FBSztJQUNoQkMsZUFBZSxFQUFFLElBQUk7SUFDckJDLEtBQUssRUFBRTtFQUNULENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSVQsU0FBOEIsRUFBa0M7RUFBQSxJQUFoQ1UsTUFBTSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRzNCLFlBQVk7RUFDakZGLHlCQUF5QixDQUFDLENBQUM7RUFDM0JQLG1CQUFtQixDQUFDdUMsT0FBTyxDQUFDbkMsdUJBQXVCLENBQUMrQixNQUFNLENBQUMsQ0FBQztFQUM1RFYsU0FBUyxDQUFDSSxTQUFTLENBQUM7SUFBRUksS0FBSyxFQUFFLFNBQVM7SUFBRUgsZUFBZSxFQUFFLElBQUk7SUFBRUMsU0FBUyxFQUFFO0VBQU0sQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxPQUFPLElBQU1TLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQ2hDQyxDQUFjLEVBQ2RDLFdBQWlDLEVBQ2pDakIsU0FBOEIsRUFFckI7RUFBQSxJQURUVSxNQUFNLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHM0IsWUFBWTtFQUVyQkYseUJBQXlCLENBQUMsQ0FBQztFQUMzQlAsbUJBQW1CLENBQUN1QyxPQUFPLENBQUNuQyx1QkFBdUIsQ0FBQytCLE1BQU0sQ0FBQyxDQUFDO0VBQzVEVixTQUFTLENBQUNFLGFBQWEsQ0FBQ2UsV0FBVyxDQUFDO0VBQ3BDakIsU0FBUyxDQUFDSSxTQUFTLENBQUM7SUFDbEJJLEtBQUssRUFBRSxrQkFBa0I7SUFDekJILGVBQWUsRUFBRSxJQUFJO0lBQ3JCQyxTQUFTLEVBQUUsS0FBSztJQUNoQkMsZUFBZSxFQUFFMUIsZ0NBQWdDLENBQUNtQyxDQUFDLEVBQUVDLFdBQVc7RUFDbEUsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sSUFBTUMsb0JBQW9CO0VBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFDbENDLEtBQThCLEVBQzlCQyxLQUFhLEVBQ2JULENBQWMsRUFDZFUsY0FBbUMsRUFDbkNDLGNBQXdELEVBQ3hEM0IsU0FBOEI7SUFBQSxJQUFBNEIsa0JBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLENBQUEsRUFBQUMscUJBQUEsRUFBQUMsc0JBQUEsRUFBQUMsUUFBQSxFQUFBakIsV0FBQTtJQUFBLE9BQUFJLG1CQUFBLENBQUFjLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQSxJQUV6QnRDLFNBQVMsQ0FBQ3VDLFdBQVcsQ0FBQ2QsS0FBSyxDQUFDO1lBQUFXLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBRixRQUFBLENBQUFJLE1BQUEsV0FBUyxTQUFTO1FBQUE7VUFBQSxNQUUvQ2hCLEtBQUssQ0FBQ2lCLElBQUksS0FBSyxNQUFNO1lBQUFMLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFDdkJ0QyxTQUFTLENBQUMwQyxLQUFLLENBQUNsQixLQUFLLENBQUNtQixLQUFLLENBQUM7VUFBQVAsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDdEJyRCxLQUFLLENBQUN1QyxLQUFLLENBQUNvQixFQUFFLENBQUM7UUFBQTtVQUFBLE9BQUFSLFFBQUEsQ0FBQUksTUFBQSxXQUNkeEMsU0FBUyxDQUFDdUMsV0FBVyxDQUFDZCxLQUFLLENBQUMsR0FBRyxVQUFVLEdBQUcsU0FBUztRQUFBO1VBQUEsTUFHMURELEtBQUssQ0FBQ2lCLElBQUksS0FBSyxVQUFVO1lBQUFMLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFDM0J0QyxTQUFTLENBQUMwQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7VUFDbEMxQyxTQUFTLENBQUNJLFNBQVMsQ0FBQztZQUNsQkMsZUFBZSxFQUFFLElBQUk7WUFDckJDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCQyxlQUFlLEVBQUUzQix3QkFBd0IsQ0FBQ29DLENBQUMsRUFBRSxDQUFDLENBQUM7VUFDakQsQ0FBQyxDQUFDO1VBQUEsT0FBQW9CLFFBQUEsQ0FBQUksTUFBQSxXQUNLLFVBQVU7UUFBQTtVQUFBLE1BR2ZoQixLQUFLLENBQUNpQixJQUFJLEtBQUssU0FBUztZQUFBTCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQzFCdEMsU0FBUyxDQUFDMEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDO1VBQ3pDMUMsU0FBUyxDQUFDSSxTQUFTLENBQUM7WUFBRUUsU0FBUyxFQUFFO1VBQUssQ0FBQyxDQUFDO1VBQ3hDL0IsbUJBQW1CLENBQUN1QyxPQUFPLENBQ3pCdEMsNkJBQTZCLENBQUNELG1CQUFtQixDQUFDc0UsV0FBVyxDQUFDLENBQUMsRUFBRW5CLGNBQWMsQ0FBQ29CLE9BQU8sQ0FDekYsQ0FBQztVQUFBLE9BQUFWLFFBQUEsQ0FBQUksTUFBQSxXQUNNLFVBQVU7UUFBQTtVQUFBLE1BR2ZoQixLQUFLLENBQUNpQixJQUFJLEtBQUssTUFBTTtZQUFBTCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQ3ZCdEMsU0FBUyxDQUFDMEMsS0FBSyxXQUFBbkQsTUFBQSxDQUFXaUMsS0FBSyxDQUFDbUIsS0FBSyxDQUFFLENBQUM7VUFDeENwRSxtQkFBbUIsQ0FBQ3VDLE9BQU8sQ0FDekJyQywwQkFBMEIsQ0FDeEJGLG1CQUFtQixDQUFDc0UsV0FBVyxDQUFDLENBQUMsRUFDakNyQixLQUFLLENBQUN1QixPQUFPLEVBQ2JyQixjQUFjLENBQUNvQixPQUFPLEVBQ3RCOUIsQ0FBQyxFQUNEVyxjQUFjLENBQUNtQixPQUFPLEVBQ3RCdEIsS0FBSyxDQUFDdUIsT0FBTyxDQUFDakQsU0FDaEIsQ0FDRixDQUFDO1VBQUEsT0FBQXNDLFFBQUEsQ0FBQUksTUFBQSxXQUNNLFVBQVU7UUFBQTtVQUFBLE1BR2ZoQixLQUFLLENBQUNpQixJQUFJLEtBQUssUUFBUTtZQUFBTCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQ3pCdEMsU0FBUyxDQUFDMEMsS0FBSyxXQUFBbkQsTUFBQSxDQUFXaUMsS0FBSyxDQUFDbUIsS0FBSyxDQUFFLENBQUM7VUFDbENkLEtBQUssSUFBQUQsa0JBQUEsR0FBR0osS0FBSyxDQUFDd0IsV0FBVyxjQUFBcEIsa0JBQUEsY0FBQUEsa0JBQUEsR0FBSSxFQUFFO1VBQ2pDRSxNQUFNLEdBQUdKLGNBQWMsQ0FBQ29CLE9BQU87VUFDMUJmLENBQUMsR0FBRyxDQUFDO1FBQUE7VUFBQSxNQUFFQSxDQUFDLEdBQUdQLEtBQUssQ0FBQ3lCLElBQUksQ0FBQ3JDLE1BQU07WUFBQXdCLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxJQUM5QnRDLFNBQVMsQ0FBQ3VDLFdBQVcsQ0FBQ2QsS0FBSyxDQUFDO1lBQUFXLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBRixRQUFBLENBQUFJLE1BQUEsV0FBUyxTQUFTO1FBQUE7VUFDbkRWLE1BQU0sSUFBSU4sS0FBSyxDQUFDeUIsSUFBSSxDQUFDbEIsQ0FBQyxDQUFDO1VBQ3ZCTCxjQUFjLENBQUNvQixPQUFPLEdBQUdoQixNQUFNO1VBQy9CdkQsbUJBQW1CLENBQUN1QyxPQUFPLENBQUN0Qyw2QkFBNkIsQ0FBQ0QsbUJBQW1CLENBQUNzRSxXQUFXLENBQUMsQ0FBQyxFQUFFZixNQUFNLENBQUMsQ0FBQztVQUNyRyxDQUFBRSxxQkFBQSxHQUFBaEMsU0FBUyxDQUFDa0QsbUJBQW1CLGNBQUFsQixxQkFBQSxlQUE3QkEscUJBQUEsQ0FBQW1CLElBQUEsQ0FBQW5ELFNBQVMsRUFBdUI4QixNQUFNLENBQUM7VUFDdkM7VUFBQU0sUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDTXJELEtBQUssQ0FBQzRDLEtBQUssQ0FBQztRQUFBO1VBUG1CRSxDQUFDLElBQUksQ0FBQztVQUFBSyxRQUFBLENBQUFFLElBQUE7VUFBQTtRQUFBO1VBQUEsT0FBQUYsUUFBQSxDQUFBSSxNQUFBLFdBU3RDLFVBQVU7UUFBQTtVQUFBLE1BR2ZoQixLQUFLLENBQUNpQixJQUFJLEtBQUssU0FBUztZQUFBTCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQzFCdEMsU0FBUyxDQUFDMEMsS0FBSyxXQUFBbkQsTUFBQSxDQUFXaUMsS0FBSyxDQUFDbUIsS0FBSyxDQUFFLENBQUM7VUFDeEMzQyxTQUFTLENBQUNJLFNBQVMsQ0FBQztZQUFFRSxTQUFTLEVBQUU7VUFBSyxDQUFDLENBQUM7VUFDeENvQixjQUFjLENBQUNvQixPQUFPLEdBQUcvRCxnQkFBZ0IsQ0FBQzJDLGNBQWMsQ0FBQ29CLE9BQU8sRUFBRXRCLEtBQUssQ0FBQ3lCLElBQUksQ0FBQztVQUM3RTFFLG1CQUFtQixDQUFDdUMsT0FBTyxDQUN6QnRDLDZCQUE2QixDQUFDRCxtQkFBbUIsQ0FBQ3NFLFdBQVcsQ0FBQyxDQUFDLEVBQUVuQixjQUFjLENBQUNvQixPQUFPLENBQ3pGLENBQUM7VUFDRCxDQUFBYixzQkFBQSxHQUFBakMsU0FBUyxDQUFDa0QsbUJBQW1CLGNBQUFqQixzQkFBQSxlQUE3QkEsc0JBQUEsQ0FBQWtCLElBQUEsQ0FBQW5ELFNBQVMsRUFBdUIwQixjQUFjLENBQUNvQixPQUFPLENBQUM7VUFBQSxPQUFBVixRQUFBLENBQUFJLE1BQUEsV0FDaEQsVUFBVTtRQUFBO1VBQUEsTUFHZmhCLEtBQUssQ0FBQ2lCLElBQUksS0FBSyxtQkFBbUI7WUFBQUwsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUNwQ3RDLFNBQVMsQ0FBQzBDLEtBQUssV0FBQW5ELE1BQUEsQ0FBV2lDLEtBQUssQ0FBQ21CLEtBQUssQ0FBRSxDQUFDO1VBQ2xDVCxRQUFRLEdBQUdWLEtBQUssQ0FBQ3JDLFFBQVEsQ0FBQ2lFLHdCQUF3QixLQUFLLElBQUk7VUFDM0RuQyxXQUFXLEdBQUcvQixnQkFBZ0IsQ0FBQ3NDLEtBQUssQ0FBQ3JDLFFBQVEsRUFBRXVDLGNBQWMsQ0FBQ29CLE9BQU8sQ0FBQztVQUM1RW5CLGNBQWMsQ0FBQ21CLE9BQU8sR0FBRzdCLFdBQVc7VUFDcENqQixTQUFTLENBQUNFLGFBQWEsQ0FBQ2UsV0FBVyxDQUFDO1VBQUEsS0FFaENpQixRQUFRO1lBQUFFLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFDVnRDLFNBQVMsQ0FBQzBDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQztVQUMzRDFDLFNBQVMsQ0FBQ0ksU0FBUyxDQUFDO1lBQ2xCQyxlQUFlLEVBQUUsSUFBSTtZQUNyQkMsU0FBUyxFQUFFLEtBQUs7WUFDaEJDLGVBQWUsRUFBRTFCLGdDQUFnQyxDQUFDbUMsQ0FBQyxFQUFFQyxXQUFXO1VBQ2xFLENBQUMsQ0FBQztVQUFBLE9BQUFtQixRQUFBLENBQUFJLE1BQUEsV0FDSyxVQUFVO1FBQUE7VUFHbkJ4QyxTQUFTLENBQUMwQyxLQUFLLENBQUMsa0RBQWtELENBQUM7VUFDbkVuRSxtQkFBbUIsQ0FBQzBCLEtBQUssQ0FBQyxDQUFDO1VBQzNCRCxTQUFTLENBQUNJLFNBQVMsQ0FBQztZQUNsQkMsZUFBZSxFQUFFLEtBQUs7WUFDdEJDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCQyxlQUFlLEVBQUUsSUFBSTtZQUNyQkMsS0FBSyxFQUFFO1VBQ1QsQ0FBQyxDQUFDO1VBQ0ZSLFNBQVMsQ0FBQ0csWUFBWSxDQUFDO1lBQ3JCa0QsT0FBTyxFQUFFM0IsY0FBYyxDQUFDb0IsT0FBTztZQUMvQjNELFFBQVEsRUFBRXFDLEtBQUssQ0FBQ3JDLFFBQVE7WUFDeEJtRSxNQUFNLEVBQUU7VUFDVixDQUFDLENBQUM7VUFBQSxPQUFBbEIsUUFBQSxDQUFBSSxNQUFBLFdBQ0ssT0FBTztRQUFBO1VBQUEsTUFHWmhCLEtBQUssQ0FBQ2lCLElBQUksS0FBSyxVQUFVO1lBQUFMLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFDM0J0QyxTQUFTLENBQUMwQyxLQUFLLFdBQUFuRCxNQUFBLENBQVdpQyxLQUFLLENBQUNtQixLQUFLLENBQUUsQ0FBQztVQUN4Q3BFLG1CQUFtQixDQUFDdUMsT0FBTyxDQUN6QnBDLHNCQUFzQixDQUFDRiw2QkFBNkIsQ0FBQ0QsbUJBQW1CLENBQUNzRSxXQUFXLENBQUMsQ0FBQyxFQUFFbkIsY0FBYyxDQUFDb0IsT0FBTyxDQUFDLENBQ2pILENBQUM7VUFDRDlDLFNBQVMsQ0FBQ0ksU0FBUyxDQUFDO1lBQ2xCQyxlQUFlLEVBQUUsS0FBSztZQUN0QkMsU0FBUyxFQUFFLEtBQUs7WUFDaEJDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCQyxLQUFLLEVBQUU7VUFDVCxDQUFDLENBQUM7VUFDRm1CLGNBQWMsQ0FBQ21CLE9BQU8sR0FBRyxJQUFJO1VBQzdCOUMsU0FBUyxDQUFDRSxhQUFhLENBQUMsSUFBSSxDQUFDO1VBQUEsTUFFekJGLFNBQVMsQ0FBQ3VELHdCQUF3QixJQUFJLENBQUN2RCxTQUFTLENBQUN3RCxzQkFBc0I7WUFBQXBCLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQUYsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDbkVyRCxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQUE7VUFBQSxJQUNYZSxTQUFTLENBQUN1QyxXQUFXLENBQUNkLEtBQUssQ0FBQztZQUFBVyxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsT0FBQUYsUUFBQSxDQUFBSSxNQUFBLFdBQVMsU0FBUztRQUFBO1VBQ25EakUsbUJBQW1CLENBQUMwQixLQUFLLENBQUMsQ0FBQztVQUMzQkQsU0FBUyxDQUFDMEMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDO1FBQUE7VUFBQSxPQUFBTixRQUFBLENBQUFJLE1BQUEsV0FFdkQsVUFBVTtRQUFBO1VBQUEsT0FBQUosUUFBQSxDQUFBSSxNQUFBLFdBR1osVUFBVTtRQUFBO1FBQUE7VUFBQSxPQUFBSixRQUFBLENBQUFxQixJQUFBO01BQUE7SUFBQSxHQUFBbEMsT0FBQTtFQUFBLENBQ2xCO0VBQUEsZ0JBdElZTCxvQkFBb0JBLENBQUF3QyxFQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUE1QyxJQUFBLENBQUE2QyxLQUFBLE9BQUFyRCxTQUFBO0VBQUE7QUFBQSxHQXNJaEM7QUFFRCxPQUFPLElBQU1zRCxnQkFBZ0I7RUFBQSxJQUFBQyxLQUFBLEdBQUE5QyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQTZDLFNBQzlCQyxNQUFpQyxFQUNqQzNDLEtBQWEsRUFDYlQsQ0FBYyxFQUNkVSxjQUFtQyxFQUNuQ0MsY0FBd0QsRUFDeEQzQixTQUE4QjtJQUFBLElBQUFxRSxTQUFBLEVBQUFDLEtBQUEsRUFBQTlDLEtBQUEsRUFBQStDLE1BQUEsRUFBQUMsRUFBQTtJQUFBLE9BQUFuRCxtQkFBQSxDQUFBYyxJQUFBLFdBQUFzQyxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQXBDLElBQUEsR0FBQW9DLFNBQUEsQ0FBQW5DLElBQUE7UUFBQTtVQUFBK0IsU0FBQSxHQUFBSywwQkFBQSxDQUVWTixNQUFNO1VBQUFLLFNBQUEsQ0FBQXBDLElBQUE7VUFBQWdDLFNBQUEsQ0FBQU0sQ0FBQTtRQUFBO1VBQUEsS0FBQUwsS0FBQSxHQUFBRCxTQUFBLENBQUFPLENBQUEsSUFBQUMsSUFBQTtZQUFBSixTQUFBLENBQUFuQyxJQUFBO1lBQUE7VUFBQTtVQUFmZCxLQUFLLEdBQUE4QyxLQUFBLENBQUFRLEtBQUE7VUFBQSxJQUNUOUUsU0FBUyxDQUFDdUMsV0FBVyxDQUFDZCxLQUFLLENBQUM7WUFBQWdELFNBQUEsQ0FBQW5DLElBQUE7WUFBQTtVQUFBO1VBQUEsT0FBQW1DLFNBQUEsQ0FBQWpDLE1BQUEsV0FBUyxTQUFTO1FBQUE7VUFBQWlDLFNBQUEsQ0FBQW5DLElBQUE7VUFBQSxPQUU5QnBCLG9CQUFvQixDQUFDTSxLQUFLLEVBQUVDLEtBQUssRUFBRVQsQ0FBQyxFQUFFVSxjQUFjLEVBQUVDLGNBQWMsRUFBRTNCLFNBQVMsQ0FBQztRQUFBO1VBQS9GdUUsTUFBTSxHQUFBRSxTQUFBLENBQUFNLElBQUE7VUFBQSxNQUNSUixNQUFNLEtBQUssT0FBTztZQUFBRSxTQUFBLENBQUFuQyxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFtQyxTQUFBLENBQUFqQyxNQUFBLFdBQVMsUUFBUTtRQUFBO1VBQUEsTUFDbkMrQixNQUFNLEtBQUssU0FBUztZQUFBRSxTQUFBLENBQUFuQyxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFtQyxTQUFBLENBQUFqQyxNQUFBLFdBQVMsU0FBUztRQUFBO1VBQUFpQyxTQUFBLENBQUFuQyxJQUFBO1VBQUE7UUFBQTtVQUFBbUMsU0FBQSxDQUFBbkMsSUFBQTtVQUFBO1FBQUE7VUFBQW1DLFNBQUEsQ0FBQXBDLElBQUE7VUFBQW1DLEVBQUEsR0FBQUMsU0FBQTtVQUFBSixTQUFBLENBQUFXLENBQUEsQ0FBQVIsRUFBQTtRQUFBO1VBQUFDLFNBQUEsQ0FBQXBDLElBQUE7VUFBQWdDLFNBQUEsQ0FBQVksQ0FBQTtVQUFBLE9BQUFSLFNBQUEsQ0FBQVMsTUFBQTtRQUFBO1VBQUEsT0FBQVQsU0FBQSxDQUFBakMsTUFBQSxXQUVyQyxXQUFXO1FBQUE7UUFBQTtVQUFBLE9BQUFpQyxTQUFBLENBQUFoQixJQUFBO01BQUE7SUFBQSxHQUFBVSxRQUFBO0VBQUEsQ0FDbkI7RUFBQSxnQkFoQllGLGdCQUFnQkEsQ0FBQWtCLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQXRCLEtBQUEsQ0FBQUYsS0FBQSxPQUFBckQsU0FBQTtFQUFBO0FBQUEsR0FnQjVCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -9,6 +9,7 @@ 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';
|
|
12
13
|
import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
|
|
13
14
|
import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
|
|
14
15
|
export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
|
|
@@ -46,7 +47,7 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
46
47
|
};
|
|
47
48
|
var handleCreateAgent = /*#__PURE__*/function () {
|
|
48
49
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
|
|
49
|
-
var parsedValue, _values$accessibility, _values$accessibility2, response, taskAccess, _t, _t2;
|
|
50
|
+
var parsedValue, _values$accessibility, _values$accessibility2, _values$accessibility3, response, taskAccess, selectedConnectors, authPopup, connectorsResponse, authErrors, _t, _t2, _t3;
|
|
50
51
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
51
52
|
while (1) switch (_context.prev = _context.next) {
|
|
52
53
|
case 0:
|
|
@@ -72,8 +73,10 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
72
73
|
throw new Error(response.error);
|
|
73
74
|
case 4:
|
|
74
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;
|
|
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;
|
|
75
78
|
if (!(response !== null && response !== void 0 && response.id)) {
|
|
76
|
-
_context.next =
|
|
79
|
+
_context.next = 11;
|
|
77
80
|
break;
|
|
78
81
|
}
|
|
79
82
|
_context.prev = 5;
|
|
@@ -87,27 +90,50 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
87
90
|
_t = _context["catch"](5);
|
|
88
91
|
console.error('Error setting agent tool groups:', _t);
|
|
89
92
|
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:
|
|
90
116
|
setError(null);
|
|
91
117
|
setSuccess(_objectSpread(_objectSpread({}, response), {}, {
|
|
92
|
-
connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
|
|
118
|
+
connectors: buildAgentConnectorsFromTaskAccess(taskAccess, selectedConnectors)
|
|
93
119
|
}));
|
|
94
|
-
_context.next =
|
|
120
|
+
_context.next = 13;
|
|
95
121
|
break;
|
|
96
|
-
case
|
|
97
|
-
_context.prev =
|
|
98
|
-
|
|
99
|
-
setError(
|
|
122
|
+
case 12:
|
|
123
|
+
_context.prev = 12;
|
|
124
|
+
_t3 = _context["catch"](2);
|
|
125
|
+
setError(_t3 instanceof Error ? _t3.message : t('errorAgentCreated'));
|
|
100
126
|
handleSnackbarError(t('errorAgentCreated'));
|
|
101
|
-
case
|
|
102
|
-
_context.prev =
|
|
127
|
+
case 13:
|
|
128
|
+
_context.prev = 13;
|
|
103
129
|
setIsLoading(false);
|
|
104
130
|
isProcessingRef.current = false;
|
|
105
|
-
return _context.finish(
|
|
106
|
-
case
|
|
131
|
+
return _context.finish(13);
|
|
132
|
+
case 14:
|
|
107
133
|
case "end":
|
|
108
134
|
return _context.stop();
|
|
109
135
|
}
|
|
110
|
-
}, _callee, null, [[2,
|
|
136
|
+
}, _callee, null, [[2, 12, 13, 14], [5, 7], [8, 10]]);
|
|
111
137
|
}));
|
|
112
138
|
return function handleCreateAgent(_x) {
|
|
113
139
|
return _ref.apply(this, arguments);
|
|
@@ -125,4 +151,4 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
125
151
|
resetSuccess: resetSuccess
|
|
126
152
|
};
|
|
127
153
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwibmFtZSIsImVtb2ppIiwiaW50cm9kdWN0aW9uIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJpbnB1dFBsYWNlaG9sZGVyIiwidXNlcl9wcm9tcHQiLCJ1c2VyUHJvbXB0IiwicHJvdmlkZXIiLCJhaU1vZGVsIiwibW9kZWxfbmFtZSIsInVzZUNyZWF0ZUFnZW50IiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic3VjY2VzcyIsInNldFN1Y2Nlc3MiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImlzUHJvY2Vzc2luZ1JlZiIsImhhbmRsZVNldFN1Y2Nlc3MiLCJ2YWx1ZSIsImhhbmRsZUNyZWF0ZUFnZW50IiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwidmFsdWVzIiwicGFyc2VkVmFsdWUiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkyIiwicmVzcG9uc2UiLCJ0YXNrQWNjZXNzIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsImlkIiwidG9TdHJpbmciLCJjb25zb2xlIiwiX29iamVjdFNwcmVhZCIsImNvbm5lY3RvcnMiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldFN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudENyZWF0ZVJlcXVlc3QsIGNyZWF0ZUFnZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY3JlYXRlQWdlbnQnXG5pbXBvcnQgeyBzZXRBZ2VudFRvb2xHcm91cHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9zZXRBZ2VudFRvb2xHcm91cHMnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0LCBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuXG5leHBvcnQgY29uc3QgcGFyc2VkVmFsdWVzQnlSZXEgPSAoYWdlbnRWYWx1ZXM6IGFueSk6IEFnZW50Q3JlYXRlUmVxdWVzdCA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNyZWF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNyZWF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRDcmVhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY3JlYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhc2tBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlXG5cbiAgICAgIGlmIChyZXNwb25zZT8uaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBzZXRBZ2VudFRvb2xHcm91cHMocmVzcG9uc2UuaWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVDcmVhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJlc2V0U3VjY2VzcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDeEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBNkJDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDeEYsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQywyQkFBMkIsRUFBRUMsa0NBQWtDLFFBQVEsc0NBQXNDO0FBRXRILE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsV0FBZ0IsRUFBeUI7RUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtFQUN6RSxPQUFPO0lBQ0xDLElBQUksRUFBRUgsV0FBVyxDQUFDRyxJQUFJO0lBQ3RCQyxLQUFLLEVBQUVKLFdBQVcsQ0FBQ0ksS0FBSyxJQUFJLEdBQUc7SUFDL0JDLFlBQVksRUFBRUwsV0FBVyxDQUFDSyxZQUFZLElBQUksRUFBRTtJQUM1Q0MsaUJBQWlCLEVBQUVOLFdBQVcsQ0FBQ08sZ0JBQWdCLElBQUksRUFBRTtJQUNyREMsV0FBVyxFQUFFUixXQUFXLENBQUNTLFVBQVU7SUFDbkNDLFFBQVEsR0FBQVQsb0JBQUEsR0FBRUQsV0FBVyxDQUFDVyxPQUFPLGNBQUFWLG9CQUFBLHVCQUFuQkEsb0JBQUEsQ0FBcUJTLFFBQVE7SUFD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
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsInVzZVNuYWNrQmFyTWFuYWdlciIsImJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCIsImJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlQ3JlYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlQ3JlYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwicmVzcG9uc2UiLCJ0YXNrQWNjZXNzIiwic2VsZWN0ZWRDb25uZWN0b3JzIiwiYXV0aFBvcHVwIiwiY29ubmVjdG9yc1Jlc3BvbnNlIiwiYXV0aEVycm9ycyIsIl90IiwiX3QyIiwiX3QzIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJsZW5ndGgiLCJ3aW5kb3ciLCJvcGVuIiwiaWQiLCJ0b1N0cmluZyIsImNvbnNvbGUiLCJyZXF1aXJlc19hdXRoIiwiYXV0aF9lcnJvcnMiLCJtYXAiLCJzbHVnIiwiam9pbiIsImNsb3NlZCIsImNsb3NlIiwiX29iamVjdFNwcmVhZCIsImNvbm5lY3RvcnMiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldFN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudENyZWF0ZVJlcXVlc3QsIGNyZWF0ZUFnZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY3JlYXRlQWdlbnQnXG5pbXBvcnQgeyBzZXRBZ2VudFRvb2xHcm91cHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9zZXRBZ2VudFRvb2xHcm91cHMnXG5pbXBvcnQgeyBjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlLCBvcGVuQ29ubmVjdG9yQXV0aG9yaXphdGlvbldpbmRvd3MsIHNhdmVBZ2VudENvbm5lY3RvcnMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9jb25uZWN0b3JzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCwgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudENyZWF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGFnZW50VmFsdWVzLm5hbWUsXG4gICAgZW1vamk6IGFnZW50VmFsdWVzLmVtb2ppIHx8ICfinKgnLFxuICAgIGludHJvZHVjdGlvbjogYWdlbnRWYWx1ZXMuaW50cm9kdWN0aW9uIHx8ICcnLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiBhZ2VudFZhbHVlcy5pbnB1dFBsYWNlaG9sZGVyIHx8ICcnLFxuICAgIHVzZXJfcHJvbXB0OiBhZ2VudFZhbHVlcy51c2VyUHJvbXB0LFxuICAgIHByb3ZpZGVyOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5wcm92aWRlcixcbiAgICBtb2RlbF9uYW1lOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5tb2RlbF9uYW1lLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDcmVhdGVBZ2VudCA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignYWJtX2FnZW50X3NlY3Rpb24nKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3N1Y2Nlc3MsIHNldFN1Y2Nlc3NdID0gdXNlU3RhdGU8YW55PihmYWxzZSlcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBpc1Byb2Nlc3NpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlU2V0U3VjY2VzcyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHNldFN1Y2Nlc3ModmFsdWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVBZ2VudCA9IGFzeW5jICh2YWx1ZXM6IGFueSkgPT4ge1xuICAgIGlmIChpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVmFsdWU6IEFnZW50Q3JlYXRlUmVxdWVzdCA9IHBhcnNlZFZhbHVlc0J5UmVxKHZhbHVlcy5nZW5lcmFsKVxuXG4gICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZWF0ZUFnZW50KHBhcnNlZFZhbHVlKVxuXG4gICAgICBpZiAocmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB0YXNrQWNjZXNzID0gdmFsdWVzLmFjY2Vzc2liaWxpdHk/LnRhc2tBY2Nlc3MgPz8gdHJ1ZVxuICAgICAgY29uc3Qgc2VsZWN0ZWRDb25uZWN0b3JzOiBzdHJpbmdbXSA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW11cbiAgICAgIGNvbnN0IGF1dGhQb3B1cCA9XG4gICAgICAgIHNlbGVjdGVkQ29ubmVjdG9ycy5sZW5ndGggPiAwID8gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnLCAncG9wdXA9eWVzLHdpZHRoPTU2MCxoZWlnaHQ9NzYwJykgOiBudWxsXG5cbiAgICAgIGlmIChyZXNwb25zZT8uaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBzZXRBZ2VudFRvb2xHcm91cHMocmVzcG9uc2UuaWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY29ubmVjdG9yc1Jlc3BvbnNlID0gYXdhaXQgc2F2ZUFnZW50Q29ubmVjdG9ycyhyZXNwb25zZS5pZC50b1N0cmluZygpLCBzZWxlY3RlZENvbm5lY3RvcnMpXG4gICAgICAgICAgb3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzKGNvbm5lY3RvcnNSZXNwb25zZS5yZXF1aXJlc19hdXRoIHx8IFtdLCBhdXRoUG9wdXApXG4gICAgICAgICAgY29uc3QgYXV0aEVycm9ycyA9IGNvbm5lY3RvcnNSZXNwb25zZS5hdXRoX2Vycm9ycyB8fCBbXVxuICAgICAgICAgIGlmIChhdXRoRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihcbiAgICAgICAgICAgICAgYXV0aEVycm9ycy5tYXAoZXJyb3IgPT5cbiAgICAgICAgICAgICAgICBlcnJvci5zbHVnID09PSAnbmV0c3VpdGUnID8gdCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubmV0c3VpdGVBdXRoU2V0dXBSZXF1aXJlZCcpIDogY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZShlcnJvcilcbiAgICAgICAgICAgICAgKS5qb2luKCcgJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGNvbm5lY3RvcnNFcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNldHRpbmcgYWdlbnQgY29ubmVjdG9yczonLCBjb25uZWN0b3JzRXJyb3IpXG4gICAgICAgICAgaWYgKGF1dGhQb3B1cCAmJiAhYXV0aFBvcHVwLmNsb3NlZCkge1xuICAgICAgICAgICAgYXV0aFBvcHVwLmNsb3NlKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb25uZWN0b3JBdXRoRmFpbGVkJykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHNldFN1Y2Nlc3MoeyAuLi5yZXNwb25zZSwgY29ubmVjdG9yczogYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2Vzcyh0YXNrQWNjZXNzLCBzZWxlY3RlZENvbm5lY3RvcnMpIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVDcmVhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJl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RSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUosR0FBQSxHQUFBRyxRQUFBO1lBRURjLE9BQU8sQ0FBQzlDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBQTZCLEdBQWlCLENBQUM7WUFDakUsSUFBSUosU0FBUyxJQUFJLENBQUNBLFNBQVMsQ0FBQzJCLE1BQU0sRUFBRTtjQUNsQzNCLFNBQVMsQ0FBQzRCLEtBQUssQ0FBQyxDQUFDO1lBQ25CO1lBQ0E5QyxtQkFBbUIsQ0FBQ2YsQ0FBQyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7VUFBQTtZQUl0RVMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNkSSxVQUFVLENBQUFpRCxhQUFBLENBQUFBLGFBQUEsS0FBTWhDLFFBQVE7Y0FBRWlDLFVBQVUsRUFBRWhGLGtDQUFrQyxDQUFDZ0QsVUFBVSxFQUFFQyxrQkFBa0I7WUFBQyxFQUFFLENBQUM7WUFBQVEsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUgsR0FBQSxHQUFBRSxRQUFBO1lBRTNHL0IsUUFBUSxDQUFDNkIsR0FBQSxZQUFlUyxLQUFLLEdBQUdULEdBQUEsQ0FBSTBCLE9BQU8sR0FBR2hFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JFZSxtQkFBbUIsQ0FBQ2YsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7VUFBQTtZQUFBd0MsUUFBQSxDQUFBQyxJQUFBO1lBRTNDcEMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNuQlcsZUFBZSxDQUFDMkIsT0FBTyxHQUFHLEtBQUs7WUFBQSxPQUFBSCxRQUFBLENBQUF5QixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUF6QixRQUFBLENBQUEwQixJQUFBO1FBQUE7TUFBQSxHQUFBMUMsT0FBQTtJQUFBLENBRWxDO0lBQUEsZ0JBM0RLTCxpQkFBaUJBLENBQUFnRCxFQUFBO01BQUEsT0FBQS9DLElBQUEsQ0FBQWdELEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsR0EyRHRCO0VBRUQsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QnpELFVBQVUsQ0FBQyxLQUFLLENBQUM7RUFDbkIsQ0FBQztFQUVELE9BQU87SUFDTE0saUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakJmLFNBQVMsRUFBVEEsU0FBUztJQUNUSSxLQUFLLEVBQUxBLEtBQUs7SUFDTEksT0FBTyxFQUFQQSxPQUFPO0lBQ1BLLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCcUQsWUFBWSxFQUFaQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -9,6 +9,7 @@ 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';
|
|
12
13
|
import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
|
|
13
14
|
import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
|
|
14
15
|
export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
|
|
@@ -47,7 +48,7 @@ export var useUpdateAgent = function useUpdateAgent() {
|
|
|
47
48
|
};
|
|
48
49
|
var handleUpdateAgent = /*#__PURE__*/function () {
|
|
49
50
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
|
|
50
|
-
var parsedValue, _values$accessibility, _values$accessibility2, _values$general, response, taskAccess, agentId, _t, _t2;
|
|
51
|
+
var parsedValue, _values$accessibility, _values$accessibility2, _values$accessibility3, _values$general, response, taskAccess, selectedConnectors, agentId, authPopup, connectorsResponse, authErrors, _t, _t2, _t3;
|
|
51
52
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
52
53
|
while (1) switch (_context.prev = _context.next) {
|
|
53
54
|
case 0:
|
|
@@ -73,9 +74,11 @@ export var useUpdateAgent = function useUpdateAgent() {
|
|
|
73
74
|
throw new Error(response.error);
|
|
74
75
|
case 4:
|
|
75
76
|
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) || [];
|
|
76
78
|
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;
|
|
77
80
|
if (!agentId) {
|
|
78
|
-
_context.next =
|
|
81
|
+
_context.next = 11;
|
|
79
82
|
break;
|
|
80
83
|
}
|
|
81
84
|
_context.prev = 5;
|
|
@@ -89,26 +92,49 @@ export var useUpdateAgent = function useUpdateAgent() {
|
|
|
89
92
|
_t = _context["catch"](5);
|
|
90
93
|
console.error('Error setting agent tool groups:', _t);
|
|
91
94
|
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:
|
|
92
118
|
setError(null);
|
|
93
119
|
setSuccess(_objectSpread(_objectSpread({}, response), {}, {
|
|
94
|
-
connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
|
|
120
|
+
connectors: buildAgentConnectorsFromTaskAccess(taskAccess, selectedConnectors)
|
|
95
121
|
}));
|
|
96
122
|
setIsLoading(false);
|
|
97
123
|
isProcessingRef.current = false;
|
|
98
|
-
_context.next =
|
|
124
|
+
_context.next = 13;
|
|
99
125
|
break;
|
|
100
|
-
case
|
|
101
|
-
_context.prev =
|
|
102
|
-
|
|
103
|
-
setError(
|
|
126
|
+
case 12:
|
|
127
|
+
_context.prev = 12;
|
|
128
|
+
_t3 = _context["catch"](2);
|
|
129
|
+
setError(_t3 instanceof Error ? _t3.message : t('errorAgentCreated'));
|
|
104
130
|
setIsLoading(false);
|
|
105
131
|
isProcessingRef.current = false;
|
|
106
132
|
handleSnackbarError(t('errorAgentCreated'));
|
|
107
|
-
case
|
|
133
|
+
case 13:
|
|
108
134
|
case "end":
|
|
109
135
|
return _context.stop();
|
|
110
136
|
}
|
|
111
|
-
}, _callee, null, [[2,
|
|
137
|
+
}, _callee, null, [[2, 12], [5, 7], [8, 10]]);
|
|
112
138
|
}));
|
|
113
139
|
return function handleUpdateAgent(_x) {
|
|
114
140
|
return _ref.apply(this, arguments);
|
|
@@ -126,4 +152,4 @@ export var useUpdateAgent = function useUpdateAgent() {
|
|
|
126
152
|
resetSuccess: resetSuccess
|
|
127
153
|
};
|
|
128
154
|
};
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwiaWQiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlVXBkYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlVXBkYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGdlbmVyYWwiLCJyZXNwb25zZSIsInRhc2tBY2Nlc3MiLCJhZ2VudElkIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsInRvU3RyaW5nIiwiY29uc29sZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlVXBkYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRVcGRhdGVSZXF1ZXN0LCB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCwgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBhZ2VudFZhbHVlcy5pZCxcbiAgICBuYW1lOiBhZ2VudFZhbHVlcy5uYW1lLFxuICAgIGVtb2ppOiBhZ2VudFZhbHVlcy5lbW9qaSB8fCAn4pyoJyxcbiAgICBpbnRyb2R1Y3Rpb246IGFnZW50VmFsdWVzLmludHJvZHVjdGlvbiB8fCAnJyxcbiAgICBpbnB1dF9wbGFjZWhvbGRlcjogYWdlbnRWYWx1ZXMuaW5wdXRQbGFjZWhvbGRlciB8fCAnJyxcbiAgICB1c2VyX3Byb21wdDogYWdlbnRWYWx1ZXMudXNlclByb21wdCxcbiAgICBwcm92aWRlcjogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ucHJvdmlkZXIsXG4gICAgbW9kZWxfbmFtZTogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ubW9kZWxfbmFtZSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlVXBkYXRlQWdlbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPGFueT4oZmFsc2UpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgaXNQcm9jZXNzaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZVNldFN1Y2Nlc3MgPSAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICBzZXRTdWNjZXNzKHZhbHVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlQWdlbnQgPSBhc3luYyAodmFsdWVzOiBhbnkpID0+IHtcbiAgICBpZiAoaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZFZhbHVlOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPSBwYXJzZWRWYWx1ZXNCeVJlcSh2YWx1ZXMuZ2VuZXJhbClcblxuICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgIHNldFN1Y2Nlc3MoZmFsc2UpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB1cGRhdGVBZ2VudChwYXJzZWRWYWx1ZSlcblxuICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcilcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFza0FjY2VzcyA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py50YXNrQWNjZXNzID8/IHRydWVcbiAgICAgIGNvbnN0IGFnZW50SWQgPSB2YWx1ZXMuZ2VuZXJhbD8uaWRcbiAgICAgIGlmIChhZ2VudElkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKGFnZW50SWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlVXBkYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixRQUFRLCtDQUErQztBQUNsRixTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFDN0UsU0FBU0MsMkJBQTJCLEVBQUVDLGtDQUFrQyxRQUFRLHNDQUFzQztBQUV0SCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFdBQWdCLEVBQXlCO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMscUJBQUE7RUFDekUsT0FBTztJQUNMQyxFQUFFLEVBQUVILFdBQVcsQ0FBQ0csRUFBRTtJQUNsQkMsSUFBSSxFQUFFSixXQUFXLENBQUNJLElBQUk7SUFDdEJDLEtBQUssRUFBRUwsV0FBVyxDQUFDSyxLQUFLLElBQUksR0FBRztJQUMvQkMsWUFBWSxFQUFFTixXQUFXLENBQUNNLFlBQVksSUFBSSxFQUFFO0lBQzVDQyxpQkFBaUIsRUFBRVAsV0FBVyxDQUFDUSxnQkFBZ0IsSUFBSSxFQUFFO0lBQ3JEQyxXQUFXLEVBQUVULFdBQVcsQ0FBQ1UsVUFBVTtJQUNuQ0MsUUFBUSxHQUFBVixvQkFBQSxHQUFFRCxXQUFXLENBQUNZLE9BQU8sY0FBQVgsb0JBQUEsdUJBQW5CQSxvQkFBQSxDQUFxQlUsUUFBUTtJQUN2Q0UsVUFBVSxHQUFBWCxxQkFBQSxHQUFFRixXQUFXLENBQUNZLE9BQU8sY0FBQVYscUJBQUEsdUJBQW5CQSxxQkFBQSxDQUFxQlc7RUFDbkMsQ0FBQztBQUNILENBQUM7QUFFRCxPQUFPLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBQSxFQUFTO0VBQ2xDLElBQUFDLGVBQUEsR0FBY3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztJQUF6Q3VCLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBQUMsU0FBQSxHQUFrQzFCLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTJCLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxTQUFTLEdBQUFGLFVBQUE7SUFBRUcsWUFBWSxHQUFBSCxVQUFBO0VBQzlCLElBQUFJLFVBQUEsR0FBMEIvQixRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBZ0MsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBaERFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFDdEIsSUFBQUcsVUFBQSxHQUE4Qm5DLFFBQVEsQ0FBTSxLQUFLLENBQUM7SUFBQW9DLFVBQUEsR0FBQVIsY0FBQSxDQUFBTyxVQUFBO0lBQTNDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzFCLElBQUFHLG1CQUFBLEdBQWdDbEMsa0JBQWtCLENBQUMsQ0FBQztJQUE1Q21DLG1CQUFtQixHQUFBRCxtQkFBQSxDQUFuQkMsbUJBQW1CO0VBQzNCLElBQU1DLGVBQWUsR0FBR3hDLE1BQU0sQ0FBQyxLQUFLLENBQUM7RUFFckMsSUFBTXlDLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLEtBQWMsRUFBSztJQUMzQ0wsVUFBVSxDQUFDSyxLQUFLLENBQUM7RUFDbkIsQ0FBQztFQUVELElBQU1DLGlCQUFpQjtJQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE1BQVc7TUFBQSxJQUFBQyxXQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLGVBQUEsRUFBQUMsUUFBQSxFQUFBQyxVQUFBLEVBQUFDLE9BQUEsRUFBQUMsRUFBQSxFQUFBQyxHQUFBO01BQUEsT0FBQVosbUJBQUEsQ0FBQWEsSUFBQSxXQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUFBLEtBQ3RDdEIsZUFBZSxDQUFDdUIsT0FBTztjQUFBSCxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUYsUUFBQSxDQUFBSSxNQUFBO1VBQUE7WUFJckJkLFdBQStCLEdBQUczQyxpQkFBaUIsQ0FBQzBDLE1BQU0sQ0FBQ2dCLE9BQU8sQ0FBQztZQUV6RXpCLGVBQWUsQ0FBQ3VCLE9BQU8sR0FBRyxJQUFJO1lBQzlCbEMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNsQlEsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFBdUIsUUFBQSxDQUFBQyxJQUFBO1lBQUFELFFBQUEsQ0FBQUUsSUFBQTtZQUFBLE9BR1E1RCxXQUFXLENBQUNnRCxXQUFXLENBQUM7VUFBQTtZQUF6Q0ksUUFBUSxHQUFBTSxRQUFBLENBQUFNLElBQUE7WUFBQSxLQUVWWixRQUFRLENBQUN0QixLQUFLO2NBQUE0QixRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsTUFDVixJQUFJSyxLQUFLLENBQUNiLFFBQVEsQ0FBQ3RCLEtBQUssQ0FBQztVQUFBO1lBRzNCdUIsVUFBVSxJQUFBSixxQkFBQSxJQUFBQyxzQkFBQSxHQUFHSCxNQUFNLENBQUNtQixhQUFhLGNBQUFoQixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCRyxVQUFVLGNBQUFKLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksSUFBSTtZQUNyREssT0FBTyxJQUFBSCxlQUFBLEdBQUdKLE1BQU0sQ0FBQ2dCLE9BQU8sY0FBQVosZUFBQSx1QkFBZEEsZUFBQSxDQUFnQjFDLEVBQUU7WUFBQSxLQUM5QjZDLE9BQU87Y0FBQUksUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUQsUUFBQSxDQUFBRSxJQUFBO1lBQUEsT0FFRDNELGtCQUFrQixDQUFDcUQsT0FBTyxDQUFDYSxRQUFRLENBQUMsQ0FBQyxFQUFFaEUsMkJBQTJCLENBQUNrRCxVQUFVLENBQUMsQ0FBQztVQUFBO1lBQUFLLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBQyxJQUFBO1lBQUFKLEVBQUEsR0FBQUcsUUFBQTtZQUVyRlUsT0FBTyxDQUFDdEMsS0FBSyxDQUFDLGtDQUFrQyxFQUFBeUIsRUFBaUIsQ0FBQztVQUFBO1lBSXRFeEIsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNkSSxVQUFVLENBQUFrQyxhQUFBLENBQUFBLGFBQUEsS0FBTWpCLFFBQVE7Y0FBRWtCLFVBQVUsRUFBRWxFLGtDQUFrQyxDQUFDaUQsVUFBVTtZQUFDLEVBQUUsQ0FBQztZQUN2RjFCLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJXLGVBQWUsQ0FBQ3VCLE9BQU8sR0FBRyxLQUFLO1lBQUFILFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBQyxJQUFBO1lBQUFILEdBQUEsR0FBQUUsUUFBQTtZQUUvQjNCLFFBQVEsQ0FBQ3lCLEdBQUEsWUFBZVMsS0FBSyxHQUFHVCxHQUFBLENBQUllLE9BQU8sR0FBR2pELENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JFSyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CVyxlQUFlLENBQUN1QixPQUFPLEdBQUcsS0FBSztZQUMvQnhCLG1CQUFtQixDQUFDZixDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztVQUFBO1VBQUE7WUFBQSxPQUFBb0MsUUFBQSxDQUFBYyxJQUFBO1FBQUE7TUFBQSxHQUFBMUIsT0FBQTtJQUFBLENBRTlDO0lBQUEsZ0JBdENLTCxpQkFBaUJBLENBQUFnQyxFQUFBO01BQUEsT0FBQS9CLElBQUEsQ0FBQWdDLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsR0FzQ3RCO0VBRUQsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QnpDLFVBQVUsQ0FBQyxLQUFLLENBQUM7RUFDbkIsQ0FBQztFQUVELE9BQU87SUFDTE0saUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakJmLFNBQVMsRUFBVEEsU0FBUztJQUNUSSxLQUFLLEVBQUxBLEtBQUs7SUFDTEksT0FBTyxFQUFQQSxPQUFPO0lBQ1BLLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCcUMsWUFBWSxFQUFaQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
155
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsInVzZVNuYWNrQmFyTWFuYWdlciIsImJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCIsImJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJpZCIsIm5hbWUiLCJlbW9qaSIsImludHJvZHVjdGlvbiIsImlucHV0X3BsYWNlaG9sZGVyIiwiaW5wdXRQbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwidXNlclByb21wdCIsInByb3ZpZGVyIiwiYWlNb2RlbCIsIm1vZGVsX25hbWUiLCJ1c2VVcGRhdGVBZ2VudCIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJpc1Byb2Nlc3NpbmdSZWYiLCJoYW5kbGVTZXRTdWNjZXNzIiwidmFsdWUiLCJoYW5kbGVVcGRhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInZhbHVlcyIsInBhcnNlZFZhbHVlIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTMiLCJfdmFsdWVzJGdlbmVyYWwiLCJyZXNwb25zZSIsInRhc2tBY2Nlc3MiLCJzZWxlY3RlZENvbm5lY3RvcnMiLCJhZ2VudElkIiwiYXV0aFBvcHVwIiwiY29ubmVjdG9yc1Jlc3BvbnNlIiwiYXV0aEVycm9ycyIsIl90IiwiX3QyIiwiX3QzIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJsZW5ndGgiLCJ3aW5kb3ciLCJvcGVuIiwidG9TdHJpbmciLCJjb25zb2xlIiwicmVxdWlyZXNfYXV0aCIsImF1dGhfZXJyb3JzIiwibWFwIiwic2x1ZyIsImpvaW4iLCJjbG9zZWQiLCJjbG9zZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlVXBkYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRVcGRhdGVSZXF1ZXN0LCB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZSwgb3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzLCBzYXZlQWdlbnRDb25uZWN0b3JzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QsIGJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbVRhc2tBY2Nlc3MgfSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5cbmV4cG9ydCBjb25zdCBwYXJzZWRWYWx1ZXNCeVJlcSA9IChhZ2VudFZhbHVlczogYW55KTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDogYWdlbnRWYWx1ZXMuaWQsXG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVwZGF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwZGF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdXBkYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhc2tBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlXG4gICAgICBjb25zdCBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdID0gdmFsdWVzLmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9ycyB8fCBbXVxuICAgICAgY29uc3QgYWdlbnRJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICAgICAgY29uc3QgYXV0aFBvcHVwID1cbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzLmxlbmd0aCA+IDAgPyB3aW5kb3cub3BlbignJywgJ19ibGFuaycsICdwb3B1cD15ZXMsd2lkdGg9NTYwLGhlaWdodD03NjAnKSA6IG51bGxcbiAgICAgIGlmIChhZ2VudElkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKGFnZW50SWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY29ubmVjdG9yc1Jlc3BvbnNlID0gYXdhaXQgc2F2ZUFnZW50Q29ubmVjdG9ycyhhZ2VudElkLnRvU3RyaW5nKCksIHNlbGVjdGVkQ29ubmVjdG9ycylcbiAgICAgICAgICBvcGVuQ29ubmVjdG9yQXV0aG9yaXphdGlvbldpbmRvd3MoY29ubmVjdG9yc1Jlc3BvbnNlLnJlcXVpcmVzX2F1dGggfHwgW10sIGF1dGhQb3B1cClcbiAgICAgICAgICBjb25zdCBhdXRoRXJyb3JzID0gY29ubmVjdG9yc1Jlc3BvbnNlLmF1dGhfZXJyb3JzIHx8IFtdXG4gICAgICAgICAgaWYgKGF1dGhFcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKFxuICAgICAgICAgICAgICBhdXRoRXJyb3JzLm1hcChlcnJvciA9PlxuICAgICAgICAgICAgICAgIGVycm9yLnNsdWcgPT09ICduZXRzdWl0ZScgPyB0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5uZXRzdWl0ZUF1dGhTZXR1cFJlcXVpcmVkJykgOiBjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlKGVycm9yKVxuICAgICAgICAgICAgICApLmpvaW4oJyAnKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoY29ubmVjdG9yc0Vycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc2V0dGluZyBhZ2VudCBjb25uZWN0b3JzOicsIGNvbm5lY3RvcnNFcnJvcilcbiAgICAgICAgICBpZiAoYXV0aFBvcHVwICYmICFhdXRoUG9wdXAuY2xvc2VkKSB7XG4gICAgICAgICAgICBhdXRoUG9wdXAuY2xvc2UoKVxuICAgICAgICAgIH1cbiAgICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckF1dGhGYWlsZWQnKSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MsIHNlbGVjdGVkQ29ubmVjdG9ycykgfSlcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiB0KCdlcnJvckFnZW50Q3JlYXRlZCcpKVxuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVVcGRhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJlc2V0U3VjY2VzcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDeEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBNkJDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDeEYsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLHlCQUF5QixFQUFFQyxpQ0FBaUMsRUFBRUMsbUJBQW1CLFFBQVEsdUNBQXVDO0FBQ3pJLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQywyQkFBMkIsRUFBRUMsa0NBQWtDLFFBQVEsc0NBQXNDO0FBRXRILE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsV0FBZ0IsRUFBeUI7RUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtFQUN6RSxPQUFPO0lBQ0xDLEVBQUUsRUFBRUgsV0FBVyxDQUFDRyxFQUFFO0lBQ2xCQyxJQUFJLEVBQUVKLFdBQVcsQ0FBQ0ksSUFBSTtJQUN0QkMsS0FBSyxFQUFFTCxXQUFXLENBQUNLLEtBQUssSUFBSSxHQUFHO0lBQy9CQyxZQUFZLEVBQUVOLFdBQVcsQ0FBQ00sWUFBWSxJQUFJLEVBQUU7SUFDNUNDLGlCQUFpQixFQUFFUCxXQUFXLENBQUNRLGdCQUFnQixJQUFJLEVBQUU7SUFDckRDLFdBQVcsRUFBRVQsV0FBVyxDQUFDVSxVQUFVO0lBQ25DQyxRQUFRLEdBQUFWLG9CQUFBLEdBQUVELFdBQVcsQ0FBQ1ksT0FBTyxjQUFBWCxvQkFBQSx1QkFBbkJBLG9CQUFBLENBQXFCVSxRQUFRO0lBQ3ZDRSxVQUFVLEdBQUFYLHFCQUFBLEdBQUVGLFdBQVcsQ0FBQ1ksT0FBTyxjQUFBVixx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
|