@projectcor/maia-components 2.41.0 → 2.42.0-feat-maia-path-route.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +44 -19
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +21 -6
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +6 -2
- package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +25 -8
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +65 -61
- package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +28 -23
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +486 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +250 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +144 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
- package/lib/components/organisms/ChatAIPage/index.js +3 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/dev/DevMaiaPage.js +30 -0
- package/lib/hooks/useChatManager/useChatManager.js +7 -7
- package/lib/hooks/useFrequentlyUsedActions.js +31 -12
- package/lib/hooks/useIsMaiaPageRoute.js +26 -0
- package/lib/index.js +5 -2
- package/lib/lang/br/index.js +24 -1
- package/lib/lang/en/index.js +24 -1
- package/lib/lang/es/index.js +24 -1
- package/lib/lang/fr/index.js +24 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/hoursPlannerQuickActionType.js +74 -1
- package/lib/utils/maiaPageRoute.js +24 -0
- package/package.json +1 -1
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
|
|
5
|
+
import { ChevronLeft } from '@projectcor/icons/lib/components/ChevronLeft';
|
|
6
|
+
import { Plus } from '@projectcor/icons/lib/components/Plus';
|
|
7
|
+
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
8
|
+
import { Loader } from '../../atoms/Loader';
|
|
9
|
+
import { MAIAIcon } from '../../atoms/icons';
|
|
10
|
+
import { ChatAIAgentOption } from '../../molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions';
|
|
11
|
+
import { SCCAIMHAddAgent, SCCAIMHAgentsList, SCCAIMHBackButton, SCCAIMHDivider, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle } from '../../molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles';
|
|
12
|
+
import { useGlobalContext } from '../../../context/global-context';
|
|
13
|
+
import { useUser } from '../../../context/cor-user';
|
|
14
|
+
import { useResizeListener } from '../../../hooks/useResize';
|
|
15
|
+
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
16
|
+
import { SECTIONS } from '../../../constants/config';
|
|
17
|
+
import { isMaiaCloneAgentsRoleBlocked } from '../../../constants/maiaTaskPanelAccess';
|
|
18
|
+
import { SCPageHeader, SCPageHeaderStart } from './ChatAIPageHeader.styles';
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
|
+
export var ChatAIPageHeader = function ChatAIPageHeader(_ref) {
|
|
21
|
+
var _localAgents$name, _user$permissions;
|
|
22
|
+
var _ref$overlay = _ref.overlay,
|
|
23
|
+
overlay = _ref$overlay === void 0 ? false : _ref$overlay,
|
|
24
|
+
_ref$showBack = _ref.showBack,
|
|
25
|
+
showBack = _ref$showBack === void 0 ? false : _ref$showBack,
|
|
26
|
+
_ref$agents = _ref.agents,
|
|
27
|
+
agents = _ref$agents === void 0 ? [] : _ref$agents,
|
|
28
|
+
_ref$loading = _ref.loading,
|
|
29
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
30
|
+
_ref$loadingMore = _ref.loadingMore,
|
|
31
|
+
loadingMore = _ref$loadingMore === void 0 ? false : _ref$loadingMore,
|
|
32
|
+
_ref$hasMore = _ref.hasMore,
|
|
33
|
+
hasMore = _ref$hasMore === void 0 ? false : _ref$hasMore,
|
|
34
|
+
loadMoreAgents = _ref.loadMoreAgents,
|
|
35
|
+
sortAgentsList = _ref.sortAgentsList,
|
|
36
|
+
handleResetChat = _ref.handleResetChat,
|
|
37
|
+
onAgentUpdate = _ref.onAgentUpdate;
|
|
38
|
+
var _useTranslation = useTranslation([SECTIONS.abmAgent, SECTIONS.chatAI]),
|
|
39
|
+
t = _useTranslation.t;
|
|
40
|
+
var user = useUser();
|
|
41
|
+
var amplitudEvent = useEvent();
|
|
42
|
+
var _useGlobalContext = useGlobalContext(),
|
|
43
|
+
selectedAgent = _useGlobalContext.agent,
|
|
44
|
+
selectAgent = _useGlobalContext.selectAgent,
|
|
45
|
+
setProject = _useGlobalContext.setProject,
|
|
46
|
+
setClient = _useGlobalContext.setClient,
|
|
47
|
+
setTask = _useGlobalContext.setTask,
|
|
48
|
+
section = _useGlobalContext.section;
|
|
49
|
+
var _useState = useState(false),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
isExpanded = _useState2[0],
|
|
52
|
+
setIsExpanded = _useState2[1];
|
|
53
|
+
var textRefAgent = useRef(null);
|
|
54
|
+
var dropdownRef = useRef(null);
|
|
55
|
+
var agentsRef = useRef(null);
|
|
56
|
+
var _useResizeListener = useResizeListener(textRefAgent, [selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.name]),
|
|
57
|
+
showTooltipAgent = _useResizeListener.showTooltip;
|
|
58
|
+
var isMaiaAgent = useCallback(function (agentItem) {
|
|
59
|
+
return agentItem.type === 'orchestrator';
|
|
60
|
+
}, []);
|
|
61
|
+
var agentsForSelector = useMemo(function () {
|
|
62
|
+
return agents.filter(function (agentItem) {
|
|
63
|
+
return isMaiaAgent(agentItem) || agentItem.entity !== 'global';
|
|
64
|
+
});
|
|
65
|
+
}, [agents, isMaiaAgent]);
|
|
66
|
+
var localAgents = useMemo(function () {
|
|
67
|
+
var _ref2;
|
|
68
|
+
if (selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_from_conversation || selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_legacy_context) {
|
|
69
|
+
return selectedAgent;
|
|
70
|
+
}
|
|
71
|
+
var fromList = agents.find(function (item) {
|
|
72
|
+
return !item.is_deleted && !item.has_not_permissions && !item.has_not_access && item.id === (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id);
|
|
73
|
+
});
|
|
74
|
+
return (_ref2 = fromList !== null && fromList !== void 0 ? fromList : selectedAgent) !== null && _ref2 !== void 0 ? _ref2 : null;
|
|
75
|
+
}, [agents, selectedAgent]);
|
|
76
|
+
var selectorIcon = (localAgents === null || localAgents === void 0 ? void 0 : localAgents.type) === 'custom' && !(localAgents !== null && localAgents !== void 0 && localAgents.is_legacy_context) ? localAgents === null || localAgents === void 0 ? void 0 : localAgents.emoji : /*#__PURE__*/_jsx(MAIAIcon, {});
|
|
77
|
+
var selectorLabel = (_localAgents$name = localAgents === null || localAgents === void 0 ? void 0 : localAgents.name) !== null && _localAgents$name !== void 0 ? _localAgents$name : '';
|
|
78
|
+
var cloneAgentsRoleBlocked = isMaiaCloneAgentsRoleBlocked(user, section);
|
|
79
|
+
var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
|
|
80
|
+
useEffect(function () {
|
|
81
|
+
if (!isExpanded) return undefined;
|
|
82
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
83
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
84
|
+
setIsExpanded(false);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
88
|
+
return function () {
|
|
89
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
90
|
+
};
|
|
91
|
+
}, [isExpanded]);
|
|
92
|
+
useEffect(function () {
|
|
93
|
+
if (!isExpanded) return undefined;
|
|
94
|
+
var handleScroll = function handleScroll() {
|
|
95
|
+
if (!agentsRef.current || !loadMoreAgents || !hasMore || loadingMore) return;
|
|
96
|
+
var _agentsRef$current = agentsRef.current,
|
|
97
|
+
scrollTop = _agentsRef$current.scrollTop,
|
|
98
|
+
scrollHeight = _agentsRef$current.scrollHeight,
|
|
99
|
+
clientHeight = _agentsRef$current.clientHeight;
|
|
100
|
+
if (scrollHeight - scrollTop - clientHeight < 50) {
|
|
101
|
+
loadMoreAgents();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var timeoutId = setTimeout(function () {
|
|
105
|
+
var _agentsRef$current2;
|
|
106
|
+
(_agentsRef$current2 = agentsRef.current) === null || _agentsRef$current2 === void 0 || _agentsRef$current2.addEventListener('scroll', handleScroll);
|
|
107
|
+
}, 100);
|
|
108
|
+
return function () {
|
|
109
|
+
var _agentsRef$current3;
|
|
110
|
+
clearTimeout(timeoutId);
|
|
111
|
+
(_agentsRef$current3 = agentsRef.current) === null || _agentsRef$current3 === void 0 || _agentsRef$current3.removeEventListener('scroll', handleScroll);
|
|
112
|
+
};
|
|
113
|
+
}, [isExpanded, loadMoreAgents, hasMore, loadingMore]);
|
|
114
|
+
var handleSelectAgent = useCallback(function (nextAgent) {
|
|
115
|
+
selectAgent(nextAgent);
|
|
116
|
+
amplitudEvent(EVENTS.aiChatAgentSelect, {
|
|
117
|
+
agent_type: nextAgent === null || nextAgent === void 0 ? void 0 : nextAgent.type
|
|
118
|
+
});
|
|
119
|
+
setIsExpanded(false);
|
|
120
|
+
setProject(null);
|
|
121
|
+
setClient === null || setClient === void 0 || setClient(null);
|
|
122
|
+
setTask(null);
|
|
123
|
+
setTimeout(function () {
|
|
124
|
+
handleResetChat();
|
|
125
|
+
}, 100);
|
|
126
|
+
}, [selectAgent, amplitudEvent, handleResetChat, setProject, setClient, setTask]);
|
|
127
|
+
var handleExpand = function handleExpand() {
|
|
128
|
+
if (!isExpanded) {
|
|
129
|
+
amplitudEvent(EVENTS.aiChatOpenAgentSelect);
|
|
130
|
+
sortAgentsList === null || sortAgentsList === void 0 || sortAgentsList();
|
|
131
|
+
}
|
|
132
|
+
setIsExpanded(function (prev) {
|
|
133
|
+
return !prev;
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
var showCustomAgentsTitle = agentsForSelector.some(function (item) {
|
|
137
|
+
return item.type === 'custom';
|
|
138
|
+
}) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
139
|
+
var shouldRenderSelector = !loading && !!selectedAgent && (!!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || !!window.MAIA_CHAT_AI_FEATURE_ACCESS);
|
|
140
|
+
return /*#__PURE__*/_jsxs(SCPageHeader, {
|
|
141
|
+
$overlay: overlay,
|
|
142
|
+
children: [/*#__PURE__*/_jsx(SCPageHeaderStart, {
|
|
143
|
+
children: shouldRenderSelector ? /*#__PURE__*/_jsxs(SCCAIMHWrapper, {
|
|
144
|
+
ref: dropdownRef,
|
|
145
|
+
onClick: agents.length ? handleExpand : undefined,
|
|
146
|
+
children: [/*#__PURE__*/_jsx(SCCAIMHSelectedAgent, {
|
|
147
|
+
children: /*#__PURE__*/_jsx(Tooltip, {
|
|
148
|
+
title: showTooltipAgent ? /*#__PURE__*/_jsxs("span", {
|
|
149
|
+
style: {
|
|
150
|
+
display: 'flex',
|
|
151
|
+
alignItems: 'center',
|
|
152
|
+
gap: '4px'
|
|
153
|
+
},
|
|
154
|
+
children: [selectorIcon, " ", selectorLabel]
|
|
155
|
+
}) : '',
|
|
156
|
+
placement: isExpanded ? 'left' : 'top',
|
|
157
|
+
children: /*#__PURE__*/_jsx(SCCAIMHSelectedAgentText, {
|
|
158
|
+
ref: textRefAgent,
|
|
159
|
+
isAgentDeleted: !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access) || !!(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_legacy_context),
|
|
160
|
+
children: /*#__PURE__*/_jsxs("span", {
|
|
161
|
+
style: {
|
|
162
|
+
display: 'flex',
|
|
163
|
+
alignItems: 'center',
|
|
164
|
+
gap: '4px'
|
|
165
|
+
},
|
|
166
|
+
children: [selectorIcon, " ", selectorLabel]
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
}), /*#__PURE__*/_jsx(SCCAIMHWrapperIcon, {
|
|
171
|
+
children: /*#__PURE__*/_jsx(ChevronDown, {
|
|
172
|
+
width: 14,
|
|
173
|
+
height: 14,
|
|
174
|
+
color: "#20201F"
|
|
175
|
+
})
|
|
176
|
+
}), isExpanded ? /*#__PURE__*/_jsx(SCCAIMHWrapperModal, {
|
|
177
|
+
children: /*#__PURE__*/_jsxs(SCCAIMHWrapperModalContent, {
|
|
178
|
+
children: [window.MAIA_CHAT_AI_FEATURE_ACCESS && !cloneAgentsRoleBlocked ? /*#__PURE__*/_jsx(_Fragment, {
|
|
179
|
+
children: agentsForSelector.filter(isMaiaAgent).map(function (maiaAgent, index) {
|
|
180
|
+
return /*#__PURE__*/_jsx(ChatAIAgentOption, {
|
|
181
|
+
agent: maiaAgent,
|
|
182
|
+
index: index,
|
|
183
|
+
handleSelectAgent: handleSelectAgent,
|
|
184
|
+
isSelected: (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) === maiaAgent.id,
|
|
185
|
+
isMaia: true,
|
|
186
|
+
onFavoriteToggle: onAgentUpdate
|
|
187
|
+
}, "agent-".concat(maiaAgent.id));
|
|
188
|
+
})
|
|
189
|
+
}) : null, showCustomAgentsTitle ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
190
|
+
children: [/*#__PURE__*/_jsxs(SCCAIMHWrapperModalContentTitle, {
|
|
191
|
+
children: [t('agents'), " by ", user.company]
|
|
192
|
+
}), /*#__PURE__*/_jsx(SCCAIMHDivider, {})]
|
|
193
|
+
}) : null, /*#__PURE__*/_jsxs(SCCAIMHAgentsList, {
|
|
194
|
+
hasMore: hasMore,
|
|
195
|
+
agentsCount: agentsForSelector.length,
|
|
196
|
+
ref: agentsRef,
|
|
197
|
+
children: [agentsForSelector.map(function (item, index) {
|
|
198
|
+
if (item !== null && item !== void 0 && item.is_deleted || item !== null && item !== void 0 && item.has_not_permissions || item !== null && item !== void 0 && item.has_not_access || (item === null || item === void 0 ? void 0 : item.type) === 'clone' || isMaiaAgent(item) || (item === null || item === void 0 ? void 0 : item.type) === 'custom' && !window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
return /*#__PURE__*/_jsx(ChatAIAgentOption, {
|
|
202
|
+
agent: item,
|
|
203
|
+
index: index,
|
|
204
|
+
handleSelectAgent: handleSelectAgent,
|
|
205
|
+
isSelected: (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) === item.id,
|
|
206
|
+
onFavoriteToggle: onAgentUpdate,
|
|
207
|
+
setIsExpanded: setIsExpanded
|
|
208
|
+
}, "agent-".concat(item.id));
|
|
209
|
+
}), loadingMore ? /*#__PURE__*/_jsx(SCCAIMHLoaderWrapper, {
|
|
210
|
+
children: /*#__PURE__*/_jsx(Loader, {
|
|
211
|
+
size: "small"
|
|
212
|
+
})
|
|
213
|
+
}) : null]
|
|
214
|
+
}), userPermissions !== null && userPermissions !== void 0 && userPermissions.create && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS ? /*#__PURE__*/_jsxs(SCCAIMHAddAgent, {
|
|
215
|
+
onClick: function onClick() {
|
|
216
|
+
setIsExpanded(false);
|
|
217
|
+
amplitudEvent(EVENTS.openModal, {
|
|
218
|
+
option: 'create_agent'
|
|
219
|
+
});
|
|
220
|
+
document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
|
|
221
|
+
detail: {
|
|
222
|
+
agentValues: {
|
|
223
|
+
values: {
|
|
224
|
+
isEditing: false
|
|
225
|
+
},
|
|
226
|
+
isOpen: true
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}));
|
|
230
|
+
},
|
|
231
|
+
children: [/*#__PURE__*/_jsx(SCCAIMHPlusIconWrapper, {
|
|
232
|
+
children: /*#__PURE__*/_jsx(Plus, {
|
|
233
|
+
color: "white",
|
|
234
|
+
width: 18,
|
|
235
|
+
height: 18
|
|
236
|
+
})
|
|
237
|
+
}), t('createAgent')]
|
|
238
|
+
}) : null]
|
|
239
|
+
})
|
|
240
|
+
}) : null]
|
|
241
|
+
}) : null
|
|
242
|
+
}), showBack ? /*#__PURE__*/_jsxs(SCCAIMHBackButton, {
|
|
243
|
+
type: "button",
|
|
244
|
+
onClick: handleResetChat,
|
|
245
|
+
children: [/*#__PURE__*/_jsx(ChevronLeft, {
|
|
246
|
+
width: 14,
|
|
247
|
+
height: 14,
|
|
248
|
+
color: "#343433"
|
|
249
|
+
}), t('back')]
|
|
250
|
+
}) : null]
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZVRyYW5zbGF0aW9uIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uTGVmdCIsIlBsdXMiLCJUb29sdGlwIiwiTG9hZGVyIiwiTUFJQUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSEJhY2tCdXR0b24iLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhMb2FkZXJXcmFwcGVyIiwiU0NDQUlNSFBsdXNJY29uV3JhcHBlciIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVVzZXIiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0VDVElPTlMiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiU0NQYWdlSGVhZGVyIiwiU0NQYWdlSGVhZGVyU3RhcnQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlQYWdlSGVhZGVyIiwiX3JlZiIsIl9sb2NhbEFnZW50cyRuYW1lIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfcmVmJG92ZXJsYXkiLCJvdmVybGF5IiwiX3JlZiRzaG93QmFjayIsInNob3dCYWNrIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJoYW5kbGVSZXNldENoYXQiLCJvbkFnZW50VXBkYXRlIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJjaGF0QUkiLCJ0IiwidXNlciIsImFtcGxpdHVkRXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdGVkQWdlbnQiLCJhZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsInNldFRhc2siLCJzZWN0aW9uIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImFnZW50c1JlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcEFnZW50Iiwic2hvd1Rvb2x0aXAiLCJpc01haWFBZ2VudCIsImFnZW50SXRlbSIsInR5cGUiLCJhZ2VudHNGb3JTZWxlY3RvciIsImZpbHRlciIsImVudGl0eSIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJpc19sZWdhY3lfY29udGV4dCIsImZyb21MaXN0IiwiZmluZCIsIml0ZW0iLCJpZCIsInNlbGVjdG9ySWNvbiIsImVtb2ppIiwic2VsZWN0b3JMYWJlbCIsImNsb25lQWdlbnRzUm9sZUJsb2NrZWQiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVNjcm9sbCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJfYWdlbnRzUmVmJGN1cnJlbnQyIiwiX2FnZW50c1JlZiRjdXJyZW50MyIsImNsZWFyVGltZW91dCIsImhhbmRsZVNlbGVjdEFnZW50IiwibmV4dEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwiaGFuZGxlRXhwYW5kIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsInNob3dDdXN0b21BZ2VudHNUaXRsZSIsInNvbWUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCIkb3ZlcmxheSIsImNoaWxkcmVuIiwicmVmIiwib25DbGljayIsImxlbmd0aCIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsInBsYWNlbWVudCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJjb21wYW55IiwiYWdlbnRzQ291bnQiLCJzaXplIiwiY3JlYXRlIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJpc09wZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvQ2hhdEFJUGFnZS9DaGF0QUlQYWdlSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ2hldnJvbkxlZnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uTGVmdCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgTUFJQUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhBZGRBZ2VudCxcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJTUhQbHVzSWNvbldyYXBwZXIsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50LFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUhXcmFwcGVyLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxufSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBTQ1BhZ2VIZWFkZXIsIFNDUGFnZUhlYWRlclN0YXJ0IH0gZnJvbSAnLi9DaGF0QUlQYWdlSGVhZGVyLnN0eWxlcydcblxuaW50ZXJmYWNlIENoYXRBSVBhZ2VIZWFkZXJQcm9wcyB7XG4gIG92ZXJsYXk/OiBib29sZWFuXG4gIHNob3dCYWNrPzogYm9vbGVhblxuICBhZ2VudHM/OiBBZ2VudFtdXG4gIGxvYWRpbmc/OiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSVBhZ2VIZWFkZXIgPSAoe1xuICBvdmVybGF5ID0gZmFsc2UsXG4gIHNob3dCYWNrID0gZmFsc2UsXG4gIGFnZW50cyA9IFtdLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGxvYWRpbmdNb3JlID0gZmFsc2UsXG4gIGhhc01vcmUgPSBmYWxzZSxcbiAgbG9hZE1vcmVBZ2VudHMsXG4gIHNvcnRBZ2VudHNMaXN0LFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG59OiBDaGF0QUlQYWdlSGVhZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnQsIFNFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgYW1wbGl0dWRFdmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcblxuICBjb25zdCBpc01haWFBZ2VudCA9IHVzZUNhbGxiYWNrKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicsIFtdKVxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gaXNNYWlhQWdlbnQoYWdlbnRJdGVtKSB8fCBhZ2VudEl0ZW0uZW50aXR5ICE9PSAnZ2xvYmFsJyksXG4gICAgW2FnZW50cywgaXNNYWlhQWdlbnRdXG4gIClcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvbiB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBpdGVtID0+ICFpdGVtLmlzX2RlbGV0ZWQgJiYgIWl0ZW0uaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhaXRlbS5oYXNfbm90X2FjY2VzcyAmJiBpdGVtLmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9IGxvY2FsQWdlbnRzPy5uYW1lID8/ICcnXG4gIGNvbnN0IGNsb25lQWdlbnRzUm9sZUJsb2NrZWQgPSBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXIsIHNlY3Rpb24pXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoZHJvcGRvd25SZWYuY3VycmVudCAmJiAhZHJvcGRvd25SZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHJldHVyblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodCA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGFnZW50c1JlZi5jdXJyZW50Py5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBhZ2VudHNSZWYuY3VycmVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAobmV4dEFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQobmV4dEFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHsgYWdlbnRfdHlwZTogbmV4dEFnZW50Py50eXBlIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgfSwgMTAwKVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBhbXBsaXR1ZEV2ZW50LCBoYW5kbGVSZXNldENoYXQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFza11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIHNvcnRBZ2VudHNMaXN0Py4oKVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICBjb25zdCBzaG93Q3VzdG9tQWdlbnRzVGl0bGUgPVxuICAgIGFnZW50c0ZvclNlbGVjdG9yLnNvbWUoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdjdXN0b20nKSAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFsb2FkaW5nICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDUGFnZUhlYWRlciAkb3ZlcmxheT17b3ZlcmxheX0+XG4gICAgICA8U0NQYWdlSGVhZGVyU3RhcnQ+XG4gICAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXIgcmVmPXtkcm9wZG93blJlZn0gb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZCA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICB7c2VsZWN0b3JJY29ufSB7c2VsZWN0b3JMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PXtpc0V4cGFuZGVkID8gJ2xlZnQnIDogJ3RvcCd9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgICAgICByZWY9e3RleHRSZWZBZ2VudH1cbiAgICAgICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAgICB7c2VsZWN0b3JJY29ufSB7c2VsZWN0b3JMYWJlbH1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzIwMjAxRlwiIC8+XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICAgIHtpc0V4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKGlzTWFpYUFnZW50KS5tYXAoKG1haWFBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke21haWFBZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17bWFpYUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IG1haWFBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNYWlhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAge3Nob3dDdXN0b21BZ2VudHNUaXRsZSA/IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSEFnZW50c0xpc3QgaGFzTW9yZT17aGFzTW9yZX0gYWdlbnRzQ291bnQ9e2FnZW50c0ZvclNlbGVjdG9yLmxlbmd0aH0gcmVmPXthZ2VudHNSZWZ9PlxuICAgICAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3IubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy50eXBlID09PSAnY2xvbmUnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01haWFBZ2VudChpdGVtKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHtpdGVtLmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGl0ZW0uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgICAgICAge3VzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSEFkZEFnZW50XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGVBZ2VudCcpfVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TQ1BhZ2VIZWFkZXJTdGFydD5cbiAgICAgIHtzaG93QmFjayA/IChcbiAgICAgICAgPFNDQ0FJTUhCYWNrQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVSZXNldENoYXR9PlxuICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAge3QoJ2JhY2snKX1cbiAgICAgICAgPC9TQ0NBSU1IQmFja0J1dHRvbj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU0NQYWdlSGVhZGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FB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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export var SCPageHeader = styled.header.withConfig({
|
|
3
|
+
displayName: "ChatAIPageHeaderstyles__SCPageHeader",
|
|
4
|
+
componentId: "sc-11cr9wi-0"
|
|
5
|
+
})(["display:flex;padding:8px 16px;justify-content:space-between;align-items:center;align-self:stretch;flex-shrink:0;background:transparent;", ""], function (_ref) {
|
|
6
|
+
var $overlay = _ref.$overlay;
|
|
7
|
+
return $overlay ? "\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 2;\n " : '';
|
|
8
|
+
});
|
|
9
|
+
export var SCPageHeaderStart = styled.div.withConfig({
|
|
10
|
+
displayName: "ChatAIPageHeaderstyles__SCPageHeaderStart",
|
|
11
|
+
componentId: "sc-11cr9wi-1"
|
|
12
|
+
})(["display:flex;align-items:center;gap:8px;min-width:0;"]);
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1BhZ2VIZWFkZXIiLCJoZWFkZXIiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkb3ZlcmxheSIsIlNDUGFnZUhlYWRlclN0YXJ0IiwiZGl2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0NoYXRBSVBhZ2UvQ2hhdEFJUGFnZUhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIZWFkZXIgPSBzdHlsZWQuaGVhZGVyPHsgJG92ZXJsYXk/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICR7KHsgJG92ZXJsYXkgfSkgPT5cbiAgICAkb3ZlcmxheVxuICAgICAgPyBgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIGBcbiAgICAgIDogJyd9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIZWFkZXJTdGFydCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtaW4td2lkdGg6IDA7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxZQUFZLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9KQVFyQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLGdHQVFKLEVBQUU7QUFBQSxFQUNUO0FBRUQsT0FBTyxJQUFNQyxpQkFBaUIsR0FBR1IsTUFBTSxDQUFDUyxHQUFHLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNERBSzFDIiwiaWdub3JlTGlzdCI6W119
|