@projectcor/maia-components 2.11.90-2 → 2.11.90-3

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 (77) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
  3. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -41
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  5. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  6. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +4 -23
  7. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +15 -5
  8. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +10 -4
  9. package/lib/components/atoms/MAIAInput/MAIAInput.js +21 -44
  10. package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
  11. package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
  12. package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
  13. package/lib/components/atoms/icons/index.js +1 -3
  14. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -14
  15. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
  16. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +107 -30
  17. package/lib/components/molecules/ChatAIHome/styles.js +144 -49
  18. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +29 -50
  19. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +3 -5
  20. package/lib/components/molecules/ChatAIModal/constants.js +2 -6
  21. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  22. package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -18
  23. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  24. package/lib/components/molecules/Sidebar/Sidebar.js +4 -25
  25. package/lib/components/organisms/ChatAI/ChatAI.js +5 -16
  26. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
  27. package/lib/constants/config.js +1 -4
  28. package/lib/constants/maiaTaskPanelAccess.js +4 -4
  29. package/lib/constants/permissions/index.js +2 -2
  30. package/lib/constants/permissions/utils.js +1 -4
  31. package/lib/constants/plannerSyncEvents.js +16 -0
  32. package/lib/context/cor-user.js +9 -1
  33. package/lib/context/global-context.js +1 -1
  34. package/lib/dev/DevChatAI.js +2 -2
  35. package/lib/hooks/useChatManager/useChatManager.js +45 -4
  36. package/lib/hooks/useContextMentions.js +9 -47
  37. package/lib/hooks/useEntitySearch.js +91 -277
  38. package/lib/hooks/useFrequentlyUsedActions.js +4 -2
  39. package/lib/hooks/useMentionAllowedTypes.js +8 -26
  40. package/lib/hooks/useMentionPopover.js +13 -42
  41. package/lib/hooks/useProjectSummaryConfig.js +23 -30
  42. package/lib/lang/br/index.js +18 -56
  43. package/lib/lang/en/index.js +18 -56
  44. package/lib/lang/es/index.js +18 -56
  45. package/lib/lang/fr/index.js +18 -56
  46. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  47. package/lib/services/maia/Agents/getAgents.js +2 -2
  48. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  49. package/lib/store/chatsStore.types.js +1 -1
  50. package/lib/types/Action.js +1 -1
  51. package/lib/types/agent.js +1 -1
  52. package/lib/types/contextMention.js +1 -1
  53. package/lib/utils/actionCategoryMap.js +6 -2
  54. package/lib/utils/actionIconMap.js +8 -2
  55. package/lib/utils/contextMentionIcons.js +1 -29
  56. package/lib/utils/contextMentionTriggers.js +1 -3
  57. package/lib/utils/orchestratorSubagents.js +11 -0
  58. package/lib/utils/renderContextMentions.js +4 -9
  59. package/lib/utils/streamActivityMessages.js +2 -1
  60. package/package.json +1 -1
  61. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  62. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  63. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  64. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  65. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  66. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  67. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  68. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  69. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  70. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  71. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  72. package/lib/services/maia/Skills/createSkill.js +0 -39
  73. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  74. package/lib/services/maia/Skills/generateSkill.js +0 -41
  75. package/lib/services/maia/Skills/getSkills.js +0 -90
  76. package/lib/services/maia/Skills/updateSkill.js +0 -39
  77. package/lib/types/skill.js +0 -2
@@ -1,446 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- import { useCallback, useEffect, useRef, useState } from 'react';
9
- import { createPortal } from 'react-dom';
10
- import { Cross } from '@projectcor/icons/lib/components/Cross';
11
- import { useTranslation } from 'react-i18next';
12
- import { Streamdown } from 'streamdown';
13
- import { createCodePlugin } from '@streamdown/code';
14
- import { Backdrop } from '../../atoms/Backdrop';
15
- import { Loader } from '../../atoms/Loader';
16
- import { MAIA_STREAMDOWN_REHYPE_PLUGINS } from '../../../utils/maiaStreamdownRehypePlugins';
17
- import { SECTIONS } from '../../../constants/config';
18
- import { useUser } from '../../../context/cor-user';
19
- import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
20
- import { createSkill } from '../../../services/maia/Skills/createSkill';
21
- import { updateSkill } from '../../../services/maia/Skills/updateSkill';
22
- import { deleteSkill } from '../../../services/maia/Skills/deleteSkill';
23
- import { DeleteQuestionModal } from '../DeleteQuestionModal/DeleteQuestionModal';
24
- import { SCASMCancelButton, SCASMCloseButton, SCASMContent, SCASMDeleteSlot, SCASMField, SCASMFieldHeader, SCASMFooter, SCASMHeader, SCASMHeaderActions, SCASMHeaderTitle, SCASMHiddenFileInput, SCASMInput, SCASMLabel, SCASMPreview, SCASMPreviewEmpty, SCASMSaveButton, SCASMTextarea, SCASMToggleButton, SCASMToggleGroup, SCASMUploadButton, SCASMWrapper } from './AbmSkillModal.styles';
25
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
- var codePlugin = createCodePlugin({
27
- themes: ['github-light', 'github-light']
28
- });
29
- var initialValues = {
30
- isEditing: false,
31
- general: {
32
- id: undefined,
33
- name: '',
34
- content: ''
35
- }
36
- };
37
- export var AbmSkillModal = function AbmSkillModal(_ref) {
38
- var _user$permissions, _values$general, _values$general2, _values$general3;
39
- var addSkill = _ref.addSkill,
40
- updateSkillInList = _ref.updateSkillInList,
41
- removeSkill = _ref.removeSkill;
42
- var _useTranslation = useTranslation([SECTIONS.chatAI]),
43
- t = _useTranslation.t;
44
- var user = useUser();
45
- var _useSnackBarManager = useSnackBarManager(),
46
- handleSnackbarSuccess = _useSnackBarManager.handleSnackbarSuccess,
47
- handleSnackbarError = _useSnackBarManager.handleSnackbarError;
48
- var _useState = useState(false),
49
- _useState2 = _slicedToArray(_useState, 2),
50
- isOpen = _useState2[0],
51
- setIsOpen = _useState2[1];
52
- var _useState3 = useState(false),
53
- _useState4 = _slicedToArray(_useState3, 2),
54
- isSubmitting = _useState4[0],
55
- setIsSubmitting = _useState4[1];
56
- var _useState5 = useState(false),
57
- _useState6 = _slicedToArray(_useState5, 2),
58
- showDelete = _useState6[0],
59
- setShowDelete = _useState6[1];
60
- var _useState7 = useState(false),
61
- _useState8 = _slicedToArray(_useState7, 2),
62
- showPreview = _useState8[0],
63
- setShowPreview = _useState8[1];
64
- var _useState9 = useState(false),
65
- _useState0 = _slicedToArray(_useState9, 2),
66
- pendingUpload = _useState0[0],
67
- setPendingUpload = _useState0[1];
68
- var _useState1 = useState(initialValues),
69
- _useState10 = _slicedToArray(_useState1, 2),
70
- values = _useState10[0],
71
- setValues = _useState10[1];
72
- var fileInputRef = useRef(null);
73
- // Baseline to detect changes: the loaded values when editing, empty when creating
74
- // (a new/generated/uploaded skill always counts as a change).
75
- var initialRef = useRef({
76
- name: '',
77
- content: ''
78
- });
79
- var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
80
- var canCreate = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create);
81
- var canEdit = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.edit);
82
- var canDelete = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions["delete"]);
83
- var name = ((_values$general = values.general) === null || _values$general === void 0 ? void 0 : _values$general.name) || '';
84
- var content = ((_values$general2 = values.general) === null || _values$general2 === void 0 ? void 0 : _values$general2.content) || '';
85
- var skillId = (_values$general3 = values.general) === null || _values$general3 === void 0 ? void 0 : _values$general3.id;
86
- var isValid = !!name.trim() && !!content.trim();
87
- var hasChanges = name.trim() !== initialRef.current.name || content.trim() !== initialRef.current.content;
88
- var handleClose = useCallback(function () {
89
- setIsOpen(false);
90
- setShowDelete(false);
91
- setShowPreview(false);
92
- setPendingUpload(false);
93
- setValues(initialValues);
94
- }, []);
95
- useEffect(function () {
96
- var handleSetSkillValues = function handleSetSkillValues(event) {
97
- var _skillValues$values, _skillValues$values2, _skillValues$values3, _skillValues$values4, _skillValues$values5, _skillValues$values6;
98
- var _ref2 = event.detail || {},
99
- skillValues = _ref2.skillValues;
100
- if (!skillValues) return;
101
- var incomingName = (((_skillValues$values = skillValues.values) === null || _skillValues$values === void 0 || (_skillValues$values = _skillValues$values.general) === null || _skillValues$values === void 0 ? void 0 : _skillValues$values.name) || '').trim();
102
- var incomingContent = (((_skillValues$values2 = skillValues.values) === null || _skillValues$values2 === void 0 || (_skillValues$values2 = _skillValues$values2.general) === null || _skillValues$values2 === void 0 ? void 0 : _skillValues$values2.content) || '').trim();
103
- // Editing an existing skill -> baseline is its values; creating -> empty baseline.
104
- initialRef.current = (_skillValues$values3 = skillValues.values) !== null && _skillValues$values3 !== void 0 && _skillValues$values3.isEditing ? {
105
- name: incomingName,
106
- content: incomingContent
107
- } : {
108
- name: '',
109
- content: ''
110
- };
111
- setValues(_objectSpread(_objectSpread(_objectSpread({}, initialValues), skillValues.values), {}, {
112
- general: _objectSpread(_objectSpread({}, initialValues.general), (_skillValues$values4 = skillValues.values) === null || _skillValues$values4 === void 0 ? void 0 : _skillValues$values4.general)
113
- }));
114
- // Con contenido (edición o skill ya generada) arrancamos en "Vista previa"; vacía, en "Editar".
115
- var hasContent = !!((_skillValues$values5 = skillValues.values) !== null && _skillValues$values5 !== void 0 && (_skillValues$values5 = _skillValues$values5.general) !== null && _skillValues$values5 !== void 0 && (_skillValues$values5 = _skillValues$values5.content) !== null && _skillValues$values5 !== void 0 && _skillValues$values5.trim());
116
- setShowPreview(hasContent);
117
- // Si vino con intent "upload", abrimos el selector de archivos al montar.
118
- setPendingUpload(((_skillValues$values6 = skillValues.values) === null || _skillValues$values6 === void 0 ? void 0 : _skillValues$values6.intent) === 'upload');
119
- setIsOpen(!!skillValues.isOpen);
120
- };
121
- document.addEventListener('abm-skill-modal-set-values', handleSetSkillValues);
122
- return function () {
123
- document.removeEventListener('abm-skill-modal-set-values', handleSetSkillValues);
124
- };
125
- }, []);
126
-
127
- // When opened with the "upload" intent, open the OS file picker once mounted.
128
- useEffect(function () {
129
- if (isOpen && pendingUpload) {
130
- var _fileInputRef$current;
131
- setPendingUpload(false);
132
- (_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 || _fileInputRef$current.click();
133
- }
134
- }, [isOpen, pendingUpload]);
135
- var handleChangeField = function handleChangeField(field, value) {
136
- setValues(function (prev) {
137
- return _objectSpread(_objectSpread({}, prev), {}, {
138
- general: _objectSpread(_objectSpread({}, prev.general), {}, _defineProperty({}, field, value))
139
- });
140
- });
141
- };
142
- var handleUploadClick = function handleUploadClick() {
143
- var _fileInputRef$current2;
144
- (_fileInputRef$current2 = fileInputRef.current) === null || _fileInputRef$current2 === void 0 || _fileInputRef$current2.click();
145
- };
146
- var handleFileChange = /*#__PURE__*/function () {
147
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
148
- var _event$target$files;
149
- var file, isMarkdown, text, baseName, _t;
150
- return _regeneratorRuntime.wrap(function (_context) {
151
- while (1) switch (_context.prev = _context.next) {
152
- case 0:
153
- file = (_event$target$files = event.target.files) === null || _event$target$files === void 0 ? void 0 : _event$target$files[0]; // Reset the input (via ref) so selecting the same file again still fires onChange.
154
- if (fileInputRef.current) {
155
- fileInputRef.current.value = '';
156
- }
157
- if (file) {
158
- _context.next = 1;
159
- break;
160
- }
161
- return _context.abrupt("return");
162
- case 1:
163
- isMarkdown = /\.(md|markdown)$/i.test(file.name);
164
- if (isMarkdown) {
165
- _context.next = 2;
166
- break;
167
- }
168
- handleSnackbarError(t('mySkills.uploadError'));
169
- return _context.abrupt("return");
170
- case 2:
171
- _context.prev = 2;
172
- _context.next = 3;
173
- return file.text();
174
- case 3:
175
- text = _context.sent;
176
- baseName = file.name.replace(/\.(md|markdown)$/i, '');
177
- setValues(function (prev) {
178
- var _prev$general;
179
- return _objectSpread(_objectSpread({}, prev), {}, {
180
- general: _objectSpread(_objectSpread({}, prev.general), {}, {
181
- content: text,
182
- // Only fill the name from the filename when it's still empty.
183
- name: (_prev$general = prev.general) !== null && _prev$general !== void 0 && (_prev$general = _prev$general.name) !== null && _prev$general !== void 0 && _prev$general.trim() ? prev.general.name : baseName
184
- })
185
- });
186
- });
187
- // Tras subir un .md mostramos el resultado renderizado por defecto.
188
- setShowPreview(true);
189
- _context.next = 5;
190
- break;
191
- case 4:
192
- _context.prev = 4;
193
- _t = _context["catch"](2);
194
- handleSnackbarError(t('mySkills.uploadError'));
195
- case 5:
196
- case "end":
197
- return _context.stop();
198
- }
199
- }, _callee, null, [[2, 4]]);
200
- }));
201
- return function handleFileChange(_x) {
202
- return _ref3.apply(this, arguments);
203
- };
204
- }();
205
- var handleSave = /*#__PURE__*/function () {
206
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
207
- var updated, created, _t2;
208
- return _regeneratorRuntime.wrap(function (_context2) {
209
- while (1) switch (_context2.prev = _context2.next) {
210
- case 0:
211
- if (!(!isValid || isSubmitting)) {
212
- _context2.next = 1;
213
- break;
214
- }
215
- return _context2.abrupt("return");
216
- case 1:
217
- setIsSubmitting(true);
218
- _context2.prev = 2;
219
- if (!(values.isEditing && skillId)) {
220
- _context2.next = 4;
221
- break;
222
- }
223
- _context2.next = 3;
224
- return updateSkill(skillId, {
225
- name: name.trim(),
226
- content: content.trim()
227
- });
228
- case 3:
229
- updated = _context2.sent;
230
- updateSkillInList === null || updateSkillInList === void 0 || updateSkillInList(updated);
231
- handleSnackbarSuccess(t('mySkills.updateSuccess'));
232
- _context2.next = 6;
233
- break;
234
- case 4:
235
- _context2.next = 5;
236
- return createSkill({
237
- name: name.trim(),
238
- content: content.trim()
239
- });
240
- case 5:
241
- created = _context2.sent;
242
- addSkill === null || addSkill === void 0 || addSkill(created);
243
- handleSnackbarSuccess(t('mySkills.createSuccess'));
244
- case 6:
245
- handleClose();
246
- _context2.next = 8;
247
- break;
248
- case 7:
249
- _context2.prev = 7;
250
- _t2 = _context2["catch"](2);
251
- handleSnackbarError(values.isEditing ? t('mySkills.updateError') : t('mySkills.createError'));
252
- case 8:
253
- _context2.prev = 8;
254
- setIsSubmitting(false);
255
- return _context2.finish(8);
256
- case 9:
257
- case "end":
258
- return _context2.stop();
259
- }
260
- }, _callee2, null, [[2, 7, 8, 9]]);
261
- }));
262
- return function handleSave() {
263
- return _ref4.apply(this, arguments);
264
- };
265
- }();
266
- var handleConfirmDelete = /*#__PURE__*/function () {
267
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
268
- var _t3;
269
- return _regeneratorRuntime.wrap(function (_context3) {
270
- while (1) switch (_context3.prev = _context3.next) {
271
- case 0:
272
- if (skillId) {
273
- _context3.next = 1;
274
- break;
275
- }
276
- return _context3.abrupt("return");
277
- case 1:
278
- _context3.prev = 1;
279
- _context3.next = 2;
280
- return deleteSkill(skillId);
281
- case 2:
282
- removeSkill === null || removeSkill === void 0 || removeSkill(skillId);
283
- handleSnackbarSuccess(t('mySkills.deleteSuccess'));
284
- handleClose();
285
- _context3.next = 4;
286
- break;
287
- case 3:
288
- _context3.prev = 3;
289
- _t3 = _context3["catch"](1);
290
- handleSnackbarError(t('mySkills.deleteError'));
291
- case 4:
292
- case "end":
293
- return _context3.stop();
294
- }
295
- }, _callee3, null, [[1, 3]]);
296
- }));
297
- return function handleConfirmDelete() {
298
- return _ref5.apply(this, arguments);
299
- };
300
- }();
301
- if (!isOpen) return null;
302
- if (!canCreate && !canEdit && !canDelete) return null;
303
- var container = document.getElementById('modal-root-actions');
304
- if (!container) return null;
305
- return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(Backdrop, {
306
- zIndex: 1112,
307
- onClick: handleClose,
308
- children: [/*#__PURE__*/_jsxs(SCASMWrapper, {
309
- onClick: function onClick(event) {
310
- return event.stopPropagation();
311
- },
312
- children: [/*#__PURE__*/_jsxs(SCASMHeader, {
313
- children: [/*#__PURE__*/_jsx(SCASMHeaderTitle, {
314
- children: values.isEditing ? t('mySkills.editTitle') : t('mySkills.createTitle')
315
- }), /*#__PURE__*/_jsx(SCASMCloseButton, {
316
- type: "button",
317
- onClick: handleClose,
318
- "aria-label": t('mySkills.close'),
319
- children: /*#__PURE__*/_jsx(Cross, {
320
- color: "#a6a6a6",
321
- width: 18,
322
- height: 18
323
- })
324
- })]
325
- }), /*#__PURE__*/_jsxs(SCASMContent, {
326
- children: [/*#__PURE__*/_jsxs(SCASMField, {
327
- children: [/*#__PURE__*/_jsx(SCASMLabel, {
328
- htmlFor: "skill-name-input",
329
- children: t('mySkills.nameLabel')
330
- }), /*#__PURE__*/_jsx(SCASMInput, {
331
- id: "skill-name-input",
332
- type: "text",
333
- maxLength: 150,
334
- placeholder: t('mySkills.namePlaceholder'),
335
- value: name,
336
- disabled: isSubmitting,
337
- onChange: function onChange(event) {
338
- return handleChangeField('name', event.target.value);
339
- }
340
- })]
341
- }), /*#__PURE__*/_jsxs(SCASMField, {
342
- children: [/*#__PURE__*/_jsxs(SCASMFieldHeader, {
343
- children: [/*#__PURE__*/_jsx(SCASMLabel, {
344
- htmlFor: "skill-content-input",
345
- children: t('mySkills.contentLabel')
346
- }), /*#__PURE__*/_jsxs(SCASMHeaderActions, {
347
- children: [/*#__PURE__*/_jsx(SCASMUploadButton, {
348
- type: "button",
349
- onClick: handleUploadClick,
350
- disabled: isSubmitting,
351
- children: t('mySkills.uploadMd')
352
- }), /*#__PURE__*/_jsx(SCASMHiddenFileInput, {
353
- ref: fileInputRef,
354
- type: "file",
355
- accept: ".md,.markdown,text/markdown",
356
- onChange: handleFileChange
357
- }), /*#__PURE__*/_jsxs(SCASMToggleGroup, {
358
- children: [/*#__PURE__*/_jsx(SCASMToggleButton, {
359
- type: "button",
360
- $active: !showPreview,
361
- onClick: function onClick() {
362
- return setShowPreview(false);
363
- },
364
- children: t('mySkills.edit')
365
- }), /*#__PURE__*/_jsx(SCASMToggleButton, {
366
- type: "button",
367
- $active: showPreview,
368
- onClick: function onClick() {
369
- return setShowPreview(true);
370
- },
371
- children: t('mySkills.preview')
372
- })]
373
- })]
374
- })]
375
- }), showPreview ? /*#__PURE__*/_jsx(SCASMPreview, {
376
- children: content.trim() ? /*#__PURE__*/_jsx(Streamdown, {
377
- plugins: {
378
- code: codePlugin
379
- },
380
- rehypePlugins: MAIA_STREAMDOWN_REHYPE_PLUGINS
381
- // Skill content is arbitrary user input — keep link safety ON so unsafe
382
- // URIs (e.g. javascript:) are sanitized instead of rendered as clickable links.
383
- ,
384
- linkSafety: {
385
- enabled: true
386
- },
387
- shikiTheme: ['github-light', 'github-light'],
388
- controls: {
389
- table: false,
390
- code: false
391
- },
392
- children: content
393
- }) : /*#__PURE__*/_jsx(SCASMPreviewEmpty, {
394
- children: t('mySkills.previewEmpty')
395
- })
396
- }) : /*#__PURE__*/_jsx(SCASMTextarea, {
397
- id: "skill-content-input",
398
- maxLength: 20000,
399
- placeholder: t('mySkills.contentPlaceholder'),
400
- value: content,
401
- disabled: isSubmitting,
402
- onChange: function onChange(event) {
403
- return handleChangeField('content', event.target.value);
404
- }
405
- })]
406
- })]
407
- }), /*#__PURE__*/_jsxs(SCASMFooter, {
408
- children: [values.isEditing && canDelete ? /*#__PURE__*/_jsx(SCASMDeleteSlot, {
409
- children: /*#__PURE__*/_jsx(SCASMCancelButton, {
410
- type: "button",
411
- onClick: function onClick() {
412
- return setShowDelete(true);
413
- },
414
- disabled: isSubmitting,
415
- children: t('mySkills.delete')
416
- })
417
- }) : null, /*#__PURE__*/_jsx(SCASMCancelButton, {
418
- type: "button",
419
- onClick: handleClose,
420
- disabled: isSubmitting,
421
- children: t('mySkills.cancel')
422
- }), /*#__PURE__*/_jsx(SCASMSaveButton, {
423
- type: "button",
424
- onClick: handleSave,
425
- disabled: !isValid || isSubmitting || !hasChanges,
426
- children: isSubmitting ? /*#__PURE__*/_jsx(Loader, {
427
- size: "small"
428
- }) : t('mySkills.save')
429
- })]
430
- })]
431
- }), showDelete && skillId ? /*#__PURE__*/_jsx(DeleteQuestionModal, {
432
- onClose: function onClose() {
433
- return setShowDelete(false);
434
- },
435
- handlers: {
436
- handleConfirmAction: handleConfirmDelete
437
- },
438
- chat: {
439
- title: name,
440
- id: skillId
441
- },
442
- action: "skill"
443
- }) : null]
444
- }), container);
445
- };
446
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiQ3Jvc3MiLCJ1c2VUcmFuc2xhdGlvbiIsIlN0cmVhbWRvd24iLCJjcmVhdGVDb2RlUGx1Z2luIiwiQmFja2Ryb3AiLCJMb2FkZXIiLCJNQUlBX1NUUkVBTURPV05fUkVIWVBFX1BMVUdJTlMiLCJTRUNUSU9OUyIsInVzZVVzZXIiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJjcmVhdGVTa2lsbCIsInVwZGF0ZVNraWxsIiwiZGVsZXRlU2tpbGwiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiU0NBU01DYW5jZWxCdXR0b24iLCJTQ0FTTUNsb3NlQnV0dG9uIiwiU0NBU01Db250ZW50IiwiU0NBU01EZWxldGVTbG90IiwiU0NBU01GaWVsZCIsIlNDQVNNRmllbGRIZWFkZXIiLCJTQ0FTTUZvb3RlciIsIlNDQVNNSGVhZGVyIiwiU0NBU01IZWFkZXJBY3Rpb25zIiwiU0NBU01IZWFkZXJUaXRsZSIsIlNDQVNNSGlkZGVuRmlsZUlucHV0IiwiU0NBU01JbnB1dCIsIlNDQVNNTGFiZWwiLCJTQ0FTTVByZXZpZXciLCJTQ0FTTVByZXZpZXdFbXB0eSIsIlNDQVNNU2F2ZUJ1dHRvbiIsIlNDQVNNVGV4dGFyZWEiLCJTQ0FTTVRvZ2dsZUJ1dHRvbiIsIlNDQVNNVG9nZ2xlR3JvdXAiLCJTQ0FTTVVwbG9hZEJ1dHRvbiIsIlNDQVNNV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJjb2RlUGx1Z2luIiwidGhlbWVzIiwiaW5pdGlhbFZhbHVlcyIsImlzRWRpdGluZyIsImdlbmVyYWwiLCJpZCIsInVuZGVmaW5lZCIsIm5hbWUiLCJjb250ZW50IiwiQWJtU2tpbGxNb2RhbCIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl92YWx1ZXMkZ2VuZXJhbCIsIl92YWx1ZXMkZ2VuZXJhbDIiLCJfdmFsdWVzJGdlbmVyYWwzIiwiYWRkU2tpbGwiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInJlbW92ZVNraWxsIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsInVzZXIiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNTdWJtaXR0aW5nIiwic2V0SXNTdWJtaXR0aW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93RGVsZXRlIiwic2V0U2hvd0RlbGV0ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2hvd1ByZXZpZXciLCJzZXRTaG93UHJldmlldyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGVuZGluZ1VwbG9hZCIsInNldFBlbmRpbmdVcGxvYWQiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJ2YWx1ZXMiLCJzZXRWYWx1ZXMiLCJmaWxlSW5wdXRSZWYiLCJpbml0aWFsUmVmIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGUiLCJjcmVhdGUiLCJjYW5FZGl0IiwiZWRpdCIsImNhbkRlbGV0ZSIsInNraWxsSWQiLCJpc1ZhbGlkIiwidHJpbSIsImhhc0NoYW5nZXMiLCJjdXJyZW50IiwiaGFuZGxlQ2xvc2UiLCJoYW5kbGVTZXRTa2lsbFZhbHVlcyIsImV2ZW50IiwiX3NraWxsVmFsdWVzJHZhbHVlcyIsIl9za2lsbFZhbHVlcyR2YWx1ZXMyIiwiX3NraWxsVmFsdWVzJHZhbHVlczMiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzNCIsIl9za2lsbFZhbHVlcyR2YWx1ZXM1IiwiX3NraWxsVmFsdWVzJHZhbHVlczYiLCJfcmVmMiIsImRldGFpbCIsInNraWxsVmFsdWVzIiwiaW5jb21pbmdOYW1lIiwiaW5jb21pbmdDb250ZW50IiwiX29iamVjdFNwcmVhZCIsImhhc0NvbnRlbnQiLCJpbnRlbnQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiY2xpY2siLCJoYW5kbGVDaGFuZ2VGaWVsZCIsImZpZWxkIiwidmFsdWUiLCJwcmV2IiwiX2RlZmluZVByb3BlcnR5IiwiaGFuZGxlVXBsb2FkQ2xpY2siLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQyIiwiaGFuZGxlRmlsZUNoYW5nZSIsIl9yZWYzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfZXZlbnQkdGFyZ2V0JGZpbGVzIiwiZmlsZSIsImlzTWFya2Rvd24iLCJ0ZXh0IiwiYmFzZU5hbWUiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJ0YXJnZXQiLCJmaWxlcyIsImFicnVwdCIsInRlc3QiLCJzZW50IiwicmVwbGFjZSIsIl9wcmV2JGdlbmVyYWwiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZVNhdmUiLCJfcmVmNCIsIl9jYWxsZWUyIiwidXBkYXRlZCIsImNyZWF0ZWQiLCJfdDIiLCJfY29udGV4dDIiLCJmaW5pc2giLCJoYW5kbGVDb25maXJtRGVsZXRlIiwiX3JlZjUiLCJfY2FsbGVlMyIsIl90MyIsIl9jb250ZXh0MyIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiekluZGV4Iiwib25DbGljayIsImNoaWxkcmVuIiwic3RvcFByb3BhZ2F0aW9uIiwidHlwZSIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJodG1sRm9yIiwibWF4TGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwicmVmIiwiYWNjZXB0IiwiJGFjdGl2ZSIsInBsdWdpbnMiLCJjb2RlIiwicmVoeXBlUGx1Z2lucyIsImxpbmtTYWZldHkiLCJlbmFibGVkIiwic2hpa2lUaGVtZSIsImNvbnRyb2xzIiwidGFibGUiLCJzaXplIiwib25DbG9zZSIsImhhbmRsZXJzIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXQiLCJ0aXRsZSIsImFjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9BYm1Ta2lsbE1vZGFsL0FibVNraWxsTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU3RyZWFtZG93biB9IGZyb20gJ3N0cmVhbWRvd24nXG5pbXBvcnQgeyBjcmVhdGVDb2RlUGx1Z2luIH0gZnJvbSAnQHN0cmVhbWRvd24vY29kZSdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBNQUlBX1NUUkVBTURPV05fUkVIWVBFX1BMVUdJTlMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9tYWlhU3RyZWFtZG93blJlaHlwZVBsdWdpbnMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBjcmVhdGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsJ1xuaW1wb3J0IHsgdXBkYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbCdcbmltcG9ydCB7IGRlbGV0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvZGVsZXRlU2tpbGwnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uL0RlbGV0ZVF1ZXN0aW9uTW9kYWwvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7XG4gIFNDQVNNQ2FuY2VsQnV0dG9uLFxuICBTQ0FTTUNsb3NlQnV0dG9uLFxuICBTQ0FTTUNvbnRlbnQsXG4gIFNDQVNNRGVsZXRlU2xvdCxcbiAgU0NBU01GaWVsZCxcbiAgU0NBU01GaWVsZEhlYWRlcixcbiAgU0NBU01Gb290ZXIsXG4gIFNDQVNNSGVhZGVyLFxuICBTQ0FTTUhlYWRlckFjdGlvbnMsXG4gIFNDQVNNSGVhZGVyVGl0bGUsXG4gIFNDQVNNSGlkZGVuRmlsZUlucHV0LFxuICBTQ0FTTUlucHV0LFxuICBTQ0FTTUxhYmVsLFxuICBTQ0FTTVByZXZpZXcsXG4gIFNDQVNNUHJldmlld0VtcHR5LFxuICBTQ0FTTVNhdmVCdXR0b24sXG4gIFNDQVNNVGV4dGFyZWEsXG4gIFNDQVNNVG9nZ2xlQnV0dG9uLFxuICBTQ0FTTVRvZ2dsZUdyb3VwLFxuICBTQ0FTTVVwbG9hZEJ1dHRvbixcbiAgU0NBU01XcmFwcGVyLFxufSBmcm9tICcuL0FibVNraWxsTW9kYWwuc3R5bGVzJ1xuXG5jb25zdCBjb2RlUGx1Z2luID0gY3JlYXRlQ29kZVBsdWdpbih7IHRoZW1lczogWydnaXRodWItbGlnaHQnLCAnZ2l0aHViLWxpZ2h0J10gfSlcblxudHlwZSBTa2lsbE1vZGFsVmFsdWVzID0ge1xuICBpc0VkaXRpbmc6IGJvb2xlYW5cbiAgZ2VuZXJhbD86IHtcbiAgICBpZD86IHN0cmluZ1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICBjb250ZW50Pzogc3RyaW5nXG4gIH1cbn1cblxudHlwZSBBYm1Ta2lsbE1vZGFsUHJvcHMgPSB7XG4gIGFkZFNraWxsPzogKHNraWxsOiBTa2lsbCkgPT4gdm9pZFxuICB1cGRhdGVTa2lsbEluTGlzdD86IChza2lsbDogU2tpbGwpID0+IHZvaWRcbiAgcmVtb3ZlU2tpbGw/OiAoc2tpbGxJZDogc3RyaW5nKSA9PiB2b2lkXG59XG5cbmNvbnN0IGluaXRpYWxWYWx1ZXM6IFNraWxsTW9kYWxWYWx1ZXMgPSB7XG4gIGlzRWRpdGluZzogZmFsc2UsXG4gIGdlbmVyYWw6IHsgaWQ6IHVuZGVmaW5lZCwgbmFtZTogJycsIGNvbnRlbnQ6ICcnIH0sXG59XG5cbmV4cG9ydCBjb25zdCBBYm1Ta2lsbE1vZGFsID0gKHsgYWRkU2tpbGwsIHVwZGF0ZVNraWxsSW5MaXN0LCByZW1vdmVTa2lsbCB9OiBBYm1Ta2lsbE1vZGFsUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93RGVsZXRlLCBzZXRTaG93RGVsZXRlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd1ByZXZpZXcsIHNldFNob3dQcmV2aWV3XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcGVuZGluZ1VwbG9hZCwgc2V0UGVuZGluZ1VwbG9hZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3ZhbHVlcywgc2V0VmFsdWVzXSA9IHVzZVN0YXRlPFNraWxsTW9kYWxWYWx1ZXM+KGluaXRpYWxWYWx1ZXMpXG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICAvLyBCYXNlbGluZSB0byBkZXRlY3QgY2hhbmdlczogdGhlIGxvYWRlZCB2YWx1ZXMgd2hlbiBlZGl0aW5nLCBlbXB0eSB3aGVuIGNyZWF0aW5nXG4gIC8vIChhIG5ldy9nZW5lcmF0ZWQvdXBsb2FkZWQgc2tpbGwgYWx3YXlzIGNvdW50cyBhcyBhIGNoYW5nZSkuXG4gIGNvbnN0IGluaXRpYWxSZWYgPSB1c2VSZWY8eyBuYW1lOiBzdHJpbmc7IGNvbnRlbnQ6IHN0cmluZyB9Pih7IG5hbWU6ICcnLCBjb250ZW50OiAnJyB9KVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZVxuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXRcbiAgY29uc3QgY2FuRGVsZXRlID0gISF1c2VyUGVybWlzc2lvbnM/LmRlbGV0ZVxuXG4gIGNvbnN0IG5hbWUgPSB2YWx1ZXMuZ2VuZXJhbD8ubmFtZSB8fCAnJ1xuICBjb25zdCBjb250ZW50ID0gdmFsdWVzLmdlbmVyYWw/LmNvbnRlbnQgfHwgJydcbiAgY29uc3Qgc2tpbGxJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICBjb25zdCBpc1ZhbGlkID0gISFuYW1lLnRyaW0oKSAmJiAhIWNvbnRlbnQudHJpbSgpXG4gIGNvbnN0IGhhc0NoYW5nZXMgPSBuYW1lLnRyaW0oKSAhPT0gaW5pdGlhbFJlZi5jdXJyZW50Lm5hbWUgfHwgY29udGVudC50cmltKCkgIT09IGluaXRpYWxSZWYuY3VycmVudC5jb250ZW50XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIHNldFNob3dEZWxldGUoZmFsc2UpXG4gICAgc2V0U2hvd1ByZXZpZXcoZmFsc2UpXG4gICAgc2V0UGVuZGluZ1VwbG9hZChmYWxzZSlcbiAgICBzZXRWYWx1ZXMoaW5pdGlhbFZhbHVlcylcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXRTa2lsbFZhbHVlcyA9IChldmVudDogYW55KSA9PiB7XG4gICAgICBjb25zdCB7IHNraWxsVmFsdWVzIH0gPSBldmVudC5kZXRhaWwgfHwge31cbiAgICAgIGlmICghc2tpbGxWYWx1ZXMpIHJldHVyblxuICAgICAgY29uc3QgaW5jb21pbmdOYW1lID0gKHNraWxsVmFsdWVzLnZhbHVlcz8uZ2VuZXJhbD8ubmFtZSB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0NvbnRlbnQgPSAoc2tpbGxWYWx1ZXMudmFsdWVzPy5nZW5lcmFsPy5jb250ZW50IHx8ICcnKS50cmltKClcbiAgICAgIC8vIEVkaXRpbmcgYW4gZXhpc3Rpbmcgc2tpbGwgLT4gYmFzZWxpbmUgaXMgaXRzIHZhbHVlczsgY3JlYXRpbmcgLT4gZW1wdHkgYmFzZWxpbmUuXG4gICAgICBpbml0aWFsUmVmLmN1cnJlbnQgPSBza2lsbFZhbHVlcy52YWx1ZXM/LmlzRWRpdGluZ1xuICAgICAgICA/IHsgbmFtZTogaW5jb21pbmdOYW1lLCBjb250ZW50OiBpbmNvbWluZ0NvbnRlbnQgfVxuICAgICAgICA6IHsgbmFtZTogJycsIGNvbnRlbnQ6ICcnIH1cblxuICAgICAgc2V0VmFsdWVzKHtcbiAgICAgICAgLi4uaW5pdGlhbFZhbHVlcyxcbiAgICAgICAgLi4uc2tpbGxWYWx1ZXMudmFsdWVzLFxuICAgICAgICBnZW5lcmFsOiB7IC4uLmluaXRpYWxWYWx1ZXMuZ2VuZXJhbCwgLi4uc2tpbGxWYWx1ZXMudmFsdWVzPy5nZW5lcmFsIH0sXG4gICAgICB9KVxuICAgICAgLy8gQ29uIGNvbnRlbmlkbyAoZWRpY2nDs24gbyBza2lsbCB5YSBnZW5lcmFkYSkgYXJyYW5jYW1vcyBlbiBcIlZpc3RhIHByZXZpYVwiOyB2YWPDrWEsIGVuIFwiRWRpdGFyXCIuXG4gICAgICBjb25zdCBoYXNDb250ZW50ID0gISFza2lsbFZhbHVlcy52YWx1ZXM/LmdlbmVyYWw/LmNvbnRlbnQ/LnRyaW0oKVxuICAgICAgc2V0U2hvd1ByZXZpZXcoaGFzQ29udGVudClcbiAgICAgIC8vIFNpIHZpbm8gY29uIGludGVudCBcInVwbG9hZFwiLCBhYnJpbW9zIGVsIHNlbGVjdG9yIGRlIGFyY2hpdm9zIGFsIG1vbnRhci5cbiAgICAgIHNldFBlbmRpbmdVcGxvYWQoc2tpbGxWYWx1ZXMudmFsdWVzPy5pbnRlbnQgPT09ICd1cGxvYWQnKVxuICAgICAgc2V0SXNPcGVuKCEhc2tpbGxWYWx1ZXMuaXNPcGVuKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBXaGVuIG9wZW5lZCB3aXRoIHRoZSBcInVwbG9hZFwiIGludGVudCwgb3BlbiB0aGUgT1MgZmlsZSBwaWNrZXIgb25jZSBtb3VudGVkLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4gJiYgcGVuZGluZ1VwbG9hZCkge1xuICAgICAgc2V0UGVuZGluZ1VwbG9hZChmYWxzZSlcbiAgICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gICAgfVxuICB9LCBbaXNPcGVuLCBwZW5kaW5nVXBsb2FkXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VGaWVsZCA9IChmaWVsZDogJ25hbWUnIHwgJ2NvbnRlbnQnLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7IC4uLnByZXYuZ2VuZXJhbCwgW2ZpZWxkXTogdmFsdWUgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwbG9hZENsaWNrID0gKCkgPT4ge1xuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gYXN5bmMgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXM/LlswXVxuICAgIC8vIFJlc2V0IHRoZSBpbnB1dCAodmlhIHJlZikgc28gc2VsZWN0aW5nIHRoZSBzYW1lIGZpbGUgYWdhaW4gc3RpbGwgZmlyZXMgb25DaGFuZ2UuXG4gICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgfVxuICAgIGlmICghZmlsZSkgcmV0dXJuXG5cbiAgICBjb25zdCBpc01hcmtkb3duID0gL1xcLihtZHxtYXJrZG93bikkL2kudGVzdChmaWxlLm5hbWUpXG4gICAgaWYgKCFpc01hcmtkb3duKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZEVycm9yJykpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGZpbGUudGV4dCgpXG4gICAgICBjb25zdCBiYXNlTmFtZSA9IGZpbGUubmFtZS5yZXBsYWNlKC9cXC4obWR8bWFya2Rvd24pJC9pLCAnJylcbiAgICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5wcmV2LmdlbmVyYWwsXG4gICAgICAgICAgY29udGVudDogdGV4dCxcbiAgICAgICAgICAvLyBPbmx5IGZpbGwgdGhlIG5hbWUgZnJvbSB0aGUgZmlsZW5hbWUgd2hlbiBpdCdzIHN0aWxsIGVtcHR5LlxuICAgICAgICAgIG5hbWU6IHByZXYuZ2VuZXJhbD8ubmFtZT8udHJpbSgpID8gcHJldi5nZW5lcmFsLm5hbWUgOiBiYXNlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pKVxuICAgICAgLy8gVHJhcyBzdWJpciB1biAubWQgbW9zdHJhbW9zIGVsIHJlc3VsdGFkbyByZW5kZXJpemFkbyBwb3IgZGVmZWN0by5cbiAgICAgIHNldFNob3dQcmV2aWV3KHRydWUpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBpZiAodmFsdWVzLmlzRWRpdGluZyAmJiBza2lsbElkKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBhd2FpdCB1cGRhdGVTa2lsbChza2lsbElkLCB7IG5hbWU6IG5hbWUudHJpbSgpLCBjb250ZW50OiBjb250ZW50LnRyaW0oKSB9KVxuICAgICAgICB1cGRhdGVTa2lsbEluTGlzdD8uKHVwZGF0ZWQpXG4gICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy51cGRhdGVTdWNjZXNzJykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjcmVhdGVkID0gYXdhaXQgY3JlYXRlU2tpbGwoeyBuYW1lOiBuYW1lLnRyaW0oKSwgY29udGVudDogY29udGVudC50cmltKCkgfSlcbiAgICAgICAgYWRkU2tpbGw/LihjcmVhdGVkKVxuICAgICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuY3JlYXRlU3VjY2VzcycpKVxuICAgICAgfVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy51cGRhdGVFcnJvcicpIDogdCgnbXlTa2lsbHMuY3JlYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNTdWJtaXR0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1EZWxldGUgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFza2lsbElkKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZGVsZXRlU2tpbGwoc2tpbGxJZClcbiAgICAgIHJlbW92ZVNraWxsPy4oc2tpbGxJZClcbiAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy5kZWxldGVTdWNjZXNzJykpXG4gICAgICBoYW5kbGVDbG9zZSgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMuZGVsZXRlRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBpZiAoIWlzT3BlbikgcmV0dXJuIG51bGxcbiAgaWYgKCFjYW5DcmVhdGUgJiYgIWNhbkVkaXQgJiYgIWNhbkRlbGV0ZSkgcmV0dXJuIG51bGxcblxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtcm9vdC1hY3Rpb25zJylcbiAgaWYgKCFjb250YWluZXIpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChcbiAgICA8QmFja2Ryb3AgekluZGV4PXsxMTEyfSBvbkNsaWNrPXtoYW5kbGVDbG9zZX0+XG4gICAgICA8U0NBU01XcmFwcGVyIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgICAgPFNDQVNNSGVhZGVyPlxuICAgICAgICAgIDxTQ0FTTUhlYWRlclRpdGxlPnt2YWx1ZXMuaXNFZGl0aW5nID8gdCgnbXlTa2lsbHMuZWRpdFRpdGxlJykgOiB0KCdteVNraWxscy5jcmVhdGVUaXRsZScpfTwvU0NBU01IZWFkZXJUaXRsZT5cbiAgICAgICAgICA8U0NBU01DbG9zZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2xvc2V9IGFyaWEtbGFiZWw9e3QoJ215U2tpbGxzLmNsb3NlJyl9PlxuICAgICAgICAgICAgPENyb3NzIGNvbG9yPVwiI2E2YTZhNlwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICA8L1NDQVNNQ2xvc2VCdXR0b24+XG4gICAgICAgIDwvU0NBU01IZWFkZXI+XG5cbiAgICAgICAgPFNDQVNNQ29udGVudD5cbiAgICAgICAgICA8U0NBU01GaWVsZD5cbiAgICAgICAgICAgIDxTQ0FTTUxhYmVsIGh0bWxGb3I9XCJza2lsbC1uYW1lLWlucHV0XCI+e3QoJ215U2tpbGxzLm5hbWVMYWJlbCcpfTwvU0NBU01MYWJlbD5cbiAgICAgICAgICAgIDxTQ0FTTUlucHV0XG4gICAgICAgICAgICAgIGlkPVwic2tpbGwtbmFtZS1pbnB1dFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgbWF4TGVuZ3RoPXsxNTB9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5uYW1lUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgdmFsdWU9e25hbWV9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiBoYW5kbGVDaGFuZ2VGaWVsZCgnbmFtZScsIGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU0NBU01GaWVsZD5cblxuICAgICAgICAgIDxTQ0FTTUZpZWxkPlxuICAgICAgICAgICAgPFNDQVNNRmllbGRIZWFkZXI+XG4gICAgICAgICAgICAgIDxTQ0FTTUxhYmVsIGh0bWxGb3I9XCJza2lsbC1jb250ZW50LWlucHV0XCI+e3QoJ215U2tpbGxzLmNvbnRlbnRMYWJlbCcpfTwvU0NBU01MYWJlbD5cbiAgICAgICAgICAgICAgPFNDQVNNSGVhZGVyQWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8U0NBU01VcGxvYWRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVVwbG9hZENsaWNrfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy51cGxvYWRNZCcpfVxuICAgICAgICAgICAgICAgIDwvU0NBU01VcGxvYWRCdXR0b24+XG4gICAgICAgICAgICAgICAgPFNDQVNNSGlkZGVuRmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgIGFjY2VwdD1cIi5tZCwubWFya2Rvd24sdGV4dC9tYXJrZG93blwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxTQ0FTTVRvZ2dsZUdyb3VwPlxuICAgICAgICAgICAgICAgICAgPFNDQVNNVG9nZ2xlQnV0dG9uIHR5cGU9XCJidXR0b25cIiAkYWN0aXZlPXshc2hvd1ByZXZpZXd9IG9uQ2xpY2s9eygpID0+IHNldFNob3dQcmV2aWV3KGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5lZGl0Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQVNNVG9nZ2xlQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPFNDQVNNVG9nZ2xlQnV0dG9uIHR5cGU9XCJidXR0b25cIiAkYWN0aXZlPXtzaG93UHJldmlld30gb25DbGljaz17KCkgPT4gc2V0U2hvd1ByZXZpZXcodHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMucHJldmlldycpfVxuICAgICAgICAgICAgICAgICAgPC9TQ0FTTVRvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1NDQVNNVG9nZ2xlR3JvdXA+XG4gICAgICAgICAgICAgIDwvU0NBU01IZWFkZXJBY3Rpb25zPlxuICAgICAgICAgICAgPC9TQ0FTTUZpZWxkSGVhZGVyPlxuICAgICAgICAgICAge3Nob3dQcmV2aWV3ID8gKFxuICAgICAgICAgICAgICA8U0NBU01QcmV2aWV3PlxuICAgICAgICAgICAgICAgIHtjb250ZW50LnRyaW0oKSA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHJlYW1kb3duXG4gICAgICAgICAgICAgICAgICAgIHBsdWdpbnM9e3sgY29kZTogY29kZVBsdWdpbiB9fVxuICAgICAgICAgICAgICAgICAgICByZWh5cGVQbHVnaW5zPXtNQUlBX1NUUkVBTURPV05fUkVIWVBFX1BMVUdJTlN9XG4gICAgICAgICAgICAgICAgICAgIC8vIFNraWxsIGNvbnRlbnQgaXMgYXJiaXRyYXJ5IHVzZXIgaW5wdXQg4oCUIGtlZXAgbGluayBzYWZldHkgT04gc28gdW5zYWZlXG4gICAgICAgICAgICAgICAgICAgIC8vIFVSSXMgKGUuZy4gamF2YXNjcmlwdDopIGFyZSBzYW5pdGl6ZWQgaW5zdGVhZCBvZiByZW5kZXJlZCBhcyBjbGlja2FibGUgbGlua3MuXG4gICAgICAgICAgICAgICAgICAgIGxpbmtTYWZldHk9e3sgZW5hYmxlZDogdHJ1ZSB9fVxuICAgICAgICAgICAgICAgICAgICBzaGlraVRoZW1lPXtbJ2dpdGh1Yi1saWdodCcsICdnaXRodWItbGlnaHQnXX1cbiAgICAgICAgICAgICAgICAgICAgY29udHJvbHM9e3sgdGFibGU6IGZhbHNlLCBjb2RlOiBmYWxzZSB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y29udGVudH1cbiAgICAgICAgICAgICAgICAgIDwvU3RyZWFtZG93bj5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPFNDQVNNUHJldmlld0VtcHR5Pnt0KCdteVNraWxscy5wcmV2aWV3RW1wdHknKX08L1NDQVNNUHJldmlld0VtcHR5PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NBU01QcmV2aWV3PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNDQVNNVGV4dGFyZWFcbiAgICAgICAgICAgICAgICBpZD1cInNraWxsLWNvbnRlbnQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIG1heExlbmd0aD17MjAwMDB9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmNvbnRlbnRQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjb250ZW50fVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IGhhbmRsZUNoYW5nZUZpZWxkKCdjb250ZW50JywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0FTTUZpZWxkPlxuICAgICAgICA8L1NDQVNNQ29udGVudD5cblxuICAgICAgICA8U0NBU01Gb290ZXI+XG4gICAgICAgICAge3ZhbHVlcy5pc0VkaXRpbmcgJiYgY2FuRGVsZXRlID8gKFxuICAgICAgICAgICAgPFNDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICAgICAgPFNDQVNNQ2FuY2VsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93RGVsZXRlKHRydWUpfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZGVsZXRlJyl9XG4gICAgICAgICAgICAgIDwvU0NBU01DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICA8L1NDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8U0NBU01DYW5jZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHt0KCdteVNraWxscy5jYW5jZWwnKX1cbiAgICAgICAgICA8L1NDQVNNQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgIDxTQ0FTTVNhdmVCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVNhdmV9IGRpc2FibGVkPXshaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcgfHwgIWhhc0NoYW5nZXN9PlxuICAgICAgICAgICAge2lzU3VibWl0dGluZyA/IDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz4gOiB0KCdteVNraWxscy5zYXZlJyl9XG4gICAgICAgICAgPC9TQ0FTTVNhdmVCdXR0b24+XG4gICAgICAgIDwvU0NBU01Gb290ZXI+XG4gICAgICA8L1NDQVNNV3JhcHBlcj5cblxuICAgICAge3Nob3dEZWxldGUgJiYgc2tpbGxJZCA/IChcbiAgICAgICAgPERlbGV0ZVF1ZXN0aW9uTW9kYWxcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTaG93RGVsZXRlKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbjogaGFuZGxlQ29uZmlybURlbGV0ZSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNoYXQ9e3sgdGl0bGU6IG5hbWUsIGlkOiBza2lsbElkIH19XG4gICAgICAgICAgYWN0aW9uPVwic2tpbGxcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9CYWNrZHJvcD4sXG4gICAgY29udGFpbmVyXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFzQkEsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDN0UsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxVQUFVLFFBQVEsWUFBWTtBQUN2QyxTQUFTQyxnQkFBZ0IsUUFBUSxrQkFBa0I7QUFDbkQsU0FBU0MsUUFBUSxRQUFRLHNCQUFzQjtBQUMvQyxTQUFTQyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQVNDLDhCQUE4QixRQUFRLDRDQUE0QztBQUMzRixTQUFTQyxRQUFRLFFBQVEsMkJBQTJCO0FBQ3BELFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0Msa0JBQWtCLFFBQVEsc0RBQXNEO0FBQ3pGLFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFDdkUsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUN2RSxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBRXZFLFNBQVNDLG1CQUFtQixRQUFRLDRDQUE0QztBQUNoRixTQUNFQyxpQkFBaUIsRUFDakJDLGdCQUFnQixFQUNoQkMsWUFBWSxFQUNaQyxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsZ0JBQWdCLEVBQ2hCQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsaUJBQWlCLEVBQ2pCQyxlQUFlLEVBQ2ZDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ2pCQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsWUFBWSxRQUNQLHdCQUF3QjtBQUFBLFNBQUFDLEdBQUEs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
@@ -1,98 +0,0 @@
1
- import styled from 'styled-components';
2
- export var SCASMWrapper = styled.div.withConfig({
3
- displayName: "AbmSkillModalstyles__SCASMWrapper",
4
- componentId: "sc-x2stxd-0"
5
- })(["background-color:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.12);width:760px;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);z-index:1001;position:relative;display:flex;flex-direction:column;gap:20px;overflow-y:auto;"]);
6
- export var SCASMHeader = styled.div.withConfig({
7
- displayName: "AbmSkillModalstyles__SCASMHeader",
8
- componentId: "sc-x2stxd-1"
9
- })(["display:flex;align-items:center;justify-content:space-between;gap:8px;"]);
10
- export var SCASMHeaderTitle = styled.span.withConfig({
11
- displayName: "AbmSkillModalstyles__SCASMHeaderTitle",
12
- componentId: "sc-x2stxd-2"
13
- })(["font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;line-height:122%;color:#20201f;"]);
14
- export var SCASMCloseButton = styled.button.withConfig({
15
- displayName: "AbmSkillModalstyles__SCASMCloseButton",
16
- componentId: "sc-x2stxd-3"
17
- })(["display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:4px;border-radius:4px;&:hover{background:#f9f9f9;}"]);
18
- export var SCASMContent = styled.div.withConfig({
19
- displayName: "AbmSkillModalstyles__SCASMContent",
20
- componentId: "sc-x2stxd-4"
21
- })(["display:flex;flex-direction:column;gap:16px;"]);
22
- export var SCASMField = styled.div.withConfig({
23
- displayName: "AbmSkillModalstyles__SCASMField",
24
- componentId: "sc-x2stxd-5"
25
- })(["display:flex;flex-direction:column;gap:6px;"]);
26
- export var SCASMFieldHeader = styled.div.withConfig({
27
- displayName: "AbmSkillModalstyles__SCASMFieldHeader",
28
- componentId: "sc-x2stxd-6"
29
- })(["display:flex;align-items:center;justify-content:space-between;gap:8px;"]);
30
- export var SCASMHeaderActions = styled.div.withConfig({
31
- displayName: "AbmSkillModalstyles__SCASMHeaderActions",
32
- componentId: "sc-x2stxd-7"
33
- })(["display:flex;align-items:center;gap:12px;"]);
34
- export var SCASMToggleGroup = styled.div.withConfig({
35
- displayName: "AbmSkillModalstyles__SCASMToggleGroup",
36
- componentId: "sc-x2stxd-8"
37
- })(["display:flex;gap:4px;"]);
38
- export var SCASMUploadButton = styled.button.withConfig({
39
- displayName: "AbmSkillModalstyles__SCASMUploadButton",
40
- componentId: "sc-x2stxd-9"
41
- })(["display:inline-flex;align-items:center;gap:6px;border:1px solid #d9d9d9;background:#fff;color:#20201f;font-family:'Work Sans',sans-serif;font-size:12px;font-weight:400;padding:5px 10px;border-radius:4px;cursor:pointer;&:hover{background:#f9f9f9;}&:disabled{opacity:0.5;cursor:not-allowed;}"]);
42
-
43
- /* Visually-hidden but still focusable/clickable via ref. Avoids relying on
44
- display:none, which a global input style in the host app can override. */
45
- export var SCASMHiddenFileInput = styled.input.withConfig({
46
- displayName: "AbmSkillModalstyles__SCASMHiddenFileInput",
47
- componentId: "sc-x2stxd-10"
48
- })(["position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;"]);
49
- export var SCASMToggleButton = styled.button.withConfig({
50
- displayName: "AbmSkillModalstyles__SCASMToggleButton",
51
- componentId: "sc-x2stxd-11"
52
- })(["border:none;background:", ";color:", ";font-family:'Work Sans',sans-serif;font-size:12px;font-weight:", ";padding:4px 10px;border-radius:4px;cursor:pointer;&:hover{background:#f0f0f0;}"], function (_ref) {
53
- var $active = _ref.$active;
54
- return $active ? '#f0f0f0' : 'transparent';
55
- }, function (_ref2) {
56
- var $active = _ref2.$active;
57
- return $active ? '#20201f' : '#999';
58
- }, function (_ref3) {
59
- var $active = _ref3.$active;
60
- return $active ? 500 : 400;
61
- });
62
- export var SCASMPreview = styled.div.withConfig({
63
- displayName: "AbmSkillModalstyles__SCASMPreview",
64
- componentId: "sc-x2stxd-12"
65
- })(["width:100%;box-sizing:border-box;min-height:360px;max-height:50vh;overflow-y:auto;padding:12px;border-radius:6px;border:1px solid #d9d9d9;background:#fbfbfb;font-family:'Work Sans',sans-serif;font-size:14px;line-height:1.5;color:#20201f;word-break:break-word;& > *:first-child{margin-top:0;}& > *:last-child{margin-bottom:0;}pre{overflow-x:auto;}code{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;}"]);
66
- export var SCASMPreviewEmpty = styled.span.withConfig({
67
- displayName: "AbmSkillModalstyles__SCASMPreviewEmpty",
68
- componentId: "sc-x2stxd-13"
69
- })(["color:#999;font-style:italic;font-size:13px;"]);
70
- export var SCASMLabel = styled.label.withConfig({
71
- displayName: "AbmSkillModalstyles__SCASMLabel",
72
- componentId: "sc-x2stxd-14"
73
- })(["font-family:'Work Sans',sans-serif;font-size:12px;font-weight:500;color:#666;"]);
74
- export var SCASMInput = styled.input.withConfig({
75
- displayName: "AbmSkillModalstyles__SCASMInput",
76
- componentId: "sc-x2stxd-15"
77
- })(["width:100%;box-sizing:border-box;padding:10px 12px;border-radius:6px;border:1px solid #d9d9d9;font-family:'Work Sans',sans-serif;font-size:14px;color:#20201f;outline:none;&:focus{border-color:#2d77bd;}&::placeholder{color:#999;}"]);
78
- export var SCASMTextarea = styled.textarea.withConfig({
79
- displayName: "AbmSkillModalstyles__SCASMTextarea",
80
- componentId: "sc-x2stxd-16"
81
- })(["width:100%;box-sizing:border-box;min-height:360px;resize:vertical;padding:10px 12px;border-radius:6px;border:1px solid #d9d9d9;font-family:'Work Sans',sans-serif;font-size:14px;line-height:140%;color:#20201f;outline:none;&:focus{border-color:#2d77bd;}&::placeholder{color:#999;}"]);
82
- export var SCASMFooter = styled.div.withConfig({
83
- displayName: "AbmSkillModalstyles__SCASMFooter",
84
- componentId: "sc-x2stxd-17"
85
- })(["display:flex;gap:12px;justify-content:flex-end;align-items:center;"]);
86
- export var SCASMDeleteSlot = styled.div.withConfig({
87
- displayName: "AbmSkillModalstyles__SCASMDeleteSlot",
88
- componentId: "sc-x2stxd-18"
89
- })(["margin-right:auto;button{color:#c70505 !important;}"]);
90
- export var SCASMSaveButton = styled.button.withConfig({
91
- displayName: "AbmSkillModalstyles__SCASMSaveButton",
92
- componentId: "sc-x2stxd-19"
93
- })(["display:flex;min-width:80px;padding:10px 16px;justify-content:center;align-items:center;gap:8px;border-radius:4px;border:none;cursor:pointer;box-sizing:border-box;background:linear-gradient(0deg,#4d3569 0%,#2d77bd 100%);color:#fff;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:16px;&:disabled{opacity:0.5;cursor:not-allowed;}&:not(:disabled):hover{opacity:0.92;}"]);
94
- export var SCASMCancelButton = styled.button.withConfig({
95
- displayName: "AbmSkillModalstyles__SCASMCancelButton",
96
- componentId: "sc-x2stxd-20"
97
- })(["display:flex;padding:10px 16px;justify-content:center;align-items:center;border-radius:4px;border:none;background:transparent;cursor:pointer;color:#20201f;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:16px;&:hover{background:#f0f0f0;}"]);
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0FTTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQVNNSGVhZGVyIiwiU0NBU01IZWFkZXJUaXRsZSIsInNwYW4iLCJTQ0FTTUNsb3NlQnV0dG9uIiwiYnV0dG9uIiwiU0NBU01Db250ZW50IiwiU0NBU01GaWVsZCIsIlNDQVNNRmllbGRIZWFkZXIiLCJTQ0FTTUhlYWRlckFjdGlvbnMiLCJTQ0FTTVRvZ2dsZUdyb3VwIiwiU0NBU01VcGxvYWRCdXR0b24iLCJTQ0FTTUhpZGRlbkZpbGVJbnB1dCIsImlucHV0IiwiU0NBU01Ub2dnbGVCdXR0b24iLCJfcmVmIiwiJGFjdGl2ZSIsIl9yZWYyIiwiX3JlZjMiLCJTQ0FTTVByZXZpZXciLCJTQ0FTTVByZXZpZXdFbXB0eSIsIlNDQVNNTGFiZWwiLCJsYWJlbCIsIlNDQVNNSW5wdXQiLCJTQ0FTTVRleHRhcmVhIiwidGV4dGFyZWEiLCJTQ0FTTUZvb3RlciIsIlNDQVNNRGVsZXRlU2xvdCIsIlNDQVNNU2F2ZUJ1dHRvbiIsIlNDQVNNQ2FuY2VsQnV0dG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0FibVNraWxsTW9kYWwvQWJtU2tpbGxNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ0FTTVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgd2lkdGg6IDc2MHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA0OHB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xuICB6LWluZGV4OiAxMDAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjIlO1xuICBjb2xvcjogIzIwMjAxZjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNQ2xvc2VCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBU01Db250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01GaWVsZCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01GaWVsZEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FTTUhlYWRlckFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FTTVRvZ2dsZUdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FTTVVwbG9hZEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmBcblxuLyogVmlzdWFsbHktaGlkZGVuIGJ1dCBzdGlsbCBmb2N1c2FibGUvY2xpY2thYmxlIHZpYSByZWYuIEF2b2lkcyByZWx5aW5nIG9uXG4gICBkaXNwbGF5Om5vbmUsIHdoaWNoIGEgZ2xvYmFsIGlucHV0IHN0eWxlIGluIHRoZSBob3N0IGFwcCBjYW4gb3ZlcnJpZGUuICovXG5leHBvcnQgY29uc3QgU0NBU01IaWRkZW5GaWxlSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01Ub2dnbGVCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJyNmMGYwZjAnIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjb2xvcjogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJyMyMDIwMWYnIDogJyM5OTknKX07XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gNTAwIDogNDAwKX07XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBU01QcmV2aWV3ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBtYXgtaGVpZ2h0OiA1MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJhY2tncm91bmQ6ICNmYmZiZmI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzIwMjAxZjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHByZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgfVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJ1NGTW9uby1SZWd1bGFyJywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBU01QcmV2aWV3RW1wdHkgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxM3B4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01MYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNjY2O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01JbnB1dCA9IHN0eWxlZC5pbnB1dGBcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIG91dGxpbmU6IG5vbmU7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJkNzdiZDtcbiAgfVxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNVGV4dGFyZWEgPSBzdHlsZWQudGV4dGFyZWFgXG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIG91dGxpbmU6IG5vbmU7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJkNzdiZDtcbiAgfVxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBU01EZWxldGVTbG90ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBidXR0b24ge1xuICAgIGNvbG9yOiAjYzcwNTA1ICFpbXBvcnRhbnQ7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQVNNU2F2ZUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogODBweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45MjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBU01DYW5jZWxCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgJjpob3ZlciB7XG4gICAgYmFj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