@projectcor/maia-components 2.11.65 → 2.11.66-0

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 (50) hide show
  1. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
  2. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +4 -2
  3. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +34 -6
  6. package/lib/components/atoms/icons/MAIAIsologo.js +5 -2
  7. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  8. package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
  9. package/lib/components/atoms/icons/index.js +3 -1
  10. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +19 -2
  11. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +38 -4
  12. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
  13. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  14. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +123 -28
  15. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +66 -41
  16. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
  17. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
  18. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  19. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  20. package/lib/components/molecules/Sidebar/Sidebar.js +19 -5
  21. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -14
  22. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +160 -0
  23. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  24. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  25. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +446 -0
  26. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
  27. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  28. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
  29. package/lib/constants/config.js +4 -1
  30. package/lib/constants/permissions/index.js +2 -2
  31. package/lib/constants/permissions/utils.js +4 -1
  32. package/lib/hooks/useContextMentions.js +47 -9
  33. package/lib/hooks/useEntitySearch.js +294 -108
  34. package/lib/hooks/useMentionAllowedTypes.js +19 -4
  35. package/lib/hooks/useMentionPopover.js +35 -15
  36. package/lib/lang/br/index.js +59 -5
  37. package/lib/lang/en/index.js +59 -5
  38. package/lib/lang/es/index.js +59 -5
  39. package/lib/lang/fr/index.js +59 -5
  40. package/lib/services/maia/Agents/getAgents.js +92 -20
  41. package/lib/services/maia/Skills/createSkill.js +39 -0
  42. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  43. package/lib/services/maia/Skills/generateSkill.js +41 -0
  44. package/lib/services/maia/Skills/getSkills.js +90 -0
  45. package/lib/services/maia/Skills/updateSkill.js +39 -0
  46. package/lib/types/contextMention.js +1 -1
  47. package/lib/types/skill.js +2 -0
  48. package/lib/utils/contextMentionIcons.js +29 -1
  49. package/lib/utils/renderContextMentions.js +9 -4
  50. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
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
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+ import { useState, useCallback } from 'react';
9
+ import { fetchMaia } from '../client';
10
+ export var useGetSkills = function useGetSkills() {
11
+ var _useState = useState([]),
12
+ _useState2 = _slicedToArray(_useState, 2),
13
+ skills = _useState2[0],
14
+ setSkills = _useState2[1];
15
+ var _useState3 = useState(false),
16
+ _useState4 = _slicedToArray(_useState3, 2),
17
+ loading = _useState4[0],
18
+ setLoading = _useState4[1];
19
+ var _useState5 = useState(null),
20
+ _useState6 = _slicedToArray(_useState5, 2),
21
+ error = _useState6[0],
22
+ setError = _useState6[1];
23
+ var handleGetSkills = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
+ var response, data, _t;
25
+ return _regeneratorRuntime.wrap(function (_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ setLoading(true);
29
+ setError(null);
30
+ _context.prev = 1;
31
+ _context.next = 2;
32
+ return fetchMaia({
33
+ path: 'skills?limit=100&offset=0',
34
+ method: 'GET'
35
+ });
36
+ case 2:
37
+ response = _context.sent;
38
+ _context.next = 3;
39
+ return response.json();
40
+ case 3:
41
+ data = _context.sent;
42
+ setSkills(data.data || []);
43
+ _context.next = 5;
44
+ break;
45
+ case 4:
46
+ _context.prev = 4;
47
+ _t = _context["catch"](1);
48
+ setError(_t instanceof Error ? _t.message : 'An unknown error occurred');
49
+ case 5:
50
+ _context.prev = 5;
51
+ setLoading(false);
52
+ return _context.finish(5);
53
+ case 6:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }, _callee, null, [[1, 4, 5, 6]]);
58
+ })), []);
59
+ var addSkill = useCallback(function (newSkill) {
60
+ setSkills(function (prev) {
61
+ return prev.some(function (skill) {
62
+ return skill.id === newSkill.id;
63
+ }) ? prev : [newSkill].concat(_toConsumableArray(prev));
64
+ });
65
+ }, []);
66
+ var updateSkillInList = useCallback(function (updatedSkill) {
67
+ setSkills(function (prev) {
68
+ return prev.map(function (skill) {
69
+ return skill.id === updatedSkill.id ? _objectSpread(_objectSpread({}, skill), updatedSkill) : skill;
70
+ });
71
+ });
72
+ }, []);
73
+ var removeSkill = useCallback(function (skillId) {
74
+ setSkills(function (prev) {
75
+ return prev.filter(function (skill) {
76
+ return skill.id !== skillId;
77
+ });
78
+ });
79
+ }, []);
80
+ return {
81
+ skills: skills,
82
+ loading: loading,
83
+ error: error,
84
+ handleGetSkills: handleGetSkills,
85
+ addSkill: addSkill,
86
+ updateSkillInList: updateSkillInList,
87
+ removeSkill: removeSkill
88
+ };
89
+ };
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZmV0Y2hNYWlhIiwidXNlR2V0U2tpbGxzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2tpbGxzIiwic2V0U2tpbGxzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldFNraWxscyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJkYXRhIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsIkVycm9yIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJhZGRTa2lsbCIsIm5ld1NraWxsIiwic29tZSIsInNraWxsIiwiaWQiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInVwZGF0ZWRTa2lsbCIsIm1hcCIsIl9vYmplY3RTcHJlYWQiLCJyZW1vdmVTa2lsbCIsInNraWxsSWQiLCJmaWx0ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Ta2lsbHMvZ2V0U2tpbGxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgU2tpbGwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuZXhwb3J0IGNvbnN0IHVzZUdldFNraWxscyA9ICgpID0+IHtcbiAgY29uc3QgW3NraWxscywgc2V0U2tpbGxzXSA9IHVzZVN0YXRlPFNraWxsW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldFNraWxscyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6ICdza2lsbHM/bGltaXQ9MTAwJm9mZnNldD0wJyxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICBzZXRTa2lsbHMoZGF0YS5kYXRhIHx8IFtdKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGFkZFNraWxsID0gdXNlQ2FsbGJhY2soKG5ld1NraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IChwcmV2LnNvbWUoc2tpbGwgPT4gc2tpbGwuaWQgPT09IG5ld1NraWxsLmlkKSA/IHByZXYgOiBbbmV3U2tpbGwsIC4uLnByZXZdKSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlU2tpbGxJbkxpc3QgPSB1c2VDYWxsYmFjaygodXBkYXRlZFNraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IHByZXYubWFwKHNraWxsID0+IChza2lsbC5pZCA9PT0gdXBkYXRlZFNraWxsLmlkID8geyAuLi5za2lsbCwgLi4udXBkYXRlZFNraWxsIH0gOiBza2lsbCkpKVxuICB9LCBbXSlcblxuICBjb25zdCByZW1vdmVTa2lsbCA9IHVzZUNhbGxiYWNrKChza2lsbElkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTa2lsbHMocHJldiA9PiBwcmV2LmZpbHRlcihza2lsbCA9PiBza2lsbC5pZCAhPT0gc2tpbGxJZCkpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgc2tpbGxzLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgaGFuZGxlR2V0U2tpbGxzLFxuICAgIGFkZFNraWxsLFxuICAgIHVwZGF0ZVNraWxsSW5MaXN0LFxuICAgIHJlbW92ZVNraWxsLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQzdDLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBR3JDLE9BQU8sSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztFQUNoQyxJQUFBQyxTQUFBLEdBQTRCSixRQUFRLENBQVUsRUFBRSxDQUFDO0lBQUFLLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBOEJULFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQVUsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQmIsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWMsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBaERFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFFdEIsSUFBTUcsZUFBZSxHQUFHaEIsV0FBVyxjQUFBaUIsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUFDLFFBQUE7SUFBQSxJ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
@@ -0,0 +1,39 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { fetchMaia } from '../client';
4
+ export var updateSkill = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(skillId, skill) {
6
+ var response, data;
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ _context.next = 1;
11
+ return fetchMaia({
12
+ path: "skills/".concat(skillId),
13
+ method: 'PUT',
14
+ body: skill
15
+ });
16
+ case 1:
17
+ response = _context.sent;
18
+ if (response.ok) {
19
+ _context.next = 2;
20
+ break;
21
+ }
22
+ throw new Error('Failed to update skill');
23
+ case 2:
24
+ _context.next = 3;
25
+ return response.json();
26
+ case 3:
27
+ data = _context.sent;
28
+ return _context.abrupt("return", data);
29
+ case 4:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }, _callee);
34
+ }));
35
+ return function updateSkill(_x, _x2) {
36
+ return _ref.apply(this, arguments);
37
+ };
38
+ }();
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJ1cGRhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsSWQiLCJza2lsbCIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsImJvZHkiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuXG5leHBvcnQgdHlwZSBTa2lsbFVwZGF0ZVJlcXVlc3QgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVNraWxsID0gYXN5bmMgKHNraWxsSWQ6IHN0cmluZywgc2tpbGw6IFNraWxsVXBkYXRlUmVxdWVzdCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBza2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBib2R5OiBza2lsbCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBUXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE9BQWUsRUFBRUMsS0FBeUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTixtQkFBQSxDQUFBTyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ25EZCxTQUFTLENBQUM7WUFDL0JlLElBQUksWUFBQUMsTUFBQSxDQUFZVCxPQUFPLENBQUU7WUFDekJVLE1BQU0sRUFBRSxLQUFLO1lBQ2JDLElBQUksRUFBRVY7VUFDUixDQUFDLENBQUM7UUFBQTtVQUpJQyxRQUFRLEdBQUFHLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLElBTVRWLFFBQVEsQ0FBQ1csRUFBRTtZQUFBUixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFDUixJQUFJTyxLQUFLLENBQUMsd0JBQXdCLENBQUM7UUFBQTtVQUFBVCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUd4QkwsUUFBUSxDQUFDYSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQTVCWixJQUFJLEdBQUFFLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLE9BQUFQLFFBQUEsQ0FBQVcsTUFBQSxXQUVIYixJQUFJO1FBQUE7UUFBQTtVQUFBLE9BQUFFLFFBQUEsQ0FBQVksSUFBQTtNQUFBO0lBQUEsR0FBQWxCLE9BQUE7RUFBQSxDQUNaO0VBQUEsZ0JBZFlMLFdBQVdBLENBQUF3QixFQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBeEIsSUFBQSxDQUFBeUIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWN2QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -34,4 +34,4 @@ export var buildContextMessage = function buildContextMessage(mentions) {
34
34
  * único para que el visual se mantenga consistente en cualquier lugar.
35
35
  */
36
36
  export var CONTEXT_MENTION_CHIP_CLASS = 'maia-context-mention-chip';
37
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbnRleHRNZXNzYWdlIiwibWVudGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibSIsImVudGl0eSIsImlkIiwibmFtZSIsImxhYmVsIiwidHlwZSIsImJ1Y2tldCIsInNvbWUiLCJlIiwiU3RyaW5nIiwicHVzaCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRNZW50aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbnRleHRFbnRpdHlUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaycgfCAndXNlcicgfCAnbWNwJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbiA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBsYWJlbDogc3RyaW5nXG4gIG1ldGFkYXRhPzoge1xuICAgIGNsaWVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIGNsaWVudE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgcHJvamVjdElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIGZlZUlkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIC8qKiBUYXJlYSBwYWRyZSAoc3VidGFyZWFzIGVuIHJlc3VsdGFkb3MgZGUgYHNlYXJjaGApICovXG4gICAgZmF0aGVySWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gICAgZmF0aGVyVGl0bGU/OiBzdHJpbmcgfCBudWxsXG4gICAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfCBudWxsXG4gICAgLyoqXG4gICAgICogTm9tYnJlIGNvbXBsZXRvIGRlc2RlIGxhIHF1ZXJ5IChwLiBlai4gZGlyZWN0b3JpbykuIEVsIGBsYWJlbGAgZGVsIGNoaXAgcHVlZGUgc2VyXG4gICAgICogZGlzdGludG8gKGVqLiBcIllvXCIpOyBwYXJhIGF2YXRhci9pbmljaWFsZXMgdXNhciBlc3RlIGNhbXBvLCBpZ3VhbCBxdWUgZW4gbGEgZmlsYSBkZWwgbW9kYWwuXG4gICAgICovXG4gICAgbmFtZT86IHN0cmluZyB8IG51bGxcbiAgICAvKiogRGlyZWN0b3JpbyBkZSB1c3VhcmlvcyAodXNlcnNEaXJlY3RvcnkpICovXG4gICAgcGljdHVyZT86IHN0cmluZyB8IG51bGxcbiAgICBwb3NpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25CcmVhZGNydW1iID0ge1xuICAvKiogQ2FudGlkYWQgZGUgaXRlbXMgcmVsYWNpb25hZG9zIChwLmVqLiBcIjEzIHByb3llY3Rvc1wiIGVuIHVuIGNsaWVudCkgKi9cbiAgY291bnQ/OiBudW1iZXJcbiAgLyoqIEV0aXF1ZXRhIGRlbCBjb250ZW8geWEgdHJhZHVjaWRhIChwLmVqLiBcInByb3llY3Rvc1wiKSAqL1xuICBjb3VudExhYmVsPzogc3RyaW5nXG4gIC8qKiBFbnRpZGFkIHBhZHJlIChwLmVqLiBub21icmUgZGVsIGNsaWVudCBkZWwgcHJvamVjdCkgKi9cbiAgcGFyZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uSXRlbSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICAvKiogVGV4dG8gcHJpbmNpcGFsIG1vc3RyYWRvIGVuIGxhIGZpbGEgKi9cbiAgcHJpbWFyeTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgcXVlcnkgYnVzY2FkbyBkZW50cm8gZGUgYHByaW1hcnlgIHBhcmEgcmVzYWx0YXIgKi9cbiAgcHJpbWFyeUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICAvKiogRGF0b3Mgc2VjdW5kYXJpb3Mgb3BjaW9uYWxlcyBwYXJhIGVsIGJyZWFkY3J1bWIgKi9cbiAgYnJlYWRjcnVtYj86IENvbnRleHRNZW50aW9uQnJlYWRjcnVtYlxuICAvKiogTWV0YWRhdGEgb3JpZ2luYWwgcGFyYSByZWNvbnN0cnVpciBsYSBtZW50aW9uIGFsIHNlbGVjY2lvbmFyICovXG4gIHJhdzogQ29udGV4dE1lbnRpb25bJ21ldGFkYXRhJ10gJiB7IGlkOiBzdHJpbmcgfCBudW1iZXI7IG5hbWU6IHN0cmluZyB9XG59XG5cbi8qKiBFbnRpZGFkIGNvbnRleHR1YWwgbWVuY2lvbmFkYSAoZm9ybWEgbcOtbmltYSBxdWUgdmlhamEgZW4gbWV0YWRhdGEpICovXG5leHBvcnQgdHlwZSBDb250ZXh0TWVzc2FnZUVudGl0eSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBCbG9xdWUgYGNvbnRleHRfbWVzc2FnZWAgcXVlIHZpYWphIGVuIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeVxuICogc2UgcGVyc2lzdGUgcG9yLW1lbnNhamUuIFNvbG8gdml2ZSBlbiBlbCBtZW5zYWplIGRvbmRlIHNlIGFncmVnw7MgbGFcbiAqIG1lbmNpw7NuOiBubyBcInBpc2FcIiBlbCBjb250ZXh0byBnbG9iYWwgbmkgc2UgcHJvcGFnYSBhIG90cm9zIHR1cm5vcy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2UgPSB7XG4gIGNsaWVudD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgcHJvamVjdD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdGFzaz86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdXNlcj86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgbWNwPzogQ29udGV4dE1lc3NhZ2VFbnRpdHlbXVxufVxuXG4vKipcbiAqIEFncnVwYSBsYXMgbWVudGlvbnMgZGVsIGVkaXRvciBwb3IgdGlwbyB5IGRlamEgZWwgc2hhcGUgbcOtbmltbyAoaWQgKyBuYW1lKVxuICogcXVlIGVzcGVyYSBlbCBiYWNrZW5kLiBEZXZ1ZWx2ZSBgdW5kZWZpbmVkYCBjdWFuZG8gbm8gaGF5IG1lbnRpb25zIGFzw60gZWxcbiAqIGNhbGxlciBwdWVkZSBkZWNpZGlyIHNpIGluY2x1aXIgbyBubyBsYSBrZXkgZW4gZWwgcGF5bG9hZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQ29udGV4dE1lc3NhZ2UgPSAobWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdIHwgbnVsbCk6IENvbnRleHRNZXNzYWdlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFtZW50aW9ucyB8fCAhQXJyYXkuaXNBcnJheShtZW50aW9ucykgfHwgbWVudGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkXG4gIGNvbnN0IHJlc3VsdDogQ29udGV4dE1lc3NhZ2UgPSB7fVxuICBtZW50aW9ucy5mb3JFYWNoKG0gPT4ge1xuICAgIGNvbnN0IGVudGl0eTogQ29udGV4dE1lc3NhZ2VFbnRpdHkgPSB7IGlkOiBtLmlkLCBuYW1lOiBtLmxhYmVsIH1cbiAgICBpZiAoIXJlc3VsdFttLnR5cGVdKSByZXN1bHRbbS50eXBlXSA9IFtdXG4gICAgY29uc3QgYnVja2V0ID0gcmVzdWx0W20udHlwZV0hXG4gICAgaWYgKCFidWNrZXQuc29tZShlID0+IFN0cmluZyhlLmlkKSA9PT0gU3RyaW5nKGVudGl0eS5pZCkpKSBidWNrZXQucHVzaChlbnRpdHkpXG4gIH0pXG4gIHJldHVybiByZXN1bHRcbn1cblxuLyoqXG4gKiBDbGFzZSBDU1Mva2V5IGRlIGVzdGlsb3MgY29tcGFydGlkYSBlbnRyZSBlbCBjaGlwIGRlbCBlZGl0b3IgeSBlbCBjaGlwXG4gKiByZW5kZXJlYWRvIGVuIGxvcyBtZW5zYWplcyAoY2hhdCBhY3R1YWwgKyBoaXN0b3JpYWwpLiBTaXJ2ZSBjb21vIHB1bnRvXG4gKiDDum5pY28gcGFyYSBxdWUgZWwgdmlzdWFsIHNlIG1hbnRlbmdhIGNvbnNpc3RlbnRlIGVuIGN1YWxxdWllciBsdWdhci5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTID0gJ21haWEtY29udGV4dC1tZW50aW9uLWNoaXAnXG4iXSwibWFwcGluZ3MiOiJBQWtEQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1BLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLFFBQWtDLEVBQWlDO0VBQ3JHLElBQUksQ0FBQ0EsUUFBUSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsSUFBSUEsUUFBUSxDQUFDRyxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9DLFNBQVM7RUFDcEYsSUFBTUMsTUFBc0IsR0FBRyxDQUFDLENBQUM7RUFDakNMLFFBQVEsQ0FBQ00sT0FBTyxDQUFDLFVBQUFDLENBQUMsRUFBSTtJQUNwQixJQUFNQyxNQUE0QixHQUFHO01BQUVDLEVBQUUsRUFBRUYsQ0FBQyxDQUFDRSxFQUFFO01BQUVDLElBQUksRUFBRUgsQ0FBQyxDQUFDSTtJQUFNLENBQUM7SUFDaEUsSUFBSSxDQUFDTixNQUFNLENBQUNFLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLEVBQUVQLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDSyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ3hDLElBQU1DLE1BQU0sR0FBR1IsTUFBTSxDQUFDRSxDQUFDLENBQUNLLElBQUksQ0FBRTtJQUM5QixJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLFVBQUFDLENBQUM7TUFBQSxPQUFJQyxNQUFNLENBQUNELENBQUMsQ0FBQ04sRUFBRSxDQUFDLEtBQUtPLE1BQU0sQ0FBQ1IsTUFBTSxDQUFDQyxFQUFFLENBQUM7SUFBQSxFQUFDLEVBQUVJLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDVCxNQUFNLENBQUM7RUFDaEYsQ0FBQyxDQUFDO0VBQ0YsT0FBT0gsTUFBTTtBQUNmLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTWEsMEJBQTBCLEdBQUcsMkJBQTJCIiwiaWdub3JlTGlzdCI6W119
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbnRleHRNZXNzYWdlIiwibWVudGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibSIsImVudGl0eSIsImlkIiwibmFtZSIsImxhYmVsIiwidHlwZSIsImJ1Y2tldCIsInNvbWUiLCJlIiwiU3RyaW5nIiwicHVzaCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRNZW50aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbnRleHRFbnRpdHlUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaycgfCAndXNlcicgfCAnbWNwJyB8ICdza2lsbCdcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb24gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgbGFiZWw6IHN0cmluZ1xuICBtZXRhZGF0YT86IHtcbiAgICBjbGllbnRJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICBjbGllbnROYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIHByb2plY3RJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICBwcm9qZWN0TmFtZT86IHN0cmluZyB8IG51bGxcbiAgICBmZWVJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICAvKiogVGFyZWEgcGFkcmUgKHN1YnRhcmVhcyBlbiByZXN1bHRhZG9zIGRlIGBzZWFyY2hgKSAqL1xuICAgIGZhdGhlcklkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIGZhdGhlclRpdGxlPzogc3RyaW5nIHwgbnVsbFxuICAgIHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIHwgbnVsbFxuICAgIC8qKlxuICAgICAqIE5vbWJyZSBjb21wbGV0byBkZXNkZSBsYSBxdWVyeSAocC4gZWouIGRpcmVjdG9yaW8pLiBFbCBgbGFiZWxgIGRlbCBjaGlwIHB1ZWRlIHNlclxuICAgICAqIGRpc3RpbnRvIChlai4gXCJZb1wiKTsgcGFyYSBhdmF0YXIvaW5pY2lhbGVzIHVzYXIgZXN0ZSBjYW1wbywgaWd1YWwgcXVlIGVuIGxhIGZpbGEgZGVsIG1vZGFsLlxuICAgICAqL1xuICAgIG5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgLyoqIERpcmVjdG9yaW8gZGUgdXN1YXJpb3MgKHVzZXJzRGlyZWN0b3J5KSAqL1xuICAgIHBpY3R1cmU/OiBzdHJpbmcgfCBudWxsXG4gICAgcG9zaXRpb25OYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbFxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uQnJlYWRjcnVtYiA9IHtcbiAgLyoqIENhbnRpZGFkIGRlIGl0ZW1zIHJlbGFjaW9uYWRvcyAocC5lai4gXCIxMyBwcm95ZWN0b3NcIiBlbiB1biBjbGllbnQpICovXG4gIGNvdW50PzogbnVtYmVyXG4gIC8qKiBFdGlxdWV0YSBkZWwgY29udGVvIHlhIHRyYWR1Y2lkYSAocC5lai4gXCJwcm95ZWN0b3NcIikgKi9cbiAgY291bnRMYWJlbD86IHN0cmluZ1xuICAvKiogRW50aWRhZCBwYWRyZSAocC5lai4gbm9tYnJlIGRlbCBjbGllbnQgZGVsIHByb2plY3QpICovXG4gIHBhcmVudD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbkl0ZW0gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgLyoqIFRleHRvIHByaW5jaXBhbCBtb3N0cmFkbyBlbiBsYSBmaWxhICovXG4gIHByaW1hcnk6IHN0cmluZ1xuICAvKiogUmFuZ28gZGVsIHF1ZXJ5IGJ1c2NhZG8gZGVudHJvIGRlIGBwcmltYXJ5YCBwYXJhIHJlc2FsdGFyICovXG4gIHByaW1hcnlIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgLyoqIERhdG9zIHNlY3VuZGFyaW9zIG9wY2lvbmFsZXMgcGFyYSBlbCBicmVhZGNydW1iICovXG4gIGJyZWFkY3J1bWI/OiBDb250ZXh0TWVudGlvbkJyZWFkY3J1bWJcbiAgLyoqIE1ldGFkYXRhIG9yaWdpbmFsIHBhcmEgcmVjb25zdHJ1aXIgbGEgbWVudGlvbiBhbCBzZWxlY2Npb25hciAqL1xuICByYXc6IENvbnRleHRNZW50aW9uWydtZXRhZGF0YSddICYgeyBpZDogc3RyaW5nIHwgbnVtYmVyOyBuYW1lOiBzdHJpbmcgfVxufVxuXG4vKiogRW50aWRhZCBjb250ZXh0dWFsIG1lbmNpb25hZGEgKGZvcm1hIG3DrW5pbWEgcXVlIHZpYWphIGVuIG1ldGFkYXRhKSAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2VFbnRpdHkgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogQmxvcXVlIGBjb250ZXh0X21lc3NhZ2VgIHF1ZSB2aWFqYSBlbiBsYSBtZXRhZGF0YSBkZWwgb3JjaGVzdHJhdG9yIHlcbiAqIHNlIHBlcnNpc3RlIHBvci1tZW5zYWplLiBTb2xvIHZpdmUgZW4gZWwgbWVuc2FqZSBkb25kZSBzZSBhZ3JlZ8OzIGxhXG4gKiBtZW5jacOzbjogbm8gXCJwaXNhXCIgZWwgY29udGV4dG8gZ2xvYmFsIG5pIHNlIHByb3BhZ2EgYSBvdHJvcyB0dXJub3MuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRleHRNZXNzYWdlID0ge1xuICBjbGllbnQ/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHByb2plY3Q/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHRhc2s/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHVzZXI/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIG1jcD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgc2tpbGw/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG59XG5cbi8qKlxuICogQWdydXBhIGxhcyBtZW50aW9ucyBkZWwgZWRpdG9yIHBvciB0aXBvIHkgZGVqYSBlbCBzaGFwZSBtw61uaW1vIChpZCArIG5hbWUpXG4gKiBxdWUgZXNwZXJhIGVsIGJhY2tlbmQuIERldnVlbHZlIGB1bmRlZmluZWRgIGN1YW5kbyBubyBoYXkgbWVudGlvbnMgYXPDrSBlbFxuICogY2FsbGVyIHB1ZWRlIGRlY2lkaXIgc2kgaW5jbHVpciBvIG5vIGxhIGtleSBlbiBlbCBwYXlsb2FkLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRDb250ZXh0TWVzc2FnZSA9IChtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10gfCBudWxsKTogQ29udGV4dE1lc3NhZ2UgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIW1lbnRpb25zIHx8ICFBcnJheS5pc0FycmF5KG1lbnRpb25zKSB8fCBtZW50aW9ucy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWRcbiAgY29uc3QgcmVzdWx0OiBDb250ZXh0TWVzc2FnZSA9IHt9XG4gIG1lbnRpb25zLmZvckVhY2gobSA9PiB7XG4gICAgY29uc3QgZW50aXR5OiBDb250ZXh0TWVzc2FnZUVudGl0eSA9IHsgaWQ6IG0uaWQsIG5hbWU6IG0ubGFiZWwgfVxuICAgIGlmICghcmVzdWx0W20udHlwZV0pIHJlc3VsdFttLnR5cGVdID0gW11cbiAgICBjb25zdCBidWNrZXQgPSByZXN1bHRbbS50eXBlXSFcbiAgICBpZiAoIWJ1Y2tldC5zb21lKGUgPT4gU3RyaW5nKGUuaWQpID09PSBTdHJpbmcoZW50aXR5LmlkKSkpIGJ1Y2tldC5wdXNoKGVudGl0eSlcbiAgfSlcbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vKipcbiAqIENsYXNlIENTUy9rZXkgZGUgZXN0aWxvcyBjb21wYXJ0aWRhIGVudHJlIGVsIGNoaXAgZGVsIGVkaXRvciB5IGVsIGNoaXBcbiAqIHJlbmRlcmVhZG8gZW4gbG9zIG1lbnNhamVzIChjaGF0IGFjdHVhbCArIGhpc3RvcmlhbCkuIFNpcnZlIGNvbW8gcHVudG9cbiAqIMO6bmljbyBwYXJhIHF1ZSBlbCB2aXN1YWwgc2UgbWFudGVuZ2EgY29uc2lzdGVudGUgZW4gY3VhbHF1aWVyIGx1Z2FyLlxuICovXG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MgPSAnbWFpYS1jb250ZXh0LW1lbnRpb24tY2hpcCdcbiJdLCJtYXBwaW5ncyI6IkFBa0RBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUEsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsUUFBa0MsRUFBaUM7RUFDckcsSUFBSSxDQUFDQSxRQUFRLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNGLFFBQVEsQ0FBQyxJQUFJQSxRQUFRLENBQUNHLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBT0MsU0FBUztFQUNwRixJQUFNQyxNQUFzQixHQUFHLENBQUMsQ0FBQztFQUNqQ0wsUUFBUSxDQUFDTSxPQUFPLENBQUMsVUFBQUMsQ0FBQyxFQUFJO0lBQ3BCLElBQU1DLE1BQTRCLEdBQUc7TUFBRUMsRUFBRSxFQUFFRixDQUFDLENBQUNFLEVBQUU7TUFBRUMsSUFBSSxFQUFFSCxDQUFDLENBQUNJO0lBQU0sQ0FBQztJQUNoRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDSyxJQUFJLENBQUMsRUFBRVAsTUFBTSxDQUFDRSxDQUFDLENBQUNLLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDeEMsSUFBTUMsTUFBTSxHQUFHUixNQUFNLENBQUNFLENBQUMsQ0FBQ0ssSUFBSSxDQUFFO0lBQzlCLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsVUFBQUMsQ0FBQztNQUFBLE9BQUlDLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDTixFQUFFLENBQUMsS0FBS08sTUFBTSxDQUFDUixNQUFNLENBQUNDLEVBQUUsQ0FBQztJQUFBLEVBQUMsRUFBRUksTUFBTSxDQUFDSSxJQUFJLENBQUNULE1BQU0sQ0FBQztFQUNoRixDQUFDLENBQUM7RUFDRixPQUFPSCxNQUFNO0FBQ2YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNYSwwQkFBMEIsR0FBRywyQkFBMkIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNraWxsID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgY3JlYXRlZF9hdD86IHN0cmluZ1xuICB1cGRhdGVkX2F0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNraWxsc1Jlc3BvbnNlID0ge1xuICBkYXRhOiBTa2lsbFtdXG4gIGhhc19tb3JlPzogYm9vbGVhblxuICBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -6,6 +6,7 @@ import { FileProject } from '@projectcor/icons/lib/components/FileProject';
6
6
  import { Globe } from '@projectcor/icons/lib/components/Globe';
7
7
  import { User } from '@projectcor/icons/lib/components/User';
8
8
  import { NotionIcon, NOTION_BRAND_PATH_BLACK, NOTION_BRAND_PATH_WHITE } from '../components/atoms/icons/NotionIcon';
9
+ import { SkillIcon, SKILL_ICON_PATH } from '../components/atoms/icons/SkillIcon';
9
10
  import { TASK_LINK_ICON_DATA_URL } from '../constants/taskLinkIcon';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  var SVG_NS = 'http://www.w3.org/2000/svg';
@@ -17,6 +18,7 @@ export var isNotionMcpSlug = function isNotionMcpSlug(id) {
17
18
  return String(id !== null && id !== void 0 ? id : '').toLowerCase() === NOTION_MCP_SLUG;
18
19
  };
19
20
  var MENTION_ICON_PATHS = {
21
+ skill: SKILL_ICON_PATH,
20
22
  client: 'M3.375 7C3.1875 7 3 6.84375 3 6.625V5.375C3 5.1875 3.1875 5 3.375 5H4V3.5C4 2.6875 4.6875 2 5.5 2H15.5C16.3438 2 17 2.6875 17 3.5V16.5C17 17.3438 16.3438 18 15.5 18H5.5C4.6875 18 4 17.3438 4 16.5V15H3.375C3.1875 15 3 14.8438 3 14.625V13.375C3 13.1875 3.1875 13 3.375 13H4V11H3.375C3.1875 11 3 10.8438 3 10.625V9.375C3 9.1875 3.1875 9 3.375 9H4V7H3.375ZM5.5 16.5H15.5V3.5H5.5V16.5ZM10.5 10C9.40625 10 8.5 9.125 8.5 8C8.5 6.90625 9.40625 6 10.5 6C11.625 6 12.5 6.90625 12.5 8C12.5 9.125 11.625 10 10.5 10ZM13.3125 14H7.71875C7.3125 14 7 13.75 7 13.4062V12.8125C7 11.8125 7.96875 11 9.125 11C9.4375 11 9.6875 11.25 10.5 11.25C11.3438 11.25 11.5625 11 11.9062 11C13.0625 11 14 11.8125 14 12.8125V13.4062C14 13.75 13.6875 14 13.3125 14Z',
21
23
  project: 'M12.9375 2.4375L15.5312 5.0625C15.8125 5.34375 16 5.75 16 6.125V16.5C16 17.3438 15.3125 18 14.5 18H5.5C4.65625 18 4 17.3438 4 16.5V3.5C4 2.6875 4.65625 2 5.5 2H11.875C12.25 2 12.6562 2.15625 12.9375 2.4375ZM12 6H14.375L12 3.625V6ZM5.5 3.5V16.5H14.5V7.5H11.25C10.8125 7.5 10.5 7.1875 10.5 6.75V3.5H5.5ZM13.25 14.75H9.75C9.59375 14.75 9.5 14.6562 9.5 14.5V13.5C9.5 13.375 9.59375 13.25 9.75 13.25H13.25C13.375 13.25 13.5 13.375 13.5 13.5V14.5C13.5 14.6562 13.375 14.75 13.25 14.75ZM8 15H7C6.71875 15 6.5 14.7812 6.5 14.5V13.5C6.5 13.25 6.71875 13 7 13H8C8.25 13 8.5 13.25 8.5 13.5V14.5C8.5 14.7812 8.25 15 8 15ZM8 11H7C6.71875 11 6.5 10.7812 6.5 10.5V9.5C6.5 9.25 6.71875 9 7 9H8C8.25 9 8.5 9.25 8.5 9.5V10.5C8.5 10.7812 8.25 11 8 11ZM13.25 10.75H9.75C9.59375 10.75 9.5 10.6562 9.5 10.5V9.5C9.5 9.375 9.59375 9.25 9.75 9.25H13.25C13.375 9.25 13.5 9.375 13.5 9.5V10.5C13.5 10.6562 13.375 10.75 13.25 10.75ZM8 7H7C6.71875 7 6.5 6.78125 6.5 6.5V5.5C6.5 5.25 6.71875 5 7 5H8C8.25 5 8.5 5.25 8.5 5.5V6.5C8.5 6.78125 8.25 7 8 7Z',
22
24
  user: 'M12.3839 11.3125C11.6071 11.3125 11.2589 11.75 10 11.75C8.71429 11.75 8.36607 11.3125 7.58929 11.3125C5.60714 11.3125 4 12.9805 4 15.0039V15.6875C4 16.4258 4.5625 17 5.28571 17H14.7143C15.4107 17 16 16.4258 16 15.6875V15.0039C16 12.9805 14.3661 11.3125 12.3839 11.3125ZM14.7143 15.6875H5.28571V15.0039C5.28571 13.6914 6.30357 12.625 7.58929 12.625C7.99107 12.625 8.60714 13.0625 10 13.0625C11.3661 13.0625 11.9821 12.625 12.3839 12.625C13.6696 12.625 14.7143 13.6914 14.7143 15.0039V15.6875ZM10 10.875C12.1161 10.875 13.8571 9.125 13.8571 6.9375C13.8571 4.77734 12.1161 3 10 3C7.85714 3 6.14286 4.77734 6.14286 6.9375C6.14286 9.125 7.85714 10.875 10 10.875ZM10 4.3125C11.3929 4.3125 12.5714 5.51562 12.5714 6.9375C12.5714 8.38672 11.3929 9.5625 10 9.5625C8.58036 9.5625 7.42857 8.38672 7.42857 6.9375C7.42857 5.51562 8.58036 4.3125 10 4.3125Z',
@@ -36,6 +38,23 @@ var createSvgIcon = function createSvgIcon(pathData, color, size) {
36
38
  svg.appendChild(path);
37
39
  return svg;
38
40
  };
41
+ var createSkillIconSvgElement = function createSkillIconSvgElement(color, size) {
42
+ var svg = document.createElementNS(SVG_NS, 'svg');
43
+ svg.setAttribute('viewBox', '0 0 20 20');
44
+ svg.setAttribute('width', String(size));
45
+ svg.setAttribute('height', String(size));
46
+ svg.setAttribute('fill', 'none');
47
+ svg.setAttribute('aria-hidden', 'true');
48
+ svg.style.display = 'block';
49
+ var path = document.createElementNS(SVG_NS, 'path');
50
+ path.setAttribute('d', SKILL_ICON_PATH);
51
+ path.setAttribute('stroke', color);
52
+ path.setAttribute('stroke-linecap', 'round');
53
+ path.setAttribute('stroke-linejoin', 'round');
54
+ path.setAttribute('stroke-width', '1.5');
55
+ svg.appendChild(path);
56
+ return svg;
57
+ };
39
58
  var createNotionIconSvgElement = function createNotionIconSvgElement(size) {
40
59
  var svg = document.createElementNS(SVG_NS, 'svg');
41
60
  svg.setAttribute('viewBox', '0 0 100 100');
@@ -77,6 +96,12 @@ export var getContextMentionIcon = function getContextMentionIcon(type, color, m
77
96
  });
78
97
  case 'user':
79
98
  return /*#__PURE__*/_jsx(User, _objectSpread({}, iconProps));
99
+ case 'skill':
100
+ return /*#__PURE__*/_jsx(SkillIcon, {
101
+ width: resolvedSize,
102
+ height: resolvedSize,
103
+ color: color
104
+ });
80
105
  case 'mcp':
81
106
  if (isNotionMcpSlug(mentionId)) {
82
107
  return /*#__PURE__*/_jsx(NotionIcon, {
@@ -103,6 +128,9 @@ export var createContextMentionIconElement = function createContextMentionIconEl
103
128
  img.style.display = 'block';
104
129
  return img;
105
130
  }
131
+ if (type === 'skill') {
132
+ return createSkillIconSvgElement(color, resolvedSize);
133
+ }
106
134
  if (type === 'mcp' && isNotionMcpSlug(mentionId)) {
107
135
  return createNotionIconSvgElement(resolvedSize);
108
136
  }
@@ -112,4 +140,4 @@ export var createContextMentionIconElement = function createContextMentionIconEl
112
140
  var pathData = (_MENTION_ICON_PATHS$t = MENTION_ICON_PATHS[type]) !== null && _MENTION_ICON_PATHS$t !== void 0 ? _MENTION_ICON_PATHS$t : MENTION_ICON_PATHS.user;
113
141
  return createSvgIcon(pathData, color, resolvedSize);
114
142
  };
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlRBU0tfTElOS19JQ09OX0RBVEFfVVJMIiwianN4IiwiX2pzeCIsIlNWR19OUyIsIkRFRkFVTFRfSUNPTl9TSVpFIiwiTk9USU9OX01DUF9TTFVHIiwiaXNOb3Rpb25NY3BTbHVnIiwiaWQiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIk1FTlRJT05fSUNPTl9QQVRIUyIsImNsaWVudCIsInByb2plY3QiLCJ1c2VyIiwibWNwIiwiY3JlYXRlU3ZnSWNvbiIsInBhdGhEYXRhIiwiY29sb3IiLCJzaXplIiwic3ZnIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50TlMiLCJzZXRBdHRyaWJ1dGUiLCJzdHlsZSIsImRpc3BsYXkiLCJwYXRoIiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCIsInAxIiwicDIiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJ0eXBlIiwibWVudGlvbklkIiwicmVzb2x2ZWRTaXplIiwiaWNvblByb3BzIiwid2lkdGgiLCJjb25jYXQiLCJoZWlnaHQiLCJfb2JqZWN0U3ByZWFkIiwic3JjIiwiYWx0IiwiY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCIsIl9NRU5USU9OX0lDT05fUEFUSFMkdCIsImltZyIsImNyZWF0ZUVsZW1lbnQiLCJkcmFnZ2FibGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgVEFTS19MSU5LX0lDT05fREFUQV9VUkwgfSBmcm9tICcuLi9jb25zdGFudHMvdGFza0xpbmtJY29uJ1xuXG5jb25zdCBTVkdfTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnXG5jb25zdCBERUZBVUxUX0lDT05fU0laRSA9IDE0XG5cbi8qKiBTbHVnIE1DUCBkZWwgY29uZWN0b3IgTm90aW9uIChhbGluZWFkbyBjb24gTk9USU9OX0NPTk5FQ1RPUl9TTFVHIGVuIGNhdGFsb2cpLiAqL1xuZXhwb3J0IGNvbnN0IE5PVElPTl9NQ1BfU0xVRyA9ICdub3Rpb24nXG5cbmV4cG9ydCBjb25zdCBpc05vdGlvbk1jcFNsdWcgPSAoaWQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT5cbiAgU3RyaW5nKGlkID8/ICcnKS50b0xvd2VyQ2FzZSgpID09PSBOT1RJT05fTUNQX1NMVUdcblxuY29uc3QgTUVOVElPTl9JQ09OX1BBVEhTOiBSZWNvcmQ8RXhjbHVkZTxDb250ZXh0RW50aXR5VHlwZSwgJ3Rhc2snPiwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OlxuICAgICdNMy4zNzUgN0MzLjE4NzUgNyAzIDYuODQzNzUgMyA2LjYyNVY1LjM3NUMzIDUuMTg3NSAzLjE4NzUgNSAzLjM3NSA1SDRWMy41QzQgMi42ODc1IDQuNjg3NSAyIDUuNSAySDE1LjVDMTYuMzQzOCAyIDE3IDIuNjg3NSAxNyAzLjVWMTYuNUMxNyAxNy4zNDM4IDE2LjM0MzggMTggMTUuNSAxOEg1LjVDNC42ODc1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMTVIMy4zNzVDMy4xODc1IDE1IDMgMTQuODQzOCAzIDE0LjYyNVYxMy4zNzVDMyAxMy4xODc1IDMuMTg3NSAxMyAzLjM3NSAxM0g0VjExSDMuMzc1QzMuMTg3NSAxMSAzIDEwLjg0MzggMyAxMC42MjVWOS4zNzVDMyA5LjE4NzUgMy4xODc1IDkgMy4zNzUgOUg0VjdIMy4zNzVaTTUuNSAxNi41SDE1LjVWMy41SDUuNVYxNi41Wk0xMC41IDEwQzkuNDA2MjUgMTAgOC41IDkuMTI1IDguNSA4QzguNSA2LjkwNjI1IDkuNDA2MjUgNiAxMC41IDZDMTEuNjI1IDYgMTIuNSA2LjkwNjI1IDEyLjUgOEMxMi41IDkuMTI1IDExLjYyNSAxMCAxMC41IDEwWk0xMy4zMTI1IDE0SDcuNzE4NzVDNy4zMTI1IDE0IDcgMTMuNzUgNyAxMy40MDYyVjEyLjgxMjVDNyAxMS44MTI1IDcuOTY4NzUgMTEgOS4xMjUgMTFDOS40Mzc1IDExIDkuNjg3NSAxMS4yNSAxMC41IDExLjI1QzExLjM0MzggMTEuMjUgMTEuNTYyNSAxMSAxMS45MDYyIDExQzEzLjA2MjUgMTEgMTQgMTEuODEyNSAxNCAxMi44MTI1VjEzLjQwNjJDMTQgMTMuNzUgMTMuNjg3NSAxNCAxMy4zMTI1IDE0WicsXG4gIHByb2plY3Q6XG4gICAgJ00xMi45Mzc1IDIuNDM3NUwxNS41MzEyIDUuMDYyNUMxNS44MTI1IDUuMzQzNzUgMTYgNS43NSAxNiA2LjEyNVYxNi41QzE2IDE3LjM0MzggMTUuMzEyNSAxOCAxNC41IDE4SDUuNUM0LjY1NjI1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMy41QzQgMi42ODc1IDQuNjU2MjUgMiA1LjUgMkgxMS44NzVDMTIuMjUgMiAxMi42NTYyIDIuMTU2MjUgMTIuOTM3NSAyLjQzNzVaTTEyIDZIMTQuMzc1TDEyIDMuNjI1VjZaTTUuNSAzLjVWMTYuNUgxNC41VjcuNUgxMS4yNUMxMC44MTI1IDcuNSAxMC41IDcuMTg3NSAxMC41IDYuNzVWMy41SDUuNVpNMTMuMjUgMTQuNzVIOS43NUM5LjU5Mzc1IDE0Ljc1IDkuNSAxNC42NTYyIDkuNSAxNC41VjEzLjVDOS41IDEzLjM3NSA5LjU5Mzc1IDEzLjI1IDkuNzUgMTMuMjVIMTMuMjVDMTMuMzc1IDEzLjI1IDEzLjUgMTMuMzc1IDEzLjUgMTMuNVYxNC41QzEzLjUgMTQuNjU2MiAxMy4zNzUgMTQuNzUgMTMuMjUgMTQuNzVaTTggMTVIN0M2LjcxODc1IDE1IDYuNSAxNC43ODEyIDYuNSAxNC41VjEzLjVDNi41IDEzLjI1IDYuNzE4NzUgMTMgNyAxM0g4QzguMjUgMTMgOC41IDEzLjI1IDguNSAxMy41VjE0LjVDOC41IDE0Ljc4MTIgOC4yNSAxNSA4IDE1Wk04IDExSDdDNi43MTg3NSAxMSA2LjUgMTAuNzgxMiA2LjUgMTAuNVY5LjVDNi41IDkuMjUgNi43MTg3NSA5IDcgOUg4QzguMjUgOSA4LjUgOS4yNSA4LjUgOS41VjEwLjVDOC41IDEwLjc4MTIgOC4yNSAxMSA4IDExWk0xMy4yNSAxMC43NUg5Ljc1QzkuNTkzNzUgMTAuNzUgOS41IDEwLjY1NjIgOS41IDEwLjVWOS41QzkuNSA5LjM3NSA5LjU5Mzc1IDkuMjUgOS43NSA5LjI1SDEzLjI1QzEzLjM3NSA5LjI1IDEzLjUgOS4zNzUgMTMuNSA5LjVWMTAuNUMxMy41IDEwLjY1NjIgMTMuMzc1IDEwLjc1IDEzLjI1IDEwLjc1Wk04IDdIN0M2LjcxODc1IDcgNi41IDYuNzgxMjUgNi41IDYuNVY1LjVDNi41IDUuMjUgNi43MTg3NSA1IDcgNUg4QzguMjUgNSA4LjUgNS4yNSA4LjUgNS41VjYuNUM4LjUgNi43ODEyNSA4LjI1IDcgOCA3WicsXG4gIHVzZXI6ICdNMTIuMzgzOSAxMS4zMTI1QzExLjYwNzEgMTEuMzEyNSAxMS4yNTg5IDExLjc1IDEwIDExLjc1QzguNzE0MjkgMTEuNzUgOC4zNjYwNyAxMS4zMTI1IDcuNTg5MjkgMTEuMzEyNUM1LjYwNzE0IDExLjMxMjUgNCAxMi45ODA1IDQgMTUuMDAzOVYxNS42ODc1QzQgMTYuNDI1OCA0LjU2MjUgMTcgNS4yODU3MSAxN0gxNC43MTQzQzE1LjQxMDcgMTcgMTYgMTYuNDI1OCAxNiAxNS42ODc1VjE1LjAwMzlDMTYgMTIuOTgwNSAxNC4zNjYxIDExLjMxMjUgMTIuMzgzOSAxMS4zMTI1Wk0xNC43MTQzIDE1LjY4NzVINS4yODU3MVYxNS4wMDM5QzUuMjg1NzEgMTMuNjkxNCA2LjMwMzU3IDEyLjYyNSA3LjU4OTI5IDEyLjYyNUM3Ljk5MTA3IDEyLjYyNSA4LjYwNzE0IDEzLjA2MjUgMTAgMTMuMDYyNUMxMS4zNjYxIDEzLjA2MjUgMTEuOTgyMSAxMi42MjUgMTIuMzgzOSAxMi42MjVDMTMuNjY5NiAxMi42MjUgMTQuNzE0MyAxMy42OTE0IDE0LjcxNDMgMTUuMDAzOVYxNS42ODc1Wk0xMCAxMC44NzVDMTIuMTE2MSAxMC44NzUgMTMuODU3MSA5LjEyNSAxMy44NTcxIDYuOTM3NUMxMy44NTcxIDQuNzc3MzQgMTIuMTE2MSAzIDEwIDNDNy44NTcxNCAzIDYuMTQyODYgNC43NzczNCA2LjE0Mjg2IDYuOTM3NUM2LjE0Mjg2IDkuMTI1IDcuODU3MTQgMTAuODc1IDEwIDEwLjg3NVpNMTAgNC4zMTI1QzExLjM5MjkgNC4zMTI1IDEyLjU3MTQgNS41MTU2MiAxMi41NzE0IDYuOTM3NUMxMi41NzE0IDguMzg2NzIgMTEuMzkyOSA5LjU2MjUgMTAgOS41NjI1QzguNTgwMzYgOS41NjI1IDcuNDI4NTcgOC4zODY3MiA3LjQyODU3IDYuOTM3NUM3LjQyODU3IDUuNTE1NjIgOC41ODAzNiA0LjMxMjUgMTAgNC4zMTI1WicsXG4gIG1jcDogJ00xMCAzQzYuMTMzMDYgMyAzIDYuMTMzMDYgMyAxMEMzIDEzLjg2NjkgNi4xMzMwNiAxNyAxMCAxN0MxMy44NjY5IDE3IDE3IDEzLjg2NjkgMTcgMTBDMTcgNi4xMzMwNiAxMy44NjY5IDMgMTAgM1pNMTUuMDUyNCA3LjUxNjEzSDEzLjE2MTNDMTIuOTYzNyA2LjUgMTIuNjUzMiA1LjU5Njc3IDEyLjI1ODEgNC44NjI5QzEzLjQ3MTggNS4zOTkxOSAxNC40NTk3IDYuMzMwNjUgMTUuMDUyNCA3LjUxNjEzWk0xMCA0LjM1NDg0QzEwLjUwODEgNC4zNTQ4NCAxMS4zNTQ4IDUuNTQwMzIgMTEuNzc4MiA3LjUxNjEzSDguMTkzNTVDOC42MTY5NCA1LjU0MDMyIDkuNDYzNzEgNC4zNTQ4NCAxMCA0LjM1NDg0Wk00LjM1NDg0IDEwQzQuMzU0ODQgOS42MzMwNiA0LjM4MzA2IDkuMjM3OSA0LjQ2Nzc0IDguODcwOTdINi42NDExM0M2LjYxMjkgOS4yNjYxMyA2LjYxMjkgOS42MzMwNiA2LjYxMjkgMTBDNi42MTI5IDEwLjM5NTIgNi42MTI5IDEwLjc2MjEgNi42NDExMyAxMS4xMjlINC40Njc3NEM0LjM4MzA2IDEwLjc5MDMgNC4zNTQ4NCAxMC4zOTUyIDQuMzU0ODQgMTBaTTQuOTE5MzUgMTIuNDgzOUg2LjgxMDQ4QzcuMDA4MDYgMTMuNTI4MiA3LjMxODU1IDE0LjQzMTUgNy43MTM3MSAxNS4xNjUzQzYuNSAxNC42MjkgNS41MTIxIDEzLjY2OTQgNC45MTkzNSAxMi40ODM5Wk02LjgxMDQ4IDcuNTE2MTNINC45MTkzNUM1LjUxMjEgNi4zMzA2NSA2LjUgNS4zOTkxOSA3LjcxMzcxIDQuODYyOUM3LjMxODU1IDUuNTk2NzcgNy4wMDgwNiA2LjUgNi44MTA0OCA3LjUxNjEzWk0xMCAxNS42NDUyQzkuNDYzNzEgMTUuNjQ1MiA4LjYxNjk0IDE0LjQ4NzkgOC4xOTM1NSAxMi40ODM5SDExLjc3ODJDMTEuMzU0OCAxNC40ODc5IDEwLjUwODEgMTUuNjQ1MiAxMCAxNS42NDUyWk0xMS45NzU4IDExLjEyOUg3Ljk5NTk3QzcuOTY3NzQgMTAuNzkwMyA3Ljk2Nzc0IDEwLjM5NTIgNy45Njc3NCAxMEM3Ljk2Nzc0IDkuNjA0ODQgNy45Njc3NCA5LjIzNzkgNy45OTU5NyA4Ljg3MDk3SDExLjk3NThDMTIuMDA0IDkuMjM3OSAxMi4wMzIzIDkuNjA0ODQgMTIuMDMyMyAxMEMxMi4wMzIzIDEwLjM5NTIgMTIuMDA0IDEwLjc5MDMgMTEuOTc1OCAxMS4xMjlaTTEyLjI1ODEgMTUuMTY1M0MxMi42NTMyIDE0LjQzMTUgMTIuOTYzNyAxMy41MjgyIDEzLjE2MTMgMTIuNDgzOUgxNS4wNTI0QzE0LjQ1OTcgMTMuNjY5NCAxMy40NzE4IDE0LjYyOSAxMi4yNTgxIDE1LjE2NTNaTTEzLjMzMDYgMTEuMTI5QzEzLjM1ODkgMTAuNzYyMSAxMy4zODcxIDEwLjM5NTIgMTMuMzg3MSAxMEMxMy4zODcxIDkuNjMzMDYgMTMuMzU4OSA5LjI2NjEzIDEzLjMzMDYgOC44NzA5N0gxNS41MzIzQzE1LjU4ODcgOS4yMzc5IDE1LjY0NTIgOS42MzMwNiAxNS42NDUyIDEwQzE1LjY0NTIgMTAuMzk1MiAxNS41ODg3IDEwLjc5MDMgMTUuNTMyMyAxMS4xMjlIMTMuMzMwNlonLFxufVxuXG5jb25zdCBjcmVhdGVTdmdJY29uID0gKHBhdGhEYXRhOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMjAgMjAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXRoRGF0YSlcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBjb2xvcilcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwtcnVsZScsICdub256ZXJvJylcbiAgc3ZnLmFwcGVuZENoaWxkKHBhdGgpXG5cbiAgcmV0dXJuIHN2Z1xufVxuXG5jb25zdCBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCA9IChzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDEwMCAxMDAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAxLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjZmZmJylcbiAgcDEuc2V0QXR0cmlidXRlKCdkJywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUpXG5cbiAgY29uc3QgcDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjMDAwJylcbiAgcDIuc2V0QXR0cmlidXRlKCdmaWxsLXJ1bGUnLCAnZXZlbm9kZCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnY2xpcC1ydWxlJywgJ2V2ZW5vZGQnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2QnLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSylcblxuICBzdmcuYXBwZW5kQ2hpbGQocDEpXG4gIHN2Zy5hcHBlbmRDaGlsZChwMilcbiAgcmV0dXJuIHN2Z1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29udGV4dE1lbnRpb25JY29uID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IFJlYWN0Tm9kZSA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgY29uc3QgaWNvblByb3BzID0geyBjb2xvciwgd2lkdGg6IGAke3Jlc29sdmVkU2l6ZX1weGAsIGhlaWdodDogYCR7cmVzb2x2ZWRTaXplfXB4YCB9XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2NsaWVudCc6XG4gICAgICByZXR1cm4gPENvbnRhY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICdwcm9qZWN0JzpcbiAgICAgIHJldHVybiA8RmlsZVByb2plY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICd0YXNrJzpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17VEFTS19MSU5LX0lDT05fREFUQV9VUkx9IGFsdD1cIlwiIGFyaWEtaGlkZGVuIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSAvPlxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIDxVc2VyIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIGlmIChpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgICAgICByZXR1cm4gPE5vdGlvbkljb24gd2lkdGg9e3Jlc29sdmVkU2l6ZX0gaGVpZ2h0PXtyZXNvbHZlZFNpemV9IC8+XG4gICAgICB9XG4gICAgICByZXR1cm4gPEdsb2JlIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZXh0TWVudGlvbkljb25FbGVtZW50ID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IEhUTUxFbGVtZW50IHwgU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpXG4gICAgaW1nLnNyYyA9IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMXG4gICAgaW1nLndpZHRoID0gcmVzb2x2ZWRTaXplXG4gICAgaW1nLmhlaWdodCA9IHJlc29sdmVkU2l6ZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIGltZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIHJldHVybiBpbWdcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJyAmJiBpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgIHJldHVybiBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudChyZXNvbHZlZFNpemUpXG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihNRU5USU9OX0lDT05fUEFUSFMubWNwLCBjb2xvciwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgY29uc3QgcGF0aERhdGEgPSBNRU5USU9OX0lDT05fUEFUSFNbdHlwZV0gPz8gTUVOVElPTl9JQ09OX1BBVEhTLnVzZXJcbiAgcmV0dXJuIGNyZWF0ZVN2Z0ljb24ocGF0aERhdGEsIGNvbG9yLCByZXNvbHZlZFNpemUpXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLE9BQU8sUUFB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
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlNraWxsSWNvbiIsIlNLSUxMX0lDT05fUEFUSCIsIlRBU0tfTElOS19JQ09OX0RBVEFfVVJMIiwianN4IiwiX2pzeCIsIlNWR19OUyIsIkRFRkFVTFRfSUNPTl9TSVpFIiwiTk9USU9OX01DUF9TTFVHIiwiaXNOb3Rpb25NY3BTbHVnIiwiaWQiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIk1FTlRJT05fSUNPTl9QQVRIUyIsInNraWxsIiwiY2xpZW50IiwicHJvamVjdCIsInVzZXIiLCJtY3AiLCJjcmVhdGVTdmdJY29uIiwicGF0aERhdGEiLCJjb2xvciIsInNpemUiLCJzdmciLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnROUyIsInNldEF0dHJpYnV0ZSIsInN0eWxlIiwiZGlzcGxheSIsInBhdGgiLCJhcHBlbmRDaGlsZCIsImNyZWF0ZVNraWxsSWNvblN2Z0VsZW1lbnQiLCJjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCIsInAxIiwicDIiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJ0eXBlIiwibWVudGlvbklkIiwicmVzb2x2ZWRTaXplIiwiaWNvblByb3BzIiwid2lkdGgiLCJjb25jYXQiLCJoZWlnaHQiLCJfb2JqZWN0U3ByZWFkIiwic3JjIiwiYWx0IiwiY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCIsIl9NRU5USU9OX0lDT05fUEFUSFMkdCIsImltZyIsImNyZWF0ZUVsZW1lbnQiLCJkcmFnZ2FibGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBTa2lsbEljb24sIFNLSUxMX0lDT05fUEFUSCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvU2tpbGxJY29uJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Rhc2tMaW5rSWNvbidcblxuY29uc3QgU1ZHX05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJ1xuY29uc3QgREVGQVVMVF9JQ09OX1NJWkUgPSAxNFxuXG4vKiogU2x1ZyBNQ1AgZGVsIGNvbmVjdG9yIE5vdGlvbiAoYWxpbmVhZG8gY29uIE5PVElPTl9DT05ORUNUT1JfU0xVRyBlbiBjYXRhbG9nKS4gKi9cbmV4cG9ydCBjb25zdCBOT1RJT05fTUNQX1NMVUcgPSAnbm90aW9uJ1xuXG5leHBvcnQgY29uc3QgaXNOb3Rpb25NY3BTbHVnID0gKGlkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIFN0cmluZyhpZCA/PyAnJykudG9Mb3dlckNhc2UoKSA9PT0gTk9USU9OX01DUF9TTFVHXG5cbmNvbnN0IE1FTlRJT05fSUNPTl9QQVRIUzogUmVjb3JkPEV4Y2x1ZGU8Q29udGV4dEVudGl0eVR5cGUsICd0YXNrJz4sIHN0cmluZz4gPSB7XG4gIHNraWxsOiBTS0lMTF9JQ09OX1BBVEgsXG4gIGNsaWVudDpcbiAgICAnTTMuMzc1IDdDMy4xODc1IDcgMyA2Ljg0Mzc1IDMgNi42MjVWNS4zNzVDMyA1LjE4NzUgMy4xODc1IDUgMy4zNzUgNUg0VjMuNUM0IDIuNjg3NSA0LjY4NzUgMiA1LjUgMkgxNS41QzE2LjM0MzggMiAxNyAyLjY4NzUgMTcgMy41VjE2LjVDMTcgMTcuMzQzOCAxNi4zNDM4IDE4IDE1LjUgMThINS41QzQuNjg3NSAxOCA0IDE3LjM0MzggNCAxNi41VjE1SDMuMzc1QzMuMTg3NSAxNSAzIDE0Ljg0MzggMyAxNC42MjVWMTMuMzc1QzMgMTMuMTg3NSAzLjE4NzUgMTMgMy4zNzUgMTNINFYxMUgzLjM3NUMzLjE4NzUgMTEgMyAxMC44NDM4IDMgMTAuNjI1VjkuMzc1QzMgOS4xODc1IDMuMTg3NSA5IDMuMzc1IDlINFY3SDMuMzc1Wk01LjUgMTYuNUgxNS41VjMuNUg1LjVWMTYuNVpNMTAuNSAxMEM5LjQwNjI1IDEwIDguNSA5LjEyNSA4LjUgOEM4LjUgNi45MDYyNSA5LjQwNjI1IDYgMTAuNSA2QzExLjYyNSA2IDEyLjUgNi45MDYyNSAxMi41IDhDMTIuNSA5LjEyNSAxMS42MjUgMTAgMTAuNSAxMFpNMTMuMzEyNSAxNEg3LjcxODc1QzcuMzEyNSAxNCA3IDEzLjc1IDcgMTMuNDA2MlYxMi44MTI1QzcgMTEuODEyNSA3Ljk2ODc1IDExIDkuMTI1IDExQzkuNDM3NSAxMSA5LjY4NzUgMTEuMjUgMTAuNSAxMS4yNUMxMS4zNDM4IDExLjI1IDExLjU2MjUgMTEgMTEuOTA2MiAxMUMxMy4wNjI1IDExIDE0IDExLjgxMjUgMTQgMTIuODEyNVYxMy40MDYyQzE0IDEzLjc1IDEzLjY4NzUgMTQgMTMuMzEyNSAxNFonLFxuICBwcm9qZWN0OlxuICAgICdNMTIuOTM3NSAyLjQzNzVMMTUuNTMxMiA1LjA2MjVDMTUuODEyNSA1LjM0Mzc1IDE2IDUuNzUgMTYgNi4xMjVWMTYuNUMxNiAxNy4zNDM4IDE1LjMxMjUgMTggMTQuNSAxOEg1LjVDNC42NTYyNSAxOCA0IDE3LjM0MzggNCAxNi41VjMuNUM0IDIuNjg3NSA0LjY1NjI1IDIgNS41IDJIMTEuODc1QzEyLjI1IDIgMTIuNjU2MiAyLjE1NjI1IDEyLjkzNzUgMi40Mzc1Wk0xMiA2SDE0LjM3NUwxMiAzLjYyNVY2Wk01LjUgMy41VjE2LjVIMTQuNVY3LjVIMTEuMjVDMTAuODEyNSA3LjUgMTAuNSA3LjE4NzUgMTAuNSA2Ljc1VjMuNUg1LjVaTTEzLjI1IDE0Ljc1SDkuNzVDOS41OTM3NSAxNC43NSA5LjUgMTQuNjU2MiA5LjUgMTQuNVYxMy41QzkuNSAxMy4zNzUgOS41OTM3NSAxMy4yNSA5Ljc1IDEzLjI1SDEzLjI1QzEzLjM3NSAxMy4yNSAxMy41IDEzLjM3NSAxMy41IDEzLjVWMTQuNUMxMy41IDE0LjY1NjIgMTMuMzc1IDE0Ljc1IDEzLjI1IDE0Ljc1Wk04IDE1SDdDNi43MTg3NSAxNSA2LjUgMTQuNzgxMiA2LjUgMTQuNVYxMy41QzYuNSAxMy4yNSA2LjcxODc1IDEzIDcgMTNIOEM4LjI1IDEzIDguNSAxMy4yNSA4LjUgMTMuNVYxNC41QzguNSAxNC43ODEyIDguMjUgMTUgOCAxNVpNOCAxMUg3QzYuNzE4NzUgMTEgNi41IDEwLjc4MTIgNi41IDEwLjVWOS41QzYuNSA5LjI1IDYuNzE4NzUgOSA3IDlIOEM4LjI1IDkgOC41IDkuMjUgOC41IDkuNVYxMC41QzguNSAxMC43ODEyIDguMjUgMTEgOCAxMVpNMTMuMjUgMTAuNzVIOS43NUM5LjU5Mzc1IDEwLjc1IDkuNSAxMC42NTYyIDkuNSAxMC41VjkuNUM5LjUgOS4zNzUgOS41OTM3NSA5LjI1IDkuNzUgOS4yNUgxMy4yNUMxMy4zNzUgOS4yNSAxMy41IDkuMzc1IDEzLjUgOS41VjEwLjVDMTMuNSAxMC42NTYyIDEzLjM3NSAxMC43NSAxMy4yNSAxMC43NVpNOCA3SDdDNi43MTg3NSA3IDYuNSA2Ljc4MTI1IDYuNSA2LjVWNS41QzYuNSA1LjI1IDYuNzE4NzUgNSA3IDVIOEM4LjI1IDUgOC41IDUuMjUgOC41IDUuNVY2LjVDOC41IDYuNzgxMjUgOC4yNSA3IDggN1onLFxuICB1c2VyOiAnTTEyLjM4MzkgMTEuMzEyNUMxMS42MDcxIDExLjMxMjUgMTEuMjU4OSAxMS43NSAxMCAxMS43NUM4LjcxNDI5IDExLjc1IDguMzY2MDcgMTEuMzEyNSA3LjU4OTI5IDExLjMxMjVDNS42MDcxNCAxMS4zMTI1IDQgMTIuOTgwNSA0IDE1LjAwMzlWMTUuNjg3NUM0IDE2LjQyNTggNC41NjI1IDE3IDUuMjg1NzEgMTdIMTQuNzE0M0MxNS40MTA3IDE3IDE2IDE2LjQyNTggMTYgMTUuNjg3NVYxNS4wMDM5QzE2IDEyLjk4MDUgMTQuMzY2MSAxMS4zMTI1IDEyLjM4MzkgMTEuMzEyNVpNMTQuNzE0MyAxNS42ODc1SDUuMjg1NzFWMTUuMDAzOUM1LjI4NTcxIDEzLjY5MTQgNi4zMDM1NyAxMi42MjUgNy41ODkyOSAxMi42MjVDNy45OTEwNyAxMi42MjUgOC42MDcxNCAxMy4wNjI1IDEwIDEzLjA2MjVDMTEuMzY2MSAxMy4wNjI1IDExLjk4MjEgMTIuNjI1IDEyLjM4MzkgMTIuNjI1QzEzLjY2OTYgMTIuNjI1IDE0LjcxNDMgMTMuNjkxNCAxNC43MTQzIDE1LjAwMzlWMTUuNjg3NVpNMTAgMTAuODc1QzEyLjExNjEgMTAuODc1IDEzLjg1NzEgOS4xMjUgMTMuODU3MSA2LjkzNzVDMTMuODU3MSA0Ljc3NzM0IDEyLjExNjEgMyAxMCAzQzcuODU3MTQgMyA2LjE0Mjg2IDQuNzc3MzQgNi4xNDI4NiA2LjkzNzVDNi4xNDI4NiA5LjEyNSA3Ljg1NzE0IDEwLjg3NSAxMCAxMC44NzVaTTEwIDQuMzEyNUMxMS4zOTI5IDQuMzEyNSAxMi41NzE0IDUuNTE1NjIgMTIuNTcxNCA2LjkzNzVDMTIuNTcxNCA4LjM4NjcyIDExLjM5MjkgOS41NjI1IDEwIDkuNTYyNUM4LjU4MDM2IDkuNTYyNSA3LjQyODU3IDguMzg2NzIgNy40Mjg1NyA2LjkzNzVDNy40Mjg1NyA1LjUxNTYyIDguNTgwMzYgNC4zMTI1IDEwIDQuMzEyNVonLFxuICBtY3A6ICdNMTAgM0M2LjEzMzA2IDMgMyA2LjEzMzA2IDMgMTBDMyAxMy44NjY5IDYuMTMzMDYgMTcgMTAgMTdDMTMuODY2OSAxNyAxNyAxMy44NjY5IDE3IDEwQzE3IDYuMTMzMDYgMTMuODY2OSAzIDEwIDNaTTE1LjA1MjQgNy41MTYxM0gxMy4xNjEzQzEyLjk2MzcgNi41IDEyLjY1MzIgNS41OTY3NyAxMi4yNTgxIDQuODYyOUMxMy40NzE4IDUuMzk5MTkgMTQuNDU5NyA2LjMzMDY1IDE1LjA1MjQgNy41MTYxM1pNMTAgNC4zNTQ4NEMxMC41MDgxIDQuMzU0ODQgMTEuMzU0OCA1LjU0MDMyIDExLjc3ODIgNy41MTYxM0g4LjE5MzU1QzguNjE2OTQgNS41NDAzMiA5LjQ2MzcxIDQuMzU0ODQgMTAgNC4zNTQ4NFpNNC4zNTQ4NCAxMEM0LjM1NDg0IDkuNjMzMDYgNC4zODMwNiA5LjIzNzkgNC40Njc3NCA4Ljg3MDk3SDYuNjQxMTNDNi42MTI5IDkuMjY2MTMgNi42MTI5IDkuNjMzMDYgNi42MTI5IDEwQzYuNjEyOSAxMC4zOTUyIDYuNjEyOSAxMC43NjIxIDYuNjQxMTMgMTEuMTI5SDQuNDY3NzRDNC4zODMwNiAxMC43OTAzIDQuMzU0ODQgMTAuMzk1MiA0LjM1NDg0IDEwWk00LjkxOTM1IDEyLjQ4MzlINi44MTA0OEM3LjAwODA2IDEzLjUyODIgNy4zMTg1NSAxNC40MzE1IDcuNzEzNzEgMTUuMTY1M0M2LjUgMTQuNjI5IDUuNTEyMSAxMy42Njk0IDQuOTE5MzUgMTIuNDgzOVpNNi44MTA0OCA3LjUxNjEzSDQuOTE5MzVDNS41MTIxIDYuMzMwNjUgNi41IDUuMzk5MTkgNy43MTM3MSA0Ljg2MjlDNy4zMTg1NSA1LjU5Njc3IDcuMDA4MDYgNi41IDYuODEwNDggNy41MTYxM1pNMTAgMTUuNjQ1MkM5LjQ2MzcxIDE1LjY0NTIgOC42MTY5NCAxNC40ODc5IDguMTkzNTUgMTIuNDgzOUgxMS43NzgyQzExLjM1NDggMTQuNDg3OSAxMC41MDgxIDE1LjY0NTIgMTAgMTUuNjQ1MlpNMTEuOTc1OCAxMS4xMjlINy45OTU5N0M3Ljk2Nzc0IDEwLjc5MDMgNy45Njc3NCAxMC4zOTUyIDcuOTY3NzQgMTBDNy45Njc3NCA5LjYwNDg0IDcuOTY3NzQgOS4yMzc5IDcuOTk1OTcgOC44NzA5N0gxMS45NzU4QzEyLjAwNCA5LjIzNzkgMTIuMDMyMyA5LjYwNDg0IDEyLjAzMjMgMTBDMTIuMDMyMyAxMC4zOTUyIDEyLjAwNCAxMC43OTAzIDExLjk3NTggMTEuMTI5Wk0xMi4yNTgxIDE1LjE2NTNDMTIuNjUzMiAxNC40MzE1IDEyLjk2MzcgMTMuNTI4MiAxMy4xNjEzIDEyLjQ4MzlIMTUuMDUyNEMxNC40NTk3IDEzLjY2OTQgMTMuNDcxOCAxNC42MjkgMTIuMjU4MSAxNS4xNjUzWk0xMy4zMzA2IDExLjEyOUMxMy4zNTg5IDEwLjc2MjEgMTMuMzg3MSAxMC4zOTUyIDEzLjM4NzEgMTBDMTMuMzg3MSA5LjYzMzA2IDEzLjM1ODkgOS4yNjYxMyAxMy4zMzA2IDguODcwOTdIMTUuNTMyM0MxNS41ODg3IDkuMjM3OSAxNS42NDUyIDkuNjMzMDYgMTUuNjQ1MiAxMEMxNS42NDUyIDEwLjM5NTIgMTUuNTg4NyAxMC43OTAzIDE1LjUzMjMgMTEuMTI5SDEzLjMzMDZaJyxcbn1cblxuY29uc3QgY3JlYXRlU3ZnSWNvbiA9IChwYXRoRGF0YTogc3RyaW5nLCBjb2xvcjogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDIwIDIwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcGF0aERhdGEpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsJywgY29sb3IpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsLXJ1bGUnLCAnbm9uemVybycpXG4gIHN2Zy5hcHBlbmRDaGlsZChwYXRoKVxuXG4gIHJldHVybiBzdmdcbn1cblxuY29uc3QgY3JlYXRlU2tpbGxJY29uU3ZnRWxlbWVudCA9IChjb2xvcjogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDIwIDIwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdub25lJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdkJywgU0tJTExfSUNPTl9QQVRIKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgY29sb3IpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWNhcCcsICdyb3VuZCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWpvaW4nLCAncm91bmQnKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLXdpZHRoJywgJzEuNScpXG4gIHN2Zy5hcHBlbmRDaGlsZChwYXRoKVxuXG4gIHJldHVybiBzdmdcbn1cblxuY29uc3QgY3JlYXRlTm90aW9uSWNvblN2Z0VsZW1lbnQgPSAoc2l6ZTogbnVtYmVyKTogU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdzdmcnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgJzAgMCAxMDAgMTAwJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpXG4gIHN2Zy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuXG4gIGNvbnN0IHAxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3BhdGgnKVxuICBwMS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnI2ZmZicpXG4gIHAxLnNldEF0dHJpYnV0ZSgnZCcsIE5PVElPTl9CUkFORF9QQVRIX1dISVRFKVxuXG4gIGNvbnN0IHAyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3BhdGgnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnIzAwMCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2NsaXAtcnVsZScsICdldmVub2RkJylcbiAgcDIuc2V0QXR0cmlidXRlKCdkJywgTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0spXG5cbiAgc3ZnLmFwcGVuZENoaWxkKHAxKVxuICBzdmcuYXBwZW5kQ2hpbGQocDIpXG4gIHJldHVybiBzdmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldENvbnRleHRNZW50aW9uSWNvbiA9IChcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGUsXG4gIGNvbG9yOiBzdHJpbmcsXG4gIG1lbnRpb25JZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBzaXplPzogbnVtYmVyXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBjb25zdCByZXNvbHZlZFNpemUgPSBzaXplID8/IERFRkFVTFRfSUNPTl9TSVpFXG4gIGNvbnN0IGljb25Qcm9wcyA9IHsgY29sb3IsIHdpZHRoOiBgJHtyZXNvbHZlZFNpemV9cHhgLCBoZWlnaHQ6IGAke3Jlc29sdmVkU2l6ZX1weGAgfVxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdjbGllbnQnOlxuICAgICAgcmV0dXJuIDxDb250YWN0IHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gPEZpbGVQcm9qZWN0IHsuLi5pY29uUHJvcHN9IC8+XG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e1RBU0tfTElOS19JQ09OX0RBVEFfVVJMfSBhbHQ9XCJcIiBhcmlhLWhpZGRlbiB3aWR0aD17cmVzb2x2ZWRTaXplfSBoZWlnaHQ9e3Jlc29sdmVkU2l6ZX0gLz5cbiAgICBjYXNlICd1c2VyJzpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICAgIGNhc2UgJ3NraWxsJzpcbiAgICAgIHJldHVybiA8U2tpbGxJY29uIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSBjb2xvcj17Y29sb3J9IC8+XG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIGlmIChpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgICAgICByZXR1cm4gPE5vdGlvbkljb24gd2lkdGg9e3Jlc29sdmVkU2l6ZX0gaGVpZ2h0PXtyZXNvbHZlZFNpemV9IC8+XG4gICAgICB9XG4gICAgICByZXR1cm4gPEdsb2JlIHsuLi5pY29uUHJvcHN9IC8+XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZXh0TWVudGlvbkljb25FbGVtZW50ID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IEhUTUxFbGVtZW50IHwgU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpXG4gICAgaW1nLnNyYyA9IFRBU0tfTElOS19JQ09OX0RBVEFfVVJMXG4gICAgaW1nLndpZHRoID0gcmVzb2x2ZWRTaXplXG4gICAgaW1nLmhlaWdodCA9IHJlc29sdmVkU2l6ZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIGltZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIHJldHVybiBpbWdcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnc2tpbGwnKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVNraWxsSWNvblN2Z0VsZW1lbnQoY29sb3IsIHJlc29sdmVkU2l6ZSlcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJyAmJiBpc05vdGlvbk1jcFNsdWcobWVudGlvbklkKSkge1xuICAgIHJldHVybiBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudChyZXNvbHZlZFNpemUpXG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ21jcCcpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihNRU5USU9OX0lDT05fUEFUSFMubWNwLCBjb2xvciwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgY29uc3QgcGF0aERhdGEgPSBNRU5USU9OX0lDT05fUEFUSFNbdHlwZV0gPz8gTUVOVElPTl9JQ09OX1BBVEhTLnVzZXJcbiAgcmV0dXJuIGNyZWF0ZVN2Z0ljb24ocGF0aERhdGEsIGNvbG9yLCByZXNvbHZlZFNpemUpXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLE9BQU8sUUFBUSwwQ0FBMEM7QUFDbEUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsVUFBVSxFQUFFQyx1QkFBdUIsRUFBRUMsdUJBQXVCLFFBQVEsc0NBQXNDO0FBQ25ILFNBQVNDLFNBQVMsRUFBRUMsZUFBZSxRQUFRLHFDQUFxQztBQUVoRixTQUFTQyx1QkFBdUIsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbkUsSUFBTUMsTUFBTSxHQUFHLDRCQUE0QjtBQUMzQyxJQUFNQyxpQkFBaUIsR0FBRyxFQUFFOztBQUU1QjtBQUNBLE9BQU8sSUFBTUMsZUFBZSxHQUFHLFFBQVE7QUFFdkMsT0FBTyxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLEVBQStCO0VBQUEsT0FDN0RDLE1BQU0sQ0FBQ0QsRUFBRSxhQUFGQSxFQUFFLGNBQUZBLEVBQUUsR0FBSSxFQUFFLENBQUMsQ0FBQ0UsV0FBVyxDQUFDLENBQUMsS0FBS0osZUFBZTtBQUFBO0FBRXBELElBQU1LLGtCQUFzRSxHQUFHO0VBQzdFQyxLQUFLLEVBQUVaLGVBQWU7RUFDdEJhLE1BQU0sRUFDSiw2dEJBQTZ0QjtFQUMvdEJDLE9BQU8sRUFDTCw4L0JBQTgvQjtFQUNoZ0NDLElBQUksRUFBRSw0MEJBQTQwQjtFQUNsMUJDLEdBQUcsRUFBRTtBQUNQLENBQUM7QUFFRCxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLFFBQWdCLEVBQUVDLEtBQWEsRUFBRUMsSUFB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
@@ -28,11 +28,11 @@ import { openTaskInCorPanel } from './openTaskInCorPanel';
28
28
  * se captura de forma lazy hasta el cierre real `]]`.
29
29
  */
30
30
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
31
- export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp):([^|\]]+)\|([\s\S]*?)\]\]/g;
31
+ export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp|skill):([^|\]]+)\|([\s\S]*?)\]\]/g;
32
32
  export var MAIA_MENTION_PROTOCOL = 'maia-mention://';
33
33
  var INCOMPLETE_MENTION_MARKER_REGEX = /\[\[mention:[\s\S]*$/;
34
34
  var INCOMPLETE_SLASH_MARKER_REGEX = /\[\[slash_command:[^|\]]+\|([\s\S]*)$/;
35
- var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp'];
35
+ var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp', 'skill'];
36
36
  var parseMentionProtocolHref = function parseMentionProtocolHref(href) {
37
37
  var rest = href.slice(MAIA_MENTION_PROTOCOL.length);
38
38
  var slashIdx = rest.indexOf('/');
@@ -93,8 +93,13 @@ var splitLabelFirstWord = function splitLabelFirstWord(label) {
93
93
  rest: normalized.slice(firstWhitespaceIdx)
94
94
  };
95
95
  };
96
+ var INLINE_MENTION_HOVER_BG = {
97
+ project: VIOLET_IA_COLORS[100]
98
+ };
96
99
  var inlineMentionHoverCss = function inlineMentionHoverCss(type, isClickable) {
97
- var bg = type === 'project' ? VIOLET_IA_COLORS[100] : MENTION_CHIP_NON_TASK_HOVER_BG;
100
+ var _INLINE_MENTION_HOVER;
101
+ if (type === 'skill') return css([""]);
102
+ var bg = (_INLINE_MENTION_HOVER = INLINE_MENTION_HOVER_BG[type]) !== null && _INLINE_MENTION_HOVER !== void 0 ? _INLINE_MENTION_HOVER : MENTION_CHIP_NON_TASK_HOVER_BG;
98
103
  return css(["background:", ";opacity:", ";"], bg, isClickable ? 0.95 : 1);
99
104
  };
100
105
 
@@ -389,4 +394,4 @@ export var renderTextWithMentions = function renderTextWithMentions(text) {
389
394
  if (lastIdx < text.length) out.push(text.slice(lastIdx));
390
395
  return out;
391
396
  };
392
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJTQ0lubGluZU1lbnRpb25SZXN0IiwicmVuZGVyTWVudGlvbkxpbmsiLCJzdGFydHNXaXRoIiwiX3BhcnNlTWVudGlvblByb3RvY29sIiwiaXNUYXNrIiwiaWNvblNpemUiLCJ0YXNrVXJsIiwiaGFuZGxlVGFza0NsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYXNrS2V5RG93biIsImtleSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJpc1Byb2plY3QiLCJwcm9qZWN0VXJsIiwic2hvd0ljb24iLCJfc3BsaXRMYWJlbEZpcnN0V29yZCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0TWVudGlvbnMiLCJzbGFzaFJlZ2V4IiwiUmVnRXhwIiwic291cmNlIiwid2l0aG91dFNsYXNoIiwid2l0aG91dEluY29tcGxldGVTbGFzaCIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiX3NwbGl0TGFiZWxGaXJzdFdvcmQyIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiaGFzSW5saW5lTWFya2VycyIsImNvbGxlY3RJbmxpbmVNYXJrZXJzIiwibWFya2VycyIsImxhc3RJbmRleCIsIm0iLCJleGVjIiwiX20yIiwiX20zIiwiX3NsaWNlZFRvQXJyYXkiLCJwdXNoIiwia2luZCIsImluZGV4IiwicyIsInNvcnQiLCJhIiwiYiIsInJlbmRlclRleHRXaXRoTWVudGlvbnMiLCJvdXQiLCJsYXN0SWR4IiwiZm9yRWFjaCIsIm1hcmtlciIsImlubGluZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVhY3RFbGVtZW50LCBNb3VzZUV2ZW50LCBLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uLCBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHtcbiAgTUVOVElPTl9DSElQX0NPTE9SUyxcbiAgTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kQ2hpcCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYIH0gZnJvbSAnLi9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5jb25zdCBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOltefFxcXV0rXFx8KFtcXHNcXFNdKikkL1xuXG5jb25zdCBBTExPV0VEX1RZUEVTOiBDb250ZXh0RW50aXR5VHlwZVtdID0gWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJywgJ3VzZXInLCAnbWNwJ11cblxuY29uc3QgcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmID0gKGhyZWY6IHN0cmluZyk6IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHJlc3QgPSBocmVmLnNsaWNlKE1BSUFfTUVOVElPTl9QUk9UT0NPTC5sZW5ndGgpXG4gIGNvbnN0IHNsYXNoSWR4ID0gcmVzdC5pbmRleE9mKCcvJylcbiAgY29uc3QgcmF3VHlwZSA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKDAsIHNsYXNoSWR4KSA6IHJlc3RcbiAgY29uc3QgcmF3SWQgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZShzbGFzaElkeCArIDEpIDogJydcbiAgbGV0IGlkID0gJydcbiAgdHJ5IHtcbiAgICBpZCA9IHJhd0lkID8gZGVjb2RlVVJJQ29tcG9uZW50KHJhd0lkKSA6ICcnXG4gIH0gY2F0Y2gge1xuICAgIGlkID0gcmF3SWRcbiAgfVxuICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICByZXR1cm4geyB0eXBlLCBpZCB9XG59XG5cbi8qKiBHZW5lcmEgZWwgbWFyY2Fkb3IgcGFyYSB1biBtZW50aW9uIGRhZG8uIExvIHVzYSBlbCBlZGl0b3IgYWwgc2VyaWFsaXphci4gKi9cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVNZW50aW9uID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogc3RyaW5nID0+XG4gIGBbW21lbnRpb246JHttZW50aW9uLnR5cGV9OiR7bWVudGlvbi5pZH18JHttZW50aW9uLmxhYmVsfV1dYFxuXG4vKipcbiAqIENvbnZpZXJ0ZSBjYWRhIGBbW21lbnRpb246Li4uXV1gIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uIHByb3RvY29sbyBwcm9waW9cbiAqIHBhcmEgcXVlIFN0cmVhbWRvd24gbG8gZW1pdGEgY29tbyBgPGE+YCB5IGBDdXN0b21MaW5rYCBsbyBpbnRlcmNlcHRlLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICByZXR1cm4gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIHR5cGUsIGlkLCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHNhZmVMYWJlbCA9IFN0cmluZyhsYWJlbCkucmVwbGFjZSgvW1xcXFxcXF1dL2csICdcXFxcJCYnKVxuICAgIHJldHVybiBgWyR7c2FmZUxhYmVsfV0oJHtNQUlBX01FTlRJT05fUFJPVE9DT0x9JHt0eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0pYFxuICB9KVxufVxuXG5jb25zdCBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsID0gKGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJykgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4pXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsIHx8IGNoaWxkcmVuID09PSBmYWxzZSkgcmV0dXJuICcnXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuLm1hcChjID0+ICh0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyBjIDogJycpKS5qb2luKCcnKSlcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcoY2hpbGRyZW4pKVxufVxuXG5jb25zdCBzcGxpdExhYmVsRmlyc3RXb3JkID0gKGxhYmVsOiBzdHJpbmcpOiB7IGZpcnN0V29yZDogc3RyaW5nOyByZXN0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4geyBmaXJzdFdvcmQ6ICcnLCByZXN0OiAnJyB9XG4gIGNvbnN0IGZpcnN0V2hpdGVzcGFjZUlkeCA9IG5vcm1hbGl6ZWQuc2VhcmNoKC9cXHMvKVxuICBpZiAoZmlyc3RXaGl0ZXNwYWNlSWR4IDwgMCkgcmV0dXJuIHsgZmlyc3RXb3JkOiBub3JtYWxpemVkLCByZXN0OiAnJyB9XG4gIHJldHVybiB7XG4gICAgZmlyc3RXb3JkOiBub3JtYWxpemVkLnNsaWNlKDAsIGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gICAgcmVzdDogbm9ybWFsaXplZC5zbGljZShmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICB9XG59XG5cbmNvbnN0IGlubGluZU1lbnRpb25Ib3ZlckNzcyA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgaXNDbGlja2FibGU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IGJnID0gdHlwZSA9PT0gJ3Byb2plY3QnID8gVklPTEVUX0lBX0NPTE9SU1sxMDBdIDogTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHXG4gIHJldHVybiBjc3NgXG4gICAgYmFja2dyb3VuZDogJHtiZ307XG4gICAgb3BhY2l0eTogJHtpc0NsaWNrYWJsZSA/IDAuOTUgOiAxfTtcbiAgYFxufVxuXG4vKiogU3BhbiBpbmxpbmUgZXN0aWxhZG8gKG1lbmNpb25lcyBuby10YXNrIGVuIGNoYXQpLiAqL1xuY29uc3QgU0NJbmxpbmVNZW50aW9uID0gc3R5bGVkLnNwYW48eyAkdHlwZTogQ29udGV4dEVudGl0eVR5cGU7ICRpc0NsaWNrYWJsZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5iZ307XG4gIGNvbG9yOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmZnfTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgY3Vyc29yOiAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiAoJGlzQ2xpY2thYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnKX07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlLCAkaXNDbGlja2FibGUgfSkgPT4gaW5saW5lTWVudGlvbkhvdmVyQ3NzKCR0eXBlLCAkaXNDbGlja2FibGUpfVxuICB9XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb24gPSBzdHlsZWQuc3Bhbjx7ICR0YXNrPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGhlaWdodDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvblJvdyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25Xb3JkID0gc3R5bGVkLnNwYW5gXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvblJlc3QgPSBzdHlsZWQuc3BhbmBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYCA6IG51bGxcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKGxhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZVByb2plY3RDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIXByb2plY3RVcmwpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbihwcm9qZWN0VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzUHJvamVjdH1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc1Byb2plY3QgPyBoYW5kbGVQcm9qZWN0Q2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc1Byb2plY3QgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc1Byb2plY3QgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8U0NJbmxpbmVNZW50aW9uUmVzdD57cmVzdH08L1NDSW5saW5lTWVudGlvblJlc3Q+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBsYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0TWVudGlvbnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgY29uc3Qgd2l0aG91dFNsYXNoID0gd2l0aG91dE1lbnRpb25zLnJlcGxhY2Uoc2xhc2hSZWdleCwgKF9tLCBfaWQsIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YClcbiAgY29uc3Qgd2l0aG91dEluY29tcGxldGVTbGFzaCA9IHdpdGhvdXRTbGFzaC5yZXBsYWNlKFxuICAgIElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYLFxuICAgIChfbSwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRJbmNvbXBsZXRlU2xhc2gucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgXG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gbnVsbCAvLyBMb3MgdXNlcnMgbm8gc29uIGNsaWNrZWFibGVzXG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIHJldHVybiBudWxsXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgTWVudGlvbkNoaXAgPSAoeyB0eXBlLCBpZCwgbGFiZWwgfTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpXG4gIGNvbnN0IHVybCA9IGdldE1lbnRpb25VcmwodHlwZSwgaWQpXG4gIGNvbnN0IGlzQ2xpY2thYmxlID0gISF1cmxcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKG5vcm1hbGl6ZWRMYWJlbClcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPFNDSW5saW5lTWVudGlvblJlc3Q+e3Jlc3R9PC9TQ0lubGluZU1lbnRpb25SZXN0PiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbm9ybWFsaXplZExhYmVsIDogbnVsbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgaGFzSW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2VcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoJ1tbbWVudGlvbjonKSB8fCB0ZXh0LmluY2x1ZGVzKCdbW3NsYXNoX2NvbW1hbmQ6Jylcbn1cblxudHlwZSBJbmxpbmVNYXJrZXIgPVxuICB8IHsga2luZDogJ21lbnRpb24nOyBpbmRleDogbnVtYmVyOyBsZW5ndGg6IG51bWJlcjsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuICB8IHsga2luZDogJ3NsYXNoJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuXG5jb25zdCBjb2xsZWN0SW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBJbmxpbmVNYXJrZXJbXSA9PiB7XG4gIGNvbnN0IG1hcmtlcnM6IElubGluZU1hcmtlcltdID0gW11cblxuICBNRU5USU9OX01BUktFUl9SRUdFWC5sYXN0SW5kZXggPSAwXG4gIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB3aGlsZSAobSkge1xuICAgIGNvbnN0IFssIHJhd1R5cGUsIGlkLCBsYWJlbF0gPSBtXG4gICAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcbiAgICBtYXJrZXJzLnB1c2goeyBraW5kOiAnbWVudGlvbicsIGluZGV4OiBtLmluZGV4LCBsZW5ndGg6IG1bMF0ubGVuZ3RoLCB0eXBlLCBpZCwgbGFiZWwgfSlcbiAgICBtID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB9XG5cbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGxldCBzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIHdoaWxlIChzKSB7XG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ3NsYXNoJywgaW5kZXg6IHMuaW5kZXgsIGxlbmd0aDogc1swXS5sZW5ndGgsIGlkOiBzWzFdLCBsYWJlbDogc1syXSB9KVxuICAgIHMgPSBzbGFzaFJlZ2V4LmV4ZWModGV4dClcbiAgfVxuXG4gIHJldHVybiBtYXJrZXJzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KVxufVxuXG5leHBvcnQgY29uc3QgcmVuZGVyVGV4dFdpdGhNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gW3RleHRdXG4gIGNvbnN0IG1hcmtlcnMgPSBjb2xsZWN0SW5saW5lTWFya2Vycyh0ZXh0KVxuICBpZiAobWFya2Vycy5sZW5ndGggPT09IDApIHJldHVybiBbdGV4dF1cblxuICBjb25zdCBvdXQ6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPSBbXVxuICBsZXQgbGFzdElkeCA9IDBcbiAgbWFya2Vycy5mb3JFYWNoKG1hcmtlciA9PiB7XG4gICAgaWYgKG1hcmtlci5pbmRleCA+IGxhc3RJZHgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCwgbWFya2VyLmluZGV4KSlcbiAgICBpZiAobWFya2VyLmtpbmQgPT09ICdtZW50aW9uJykge1xuICAgICAgb3V0LnB1c2goXG4gICAgICAgIDxNZW50aW9uQ2hpcFxuICAgICAgICAgIGtleT17YG1lbnRpb24tJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLnR5cGV9LSR7bWFya2VyLmlkfWB9XG4gICAgICAgICAgdHlwZT17bWFya2VyLnR5cGV9XG4gICAgICAgICAgaWQ9e21hcmtlci5pZH1cbiAgICAgICAgICBsYWJlbD17bWFya2VyLmxhYmVsfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQucHVzaCg8U2xhc2hDb21tYW5kQ2hpcCBrZXk9e2BzbGFzaC0ke21hcmtlci5pbmRleH0tJHttYXJrZXIuaWR9YH0gbGFiZWw9e21hcmtlci5sYWJlbH0gaW5saW5lPXtmYWxzZX0gLz4pXG4gICAgfVxuICAgIGxhc3RJZHggPSBtYXJrZXIuaW5kZXggKyBtYXJrZXIubGVuZ3RoXG4gIH0pXG4gIGlmIChsYXN0SWR4IDwgdGV4dC5sZW5ndGgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCkpXG4gIHJldHVybiBvdXRcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUMvQyxTQUE0Q0MsMEJBQTBCLFFBQVEseUJBQXlCO0FBQ3ZHLFNBQ0VDLG1CQUFtQixFQUNuQkMsOEJBQThCLFFBQ3pCLGtFQUFrRTtBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSxzQ0FBc0M7QUFDdkUsU0FBU0MsMEJBQTBCLFFBQVEsc0JBQXNCO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLGtCQUFrQjtBQUNuRCxTQUFTQyxVQUFVLFFBQVEsa0RBQWtEO0FBQzdFLFNBQVNDLHFCQUFxQixRQUFRLHVCQUF1QjtBQUM3RCxTQUFTQyw0QkFBNEIsUUFBUSx1QkFBdUI7QUFDcEUsU0FBU0Msa0JBQWtCLFFB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
397
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiSU5MSU5FX01FTlRJT05fSE9WRVJfQkciLCJwcm9qZWN0IiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJfSU5MSU5FX01FTlRJT05fSE9WRVIiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJTQ0lubGluZU1lbnRpb25SZXN0IiwicmVuZGVyTWVudGlvbkxpbmsiLCJzdGFydHNXaXRoIiwiX3BhcnNlTWVudGlvblByb3RvY29sIiwiaXNUYXNrIiwiaWNvblNpemUiLCJ0YXNrVXJsIiwiaGFuZGxlVGFza0NsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYXNrS2V5RG93biIsImtleSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJpc1Byb2plY3QiLCJwcm9qZWN0VXJsIiwic2hvd0ljb24iLCJfc3BsaXRMYWJlbEZpcnN0V29yZCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0TWVudGlvbnMiLCJzbGFzaFJlZ2V4IiwiUmVnRXhwIiwic291cmNlIiwid2l0aG91dFNsYXNoIiwid2l0aG91dEluY29tcGxldGVTbGFzaCIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiX3NwbGl0TGFiZWxGaXJzdFdvcmQyIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiaGFzSW5saW5lTWFya2VycyIsImNvbGxlY3RJbmxpbmVNYXJrZXJzIiwibWFya2VycyIsImxhc3RJbmRleCIsIm0iLCJleGVjIiwiX20yIiwiX20zIiwiX3NsaWNlZFRvQXJyYXkiLCJwdXNoIiwia2luZCIsImluZGV4IiwicyIsInNvcnQiLCJhIiwiYiIsInJlbmRlclRleHRXaXRoTWVudGlvbnMiLCJvdXQiLCJsYXN0SWR4IiwiZm9yRWFjaCIsIm1hcmtlciIsImlubGluZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVhY3RFbGVtZW50LCBNb3VzZUV2ZW50LCBLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uLCBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHtcbiAgTUVOVElPTl9DSElQX0NPTE9SUyxcbiAgTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kQ2hpcCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYIH0gZnJvbSAnLi9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwfHNraWxsKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5jb25zdCBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOltefFxcXV0rXFx8KFtcXHNcXFNdKikkL1xuXG5jb25zdCBBTExPV0VEX1RZUEVTOiBDb250ZXh0RW50aXR5VHlwZVtdID0gWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJywgJ3VzZXInLCAnbWNwJywgJ3NraWxsJ11cblxuY29uc3QgcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmID0gKGhyZWY6IHN0cmluZyk6IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHJlc3QgPSBocmVmLnNsaWNlKE1BSUFfTUVOVElPTl9QUk9UT0NPTC5sZW5ndGgpXG4gIGNvbnN0IHNsYXNoSWR4ID0gcmVzdC5pbmRleE9mKCcvJylcbiAgY29uc3QgcmF3VHlwZSA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKDAsIHNsYXNoSWR4KSA6IHJlc3RcbiAgY29uc3QgcmF3SWQgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZShzbGFzaElkeCArIDEpIDogJydcbiAgbGV0IGlkID0gJydcbiAgdHJ5IHtcbiAgICBpZCA9IHJhd0lkID8gZGVjb2RlVVJJQ29tcG9uZW50KHJhd0lkKSA6ICcnXG4gIH0gY2F0Y2gge1xuICAgIGlkID0gcmF3SWRcbiAgfVxuICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICByZXR1cm4geyB0eXBlLCBpZCB9XG59XG5cbi8qKiBHZW5lcmEgZWwgbWFyY2Fkb3IgcGFyYSB1biBtZW50aW9uIGRhZG8uIExvIHVzYSBlbCBlZGl0b3IgYWwgc2VyaWFsaXphci4gKi9cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVNZW50aW9uID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogc3RyaW5nID0+XG4gIGBbW21lbnRpb246JHttZW50aW9uLnR5cGV9OiR7bWVudGlvbi5pZH18JHttZW50aW9uLmxhYmVsfV1dYFxuXG4vKipcbiAqIENvbnZpZXJ0ZSBjYWRhIGBbW21lbnRpb246Li4uXV1gIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uIHByb3RvY29sbyBwcm9waW9cbiAqIHBhcmEgcXVlIFN0cmVhbWRvd24gbG8gZW1pdGEgY29tbyBgPGE+YCB5IGBDdXN0b21MaW5rYCBsbyBpbnRlcmNlcHRlLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICByZXR1cm4gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIHR5cGUsIGlkLCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHNhZmVMYWJlbCA9IFN0cmluZyhsYWJlbCkucmVwbGFjZSgvW1xcXFxcXF1dL2csICdcXFxcJCYnKVxuICAgIHJldHVybiBgWyR7c2FmZUxhYmVsfV0oJHtNQUlBX01FTlRJT05fUFJPVE9DT0x9JHt0eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0pYFxuICB9KVxufVxuXG5jb25zdCBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsID0gKGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJykgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4pXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsIHx8IGNoaWxkcmVuID09PSBmYWxzZSkgcmV0dXJuICcnXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuLm1hcChjID0+ICh0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyBjIDogJycpKS5qb2luKCcnKSlcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcoY2hpbGRyZW4pKVxufVxuXG5jb25zdCBzcGxpdExhYmVsRmlyc3RXb3JkID0gKGxhYmVsOiBzdHJpbmcpOiB7IGZpcnN0V29yZDogc3RyaW5nOyByZXN0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4geyBmaXJzdFdvcmQ6ICcnLCByZXN0OiAnJyB9XG4gIGNvbnN0IGZpcnN0V2hpdGVzcGFjZUlkeCA9IG5vcm1hbGl6ZWQuc2VhcmNoKC9cXHMvKVxuICBpZiAoZmlyc3RXaGl0ZXNwYWNlSWR4IDwgMCkgcmV0dXJuIHsgZmlyc3RXb3JkOiBub3JtYWxpemVkLCByZXN0OiAnJyB9XG4gIHJldHVybiB7XG4gICAgZmlyc3RXb3JkOiBub3JtYWxpemVkLnNsaWNlKDAsIGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gICAgcmVzdDogbm9ybWFsaXplZC5zbGljZShmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICB9XG59XG5cbmNvbnN0IElOTElORV9NRU5USU9OX0hPVkVSX0JHOiBQYXJ0aWFsPFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPj4gPSB7XG4gIHByb2plY3Q6IFZJT0xFVF9JQV9DT0xPUlNbMTAwXSxcbn1cblxuY29uc3QgaW5saW5lTWVudGlvbkhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IHtcbiAgaWYgKHR5cGUgPT09ICdza2lsbCcpIHJldHVybiBjc3NgYFxuICBjb25zdCBiZyA9IElOTElORV9NRU5USU9OX0hPVkVSX0JHW3R5cGVdID8/IE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CR1xuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7Ymd9O1xuICAgIG9wYWNpdHk6ICR7aXNDbGlja2FibGUgPyAwLjk1IDogMX07XG4gIGBcbn1cblxuLyoqIFNwYW4gaW5saW5lIGVzdGlsYWRvIChtZW5jaW9uZXMgbm8tdGFzayBlbiBjaGF0KS4gKi9cbmNvbnN0IFNDSW5saW5lTWVudGlvbiA9IHN0eWxlZC5zcGFuPHsgJHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyAkaXNDbGlja2FibGU/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIG1hcmdpbjogMCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6ICR7KHsgJHR5cGUgfSkgPT4gKE1FTlRJT05fQ0hJUF9DT0xPUlNbJHR5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlcikuYmd9O1xuICBjb2xvcjogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5mZ307XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGN1cnNvcjogJHsoeyAkaXNDbGlja2FibGUgfSkgPT4gKCRpc0NsaWNrYWJsZSA/ICdwb2ludGVyJyA6ICdkZWZhdWx0Jyl9O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJjpob3ZlciB7XG4gICAgJHsoeyAkdHlwZSwgJGlzQ2xpY2thYmxlIH0pID0+IGlubGluZU1lbnRpb25Ib3ZlckNzcygkdHlwZSwgJGlzQ2xpY2thYmxlKX1cbiAgfVxuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25JY29uID0gc3R5bGVkLnNwYW48eyAkdGFzaz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIHdpZHRoOiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuICBoZWlnaHQ6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb25Sb3cgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMTAwJTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uV29yZCA9IHN0eWxlZC5zcGFuYFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25SZXN0ID0gc3R5bGVkLnNwYW5gXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbi8qKlxuICogU2kgZWwgaHJlZiBjb3JyZXNwb25kZSBhbCBwcm90b2NvbG8gZGUgbWVudGlvbiwgZGV2dWVsdmUgdW4gbm9kbyBlc3RpbGFkbyBwb3IgdGlwby5cbiAqIExhcyB0YXJlYXMgdXNhbiBgPGE+YCBjb21vIGxvcyBlbmxhY2VzIGRlIHRhcmVhIGRlbCBhZ2VudGUgKGAuaGFzLXRhc2stbGlua3NgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbmRlck1lbnRpb25MaW5rID0gKGhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZCwgY2hpbGRyZW46IFJlYWN0Tm9kZSk6IFJlYWN0Tm9kZSB8IG51bGwgPT4ge1xuICBpZiAoIWhyZWYgfHwgIWhyZWYuc3RhcnRzV2l0aChNQUlBX01FTlRJT05fUFJPVE9DT0wpKSByZXR1cm4gbnVsbFxuICBjb25zdCB7IHR5cGUsIGlkIH0gPSBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYoaHJlZilcbiAgY29uc3QgbGFiZWwgPSBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsKGNoaWxkcmVuKVxuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHRhc2tVcmwgPSBgL3Rhc2tzLyR7aWR9L2RldGFpbGBcblxuICBjb25zdCBoYW5kbGVUYXNrQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKGlzVGFzaykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt0YXNrVXJsfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlVGFza0NsaWNrfVxuICAgICAgICBvbktleURvd249e2hhbmRsZVRhc2tLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L1NDVGFza0xpbms+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgaXNQcm9qZWN0ID0gdHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHByb2plY3RVcmwgPSBpc1Byb2plY3QgPyBgL3Byb2plY3RzLyR7aWR9L2Rhc2hib2FyZGAgOiBudWxsXG4gIGNvbnN0IHNob3dJY29uID0gIWlzUHJvamVjdFxuICBjb25zdCB7IGZpcnN0V29yZCwgcmVzdCB9ID0gc3BsaXRMYWJlbEZpcnN0V29yZChsYWJlbClcblxuICBjb25zdCBoYW5kbGVQcm9qZWN0Q2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFwcm9qZWN0VXJsKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgd2luZG93Lm9wZW4ocHJvamVjdFVybCwgJ19ibGFuaycpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc1Byb2plY3R9XG4gICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgb25DbGljaz17aXNQcm9qZWN0ID8gaGFuZGxlUHJvamVjdENsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNQcm9qZWN0ID8gJ2J1dHRvbicgOiB1bmRlZmluZWR9XG4gICAgICB0YWJJbmRleD17aXNQcm9qZWN0ID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPFNDSW5saW5lTWVudGlvblJlc3Q+e3Jlc3R9PC9TQ0lubGluZU1lbnRpb25SZXN0PiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbGFiZWwgOiBudWxsfVxuICAgIDwvU0NJbmxpbmVNZW50aW9uPlxuICApXG59XG5cbi8qKiBRdWl0YSBsb3MgbWFya2VycyBkZWwgdGV4dG8sIGRlamFuZG8gc29sbyBgbGFiZWxgLiDDmnRpbCBwYXJhIGZhbGxiYWNrIHBsYW5vLiAqL1xuZXhwb3J0IGNvbnN0IHN0cmlwTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+XG4gIHRleHQucmVwbGFjZShNRU5USU9OX01BUktFUl9SRUdFWCwgKF9tLCBfdHlwZSwgX2lkLCBsYWJlbCkgPT4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpKSlcblxuLyoqXG4gKiBUw610dWxvcyBkZSBjb252ZXJzYWNpw7NuIChwLiBlai4gYGxhc3RfcXVlc3Rpb25gIGRlcml2YWRvIGRlbCBwcmltZXIgbWVuc2FqZSkgcHVlZGVuXG4gKiBpbmNsdWlyIGVsIHRleHRvIHNlcmlhbGl6YWRvIGBbW21lbnRpb246dHlwZTppZHxsYWJlbF1dYC4gUGFyYSBzaWRlYmFyIHkgbGlzdGFkb3MsXG4gKiByZWVtcGxhemEgY2FkYSBibG9xdWUgcG9yIGBsYWJlbGAgZW4gdGV4dG8gcGxhbm8sIHNpbiBlbCBtYXJjYWRvciBjcnVkby5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgaWYgKHRleHQgPT0gbnVsbCB8fCB0ZXh0ID09PSAnJykgcmV0dXJuIHRleHQgPz8gJydcbiAgY29uc3Qgd2l0aG91dE1lbnRpb25zID0gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PlxuICAgIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGxhYmVsKS50cmltKCkpXG4gIClcbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGNvbnN0IHdpdGhvdXRTbGFzaCA9IHdpdGhvdXRNZW50aW9ucy5yZXBsYWNlKHNsYXNoUmVnZXgsIChfbSwgX2lkLCBsYWJlbCkgPT4gYC8ke1N0cmluZyhsYWJlbCkudHJpbSgpfWApXG4gIGNvbnN0IHdpdGhvdXRJbmNvbXBsZXRlU2xhc2ggPSB3aXRob3V0U2xhc2gucmVwbGFjZShcbiAgICBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCxcbiAgICAoX20sIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YFxuICApXG4gIHJldHVybiB3aXRob3V0SW5jb21wbGV0ZVNsYXNoLnJlcGxhY2UoSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCwgJycpLnRyaW0oKVxufVxuXG4vKiogR2VuZXJhIGxhIFVSTCBkZSBuYXZlZ2FjacOzbiBwYXJhIHVuIG1lbnRpb24gc2Vnw7puIHN1IHRpcG8uICovXG5jb25zdCBnZXRNZW50aW9uVXJsID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpZDogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2NsaWVudCc6XG4gICAgICByZXR1cm4gYC9jbGllbnRzLyR7aWR9YFxuICAgIGNhc2UgJ3Byb2plY3QnOlxuICAgICAgcmV0dXJuIGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYFxuICAgIGNhc2UgJ3Rhc2snOlxuICAgICAgcmV0dXJuIGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIG51bGwgLy8gTG9zIHVzZXJzIG5vIHNvbiBjbGlja2VhYmxlc1xuICAgIGNhc2UgJ21jcCc6XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IE1lbnRpb25DaGlwID0gKHsgdHlwZSwgaWQsIGxhYmVsIH06IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfSkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkTGFiZWwgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKVxuICBjb25zdCB1cmwgPSBnZXRNZW50aW9uVXJsKHR5cGUsIGlkKVxuICBjb25zdCBpc0NsaWNrYWJsZSA9ICEhdXJsXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCB7IGZpcnN0V29yZCwgcmVzdCB9ID0gc3BsaXRMYWJlbEZpcnN0V29yZChub3JtYWxpemVkTGFiZWwpXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCB8IEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzQ2xpY2thYmxlIHx8ICF1cmwpIHJldHVyblxuICAgIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgdHlwZSAhPT0gJ3Rhc2snKSByZXR1cm5cbiAgICBpZiAoZS5rZXkgIT09ICdFbnRlcicgJiYgZS5rZXkgIT09ICcgJykgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDVGFza0xpbmtcbiAgICAgICAgaHJlZj17dXJsID8/ICcjJ31cbiAgICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgICAgZGF0YS1tZW50aW9uLXR5cGU9XCJ0YXNrXCJcbiAgICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAge25vcm1hbGl6ZWRMYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc0NsaWNrYWJsZX1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc0NsaWNrYWJsZSA/IGhhbmRsZUNsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNDbGlja2FibGUgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc0NsaWNrYWJsZSA/IDAgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAge3Nob3dJY29uID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb24gJHRhc2s9e2lzVGFza30+XG4gICAgICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvbj5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25Xb3JkPntmaXJzdFdvcmR9PC9TQ0lubGluZU1lbnRpb25Xb3JkPlxuICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICB7cmVzdCA/IDxTQ0lubGluZU1lbnRpb25SZXN0PntyZXN0fTwvU0NJbmxpbmVNZW50aW9uUmVzdD4gOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFzaG93SWNvbiA/IG5vcm1hbGl6ZWRMYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0lubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB0ZXh0LmluY2x1ZGVzKCdbW21lbnRpb246JykgfHwgdGV4dC5pbmNsdWRlcygnW1tzbGFzaF9jb21tYW5kOicpXG59XG5cbnR5cGUgSW5saW5lTWFya2VyID1cbiAgfCB7IGtpbmQ6ICdtZW50aW9uJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cbiAgfCB7IGtpbmQ6ICdzbGFzaCc7IGluZGV4OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cblxuY29uc3QgY29sbGVjdElubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogSW5saW5lTWFya2VyW10gPT4ge1xuICBjb25zdCBtYXJrZXJzOiBJbmxpbmVNYXJrZXJbXSA9IFtdXG5cbiAgTUVOVElPTl9NQVJLRVJfUkVHRVgubGFzdEluZGV4ID0gMFxuICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgd2hpbGUgKG0pIHtcbiAgICBjb25zdCBbLCByYXdUeXBlLCBpZCwgbGFiZWxdID0gbVxuICAgIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ21lbnRpb24nLCBpbmRleDogbS5pbmRleCwgbGVuZ3RoOiBtWzBdLmxlbmd0aCwgdHlwZSwgaWQsIGxhYmVsIH0pXG4gICAgbSA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgfVxuXG4gIGNvbnN0IHNsYXNoUmVnZXggPSBuZXcgUmVnRXhwKFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYLnNvdXJjZSwgJ2cnKVxuICBsZXQgczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHNsYXNoUmVnZXguZXhlYyh0ZXh0KVxuICB3aGlsZSAocykge1xuICAgIG1hcmtlcnMucHVzaCh7IGtpbmQ6ICdzbGFzaCcsIGluZGV4OiBzLmluZGV4LCBsZW5ndGg6IHNbMF0ubGVuZ3RoLCBpZDogc1sxXSwgbGFiZWw6IHNbMl0gfSlcbiAgICBzID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIH1cblxuICByZXR1cm4gbWFya2Vycy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleClcbn1cblxuZXhwb3J0IGNvbnN0IHJlbmRlclRleHRXaXRoTWVudGlvbnMgPSAodGV4dDogc3RyaW5nKTogQXJyYXk8c3RyaW5nIHwgUmVhY3RFbGVtZW50PiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIFt0ZXh0XVxuICBjb25zdCBtYXJrZXJzID0gY29sbGVjdElubGluZU1hcmtlcnModGV4dClcbiAgaWYgKG1hcmtlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gW3RleHRdXG5cbiAgY29uc3Qgb3V0OiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0gW11cbiAgbGV0IGxhc3RJZHggPSAwXG4gIG1hcmtlcnMuZm9yRWFjaChtYXJrZXIgPT4ge1xuICAgIGlmIChtYXJrZXIuaW5kZXggPiBsYXN0SWR4KSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgsIG1hcmtlci5pbmRleCkpXG4gICAgaWYgKG1hcmtlci5raW5kID09PSAnbWVudGlvbicpIHtcbiAgICAgIG91dC5wdXNoKFxuICAgICAgICA8TWVudGlvbkNoaXBcbiAgICAgICAgICBrZXk9e2BtZW50aW9uLSR7bWFya2VyLmluZGV4fS0ke21hcmtlci50eXBlfS0ke21hcmtlci5pZH1gfVxuICAgICAgICAgIHR5cGU9e21hcmtlci50eXBlfVxuICAgICAgICAgIGlkPXttYXJrZXIuaWR9XG4gICAgICAgICAgbGFiZWw9e21hcmtlci5sYWJlbH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0LnB1c2goPFNsYXNoQ29tbWFuZENoaXAga2V5PXtgc2xhc2gtJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLmlkfWB9IGxhYmVsPXttYXJrZXIubGFiZWx9IGlubGluZT17ZmFsc2V9IC8+KVxuICAgIH1cbiAgICBsYXN0SWR4ID0gbWFya2VyLmluZGV4ICsgbWFya2VyLmxlbmd0aFxuICB9KVxuICBpZiAobGFzdElkeCA8IHRleHQubGVuZ3RoKSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgpKVxuICByZXR1cm4gb3V0XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBNENDLDBCQUEwQixRQUFRLHlCQUF5QjtBQUN2RyxTQUNFQyxtQkFBbUIsRUFDbkJDLDhCQUE4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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.65",
3
+ "version": "2.11.66-0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {