@projectcor/maia-components 2.11.15-2 → 2.11.15-4

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 (35) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +90 -94
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +21 -41
  3. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +28 -9
  4. package/lib/components/atoms/icons/MAIAIcon.js +2 -2
  5. package/lib/components/atoms/icons/MAIAIsologo.js +2 -2
  6. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +120 -128
  7. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +42 -22
  8. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +5 -5
  9. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -9
  10. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +18 -72
  11. package/lib/components/molecules/ChatAIHome/styles.js +30 -38
  12. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +26 -24
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +3 -28
  14. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +72 -2
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +10 -2
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +5 -10
  17. package/lib/components/molecules/ChatAIModal/constants.js +2 -6
  18. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +5 -5
  19. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +25 -14
  20. package/lib/components/molecules/Sidebar/Sidebar.js +222 -197
  21. package/lib/components/molecules/Sidebar/Sidebar.styles.js +1 -13
  22. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1 -10
  23. package/lib/hooks/useChatManager/useChatManager.js +56 -89
  24. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -10
  25. package/lib/lang/br/index.js +8 -66
  26. package/lib/lang/en/index.js +8 -66
  27. package/lib/lang/es/index.js +8 -66
  28. package/lib/lang/fr/index.js +8 -24
  29. package/lib/services/maia/Orchestrator/orchestrator.js +16 -22
  30. package/lib/types/agent.js +1 -1
  31. package/lib/types/global.d.js +1 -1
  32. package/package.json +1 -1
  33. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +0 -62
  34. package/lib/components/molecules/ChatAIMarketplace/ChatAIMarketplace.js +0 -255
  35. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +0 -114
@@ -1,15 +1,15 @@
1
1
  import _typeof from "@babel/runtime/helpers/typeof";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import { Fragment, useEffect, useState } from 'react';
4
+ import { useState, useEffect } from 'react';
5
5
  import { CheckCircle } from '@projectcor/icons/lib/components/CheckCircle';
6
6
  import { CrossCircle } from '@projectcor/icons/lib/components/CrossCircle';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABActionSummary, SCABActionEmoji, SCABActionSummaryContent, SCABActionMeta, SCABMetaPill, SCABActionArgs, SCABArgItem, SCABArgKey, SCABArgValue, SCABButtonsContainer, SCABButton, SCABStatusBadge } from './ApprovalBox.styles';
8
+ import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABActionArgs, SCABArgItem, SCABArgValue, SCABButtonsContainer, SCABButton, SCABStatusBadge } from './ApprovalBox.styles';
9
9
  import { SECTIONS } from '../../../constants/config';
10
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
11
  export var ApprovalBox = function ApprovalBox(_ref) {
12
- var actions = _ref.actions,
12
+ var action = _ref.action,
13
13
  onApprove = _ref.onApprove,
14
14
  onReject = _ref.onReject,
15
15
  _ref$status = _ref.status,
@@ -26,112 +26,112 @@ export var ApprovalBox = function ApprovalBox(_ref) {
26
26
  _useState2 = _slicedToArray(_useState, 2),
27
27
  localStatus = _useState2[0],
28
28
  setLocalStatus = _useState2[1];
29
+
30
+ // Sincronizar localStatus con el prop status cuando cambia desde el padre (solo por value, evita bucles)
29
31
  useEffect(function () {
30
32
  setLocalStatus(function (prev) {
31
33
  return prev !== status ? status : prev;
32
34
  });
33
35
  }, [status]);
34
- var prettifyLabel = function prettifyLabel(value) {
35
- return value.replace(/_/g, ' ').replace(/\[(\d+)\]/g, ' $1').replace(/\b\w/g, function (_char) {
36
- return _char.toUpperCase();
37
- });
38
- };
39
- var getActionLabel = function getActionLabel(toolName) {
40
- var translated = t("approvalBox.actions.".concat(toolName.toLowerCase()));
41
- return translated === "approvalBox.actions.".concat(toolName.toLowerCase()) ? prettifyLabel(toolName) : translated;
42
- };
43
- var getFieldLabel = function getFieldLabel(key) {
44
- var translated = t("approvalBox.fields.".concat(key));
45
- return translated === "approvalBox.fields.".concat(key) ? prettifyLabel(key) : translated;
46
- };
47
-
48
- /** Solo usado en create_agent (detalle del agente) */
49
- var _formatValue = function formatValue(value) {
50
- if (value === null || value === undefined) return '';
51
- if (typeof value === 'string') return value.trim();
52
- if (typeof value === 'number' || typeof value === 'boolean') return String(value);
53
- if (Array.isArray(value)) return value.map(function (item) {
54
- return _formatValue(item);
55
- }).filter(Boolean).join(', ');
56
- if (_typeof(value) === 'object') {
57
- var preferred = value.title || value.name || value.label || value.value;
58
- if (preferred) return _formatValue(preferred);
59
- try {
60
- return JSON.stringify(value, null, 2);
61
- } catch (_unused) {
62
- return String(value);
63
- }
64
- }
65
- return String(value);
66
- };
67
36
  var handleApprove = function handleApprove() {
68
37
  if (isLoading || localStatus !== 'pending') return;
69
38
  setLocalStatus('approved');
70
- onApprove(actions.map(function (a) {
71
- return a.thread_id;
72
- }));
39
+ onApprove(action.thread_id);
73
40
  };
74
41
  var handleReject = function handleReject() {
75
42
  if (isLoading || localStatus !== 'pending') return;
76
43
  setLocalStatus('rejected');
77
- onReject(actions.map(function (a) {
78
- return a.thread_id;
79
- }));
44
+ onReject(action.thread_id);
80
45
  };
81
- var renderCreateAgentItem = function renderCreateAgentItem(action) {
82
- var args = _typeof(action.tool_args) === 'object' && action.tool_args !== null && !Array.isArray(action.tool_args) ? action.tool_args : {};
83
- var headline = _formatValue(args.name) || t('approvalBox.untitledAgent');
84
- var emoji = _formatValue(args.emoji) || '🤖';
85
- var meta = [_formatValue(args.provider), _formatValue(args.model_name), _formatValue(args.language)].filter(Boolean);
86
- var orderedRows = ['introduction', 'input_placeholder', 'user_prompt', 'api_key'].map(function (key) {
87
- return {
88
- key: key,
89
- value: _formatValue(args[key])
90
- };
91
- }).filter(function (item) {
92
- return item.value;
93
- });
46
+ var renderActionItem = function renderActionItem() {
47
+ // Manejar tool_args cuando contiene arrays dentro de sus propiedades
48
+ var argsToDisplay = [];
49
+ if (_typeof(action.tool_args) === 'object' && action.tool_args !== null && !Array.isArray(action.tool_args)) {
50
+ // Iterar sobre las propiedades de tool_args
51
+ Object.entries(action.tool_args).forEach(function (_ref2) {
52
+ var _ref3 = _slicedToArray(_ref2, 2),
53
+ key = _ref3[0],
54
+ value = _ref3[1];
55
+ // Filtrar project_id
56
+ if (key === 'project_id') return;
57
+
58
+ // Si el valor es un array, mapear cada elemento
59
+ if (Array.isArray(value)) {
60
+ value.forEach(function (item, itemIndex) {
61
+ if (_typeof(item) === 'object' && item !== null) {
62
+ // Si el item es un objeto, buscar propiedades comunes como 'title', 'name', etc.
63
+ var title = item.title || item.name || item.label;
64
+ if (title) {
65
+ // Si tiene título, mostrarlo directamente
66
+ argsToDisplay.push({
67
+ key: key,
68
+ value: title
69
+ });
70
+ } else {
71
+ // Si no tiene título, mostrar el primer valor del objeto
72
+ var itemEntries = Object.entries(item);
73
+ if (itemEntries.length > 0) {
74
+ var firstEntry = itemEntries[0];
75
+ argsToDisplay.push({
76
+ key: "".concat(key, "[").concat(itemIndex, "]"),
77
+ value: firstEntry[1]
78
+ });
79
+ }
80
+ }
81
+ } else {
82
+ // Si el item es un valor simple
83
+ argsToDisplay.push({
84
+ key: "".concat(key, "[").concat(itemIndex, "]"),
85
+ value: item
86
+ });
87
+ }
88
+ });
89
+ } else {
90
+ // Si no es un array, agregarlo normalmente
91
+ argsToDisplay.push({
92
+ key: key,
93
+ value: value
94
+ });
95
+ }
96
+ });
97
+ } else if (Array.isArray(action.tool_args)) {
98
+ // Si tool_args es directamente un array (caso menos común)
99
+ action.tool_args.forEach(function (item, idx) {
100
+ if (_typeof(item) === 'object' && item !== null) {
101
+ Object.entries(item).forEach(function (_ref4) {
102
+ var _ref5 = _slicedToArray(_ref4, 2),
103
+ itemKey = _ref5[0],
104
+ itemValue = _ref5[1];
105
+ argsToDisplay.push({
106
+ key: "item_".concat(idx, "_").concat(itemKey),
107
+ value: itemValue
108
+ });
109
+ });
110
+ } else {
111
+ argsToDisplay.push({
112
+ key: "item_".concat(idx),
113
+ value: item
114
+ });
115
+ }
116
+ });
117
+ }
118
+ var actionName = t("approvalBox.actions.".concat(action.tool_name.toLowerCase()));
94
119
  return /*#__PURE__*/_jsxs(SCABActionItem, {
95
120
  children: [/*#__PURE__*/_jsx(SCABActionName, {
96
- children: getActionLabel(action.tool_name)
97
- }), /*#__PURE__*/_jsxs(SCABActionSummary, {
98
- children: [/*#__PURE__*/_jsx(SCABActionEmoji, {
99
- children: emoji
100
- }), /*#__PURE__*/_jsxs(SCABActionSummaryContent, {
101
- children: [/*#__PURE__*/_jsx(SCABActionName, {
102
- children: headline
103
- }), /*#__PURE__*/_jsx(SCABActionMeta, {
104
- children: meta.map(function (item) {
105
- return /*#__PURE__*/_jsx(SCABMetaPill, {
106
- children: item
107
- }, item);
108
- })
109
- })]
110
- })]
121
+ children: actionName
111
122
  }), /*#__PURE__*/_jsx(SCABActionArgs, {
112
- children: orderedRows.map(function (_ref2) {
113
- var key = _ref2.key,
114
- value = _ref2.value;
115
- return /*#__PURE__*/_jsxs(SCABArgItem, {
116
- children: [/*#__PURE__*/_jsx(SCABArgKey, {
117
- children: getFieldLabel(key)
118
- }), /*#__PURE__*/_jsx(SCABArgValue, {
123
+ children: argsToDisplay.map(function (_ref6) {
124
+ var key = _ref6.key,
125
+ value = _ref6.value;
126
+ return /*#__PURE__*/_jsx(SCABArgItem, {
127
+ children: /*#__PURE__*/_jsx(SCABArgValue, {
119
128
  children: value
120
- })]
121
- }, "".concat(action.tool_call_id, "-").concat(key));
129
+ })
130
+ }, "".concat(action.tool_call_id, "-").concat(key, "-").concat(JSON.stringify(value).slice(0, 20)));
122
131
  })
123
132
  })]
124
133
  });
125
134
  };
126
-
127
- /** HITL y herramientas genéricas: solo nombre (igual que create_task / create_tasks_batch en UI) */
128
- var renderGenericActionItem = function renderGenericActionItem(action) {
129
- return /*#__PURE__*/_jsx(SCABActionItem, {
130
- children: /*#__PURE__*/_jsx(SCABActionName, {
131
- children: action.display_name || getActionLabel(action.tool_name)
132
- })
133
- });
134
- };
135
135
  return /*#__PURE__*/_jsxs(SCApprovalBox, {
136
136
  children: [/*#__PURE__*/_jsx(SCABHeader, {
137
137
  children: /*#__PURE__*/_jsx(SCABTitle, {
@@ -141,11 +141,7 @@ export var ApprovalBox = function ApprovalBox(_ref) {
141
141
  children: t('approvalBox.description')
142
142
  }), /*#__PURE__*/_jsx(SCABActionsList, {
143
143
  $expanded: isExpanded,
144
- children: actions.map(function (action) {
145
- return /*#__PURE__*/_jsx(Fragment, {
146
- children: action.tool_name === 'create_agent' ? renderCreateAgentItem(action) : renderGenericActionItem(action)
147
- }, action.thread_id);
148
- })
144
+ children: renderActionItem()
149
145
  }), localStatus === 'pending' && !isProjectDeleted && /*#__PURE__*/_jsxs(SCABButtonsContainer, {
150
146
  children: [/*#__PURE__*/_jsx(SCABButton, {
151
147
  $variant: "reject",
@@ -176,4 +172,4 @@ export var ApprovalBox = function ApprovalBox(_ref) {
176
172
  })]
177
173
  });
178
174
  };
179
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGcmFnbWVudCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiQ2hlY2tDaXJjbGUiLCJDcm9zc0NpcmNsZSIsInVzZVRyYW5zbGF0aW9uIiwiU0NBcHByb3ZhbEJveCIsIlNDQUJIZWFkZXIiLCJTQ0FCVGl0bGUiLCJTQ0FCRGVzY3JpcHRpb24iLCJTQ0FCQWN0aW9uc0xpc3QiLCJTQ0FCQWN0aW9uSXRlbSIsIlNDQUJBY3Rpb25OYW1lIiwiU0NBQkFjdGlvblN1bW1hcnkiLCJTQ0FCQWN0aW9uRW1vamkiLCJTQ0FCQWN0aW9uU3VtbWFyeUNvbnRlbnQiLCJTQ0FCQWN0aW9uTWV0YSIsIlNDQUJNZXRhUGlsbCIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnS2V5IiwiU0NBQkFyZ1ZhbHVlIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiU0NBQlN0YXR1c0JhZGdlIiwiU0VDVElPTlMiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiQXBwcm92YWxCb3giLCJfcmVmIiwiYWN0aW9ucyIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfcmVmJGlzRXhwYW5kZWQiLCJpc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJwcmV2IiwicHJldHRpZnlMYWJlbCIsInZhbHVlIiwicmVwbGFjZSIsImNoYXIiLCJ0b1VwcGVyQ2FzZSIsImdldEFjdGlvbkxhYmVsIiwidG9vbE5hbWUiLCJ0cmFuc2xhdGVkIiwiY29uY2F0IiwidG9Mb3dlckNhc2UiLCJnZXRGaWVsZExhYmVsIiwia2V5IiwiZm9ybWF0VmFsdWUiLCJ1bmRlZmluZWQiLCJ0cmltIiwiU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiaXRlbSIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiX3R5cGVvZiIsInByZWZlcnJlZCIsInRpdGxlIiwibmFtZSIsImxhYmVsIiwiSlNPTiIsInN0cmluZ2lmeSIsIl91bnVzZWQiLCJoYW5kbGVBcHByb3ZlIiwiYSIsInRocmVhZF9pZCIsImhhbmRsZVJlamVjdCIsInJlbmRlckNyZWF0ZUFnZW50SXRlbSIsImFjdGlvbiIsImFyZ3MiLCJ0b29sX2FyZ3MiLCJoZWFkbGluZSIsImVtb2ppIiwibWV0YSIsInByb3ZpZGVyIiwibW9kZWxfbmFtZSIsImxhbmd1YWdlIiwib3JkZXJlZFJvd3MiLCJjaGlsZHJlbiIsInRvb2xfbmFtZSIsIl9yZWYyIiwidG9vbF9jYWxsX2lkIiwicmVuZGVyR2VuZXJpY0FjdGlvbkl0ZW0iLCJkaXNwbGF5X25hbWUiLCIkZXhwYW5kZWQiLCIkdmFyaWFudCIsIm9uQ2xpY2siLCIkZGlzYWJsZWQiLCIkc3RhdHVzIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FwcHJvdmFsQm94L0FwcHJvdmFsQm94LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkFjdGlvblN1bW1hcnksXG4gIFNDQUJBY3Rpb25FbW9qaSxcbiAgU0NBQkFjdGlvblN1bW1hcnlDb250ZW50LFxuICBTQ0FCQWN0aW9uTWV0YSxcbiAgU0NBQk1ldGFQaWxsLFxuICBTQ0FCQWN0aW9uQXJncyxcbiAgU0NBQkFyZ0l0ZW0sXG4gIFNDQUJBcmdLZXksXG4gIFNDQUJBcmdWYWx1ZSxcbiAgU0NBQkJ1dHRvbnNDb250YWluZXIsXG4gIFNDQUJCdXR0b24sXG4gIFNDQUJTdGF0dXNCYWRnZSxcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5cbmludGVyZmFjZSBBcHByb3ZhbEJveFByb3BzIHtcbiAgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIG9uQXBwcm92ZTogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgb25SZWplY3Q6ICh0aHJlYWRJZHM6IHN0cmluZ1tdKSA9PiB2b2lkXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnXG4gIGlzTG9hZGluZz86IGJvb2xlYW5cbiAgaXNQcm9qZWN0RGVsZXRlZD86IGJvb2xlYW5cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9ucyxcbiAgb25BcHByb3ZlLFxuICBvblJlamVjdCxcbiAgc3RhdHVzID0gJ3BlbmRpbmcnLFxuICBpc0xvYWRpbmcgPSBmYWxzZSxcbiAgaXNQcm9qZWN0RGVsZXRlZCA9IGZhbHNlLFxuICBpc0V4cGFuZGVkID0gZmFsc2UsXG59OiBBcHByb3ZhbEJveFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IFtsb2NhbFN0YXR1cywgc2V0TG9jYWxTdGF0dXNdID0gdXNlU3RhdGU8J3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCc+KHN0YXR1cylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBwcmV0dGlmeUxhYmVsID0gKHZhbHVlOiBzdHJpbmcpID0+XG4gICAgdmFsdWVcbiAgICAgIC5yZXBsYWNlKC9fL2csICcgJylcbiAgICAgIC5yZXBsYWNlKC9cXFsoXFxkKylcXF0vZywgJyAkMScpXG4gICAgICAucmVwbGFjZSgvXFxiXFx3L2csIGNoYXIgPT4gY2hhci50b1VwcGVyQ2FzZSgpKVxuXG4gIGNvbnN0IGdldEFjdGlvbkxhYmVsID0gKHRvb2xOYW1lOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB0cmFuc2xhdGVkID0gdChgYXBwcm92YWxCb3guYWN0aW9ucy4ke3Rvb2xOYW1lLnRvTG93ZXJDYXNlKCl9YClcbiAgICByZXR1cm4gdHJhbnNsYXRlZCA9PT0gYGFwcHJvdmFsQm94LmFjdGlvbnMuJHt0b29sTmFtZS50b0xvd2VyQ2FzZSgpfWAgPyBwcmV0dGlmeUxhYmVsKHRvb2xOYW1lKSA6IHRyYW5zbGF0ZWRcbiAgfVxuXG4gIGNvbnN0IGdldEZpZWxkTGFiZWwgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB0cmFuc2xhdGVkID0gdChgYXBwcm92YWxCb3guZmllbGRzLiR7a2V5fWApXG4gICAgcmV0dXJuIHRyYW5zbGF0ZWQgPT09IGBhcHByb3ZhbEJveC5maWVsZHMuJHtrZXl9YCA/IHByZXR0aWZ5TGFiZWwoa2V5KSA6IHRyYW5zbGF0ZWRcbiAgfVxuXG4gIC8qKiBTb2xvIHVzYWRvIGVuIGNyZWF0ZV9hZ2VudCAoZGV0YWxsZSBkZWwgYWdlbnRlKSAqL1xuICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWx1ZTogYW55KTogc3RyaW5nID0+IHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICcnXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHJldHVybiB2YWx1ZS50cmltKClcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykgcmV0dXJuIFN0cmluZyh2YWx1ZSlcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgLm1hcChpdGVtID0+IGZvcm1hdFZhbHVlKGl0ZW0pKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcsICcpXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IHByZWZlcnJlZCA9IHZhbHVlLnRpdGxlIHx8IHZhbHVlLm5hbWUgfHwgdmFsdWUubGFiZWwgfHwgdmFsdWUudmFsdWVcbiAgICAgIGlmIChwcmVmZXJyZWQpIHJldHVybiBmb3JtYXRWYWx1ZShwcmVmZXJyZWQpXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUFwcHJvdmUgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICBzZXRMb2NhbFN0YXR1cygnYXBwcm92ZWQnKVxuICAgIG9uQXBwcm92ZShhY3Rpb25zLm1hcChhID0+IGEudGhyZWFkX2lkKSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICBjb25zdCByZW5kZXJDcmVhdGVBZ2VudEl0ZW0gPSAoYWN0aW9uOiBQZW5kaW5nQWN0aW9uKSA9PiB7XG4gICAgY29uc3QgYXJncyA9XG4gICAgICB0eXBlb2YgYWN0aW9uLnRvb2xfYXJncyA9PT0gJ29iamVjdCcgJiYgYWN0aW9uLnRvb2xfYXJncyAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShhY3Rpb24udG9vbF9hcmdzKVxuICAgICAgICA/IGFjdGlvbi50b29sX2FyZ3NcbiAgICAgICAgOiB7fVxuXG4gICAgY29uc3QgaGVhZGxpbmUgPSBmb3JtYXRWYWx1ZShhcmdzLm5hbWUpIHx8IHQoJ2FwcHJvdmFsQm94LnVudGl0bGVkQWdlbnQnKVxuICAgIGNvbnN0IGVtb2ppID0gZm9ybWF0VmFsdWUoYXJncy5lbW9qaSkgfHwgJ/CfpJYnXG4gICAgY29uc3QgbWV0YSA9IFtmb3JtYXRWYWx1ZShhcmdzLnByb3ZpZGVyKSwgZm9ybWF0VmFsdWUoYXJncy5tb2RlbF9uYW1lKSwgZm9ybWF0VmFsdWUoYXJncy5sYW5ndWFnZSldLmZpbHRlcihCb29sZWFuKVxuICAgIGNvbnN0IG9yZGVyZWRSb3dzID0gWydpbnRyb2R1Y3Rpb24nLCAnaW5wdXRfcGxhY2Vob2xkZXInLCAndXNlcl9wcm9tcHQnLCAnYXBpX2tleSddXG4gICAgICAubWFwKGtleSA9PiAoeyBrZXksIHZhbHVlOiBmb3JtYXRWYWx1ZShhcmdzW2tleV0pIH0pKVxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0udmFsdWUpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQUJBY3Rpb25JdGVtPlxuICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2dldEFjdGlvbkxhYmVsKGFjdGlvbi50b29sX25hbWUpfTwvU0NBQkFjdGlvbk5hbWU+XG4gICAgICAgIDxTQ0FCQWN0aW9uU3VtbWFyeT5cbiAgICAgICAgICA8U0NBQkFjdGlvbkVtb2ppPntlbW9qaX08L1NDQUJBY3Rpb25FbW9qaT5cbiAgICAgICAgICA8U0NBQkFjdGlvblN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgPFNDQUJBY3Rpb25OYW1lPntoZWFkbGluZX08L1NDQUJBY3Rpb25OYW1lPlxuICAgICAgICAgICAgPFNDQUJBY3Rpb25NZXRhPlxuICAgICAgICAgICAgICB7bWV0YS5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICAgICAgPFNDQUJNZXRhUGlsbCBrZXk9e2l0ZW19PntpdGVtfTwvU0NBQk1ldGFQaWxsPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU0NBQkFjdGlvbk1ldGE+XG4gICAgICAgICAgPC9TQ0FCQWN0aW9uU3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgIDwvU0NBQkFjdGlvblN1bW1hcnk+XG4gICAgICAgIDxTQ0FCQWN0aW9uQXJncz5cbiAgICAgICAgICB7b3JkZXJlZFJvd3MubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4gKFxuICAgICAgICAgICAgPFNDQUJBcmdJdGVtIGtleT17YCR7YWN0aW9uLnRvb2xfY2FsbF9pZH0tJHtrZXl9YH0+XG4gICAgICAgICAgICAgIDxTQ0FCQXJnS2V5PntnZXRGaWVsZExhYmVsKGtleSl9PC9TQ0FCQXJnS2V5PlxuICAgICAgICAgICAgICA8U0NBQkFyZ1ZhbHVlPnt2YWx1ZX08L1NDQUJBcmdWYWx1ZT5cbiAgICAgICAgICAgIDwvU0NBQkFyZ0l0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NBQkFjdGlvbkFyZ3M+XG4gICAgICA8L1NDQUJBY3Rpb25JdGVtPlxuICAgIClcbiAgfVxuXG4gIC8qKiBISVRMIHkgaGVycmFtaWVudGFzIGdlbsOpcmljYXM6IHNvbG8gbm9tYnJlIChpZ3VhbCBxdWUgY3JlYXRlX3Rhc2sgLyBjcmVhdGVfdGFza3NfYmF0Y2ggZW4gVUkpICovXG4gIGNvbnN0IHJlbmRlckdlbmVyaWNBY3Rpb25JdGVtID0gKGFjdGlvbjogUGVuZGluZ0FjdGlvbikgPT4gKFxuICAgIDxTQ0FCQWN0aW9uSXRlbT5cbiAgICAgIDxTQ0FCQWN0aW9uTmFtZT57KGFjdGlvbiBhcyBhbnkpLmRpc3BsYXlfbmFtZSB8fCBnZXRBY3Rpb25MYWJlbChhY3Rpb24udG9vbF9uYW1lKX08L1NDQUJBY3Rpb25OYW1lPlxuICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICB7YWN0aW9uLnRvb2xfbmFtZSA9PT0gJ2NyZWF0ZV9hZ2VudCcgPyByZW5kZXJDcmVhdGVBZ2VudEl0ZW0oYWN0aW9uKSA6IHJlbmRlckdlbmVyaWNBY3Rpb25JdGVtKGFjdGlvbil9XG4gICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgKSl9XG4gICAgICA8L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDckQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQ0VDLGFBQWEsRUFDYkMsVUFBVSxFQUNWQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsaUJBQWlCLEVBQ2pCQyxlQUFlLEVBQ2ZDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyxVQUFVLEVBQ1ZDLGVBQWUsUUFDVixzQkFBc0I7QUFDN0IsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQTdCLFFBQUEsSUFBQThCLFNBQUE7QUFZcEQsT0FBTyxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQUMsSUFBQSxFQVFBO0VBQUEsSUFQdEJDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQ1BDLFNBQVMsR0FBQUYsSUFBQSxDQUFURSxTQUFTO0lBQ1RDLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0lBQUFDLFdBQUEsR0FBQUosSUFBQSxDQUNSSyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLFNBQVMsR0FBQUEsV0FBQTtJQUFBRSxjQUFBLEdBQUFOLElBQUEsQ0FDbEJPLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFB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
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJTQ0FCU3RhdHVzQmFkZ2UiLCJTRUNUSU9OUyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkFwcHJvdmFsQm94IiwiX3JlZiIsImFjdGlvbiIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfcmVmJGlzRXhwYW5kZWQiLCJpc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJwcmV2IiwiaGFuZGxlQXBwcm92ZSIsInRocmVhZF9pZCIsImhhbmRsZVJlamVjdCIsInJlbmRlckFjdGlvbkl0ZW0iLCJhcmdzVG9EaXNwbGF5IiwiX3R5cGVvZiIsInRvb2xfYXJncyIsIkFycmF5IiwiaXNBcnJheSIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwiX3JlZjIiLCJfcmVmMyIsImtleSIsInZhbHVlIiwiaXRlbSIsIml0ZW1JbmRleCIsInRpdGxlIiwibmFtZSIsImxhYmVsIiwicHVzaCIsIml0ZW1FbnRyaWVzIiwibGVuZ3RoIiwiZmlyc3RFbnRyeSIsImNvbmNhdCIsImlkeCIsIl9yZWY0IiwiX3JlZjUiLCJpdGVtS2V5IiwiaXRlbVZhbHVlIiwiYWN0aW9uTmFtZSIsInRvb2xfbmFtZSIsInRvTG93ZXJDYXNlIiwiY2hpbGRyZW4iLCJtYXAiLCJfcmVmNiIsInRvb2xfY2FsbF9pZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzbGljZSIsIiRleHBhbmRlZCIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZWNrQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2tDaXJjbGUnXG5pbXBvcnQgeyBDcm9zc0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzQ2lyY2xlJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQge1xuICBTQ0FwcHJvdmFsQm94LFxuICBTQ0FCSGVhZGVyLFxuICBTQ0FCVGl0bGUsXG4gIFNDQUJEZXNjcmlwdGlvbixcbiAgU0NBQkFjdGlvbnNMaXN0LFxuICBTQ0FCQWN0aW9uSXRlbSxcbiAgU0NBQkFjdGlvbk5hbWUsXG4gIFNDQUJBY3Rpb25BcmdzLFxuICBTQ0FCQXJnSXRlbSxcbiAgU0NBQkFyZ1ZhbHVlLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxufSBmcm9tICcuL0FwcHJvdmFsQm94LnN0eWxlcydcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb246IFBlbmRpbmdBY3Rpb24gLy8gU2luZ2xlIGFjdGlvbiBpbnN0ZWFkIG9mIGZ1bGwgYXBwcm92YWxcbiAgb25BcHByb3ZlOiAodGhyZWFkSWQ6IHN0cmluZykgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkOiBzdHJpbmcpID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9uLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbn06IEFwcHJvdmFsQm94UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2xvY2FsU3RhdHVzLCBzZXRMb2NhbFN0YXR1c10gPSB1c2VTdGF0ZTwncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJz4oc3RhdHVzKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoYW5kbGVBcHByb3ZlID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgc2V0TG9jYWxTdGF0dXMoJ2FwcHJvdmVkJylcbiAgICBvbkFwcHJvdmUoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IHJlbmRlckFjdGlvbkl0ZW0gPSAoKSA9PiB7XG4gICAgLy8gTWFuZWphciB0b29sX2FyZ3MgY3VhbmRvIGNvbnRpZW5lIGFycmF5cyBkZW50cm8gZGUgc3VzIHByb3BpZWRhZGVzXG4gICAgY29uc3QgYXJnc1RvRGlzcGxheTogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9PiA9IFtdXG5cbiAgICBpZiAodHlwZW9mIGFjdGlvbi50b29sX2FyZ3MgPT09ICdvYmplY3QnICYmIGFjdGlvbi50b29sX2FyZ3MgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkoYWN0aW9uLnRvb2xfYXJncykpIHtcbiAgICAgIC8vIEl0ZXJhciBzb2JyZSBsYXMgcHJvcGllZGFkZXMgZGUgdG9vbF9hcmdzXG4gICAgICBPYmplY3QuZW50cmllcyhhY3Rpb24udG9vbF9hcmdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gRmlsdHJhciBwcm9qZWN0X2lkXG4gICAgICAgIGlmIChrZXkgPT09ICdwcm9qZWN0X2lkJykgcmV0dXJuXG5cbiAgICAgICAgLy8gU2kgZWwgdmFsb3IgZXMgdW4gYXJyYXksIG1hcGVhciBjYWRhIGVsZW1lbnRvXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVsIGl0ZW0gZXMgdW4gb2JqZXRvLCBidXNjYXIgcHJvcGllZGFkZXMgY29tdW5lcyBjb21vICd0aXRsZScsICduYW1lJywgZXRjLlxuICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGl0ZW0udGl0bGUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0ubGFiZWxcbiAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgdGllbmUgdMOtdHVsbywgbW9zdHJhcmxvIGRpcmVjdGFtZW50ZVxuICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdGl0bGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBubyB0aWVuZSB0w610dWxvLCBtb3N0cmFyIGVsIHByaW1lciB2YWxvciBkZWwgb2JqZXRvXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUVudHJpZXMgPSBPYmplY3QuZW50cmllcyhpdGVtKVxuICAgICAgICAgICAgICAgIGlmIChpdGVtRW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEVudHJ5ID0gaXRlbUVudHJpZXNbMF1cbiAgICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogYCR7a2V5fVske2l0ZW1JbmRleH1dYCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpcnN0RW50cnlbMV0sXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZWwgaXRlbSBlcyB1biB2YWxvciBzaW1wbGVcbiAgICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGAke2tleX1bJHtpdGVtSW5kZXh9XWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBTaSBubyBlcyB1biBhcnJheSwgYWdyZWdhcmxvIG5vcm1hbG1lbnRlXG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHsga2V5LCB2YWx1ZSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb24udG9vbF9hcmdzKSkge1xuICAgICAgLy8gU2kgdG9vbF9hcmdzIGVzIGRpcmVjdGFtZW50ZSB1biBhcnJheSAoY2FzbyBtZW5vcyBjb23Dum4pXG4gICAgICBhY3Rpb24udG9vbF9hcmdzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhpdGVtKS5mb3JFYWNoKChbaXRlbUtleSwgaXRlbVZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAga2V5OiBgaXRlbV8ke2lkeH1fJHtpdGVtS2V5fWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBpdGVtVmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYGl0ZW1fJHtpZHh9YCxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0KGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7YWN0aW9uLnRvb2xfbmFtZS50b0xvd2VyQ2FzZSgpfWApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQUJBY3Rpb25JdGVtPlxuICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2FjdGlvbk5hbWV9PC9TQ0FCQWN0aW9uTmFtZT5cbiAgICAgICAgPFNDQUJBY3Rpb25BcmdzPlxuICAgICAgICAgIHthcmdzVG9EaXNwbGF5Lm1hcCgoeyBrZXksIHZhbHVlIH0pID0+IChcbiAgICAgICAgICAgIDxTQ0FCQXJnSXRlbSBrZXk9e2Ake2FjdGlvbi50b29sX2NhbGxfaWR9LSR7a2V5fS0ke0pTT04uc3RyaW5naWZ5KHZhbHVlKS5zbGljZSgwLCAyMCl9YH0+XG4gICAgICAgICAgICAgIDxTQ0FCQXJnVmFsdWU+e3ZhbHVlfTwvU0NBQkFyZ1ZhbHVlPlxuICAgICAgICAgICAgPC9TQ0FCQXJnSXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TQ0FCQWN0aW9uQXJncz5cbiAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBcHByb3ZhbEJveD5cbiAgICAgIDxTQ0FCSGVhZGVyPlxuICAgICAgICA8U0NBQlRpdGxlPnt0KCdhcHByb3ZhbEJveC50aXRsZScpfTwvU0NBQlRpdGxlPlxuICAgICAgPC9TQ0FCSGVhZGVyPlxuXG4gICAgICA8U0NBQkRlc2NyaXB0aW9uPnt0KCdhcHByb3ZhbEJveC5kZXNjcmlwdGlvbicpfTwvU0NBQkRlc2NyaXB0aW9uPlxuXG4gICAgICA8U0NBQkFjdGlvbnNMaXN0ICRleHBhbmRlZD17aXNFeHBhbmRlZH0+e3JlbmRlckFjdGlvbkl0ZW0oKX08L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLFFBQ1Ysc0JBQXNCO0FBQzdCLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQWNwRCxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBLEVBUUE7RUFBQSxJQVB0QkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNB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
@@ -18,61 +18,41 @@ export var SCABDescription = styled.p.withConfig({
18
18
  export var SCABActionsList = styled.div.withConfig({
19
19
  displayName: "ApprovalBoxstyles__SCABActionsList",
20
20
  componentId: "sc-1vnmjr4-4"
21
- })(["background:white;border-radius:12px;padding:16px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d9d9e3;background:#fff;max-width:100%;overflow:hidden;box-shadow:0 8px 24px rgba(32,32,31,0.04);", ""], function (_ref) {
21
+ })(["background:white;border-radius:8px;padding:12px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d5d5d5;background:#fff;max-width:100%;overflow:hidden;", ""], function (_ref) {
22
22
  var $expanded = _ref.$expanded;
23
- return $expanded ? "\n min-width: 540px;\n width: fit-content;\n " : "\n width: 100%;\n ";
23
+ return $expanded ? "\n min-width: 480px;\n width: fit-content;\n " : "\n width: 100%;\n ";
24
24
  });
25
25
  export var SCABActionItem = styled.div.withConfig({
26
26
  displayName: "ApprovalBoxstyles__SCABActionItem",
27
27
  componentId: "sc-1vnmjr4-5"
28
- })(["display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;"]);
28
+ })(["display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid #eee;min-width:0;&:last-child{border-bottom:none;padding-bottom:0;}&:first-child{padding-top:0;}"]);
29
29
  export var SCABActionName = styled.span.withConfig({
30
30
  displayName: "ApprovalBoxstyles__SCABActionName",
31
31
  componentId: "sc-1vnmjr4-6"
32
- })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:600;font-style:normal;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
33
- export var SCABActionSummary = styled.div.withConfig({
34
- displayName: "ApprovalBoxstyles__SCABActionSummary",
35
- componentId: "sc-1vnmjr4-7"
36
- })(["display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #ece7f4;border-radius:12px;background:linear-gradient(180deg,#fcfaff 0%,#f8f4fd 100%);"]);
37
- export var SCABActionEmoji = styled.div.withConfig({
38
- displayName: "ApprovalBoxstyles__SCABActionEmoji",
39
- componentId: "sc-1vnmjr4-8"
40
- })(["display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(135,64,191,0.12);font-size:22px;flex-shrink:0;"]);
41
- export var SCABActionSummaryContent = styled.div.withConfig({
42
- displayName: "ApprovalBoxstyles__SCABActionSummaryContent",
43
- componentId: "sc-1vnmjr4-9"
44
- })(["min-width:0;display:flex;flex-direction:column;gap:6px;"]);
45
- export var SCABActionMeta = styled.div.withConfig({
46
- displayName: "ApprovalBoxstyles__SCABActionMeta",
47
- componentId: "sc-1vnmjr4-10"
48
- })(["display:flex;flex-wrap:wrap;gap:8px;"]);
49
- export var SCABMetaPill = styled.span.withConfig({
50
- displayName: "ApprovalBoxstyles__SCABMetaPill",
51
- componentId: "sc-1vnmjr4-11"
52
- })(["display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:rgba(135,64,191,0.1);color:#6e31a4;font-family:'Work Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.2;"]);
53
- export var SCABActionArgs = styled.div.withConfig({
32
+ })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
33
+ export var SCABActionArgs = styled.ul.withConfig({
54
34
  displayName: "ApprovalBoxstyles__SCABActionArgs",
55
- componentId: "sc-1vnmjr4-12"
56
- })(["display:flex;flex-direction:column;gap:10px;margin:0;min-width:0;"]);
57
- export var SCABArgItem = styled.div.withConfig({
35
+ componentId: "sc-1vnmjr4-7"
36
+ })(["font-size:16px;color:#666;list-style-type:disc;list-style-position:outside;padding-left:20px;margin:0;min-width:0;"]);
37
+ export var SCABArgItem = styled.li.withConfig({
58
38
  displayName: "ApprovalBoxstyles__SCABArgItem",
59
- componentId: "sc-1vnmjr4-13"
60
- })(["display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:#fafafa;border:1px solid #ededed;min-width:0;"]);
39
+ componentId: "sc-1vnmjr4-8"
40
+ })(["display:list-item;margin:0;padding-left:4px;min-width:0;overflow-wrap:break-word;word-break:break-word;"]);
61
41
  export var SCABArgKey = styled.span.withConfig({
62
42
  displayName: "ApprovalBoxstyles__SCABArgKey",
63
- componentId: "sc-1vnmjr4-14"
64
- })(["color:#666;font-family:'Work Sans',sans-serif;font-size:12px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:0.02em;text-transform:uppercase;"]);
43
+ componentId: "sc-1vnmjr4-9"
44
+ })(["color:#999;"]);
65
45
  export var SCABArgValue = styled.span.withConfig({
66
46
  displayName: "ApprovalBoxstyles__SCABArgValue",
67
- componentId: "sc-1vnmjr4-15"
68
- })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;min-width:0;"]);
47
+ componentId: "sc-1vnmjr4-10"
48
+ })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
69
49
  export var SCABButtonsContainer = styled.div.withConfig({
70
50
  displayName: "ApprovalBoxstyles__SCABButtonsContainer",
71
- componentId: "sc-1vnmjr4-16"
51
+ componentId: "sc-1vnmjr4-11"
72
52
  })(["display:flex;align-items:flex-start;gap:18px;align-self:stretch;max-width:480px;width:100%;"]);
73
53
  export var SCABButton = styled.button.withConfig({
74
54
  displayName: "ApprovalBoxstyles__SCABButton",
75
- componentId: "sc-1vnmjr4-17"
55
+ componentId: "sc-1vnmjr4-12"
76
56
  })(["display:flex;padding:10px 12px;height:36px;justify-content:center;align-items:center;flex:1 0 0;border-radius:4px;font-family:'Work Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:14px;text-align:center;cursor:", ";transition:all 0.2s ease;opacity:", ";", ""], function (_ref2) {
77
57
  var $disabled = _ref2.$disabled;
78
58
  return $disabled ? 'not-allowed' : 'pointer';
@@ -81,20 +61,20 @@ export var SCABButton = styled.button.withConfig({
81
61
  return $disabled ? 0.6 : 1;
82
62
  }, function (_ref4) {
83
63
  var $variant = _ref4.$variant;
84
- return $variant === 'approve' ? "\n background: #8740BF;\n color: #FFF;\n border: none;\n\n &:hover:not(:disabled) {\n background: rgba(115, 54, 171, 1);\n }\n " : "\n background: transparent;\n color: #8740BF;\n border: 1px solid #8740BF;\n\n &:hover:not(:disabled) {\n background: rgba(135, 64, 191, 0.05);\n }\n ";
64
+ return $variant === 'approve' ? "\n background: #8740BF;\n color: #FFF;\n border: none;\n \n &:hover:not(:disabled) {\n background: rgba(115, 54, 171, 1);\n }\n " : "\n background: transparent;\n color: #8740BF;\n border: 1px solid #8740BF;\n \n &:hover:not(:disabled) {\n background: rgba(135, 64, 191, 0.05);\n }\n ";
85
65
  });
86
66
  export var SCABStatusBadge = styled.div.withConfig({
87
67
  displayName: "ApprovalBoxstyles__SCABStatusBadge",
88
- componentId: "sc-1vnmjr4-18"
68
+ componentId: "sc-1vnmjr4-13"
89
69
  })(["display:inline-flex;align-items:center;gap:4px;color:#343433;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-0.21px;", ""], function (_ref5) {
90
70
  var $status = _ref5.$status;
91
71
  switch ($status) {
92
72
  case 'approved':
93
- return "";
73
+ return "\n ";
94
74
  case 'rejected':
95
- return "";
75
+ return "\n ";
96
76
  default:
97
77
  return "\n background: rgba(135, 64, 191, 0.1);\n color: rgba(135, 64, 191, 1);\n ";
98
78
  }
99
79
  });
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0FwcHJvdmFsQm94IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiaDQiLCJTQ0FCRGVzY3JpcHRpb24iLCJwIiwiU0NBQkFjdGlvbnNMaXN0IiwiX3JlZiIsIiRleHBhbmRlZCIsIlNDQUJBY3Rpb25JdGVtIiwiU0NBQkFjdGlvbk5hbWUiLCJzcGFuIiwiU0NBQkFjdGlvblN1bW1hcnkiLCJTQ0FCQWN0aW9uRW1vamkiLCJTQ0FCQWN0aW9uU3VtbWFyeUNvbnRlbnQiLCJTQ0FCQWN0aW9uTWV0YSIsIlNDQUJNZXRhUGlsbCIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnS2V5IiwiU0NBQkFyZ1ZhbHVlIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjIiLCIkZGlzYWJsZWQiLCJfcmVmMyIsIl9yZWY0IiwiJHZhcmlhbnQiLCJTQ0FCU3RhdHVzQmFkZ2UiLCJfcmVmNSIsIiRzdGF0dXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC5zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDQXBwcm92YWxCb3ggPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQlRpdGxlID0gc3R5bGVkLmg0YFxuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJEZXNjcmlwdGlvbiA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbnNMaXN0ID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZTM7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDMyLCAzMiwgMzEsIDAuMDQpO1xuICAkeyh7ICRleHBhbmRlZCB9KSA9PlxuICAgICRleHBhbmRlZFxuICAgICAgPyBgXG4gICAgbWluLXdpZHRoOiA1NDBweDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGBcbiAgICAgIDogYFxuICAgIHdpZHRoOiAxMDAlO1xuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uTmFtZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uU3VtbWFyeSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWNlN2Y0O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmNmYWZmIDAlLCAjZjhmNGZkIDEwMCUpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkVtb2ppID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xMik7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uU3VtbWFyeUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQk1ldGFQaWxsID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM1LCA2NCwgMTkxLCAwLjEpO1xuICBjb2xvcjogIzZlMzFhNDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uQXJncyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZGVkZWQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdLZXkgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFyZ1ZhbHVlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkJ1dHRvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJHZhcmlhbnQ6ICdhcHByb3ZlJyB8ICdyZWplY3QnOyAkZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGhlaWdodDogMzZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicpfTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/IDAuNiA6IDEpfTtcblxuICAkeyh7ICR2YXJpYW50IH0pID0+XG4gICAgJHZhcmlhbnQgPT09ICdhcHByb3ZlJ1xuICAgICAgPyBgXG4gICAgYmFja2dyb3VuZDogIzg3NDBCRjtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTE1LCA1NCwgMTcxLCAxKTtcbiAgICB9XG4gIGBcbiAgICAgIDogYFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjODc0MEJGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NzQwQkY7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM1LCA2NCwgMTkxLCAwLjA1KTtcbiAgICB9XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCU3RhdHVzQmFkZ2UgPSBzdHlsZWQuZGl2PHsgJHN0YXR1czogJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcgfCAncGVuZGluZycgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcblxuICBjb2xvcjogIzM0MzQzMztcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuXG4gICR7KHsgJHN0YXR1cyB9KSA9PiB7XG4gICAgc3dpdGNoICgkc3RhdHVzKSB7XG4gICAgICBjYXNlICdhcHByb3ZlZCc6XG4gICAgICAgIHJldHVybiBgYFxuICAgICAgY2FzZSAncmVqZWN0ZWQnOlxuICAgICAgICByZXR1cm4gYGBcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBgXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzUsIDY0LCAxOTEsIDAuMSk7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKTtcbiAgICAgICAgYFxuICAgIH1cbiAgfX1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLGFBQWEsR0FBR0QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0NBSXRDO0FBRUQsT0FBTyxJQUFNQyxVQUFVLEdBQUdOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdEQUluQztBQUVELE9BQU8sSUFBTUUsU0FBUyxHQUFHUCxNQUFNLENBQUNRLEVBQUUsQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSUFRakM7QUFFRCxPQUFPLElBQU1JLGVBQWUsR0FBR1QsTUFBTSxDQUFDVSxDQUFDLENBQUFQLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0pBU3RDO0FBRUQsT0FBTyxJQUFNTSxlQUFlLEdBQUdYLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdQQWFyQyxVQUFBTyxJQUFBO0VBQUEsSUFBR0MsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7RUFBQSxPQUNaQSxTQUFTLG9GQU9WO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsY0FBYyxHQUFHZCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyRUFNdkM7QUFFRCxPQUFPLElBQU1VLGNBQWMsR0FBR2YsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd4QztBQUVELE9BQU8sSUFBTVksaUJBQWlCLEdBQUdqQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwS0FRMUM7QUFFRCxPQUFPLElBQU1hLGVBQWUsR0FBR2xCLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBNQVd4QztBQUVELE9BQU8sSUFBTWMsd0JBQXdCLEdBQUduQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFLakQ7QUFFRCxPQUFPLElBQU1lLGNBQWMsR0FBR3BCLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRDQUl2QztBQUVELE9BQU8sSUFBTWdCLFlBQVksR0FBR3JCLE1BQU0sQ0FBQ2dCLElBQUksQ0FBQWIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvTkFXdEM7QUFFRCxPQUFPLElBQU1pQixjQUFjLEdBQUd0QixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5RUFNdkM7QUFFRCxPQUFPLElBQU1rQixXQUFXLEdBQUd2QixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnSkFTcEM7QUFFRCxPQUFPLElBQU1tQixVQUFVLEdBQUd4QixNQUFNLENBQUNnQixJQUFJLENBQUFiLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdUtBU3BDO0FBRUQsT0FBTyxJQUFNb0IsWUFBWSxHQUFHekIsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtPQVl0QztBQUVELE9BQU8sSUFBTXFCLG9CQUFvQixHQUFHMUIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUdBTzdDO0FBRUQsT0FBTyxJQUFNc0IsVUFBVSxHQUFHM0IsTUFBTSxDQUFDNEIsTUFBTSxDQUFBekIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3U0FjM0IsVUFBQXdCLEtBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELEtBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQVFBLFNBQVMsR0FBRyxhQUFhLEdBQUcsU0FBUztBQUFBLENBQUMsRUFFekQsVUFBQUMsS0FBQTtFQUFBLElBQUdELFNBQVMsR0FBQUMsS0FBQSxDQUFURCxTQUFTO0VBQUEsT0FBUUEsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUVqRCxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLEtBQUssU0FBUyx5VUFrQnZCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHbEMsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc01BYXJDLFVBQUE4QixLQUFBLEVBQWlCO0VBQUEsSUFBZEMsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFDVixRQUFRQSxPQUFPO0lBQ2IsS0FBSyxVQUFVO01BQ2I7SUFDRixLQUFLLFVBQVU7TUFDYjtJQUNGO01BQ0U7RUFJSjtBQUNGLENBQUMsQ0FDRiIsImlnbm9yZUxpc3QiOltdfQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0FwcHJvdmFsQm94IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiaDQiLCJTQ0FCRGVzY3JpcHRpb24iLCJwIiwiU0NBQkFjdGlvbnNMaXN0IiwiX3JlZiIsIiRleHBhbmRlZCIsIlNDQUJBY3Rpb25JdGVtIiwiU0NBQkFjdGlvbk5hbWUiLCJzcGFuIiwiU0NBQkFjdGlvbkFyZ3MiLCJ1bCIsIlNDQUJBcmdJdGVtIiwibGkiLCJTQ0FCQXJnS2V5IiwiU0NBQkFyZ1ZhbHVlIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjIiLCIkZGlzYWJsZWQiLCJfcmVmMyIsIl9yZWY0IiwiJHZhcmlhbnQiLCJTQ0FCU3RhdHVzQmFkZ2UiLCJfcmVmNSIsIiRzdGF0dXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC5zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDQXBwcm92YWxCb3ggPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQlRpdGxlID0gc3R5bGVkLmg0YFxuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJEZXNjcmlwdGlvbiA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbnNMaXN0ID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7ICRleHBhbmRlZCB9KSA9PlxuICAgICRleHBhbmRlZFxuICAgICAgPyBgXG4gICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGBcbiAgICAgIDogYFxuICAgIHdpZHRoOiAxMDAlO1xuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICBtaW4td2lkdGg6IDA7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25OYW1lID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25BcmdzID0gc3R5bGVkLnVsYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnSXRlbSA9IHN0eWxlZC5saWBcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnS2V5ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjOTk5O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFyZ1ZhbHVlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMThweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICR2YXJpYW50OiAnYXBwcm92ZScgfCAncmVqZWN0JzsgJGRpc2FibGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAxIDAgMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInKX07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG9wYWNpdHk6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAwLjYgOiAxKX07XG5cbiAgJHsoeyAkdmFyaWFudCB9KSA9PlxuICAgICR2YXJpYW50ID09PSAnYXBwcm92ZSdcbiAgICAgID8gYFxuICAgIGJhY2tncm91bmQ6ICM4NzQwQkY7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIFxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxMTUsIDU0LCAxNzEsIDEpO1xuICAgIH1cbiAgYFxuICAgICAgOiBgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM4NzQwQkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg3NDBCRjtcbiAgICBcbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM1LCA2NCwgMTkxLCAwLjA1KTtcbiAgICB9XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCU3RhdHVzQmFkZ2UgPSBzdHlsZWQuZGl2PHsgJHN0YXR1czogJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcgfCAncGVuZGluZycgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcblxuICBjb2xvcjogIzM0MzQzMztcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuXG4gICR7KHsgJHN0YXR1cyB9KSA9PiB7XG4gICAgc3dpdGNoICgkc3RhdHVzKSB7XG4gICAgICBjYXNlICdhcHByb3ZlZCc6XG4gICAgICAgIHJldHVybiBgXG4gICAgICAgIGBcbiAgICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgYFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xKTtcbiAgICAgICAgICBjb2xvcjogcmdiYSgxMzUsIDY0LCAxOTEsIDEpO1xuICAgICAgICBgXG4gICAgfVxuICB9fVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBRXRDLE9BQU8sSUFBTUMsYUFBYSxHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrQ0FJdEM7QUFFRCxPQUFPLElBQU1DLFVBQVUsR0FBR04sTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0RBSW5DO0FBRUQsT0FBTyxJQUFNRSxTQUFTLEdBQUdQLE1BQU0sQ0FBQ1EsRUFBRSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9JQVFqQztBQUVELE9BQU8sSUFBTUksZUFBZSxHQUFHVCxNQUFNLENBQUNVLENBQUMsQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFTdEM7QUFFRCxPQUFPLElBQU1NLGVBQWUsR0FBR1gsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNk1BWXJDLFVBQUFPLElBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQ1pBLFNBQVMsb0ZBT1Y7QUFBQSxFQUNGO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdkLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlMQWdCdkM7QUFFRCxPQUFPLElBQU1VLGNBQWMsR0FBR2YsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd4QztBQUVELE9BQU8sSUFBTVksY0FBYyxHQUFHakIsTUFBTSxDQUFDa0IsRUFBRSxDQUFBZixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBIQVF0QztBQUVELE9BQU8sSUFBTWMsV0FBVyxHQUFHbkIsTUFBTSxDQUFDb0IsRUFBRSxDQUFBakIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrR0FPbkM7QUFFRCxPQUFPLElBQU1nQixVQUFVLEdBQUdyQixNQUFNLENBQUNnQixJQUFJLENBQUFiLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUJBRXBDO0FBRUQsT0FBTyxJQUFNaUIsWUFBWSxHQUFHdEIsTUFBTSxDQUFDZ0IsSUFBSSxDQUFBYixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZNQVd0QztBQUVELE9BQU8sSUFBTWtCLG9CQUFvQixHQUFHdkIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUdBTzdDO0FBRUQsT0FBTyxJQUFNbUIsVUFBVSxHQUFHeEIsTUFBTSxDQUFDeUIsTUFBTSxDQUFBdEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3U0FjM0IsVUFBQXFCLEtBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELEtBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQVFBLFNBQVMsR0FBRyxhQUFhLEdBQUcsU0FBUztBQUFBLENBQUMsRUFFekQsVUFBQUMsS0FBQTtFQUFBLElBQUdELFNBQVMsR0FBQUMsS0FBQSxDQUFURCxTQUFTO0VBQUEsT0FBUUEsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUVqRCxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLEtBQUssU0FBUyxpVkFrQnZCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHL0IsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc01BYXJDLFVBQUEyQixLQUFBLEVBQWlCO0VBQUEsSUFBZEMsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFDVixRQUFRQSxPQUFPO0lBQ2IsS0FBSyxVQUFVO01BQ2I7SUFFRixLQUFLLFVBQVU7TUFDYjtJQUVGO01BQ0U7RUFJSjtBQUNGLENBQUMsQ0FDRiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,4 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
3
  /* eslint-disable react/function-component-definition */
3
4
  /* eslint-disable jsx-a11y/click-events-have-key-events */
4
5
  /* eslint-disable jsx-a11y/no-static-element-interactions */
@@ -68,7 +69,13 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
68
69
  };
69
70
  var faqsByCategory = useMemo(function () {
70
71
  var grouped = {};
71
- faqs.forEach(function (faq) {
72
+ var sortedFaqs = _toConsumableArray(faqs).sort(function (a, b) {
73
+ var _a$order, _b$order;
74
+ var orderA = (_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : Number.MAX_SAFE_INTEGER;
75
+ var orderB = (_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : Number.MAX_SAFE_INTEGER;
76
+ return orderA - orderB;
77
+ });
78
+ sortedFaqs.forEach(function (faq) {
72
79
  var category = faq.category || 'undefined';
73
80
  if (!grouped[category]) {
74
81
  grouped[category] = [];
@@ -77,12 +84,24 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
77
84
  });
78
85
  Object.keys(grouped).forEach(function (cat) {
79
86
  grouped[cat].sort(function (a, b) {
80
- var _a$order, _b$order;
81
- return ((_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : 0) - ((_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : 0);
87
+ var _a$order2, _b$order2;
88
+ return ((_a$order2 = a.order) !== null && _a$order2 !== void 0 ? _a$order2 : 0) - ((_b$order2 = b.order) !== null && _b$order2 !== void 0 ? _b$order2 : 0);
82
89
  });
83
90
  });
84
91
  return grouped;
85
92
  }, [faqs]);
93
+ var orderedFaqCategories = useMemo(function () {
94
+ return Object.entries(faqsByCategory).sort(function (_ref3, _ref4) {
95
+ var _categoryFaqsA$0$orde, _categoryFaqsA$, _categoryFaqsB$0$orde, _categoryFaqsB$;
96
+ var _ref5 = _slicedToArray(_ref3, 2),
97
+ categoryFaqsA = _ref5[1];
98
+ var _ref6 = _slicedToArray(_ref4, 2),
99
+ categoryFaqsB = _ref6[1];
100
+ var firstOrderA = (_categoryFaqsA$0$orde = (_categoryFaqsA$ = categoryFaqsA[0]) === null || _categoryFaqsA$ === void 0 ? void 0 : _categoryFaqsA$.order) !== null && _categoryFaqsA$0$orde !== void 0 ? _categoryFaqsA$0$orde : Number.MAX_SAFE_INTEGER;
101
+ var firstOrderB = (_categoryFaqsB$0$orde = (_categoryFaqsB$ = categoryFaqsB[0]) === null || _categoryFaqsB$ === void 0 ? void 0 : _categoryFaqsB$.order) !== null && _categoryFaqsB$0$orde !== void 0 ? _categoryFaqsB$0$orde : Number.MAX_SAFE_INTEGER;
102
+ return firstOrderA - firstOrderB;
103
+ });
104
+ }, [faqsByCategory]);
86
105
  useEffect(function () {
87
106
  if (agentId) {
88
107
  var currentKey = "".concat(agentId, "-").concat(lang);
@@ -112,11 +131,11 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
112
131
  $showProjectSummary: showProjectSummary,
113
132
  children: [loading && !error && /*#__PURE__*/_jsx(LoaderFaqs, {}), error && /*#__PURE__*/_jsx(ErrorSearchFaqs, {
114
133
  message: t('homeMenu.faq.error')
115
- }), !loading && !error && Object.keys(faqsByCategory).length > 0 && /*#__PURE__*/_jsx(_Fragment, {
116
- children: Object.entries(faqsByCategory).map(function (_ref3) {
117
- var _ref4 = _slicedToArray(_ref3, 2),
118
- category = _ref4[0],
119
- categoryFaqs = _ref4[1];
134
+ }), !loading && !error && orderedFaqCategories.length > 0 && /*#__PURE__*/_jsx(_Fragment, {
135
+ children: orderedFaqCategories.map(function (_ref7) {
136
+ var _ref8 = _slicedToArray(_ref7, 2),
137
+ category = _ref8[0],
138
+ categoryFaqs = _ref8[1];
120
139
  return /*#__PURE__*/_jsxs(SCFAQCategory, {
121
140
  children: [/*#__PURE__*/_jsx(SCFAQCategoryTitleText, {
122
141
  children: t("homeMenu.faq.categories.".concat(category.toLowerCase()))
@@ -137,4 +156,4 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
137
156
  })]
138
157
  });
139
158
  };
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRmFxc0ljb24iLCJMb2FkZXJGYXFzIiwiRXJyb3JTZWFyY2hGYXFzIiwiU0NGQVFzQ29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFDYXRlZ29yeSIsIlNDRkFRQ2F0ZWdvcnlUaXRsZVRleHQiLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1JY29uIiwiU0NGQVFJdGVtVGV4dCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkZhcUxpc3RJdGVtIiwiX3JlZiIsImZhcSIsImlzU2Nyb2xsaW5nIiwib25DbGljayIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJ0aXRsZSIsInNob3dUb29sdGlwIiwiY2hpbGRyZW4iLCJjb2xvciIsImhlaWdodCIsIndpZHRoIiwicmVmIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiX3JlZjIiLCJvblN0YXJ0Q2hhdCIsIl9yZWYyJHNob3dGQVFzIiwic2hvd0ZBUXMiLCJfcmVmMiRzaG93UHJvamVjdFN1bW0iLCJzaG93UHJvamVjdFN1bW1hcnkiLCJhZ2VudElkIiwibGFuZyIsIl9yZWYyJGlzU2Nyb2xsaW5nIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJmYXFzIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwibGFzdEZldGNoUmVmIiwiaGFuZGxlRkFRQ2xpY2siLCJpZCIsImFpQ2hhdFNlbGVjdEZBUSIsIm9wdGlvbiIsImlkX2ZhcSIsImNhdGVnb3J5X2ZhcSIsImNhdGVnb3J5Iiwib3JpZ2luX2ZhcSIsImZhcXNCeUNhdGVnb3J5IiwiZ3JvdXBlZCIsImZvckVhY2giLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsImNhdCIsInNvcnQiLCJhIiwiYiIsIl9hJG9yZGVyIiwiX2Ikb3JkZXIiLCJvcmRlciIsImN1cnJlbnRLZXkiLCJjb25jYXQiLCJsYXN0S2V5IiwiY3VycmVudCIsImxlbmd0aCIsIiRzaG93RkFRcyIsIiRzaG93UHJvamVjdFN1bW1hcnkiLCJtZXNzYWdlIiwiZW50cmllcyIsIm1hcCIsIl9yZWYzIiwiX3JlZjQiLCJfc2xpY2VkVG9BcnJheSIsImNhdGVnb3J5RmFxcyIsInRvTG93ZXJDYXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgdHlwZSB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb24nXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBGYXFzSWNvbiB9IGZyb20gJy4uL2ljb25zL0ZhcXNJY29uJ1xuaW1wb3J0IHsgTG9hZGVyRmFxcyB9IGZyb20gJy4uL0xvYWRpbmdGYXFzJ1xuaW1wb3J0IHsgRXJyb3JTZWFyY2hGYXFzIH0gZnJvbSAnLi4vRXJyb3JTZWFyY2hGYXFzJ1xuaW1wb3J0IHtcbiAgU0NGQVFzQ29udGFpbmVyLFxuICBTQ0ZBUXNUaXRsZSxcbiAgU0NGQVFzTGlzdENvbnRhaW5lcixcbiAgU0NGQVFDYXRlZ29yeSxcbiAgU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCxcbiAgU0NGQVFMaXN0LFxuICBTQ0ZBUUl0ZW0sXG4gIFNDRkFRSXRlbUljb24sXG4gIFNDRkFRSXRlbVRleHQsXG59IGZyb20gJy4vRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLnN0eWxlcydcblxuZnVuY3Rpb24gRmFxTGlzdEl0ZW0oe1xuICBmYXEsXG4gIGlzU2Nyb2xsaW5nLFxuICBvbkNsaWNrLFxufToge1xuICBmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uXG4gIGlzU2Nyb2xsaW5nOiBib29sZWFuXG4gIG9uQ2xpY2s6ICgpID0+IHZvaWRcbn0pIHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtmYXEudGl0bGVdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDRkFRSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTQ0ZBUUl0ZW1JY29uPlxuICAgICAgICA8RmFxc0ljb24gY29sb3I9XCIjODc0MEJGXCIgaGVpZ2h0PXsxOH0gd2lkdGg9ezE4fSAvPlxuICAgICAgPC9TQ0ZBUUl0ZW1JY29uPlxuICAgICAgPFNDRkFRSXRlbVRleHQgcmVmPXt0ZXh0UmVmfT5cbiAgICAgICAge2lzU2Nyb2xsaW5nID8gZmFxLnRpdGxlIDogPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZmFxLnRpdGxlIDogJyd9PntmYXEudGl0bGV9PC9Ub29sdGlwPn1cbiAgICAgIDwvU0NGQVFJdGVtVGV4dD5cbiAgICA8L1NDRkFRSXRlbT5cbiAgKVxufVxuXG50eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1Byb3BzID0ge1xuICBvblN0YXJ0Q2hhdDogKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCwgZmFxSWQ/OiBzdHJpbmcpID0+IHZvaWRcbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gIHNob3dQcm9qZWN0U3VtbWFyeT86IGJvb2xlYW5cbiAgYWdlbnRJZD86IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgaXNTY3JvbGxpbmc/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgPSAoe1xuICBvblN0YXJ0Q2hhdCxcbiAgc2hvd0ZBUXMgPSBmYWxzZSxcbiAgc2hvd1Byb2plY3RTdW1tYXJ5ID0gZmFsc2UsXG4gIGFnZW50SWQsXG4gIGxhbmcsXG4gIGlzU2Nyb2xsaW5nID0gZmFsc2UsXG59OiBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcblxuICBjb25zdCB7IGZhcXMsIGxvYWRpbmcsIGVycm9yLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSA9IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyhhZ2VudElkLCBsYW5nKVxuICBjb25zdCBsYXN0RmV0Y2hSZWYgPSB1c2VSZWY8eyBhZ2VudElkOiBzdHJpbmc7IGxhbmc6IHN0cmluZyB9IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoYW5kbGVGQVFDbGljayA9IChmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uKSA9PiB7XG4gICAgb25TdGFydENoYXQoZmFxLnRpdGxlLCBudWxsLCBmYXEuaWQpXG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbGVjdEZBUSwge1xuICAgICAgb3B0aW9uOiB7XG4gICAgICAgIGlkX2ZhcTogZmFxLnRpdGxlLFxuICAgICAgICBjYXRlZ29yeV9mYXE6IGZhcS5jYXRlZ29yeSxcbiAgICAgICAgb3JpZ2luX2ZhcTogJ2hvbWVfY2hhdCcsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBmYXFzQnlDYXRlZ29yeSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uW10+ID0ge31cblxuICAgIGZhcXMuZm9yRWFjaChmYXEgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgIGlmICghZ3JvdXBlZFtjYXRlZ29yeV0pIHtcbiAgICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0gPSBbXVxuICAgICAgfVxuICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0ucHVzaChmYXEpXG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKGdyb3VwZWQpLmZvckVhY2goY2F0ID0+IHtcbiAgICAgIGdyb3VwZWRbY2F0XS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgIH0pXG5cbiAgICByZXR1cm4gZ3JvdXBlZFxuICB9LCBbZmFxc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYWdlbnRJZCkge1xuICAgICAgY29uc3QgY3VycmVudEtleSA9IGAke2FnZW50SWR9LSR7bGFuZ31gXG4gICAgICBjb25zdCBsYXN0S2V5ID0gbGFzdEZldGNoUmVmLmN1cnJlbnQgPyBgJHtsYXN0RmV0Y2hSZWYuY3VycmVudC5hZ2VudElkfS0ke2xhc3RGZXRjaFJlZi5jdXJyZW50Lmxhbmd9YCA6IG51bGxcblxuICAgICAgaWYgKGN1cnJlbnRLZXkgIT09IGxhc3RLZXkpIHtcbiAgICAgICAgbGFzdEZldGNoUmVmLmN1cnJlbnQgPSB7IGFnZW50SWQsIGxhbmcgfVxuICAgICAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoeyBhZ2VudElkLCBsYW5nIH0pXG4gICAgICB9XG4gICAgfVxuICB9LCBbYWdlbnRJZCwgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLCBsYW5nXSlcblxuICBpZiAoIWxvYWRpbmcgJiYgIWVycm9yICYmIGZhcXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDRkFRc0NvbnRhaW5lcj5cbiAgICAgIHshbG9hZGluZyAmJiAhZXJyb3IgJiYgZmFxcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFNDRkFRc1RpdGxlPlxuICAgICAgICAgIDxzcGFuPnt0KCdob21lTWVudS5mYXEudGl0bGUnKX08L3NwYW4+XG4gICAgICAgIDwvU0NGQVFzVGl0bGU+XG4gICAgICApfVxuICAgICAgPFNDRkFRc0xpc3RDb250YWluZXIgJHNob3dGQVFzPXtzaG93RkFRc30gJHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fT5cbiAgICAgICAge2xvYWRpbmcgJiYgIWVycm9yICYmIDxMb2FkZXJGYXFzIC8+fVxuICAgICAgICB7ZXJyb3IgJiYgPEVycm9yU2VhcmNoRmFxcyBtZXNzYWdlPXt0KCdob21lTWVudS5mYXEuZXJyb3InKX0gLz59XG4gICAgICAgIHshbG9hZGluZyAmJiAhZXJyb3IgJiYgT2JqZWN0LmtleXMoZmFxc0J5Q2F0ZWdvcnkpLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMoZmFxc0J5Q2F0ZWdvcnkpLm1hcCgoW2NhdGVnb3J5LCBjYXRlZ29yeUZhcXNdKSA9PiAoXG4gICAgICAgICAgICAgIDxTQ0ZBUUNhdGVnb3J5IGtleT17Y2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgIDxTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0PlxuICAgICAgICAgICAgICAgICAge3QoYGhvbWVNZW51LmZhcS5jYXRlZ29yaWVzLiR7Y2F0ZWdvcnkudG9Mb3dlckNhc2UoKX1gKX1cbiAgICAgICAgICAgICAgICA8L1NDRkFRQ2F0ZWdvcnlUaXRsZVRleHQ+XG5cbiAgICAgICAgICAgICAgICA8U0NGQVFMaXN0PlxuICAgICAgICAgICAgICAgICAge2NhdGVnb3J5RmFxcy5tYXAoZmFxID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEZhcUxpc3RJdGVtIGtleT17ZmFxLmlkfSBmYXE9e2ZhcX0gaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfSBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGQVFDbGljayhmYXEpfSAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TQ0ZBUUxpc3Q+XG4gICAgICAgICAgICAgIDwvU0NGQVFDYXRlZ29yeT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TQ0ZBUXNMaXN0Q29udGFpbmVyPlxuICAgIDwvU0NGQVFzQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDbEQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGlC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
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRmFxc0ljb24iLCJMb2FkZXJGYXFzIiwiRXJyb3JTZWFyY2hGYXFzIiwiU0NGQVFzQ29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFDYXRlZ29yeSIsIlNDRkFRQ2F0ZWdvcnlUaXRsZVRleHQiLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1JY29uIiwiU0NGQVFJdGVtVGV4dCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkZhcUxpc3RJdGVtIiwiX3JlZiIsImZhcSIsImlzU2Nyb2xsaW5nIiwib25DbGljayIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJ0aXRsZSIsInNob3dUb29sdGlwIiwiY2hpbGRyZW4iLCJjb2xvciIsImhlaWdodCIsIndpZHRoIiwicmVmIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiX3JlZjIiLCJvblN0YXJ0Q2hhdCIsIl9yZWYyJHNob3dGQVFzIiwic2hvd0ZBUXMiLCJfcmVmMiRzaG93UHJvamVjdFN1bW0iLCJzaG93UHJvamVjdFN1bW1hcnkiLCJhZ2VudElkIiwibGFuZyIsIl9yZWYyJGlzU2Nyb2xsaW5nIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJmYXFzIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwibGFzdEZldGNoUmVmIiwiaGFuZGxlRkFRQ2xpY2siLCJpZCIsImFpQ2hhdFNlbGVjdEZBUSIsIm9wdGlvbiIsImlkX2ZhcSIsImNhdGVnb3J5X2ZhcSIsImNhdGVnb3J5Iiwib3JpZ2luX2ZhcSIsImZhcXNCeUNhdGVnb3J5IiwiZ3JvdXBlZCIsInNvcnRlZEZhcXMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJfYSRvcmRlciIsIl9iJG9yZGVyIiwib3JkZXJBIiwib3JkZXIiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwib3JkZXJCIiwiZm9yRWFjaCIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwiY2F0IiwiX2Ekb3JkZXIyIiwiX2Ikb3JkZXIyIiwib3JkZXJlZEZhcUNhdGVnb3JpZXMiLCJlbnRyaWVzIiwiX3JlZjMiLCJfcmVmNCIsIl9jYXRlZ29yeUZhcXNBJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNBJCIsIl9jYXRlZ29yeUZhcXNCJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNCJCIsIl9yZWY1IiwiX3NsaWNlZFRvQXJyYXkiLCJjYXRlZ29yeUZhcXNBIiwiX3JlZjYiLCJjYXRlZ29yeUZhcXNCIiwiZmlyc3RPcmRlckEiLCJmaXJzdE9yZGVyQiIsImN1cnJlbnRLZXkiLCJjb25jYXQiLCJsYXN0S2V5IiwiY3VycmVudCIsImxlbmd0aCIsIiRzaG93RkFRcyIsIiRzaG93UHJvamVjdFN1bW1hcnkiLCJtZXNzYWdlIiwibWFwIiwiX3JlZjciLCJfcmVmOCIsImNhdGVnb3J5RmFxcyIsInRvTG93ZXJDYXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgdHlwZSB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb24nXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBGYXFzSWNvbiB9IGZyb20gJy4uL2ljb25zL0ZhcXNJY29uJ1xuaW1wb3J0IHsgTG9hZGVyRmFxcyB9IGZyb20gJy4uL0xvYWRpbmdGYXFzJ1xuaW1wb3J0IHsgRXJyb3JTZWFyY2hGYXFzIH0gZnJvbSAnLi4vRXJyb3JTZWFyY2hGYXFzJ1xuaW1wb3J0IHtcbiAgU0NGQVFzQ29udGFpbmVyLFxuICBTQ0ZBUXNUaXRsZSxcbiAgU0NGQVFzTGlzdENvbnRhaW5lcixcbiAgU0NGQVFDYXRlZ29yeSxcbiAgU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCxcbiAgU0NGQVFMaXN0LFxuICBTQ0ZBUUl0ZW0sXG4gIFNDRkFRSXRlbUljb24sXG4gIFNDRkFRSXRlbVRleHQsXG59IGZyb20gJy4vRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLnN0eWxlcydcblxuZnVuY3Rpb24gRmFxTGlzdEl0ZW0oe1xuICBmYXEsXG4gIGlzU2Nyb2xsaW5nLFxuICBvbkNsaWNrLFxufToge1xuICBmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uXG4gIGlzU2Nyb2xsaW5nOiBib29sZWFuXG4gIG9uQ2xpY2s6ICgpID0+IHZvaWRcbn0pIHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtmYXEudGl0bGVdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDRkFRSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTQ0ZBUUl0ZW1JY29uPlxuICAgICAgICA8RmFxc0ljb24gY29sb3I9XCIjODc0MEJGXCIgaGVpZ2h0PXsxOH0gd2lkdGg9ezE4fSAvPlxuICAgICAgPC9TQ0ZBUUl0ZW1JY29uPlxuICAgICAgPFNDRkFRSXRlbVRleHQgcmVmPXt0ZXh0UmVmfT5cbiAgICAgICAge2lzU2Nyb2xsaW5nID8gZmFxLnRpdGxlIDogPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZmFxLnRpdGxlIDogJyd9PntmYXEudGl0bGV9PC9Ub29sdGlwPn1cbiAgICAgIDwvU0NGQVFJdGVtVGV4dD5cbiAgICA8L1NDRkFRSXRlbT5cbiAgKVxufVxuXG50eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1Byb3BzID0ge1xuICBvblN0YXJ0Q2hhdDogKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCwgZmFxSWQ/OiBzdHJpbmcpID0+IHZvaWRcbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gIHNob3dQcm9qZWN0U3VtbWFyeT86IGJvb2xlYW5cbiAgYWdlbnRJZD86IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgaXNTY3JvbGxpbmc/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgPSAoe1xuICBvblN0YXJ0Q2hhdCxcbiAgc2hvd0ZBUXMgPSBmYWxzZSxcbiAgc2hvd1Byb2plY3RTdW1tYXJ5ID0gZmFsc2UsXG4gIGFnZW50SWQsXG4gIGxhbmcsXG4gIGlzU2Nyb2xsaW5nID0gZmFsc2UsXG59OiBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcblxuICBjb25zdCB7IGZhcXMsIGxvYWRpbmcsIGVycm9yLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSA9IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyhhZ2VudElkLCBsYW5nKVxuICBjb25zdCBsYXN0RmV0Y2hSZWYgPSB1c2VSZWY8eyBhZ2VudElkOiBzdHJpbmc7IGxhbmc6IHN0cmluZyB9IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoYW5kbGVGQVFDbGljayA9IChmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uKSA9PiB7XG4gICAgb25TdGFydENoYXQoZmFxLnRpdGxlLCBudWxsLCBmYXEuaWQpXG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbGVjdEZBUSwge1xuICAgICAgb3B0aW9uOiB7XG4gICAgICAgIGlkX2ZhcTogZmFxLnRpdGxlLFxuICAgICAgICBjYXRlZ29yeV9mYXE6IGZhcS5jYXRlZ29yeSxcbiAgICAgICAgb3JpZ2luX2ZhcTogJ2hvbWVfY2hhdCcsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBmYXFzQnlDYXRlZ29yeSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uW10+ID0ge31cblxuICAgIGNvbnN0IHNvcnRlZEZhcXMgPSBbLi4uZmFxc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3Qgb3JkZXJBID0gYS5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgICAgY29uc3Qgb3JkZXJCID0gYi5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICByZXR1cm4gb3JkZXJBIC0gb3JkZXJCXG4gICAgfSlcblxuICAgIHNvcnRlZEZhcXMuZm9yRWFjaChmYXEgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgIGlmICghZ3JvdXBlZFtjYXRlZ29yeV0pIHtcbiAgICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0gPSBbXVxuICAgICAgfVxuICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0ucHVzaChmYXEpXG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKGdyb3VwZWQpLmZvckVhY2goY2F0ID0+IHtcbiAgICAgIGdyb3VwZWRbY2F0XS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgIH0pXG5cbiAgICByZXR1cm4gZ3JvdXBlZFxuICB9LCBbZmFxc10pXG5cbiAgY29uc3Qgb3JkZXJlZEZhcUNhdGVnb3JpZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBPYmplY3QuZW50cmllcyhmYXFzQnlDYXRlZ29yeSkuc29ydCgoWywgY2F0ZWdvcnlGYXFzQV0sIFssIGNhdGVnb3J5RmFxc0JdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJBID0gY2F0ZWdvcnlGYXFzQVswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgICAgY29uc3QgZmlyc3RPcmRlckIgPSBjYXRlZ29yeUZhcXNCWzBdPy5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICAgIHJldHVybiBmaXJzdE9yZGVyQSAtIGZpcnN0T3JkZXJCXG4gICAgICB9KSxcbiAgICBbZmFxc0J5Q2F0ZWdvcnldXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhZ2VudElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50S2V5ID0gYCR7YWdlbnRJZH0tJHtsYW5nfWBcbiAgICAgIGNvbnN0IGxhc3RLZXkgPSBsYXN0RmV0Y2hSZWYuY3VycmVudCA/IGAke2xhc3RGZXRjaFJlZi5jdXJyZW50LmFnZW50SWR9LSR7bGFzdEZldGNoUmVmLmN1cnJlbnQubGFuZ31gIDogbnVsbFxuXG4gICAgICBpZiAoY3VycmVudEtleSAhPT0gbGFzdEtleSkge1xuICAgICAgICBsYXN0RmV0Y2hSZWYuY3VycmVudCA9IHsgYWdlbnRJZCwgbGFuZyB9XG4gICAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQsIGxhbmcgfSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthZ2VudElkLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsIGxhbmddKVxuXG4gIGlmICghbG9hZGluZyAmJiAhZXJyb3IgJiYgZmFxcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NGQVFzQ29udGFpbmVyPlxuICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBmYXFzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8U0NGQVFzVGl0bGU+XG4gICAgICAgICAgPHNwYW4+e3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfTwvc3Bhbj5cbiAgICAgICAgPC9TQ0ZBUXNUaXRsZT5cbiAgICAgICl9XG4gICAgICA8U0NGQVFzTGlzdENvbnRhaW5lciAkc2hvd0ZBUXM9e3Nob3dGQVFzfSAkc2hvd1Byb2plY3RTdW1tYXJ5PXtzaG93UHJvamVjdFN1bW1hcnl9PlxuICAgICAgICB7bG9hZGluZyAmJiAhZXJyb3IgJiYgPExvYWRlckZhcXMgLz59XG4gICAgICAgIHtlcnJvciAmJiA8RXJyb3JTZWFyY2hGYXFzIG1lc3NhZ2U9e3QoJ2hvbWVNZW51LmZhcS5lcnJvcicpfSAvPn1cbiAgICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBvcmRlcmVkRmFxQ2F0ZWdvcmllcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAge29yZGVyZWRGYXFDYXRlZ29yaWVzLm1hcCgoW2NhdGVnb3J5LCBjYXRlZ29yeUZhcXNdKSA9PiAoXG4gICAgICAgICAgICAgIDxTQ0ZBUUNhdGVnb3J5IGtleT17Y2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgIDxTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0PlxuICAgICAgICAgICAgICAgICAge3QoYGhvbWVNZW51LmZhcS5jYXRlZ29yaWVzLiR7Y2F0ZWdvcnkudG9Mb3dlckNhc2UoKX1gKX1cbiAgICAgICAgICAgICAgICA8L1NDRkFRQ2F0ZWdvcnlUaXRsZVRleHQ+XG5cbiAgICAgICAgICAgICAgICA8U0NGQVFMaXN0PlxuICAgICAgICAgICAgICAgICAge2NhdGVnb3J5RmFxcy5tYXAoZmFxID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEZhcUxpc3RJdGVtIGtleT17ZmFxLmlkfSBmYXE9e2ZhcX0gaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfSBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGQVFDbGljayhmYXEpfSAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TQ0ZBUUxpc3Q+XG4gICAgICAgICAgICAgIDwvU0NGQVFDYXRlZ29yeT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TQ0ZBUXNMaXN0Q29udGFpbmVyPlxuICAgIDwvU0NGQVFzQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ2xELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxpQkFBaUIsUUFBUSwwQkFBMEI7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