@projectcor/maia-components 2.11.32 → 2.11.34
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/components/atoms/IconButton.js +3 -2
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/index.js +2 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +4 -2
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +15 -11
- package/lib/components/molecules/ChatAIHome/styles.js +17 -10
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +197 -61
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +92 -18
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +17 -2
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/layout.js +35 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +25 -31
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +4 -4
- package/lib/hooks/useChatManager/useChatManager.js +20 -8
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +8 -5
- package/lib/hooks/useProjectSearch.js +11 -4
- package/lib/lang/br/index.js +5 -1
- package/lib/lang/en/index.js +5 -1
- package/lib/lang/es/index.js +5 -1
- package/lib/lang/fr/index.js +5 -1
- package/lib/services/maia/Orchestrator/orchestrator.js +6 -4
- package/lib/services/maia/RecentProjects/getRecentProjects.js +2 -2
- package/lib/services/query/projectSearchByValueQuery.js +2 -2
- package/lib/types/Project.js +1 -1
- package/package.json +1 -1
|
@@ -1,31 +1,44 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX, MAIA_FLOATING_PANEL_WIDTH_PX } from './layout';
|
|
2
3
|
export var SCCAIMWrapper = styled.div.withConfig({
|
|
3
4
|
displayName: "ChatAIModalstyles__SCCAIMWrapper",
|
|
4
5
|
componentId: "sc-7bgzxb-0"
|
|
5
|
-
})(["
|
|
6
|
+
})(["box-sizing:border-box;z-index:1099;height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
|
|
6
7
|
var expanded = _ref.expanded;
|
|
7
|
-
return expanded
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
return expanded && css(["left:0;right:0;width:100%;max-width:100vw;"]);
|
|
9
|
+
}, function (_ref2) {
|
|
10
|
+
var layoutMode = _ref2.layoutMode,
|
|
11
|
+
dragPosition = _ref2.dragPosition,
|
|
12
|
+
expanded = _ref2.expanded;
|
|
13
|
+
return layoutMode === 'floating' && dragPosition && !expanded && css(["top:", "px;left:", "px;right:auto;padding:0;width:auto;height:auto;max-height:none;align-items:flex-start;justify-content:flex-start;transition:none;"], dragPosition.y, dragPosition.x);
|
|
10
14
|
});
|
|
11
15
|
export var SCCAIMContentWrapper = styled.div.withConfig({
|
|
12
16
|
displayName: "ChatAIModalstyles__SCCAIMContentWrapper",
|
|
13
17
|
componentId: "sc-7bgzxb-1"
|
|
14
|
-
})(["height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:
|
|
15
|
-
var expanded =
|
|
18
|
+
})(["height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:width 0.1s ease-out-in;", " ", ""], function (_ref3) {
|
|
19
|
+
var expanded = _ref3.expanded;
|
|
16
20
|
return expanded ? {
|
|
17
21
|
width: '100%'
|
|
18
22
|
} : {};
|
|
23
|
+
}, function (_ref4) {
|
|
24
|
+
var floating = _ref4.floating;
|
|
25
|
+
return floating && css(["height:", "px;max-height:85vh;@media (min-width:", "px){height:", "px;}@media (min-width:", "px){height:", "px;}"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl);
|
|
19
26
|
});
|
|
20
27
|
export var SCCAIMContent = styled.div.withConfig({
|
|
21
28
|
displayName: "ChatAIModalstyles__SCCAIMContent",
|
|
22
29
|
componentId: "sc-7bgzxb-2"
|
|
23
|
-
})(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", ""], function (
|
|
24
|
-
var expanded =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
})(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", " ", ""], function (_ref5) {
|
|
31
|
+
var expanded = _ref5.expanded,
|
|
32
|
+
floating = _ref5.floating;
|
|
33
|
+
if (expanded) {
|
|
34
|
+
return css(["flex:1;"]);
|
|
35
|
+
}
|
|
36
|
+
if (floating) {
|
|
37
|
+
return css(["width:", "px;@media (min-width:", "px){width:", "px;}@media (min-width:", "px){width:", "px;}"], MAIA_FLOATING_PANEL_WIDTH_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_WIDTH_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_WIDTH_PX.xxl);
|
|
38
|
+
}
|
|
39
|
+
return css(["width:480px;"]);
|
|
40
|
+
}, function (_ref6) {
|
|
41
|
+
var floating = _ref6.floating;
|
|
42
|
+
return floating && css(["border-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;"]);
|
|
30
43
|
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiU0NDQUlNV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImV4cGFuZGVkIiwiX3JlZjIiLCJsYXlvdXRNb2RlIiwiZHJhZ1Bvc2l0aW9uIiwieSIsIngiLCJTQ0NBSU1Db250ZW50V3JhcHBlciIsIl9yZWYzIiwid2lkdGgiLCJfcmVmNCIsImZsb2F0aW5nIiwibGFyZ2UiLCJ4eGwiLCJTQ0NBSU1Db250ZW50IiwiX3JlZjUiLCJfcmVmNiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxufT5gXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwOTk7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTZweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLW91dC1pbjtcbiAgJHsoeyBleHBhbmRlZCB9KSA9PlxuICAgIGV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGB9XG4gICR7KHsgbGF5b3V0TW9kZSwgZHJhZ1Bvc2l0aW9uLCBleHBhbmRlZCB9KSA9PlxuICAgIGxheW91dE1vZGUgPT09ICdmbG9hdGluZycgJiZcbiAgICBkcmFnUG9zaXRpb24gJiZcbiAgICAhZXhwYW5kZWQgJiZcbiAgICBjc3NgXG4gICAgICB0b3A6ICR7ZHJhZ1Bvc2l0aW9uLnl9cHg7XG4gICAgICBsZWZ0OiAke2RyYWdQb3NpdGlvbi54fXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1Db250ZW50V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBleHBhbmRlZDogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgubGFyZ2V9cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC54eGx9cHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQsIGZsb2F0aW5nIH0pID0+IHtcbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICBgXG4gICAgfVxuICAgIGlmIChmbG9hdGluZykge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5kZWZhdWx0fXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlfXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLnh4bH1weDtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH1cbiAgICByZXR1cm4gY3NzYFxuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIGBcbiAgfX1cbiAgJHsoeyBmbG9hdGluZyB9KSA9PlxuICAgIGZsb2F0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUUvQyxTQUNFQyw4QkFBOEIsRUFDOUJDLDRCQUE0QixFQUM1QkMsNkJBQTZCLEVBQzdCQyw0QkFBNEIsUUFDdkIsVUFBVTtBQUVqQixPQUFPLElBQU1DLGFBQWEsR0FBR04sTUFBTSxDQUFDTyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdU1BZ0JuQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JYLEdBQUcsZ0RBS0Y7QUFBQSxHQUNELFVBQUFZLEtBQUE7RUFBQSxJQUFHQyxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtJQUFFQyxZQUFZLEdBQUFGLEtBQUEsQ0FBWkUsWUFBWTtJQUFFSCxRQUFRLEdBQUFDLEtBQUEsQ0FBUkQsUUFBUTtFQUFBLE9BQ3JDRSxVQUFVLEtBQUssVUFBVSxJQUN6QkMsWUFBWSxJQUNaLENBQUNILFFBQVEsSUFDVFgsR0FBRyw0SkFDTWMsWUFBWSxDQUFDQyxDQUFDLEVBQ2JELFlBQVksQ0FBQ0UsQ0FBQyxDQVN2QjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1DLG9CQUFvQixHQUFHbEIsTUFBTSxDQUFDTyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUtBVTFDLFVBQUFTLEtBQUE7RUFBQSxJQUFHUCxRQUFRLEdBQUFPLEtBQUEsQ0FBUlAsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRztJQUFFUSxLQUFLLEVBQUU7RUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQUEsQ0FBQyxFQUNyRCxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JyQixHQUFHLHVIQUNTRyw2QkFBNkIsV0FBUSxFQUUxQkYsOEJBQThCLEVBQ3ZDRSw2QkFBNkIsQ0FBQ21CLEtBQUssRUFFMUJwQiw0QkFBNEIsRUFDckNDLDZCQUE2QixDQUFDb0IsR0FBRyxDQUU5QztBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBR3pCLE1BQU0sQ0FBQ08sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlPQWNuQyxVQUFBZ0IsS0FBQSxFQUE0QjtFQUFBLElBQXpCZCxRQUFRLEdBQUFjLEtBQUEsQ0FBUmQsUUFBUTtJQUFFVSxRQUFRLEdBQUFJLEtBQUEsQ0FBUkosUUFBUTtFQUNyQixJQUFJVixRQUFRLEVBQUU7SUFDWixPQUFPWCxHQUFHO0VBR1o7RUFDQSxJQUFJcUIsUUFBUSxFQUFFO0lBQ1osT0FBT3JCLEdBQUcsb0dBQ0NJLDRCQUE0QixXQUFRLEVBQ3hCSCw4QkFBOEIsRUFDeENHLDRCQUE0QixDQUFDa0IsS0FBSyxFQUV4QnBCLDRCQUE0QixFQUN0Q0UsNEJBQTRCLENBQUNtQixHQUFHO0VBRy9DO0VBQ0EsT0FBT3ZCLEdBQUc7QUFHWixDQUFDLEVBQ0MsVUFBQTBCLEtBQUE7RUFBQSxJQUFHTCxRQUFRLEdBQUFLLEtBQUEsQ0FBUkwsUUFBUTtFQUFBLE9BQ1hBLFFBQVEsSUFDUnJCLEdBQUcsaUZBSUY7QUFBQSxFQUNKIiwiaWdub3JlTGlzdCI6W119
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js
CHANGED
|
@@ -9,19 +9,24 @@ import { useTranslation } from 'react-i18next';
|
|
|
9
9
|
import { SECTIONS } from '../../../../../constants/config';
|
|
10
10
|
import { useGlobalContext } from '../../../../../context/global-context';
|
|
11
11
|
import { useResizeListener } from '../../../../../hooks/useResize';
|
|
12
|
-
import { Expand } from '../../../../atoms/Expand';
|
|
13
12
|
import { IconButton } from '../../../../atoms/IconButton';
|
|
14
|
-
import { MAIAIcon } from '../../../../atoms/icons';
|
|
13
|
+
import { MAIAIcon, MaiaChatLayoutMenuIcon } from '../../../../atoms/icons';
|
|
15
14
|
import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
|
|
16
|
-
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper } from './ChatAiModalHeader.styles';
|
|
15
|
+
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow } from './ChatAiModalHeader.styles';
|
|
17
16
|
import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
|
|
18
17
|
import { CORUserRole, useUser } from '../../../../../context/cor-user';
|
|
19
18
|
import { ChipLlm } from '../../../../atoms/ChipLlm';
|
|
20
19
|
import { Loader } from '../../../../atoms/Loader';
|
|
21
20
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
21
|
export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
23
|
-
var
|
|
24
|
-
|
|
22
|
+
var layoutMode = _ref.layoutMode,
|
|
23
|
+
onLayoutModeChange = _ref.onLayoutModeChange,
|
|
24
|
+
expanded = _ref.expanded,
|
|
25
|
+
_ref$draggable = _ref.draggable,
|
|
26
|
+
draggable = _ref$draggable === void 0 ? false : _ref$draggable,
|
|
27
|
+
onDragStart = _ref.onDragStart,
|
|
28
|
+
onDragMove = _ref.onDragMove,
|
|
29
|
+
onDragEnd = _ref.onDragEnd,
|
|
25
30
|
_ref$handleClose = _ref.handleClose,
|
|
26
31
|
handleClose = _ref$handleClose === void 0 ? function () {
|
|
27
32
|
return null;
|
|
@@ -41,7 +46,8 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
41
46
|
loadMoreAgents = _ref.loadMoreAgents,
|
|
42
47
|
sortAgentsList = _ref.sortAgentsList,
|
|
43
48
|
_ref$hideAgentSelecto = _ref.hideAgentSelector,
|
|
44
|
-
hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto
|
|
49
|
+
hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto,
|
|
50
|
+
onAgentSelected = _ref.onAgentSelected;
|
|
45
51
|
var _useTranslation = useTranslation([SECTIONS.abmAgent]),
|
|
46
52
|
t = _useTranslation.t;
|
|
47
53
|
var user = useUser();
|
|
@@ -57,6 +63,11 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
57
63
|
setIsExpanded = _useState2[1];
|
|
58
64
|
var textRefAgent = useRef(null);
|
|
59
65
|
var dropdownRef = useRef(null);
|
|
66
|
+
var layoutMenuRef = useRef(null);
|
|
67
|
+
var _useState3 = useState(false),
|
|
68
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
69
|
+
layoutMenuOpen = _useState4[0],
|
|
70
|
+
setLayoutMenuOpen = _useState4[1];
|
|
60
71
|
var _useResizeListener = useResizeListener(textRefAgent, [selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.name]),
|
|
61
72
|
showTooltipAgent = _useResizeListener.showTooltip;
|
|
62
73
|
var agentsRef = useRef(null);
|
|
@@ -124,8 +135,15 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
124
135
|
setClient === null || setClient === void 0 || setClient(null);
|
|
125
136
|
setTimeout(function () {
|
|
126
137
|
handleResetChat();
|
|
138
|
+
// Si el agente no depende de una entity (custom o clone+global) ya podemos
|
|
139
|
+
// resolver si existe una sesión previa y, en ese caso, navegar a ella.
|
|
140
|
+
// Para clone+project|client, la resolución ocurre en los selectors de entity.
|
|
141
|
+
var needsEntity = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' && ((agent === null || agent === void 0 ? void 0 : agent.entity) === 'project' || (agent === null || agent === void 0 ? void 0 : agent.entity) === 'client');
|
|
142
|
+
if (!needsEntity) {
|
|
143
|
+
onAgentSelected === null || onAgentSelected === void 0 || onAgentSelected(agent);
|
|
144
|
+
}
|
|
127
145
|
}, 100);
|
|
128
|
-
}, [selectAgent, amplitudEvent, handleResetChat, setProject, setClient]);
|
|
146
|
+
}, [selectAgent, amplitudEvent, handleResetChat, setProject, setClient, onAgentSelected]);
|
|
129
147
|
var handleExpandModal = function handleExpandModal() {
|
|
130
148
|
if (!isExpanded) {
|
|
131
149
|
amplitudEvent(EVENTS.aiChatOpenAgentSelect);
|
|
@@ -139,22 +157,35 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
139
157
|
});
|
|
140
158
|
};
|
|
141
159
|
useEffect(function () {
|
|
160
|
+
if (!isExpanded && !layoutMenuOpen) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
142
163
|
var handleClickOutside = function handleClickOutside(event) {
|
|
143
|
-
|
|
164
|
+
var target = event.target;
|
|
165
|
+
if (isExpanded && dropdownRef.current && !dropdownRef.current.contains(target)) {
|
|
144
166
|
setIsExpanded(false);
|
|
145
167
|
}
|
|
168
|
+
if (layoutMenuOpen && layoutMenuRef.current && !layoutMenuRef.current.contains(target)) {
|
|
169
|
+
setLayoutMenuOpen(false);
|
|
170
|
+
}
|
|
146
171
|
};
|
|
147
|
-
|
|
148
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
149
|
-
}
|
|
172
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
150
173
|
return function () {
|
|
151
174
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
152
175
|
};
|
|
153
|
-
}, [isExpanded]);
|
|
176
|
+
}, [isExpanded, layoutMenuOpen]);
|
|
177
|
+
var handlePickLayout = useCallback(function (mode) {
|
|
178
|
+
amplitudEvent(EVENTS.projectResumeExpand, {
|
|
179
|
+
expanded: mode === 'fullscreen'
|
|
180
|
+
});
|
|
181
|
+
onLayoutModeChange(mode);
|
|
182
|
+
setLayoutMenuOpen(false);
|
|
183
|
+
}, [amplitudEvent, onLayoutModeChange]);
|
|
154
184
|
var userRolesDisabled = [CORUserRole.COLLABORATOR, CORUserRole.FREELANCER, CORUserRole.CLIENT];
|
|
155
185
|
var renderModal = function renderModal() {
|
|
156
186
|
return /*#__PURE__*/_jsxs(SCCAIMHWrapper, {
|
|
157
187
|
ref: dropdownRef,
|
|
188
|
+
"data-no-drag": "true",
|
|
158
189
|
onClick: agents.length ? handleExpandModal : undefined,
|
|
159
190
|
id: "chat-ai-modal-header-wrapper",
|
|
160
191
|
children: [/*#__PURE__*/_jsx(SCCAIMHSelectedAgent, {
|
|
@@ -250,15 +281,58 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
250
281
|
$hasError: hasError,
|
|
251
282
|
$loading: loading,
|
|
252
283
|
$hasAgents: !!agents.length,
|
|
284
|
+
onPointerDown: draggable ? onDragStart : undefined,
|
|
285
|
+
onPointerMove: draggable ? onDragMove : undefined,
|
|
286
|
+
onPointerUp: draggable ? onDragEnd : undefined,
|
|
287
|
+
onPointerCancel: draggable ? onDragEnd : undefined,
|
|
288
|
+
onLostPointerCapture: draggable ? onDragEnd : undefined,
|
|
289
|
+
style: {
|
|
290
|
+
cursor: draggable ? 'grab' : undefined,
|
|
291
|
+
touchAction: draggable ? 'manipulation' : undefined
|
|
292
|
+
},
|
|
253
293
|
children: [shouldRenderSelector ? renderModal() : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(SCCAIMHWrapperButton, {
|
|
294
|
+
"data-no-drag": "true",
|
|
254
295
|
children: [selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
255
296
|
model: selectedModelLlm,
|
|
256
297
|
expanded: expanded
|
|
257
|
-
}), /*#__PURE__*/
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
298
|
+
}), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
|
|
299
|
+
ref: layoutMenuRef,
|
|
300
|
+
"data-no-drag": "true",
|
|
301
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
302
|
+
buttonId: "btn-maia-layout-menu",
|
|
303
|
+
handleClick: function handleClick() {
|
|
304
|
+
return setLayoutMenuOpen(function (prev) {
|
|
305
|
+
return !prev;
|
|
306
|
+
});
|
|
307
|
+
},
|
|
308
|
+
tooltip: t('layoutMenuTooltip'),
|
|
309
|
+
disableTooltip: layoutMenuOpen,
|
|
310
|
+
children: /*#__PURE__*/_jsx(MaiaChatLayoutMenuIcon, {})
|
|
311
|
+
}), layoutMenuOpen ? /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuPanel, {
|
|
312
|
+
role: "menu",
|
|
313
|
+
children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
314
|
+
type: "button",
|
|
315
|
+
$active: layoutMode === 'sidebar',
|
|
316
|
+
onClick: function onClick() {
|
|
317
|
+
return handlePickLayout('sidebar');
|
|
318
|
+
},
|
|
319
|
+
children: t('layoutSidebar')
|
|
320
|
+
}), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
321
|
+
type: "button",
|
|
322
|
+
$active: layoutMode === 'fullscreen',
|
|
323
|
+
onClick: function onClick() {
|
|
324
|
+
return handlePickLayout('fullscreen');
|
|
325
|
+
},
|
|
326
|
+
children: t('layoutFullscreen')
|
|
327
|
+
}), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
328
|
+
type: "button",
|
|
329
|
+
$active: layoutMode === 'floating',
|
|
330
|
+
onClick: function onClick() {
|
|
331
|
+
return handlePickLayout('floating');
|
|
332
|
+
},
|
|
333
|
+
children: t('layoutFloating')
|
|
334
|
+
})]
|
|
335
|
+
}) : null]
|
|
262
336
|
}), /*#__PURE__*/_jsx(IconButton, {
|
|
263
337
|
handleClick: handleClose,
|
|
264
338
|
tooltip: t('globals.close'),
|
|
@@ -267,4 +341,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
267
341
|
})]
|
|
268
342
|
});
|
|
269
343
|
};
|
|
270
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkV4cGFuZCIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJfcmVmJGhhbmRsZUNsb3NlIiwiaGFuZGxlQ2xvc2UiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGhpZGVBZ2VudFNlbGVjdG8iLCJoaWRlQWdlbnRTZWxlY3RvciIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwibmFtZSIsInNob3dUb29sdGlwQWdlbnQiLCJzaG93VG9vbHRpcCIsImFnZW50c1JlZiIsImFnZW50c0ZvclNlbGVjdG9yIiwiZmlsdGVyIiwiYWdlbnRJdGVtIiwiZW50aXR5IiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJoYW5kbGVTZWxlY3RBZ2VudCIsImFpQ2hhdEFnZW50U2VsZWN0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImVtb2ppIiwicGxhY2VtZW50IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwibW9kZWwiLCJoYW5kbGVDbGljayIsInRvb2x0aXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEV4cGFuZCB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0V4cGFuZCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSVdyYXBwZXIsXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ09SVXNlclJvbGUsIHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoaXBMbG0gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9DaGlwTGxtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvTG9hZGVyJ1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBleHBhbmRlZCxcbiAgc2V0RXhwYW5kZWQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbn06IHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgc2V0RXhwYW5kZWQ6IChleHBhbmRlZDogYm9vbGVhbikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKCgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSwgW2FnZW50c10pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzRXhwYW5kZWQpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWRdKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsb25lQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIGlzQ2xvbmU+TUFJQSBieSBDT1I8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvbmVBZ2VudHMubWFwKChjbG9uZUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2Nsb25lQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17Y2xvbmVBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBjbG9uZUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yLnNvbWUoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScpICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2FnZW50cycpfSBieSB7dXNlci5jb21wYW55fVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbCAkaGFzRXJyb3I9e2hhc0Vycm9yfSAkbG9hZGluZz17bG9hZGluZ30gJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofT5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPEV4cGFuZCBleHBhbmRlZD17ZXhwYW5kZWR9IGhhbmRsZUNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCghZXhwYW5kZWQpfSAvPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pELFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsUUFBUSxRQUFRLHlCQUF5QjtBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFr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
|
|
344
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSVdyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwidXNlclJvbGVzRGlzYWJsZWQiLCJDT0xMQUJPUkFUT1IiLCJGUkVFTEFOQ0VSIiwiQ0xJRU5UIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJlbW9qaSIsInBsYWNlbWVudCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsImluY2x1ZGVzIiwicm9sZV9pZCIsImNsb25lQWdlbnRzIiwiYWciLCJpc0Nsb25lIiwibWFwIiwiY2xvbmVBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNvbXBhbnkiLCJhZ2VudHNDb3VudCIsInNpemUiLCJzZWxlY3RlZE1vZGVsTGxtIiwibW9kZWxfZGlzcGxheV9uYW1lIiwic2VsZWN0ZWRBZ2VudFR5cGUiLCJzaG91bGRSZW5kZXJTZWxlY3RvciIsIiRoYXNFcnJvciIsIiRsb2FkaW5nIiwiJGhhc0FnZW50cyIsIm9uUG9pbnRlckRvd24iLCJvblBvaW50ZXJNb3ZlIiwib25Qb2ludGVyVXAiLCJvblBvaW50ZXJDYW5jZWwiLCJvbkxvc3RQb2ludGVyQ2FwdHVyZSIsImN1cnNvciIsInRvdWNoQWN0aW9uIiwibW9kZWwiLCJidXR0b25JZCIsImhhbmRsZUNsaWNrIiwidG9vbHRpcCIsImRpc2FibGVUb29sdGlwIiwicm9sZSIsIiRhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIFBvaW50ZXJFdmVudCBhcyBSZWFjdFBvaW50ZXJFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IENoZXZyb25Eb3duIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvd24nXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0ljb25CdXR0b24nXG5pbXBvcnQgeyBNQUlBSWNvbiwgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDT1JVc2VyUm9sZSwgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNb2RhbEhlYWRlciA9ICh7XG4gIGxheW91dE1vZGUsXG4gIG9uTGF5b3V0TW9kZUNoYW5nZSxcbiAgZXhwYW5kZWQsXG4gIGRyYWdnYWJsZSA9IGZhbHNlLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnTW92ZSxcbiAgb25EcmFnRW5kLFxuICBoYW5kbGVDbG9zZSA9ICgpID0+IG51bGwsXG4gIGFnZW50cyA9IFtdLFxuICBoYXNFcnJvciA9IGZhbHNlLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGxvYWRpbmdNb3JlID0gZmFsc2UsXG4gIGhhc01vcmUgPSBmYWxzZSxcbiAgaGFuZGxlUmVzZXRDaGF0LFxuICBvbkFnZW50VXBkYXRlLFxuICBsb2FkTW9yZUFnZW50cyxcbiAgc29ydEFnZW50c0xpc3QsXG4gIGhpZGVBZ2VudFNlbGVjdG9yID0gZmFsc2UsXG4gIG9uQWdlbnRTZWxlY3RlZCxcbn06IHtcbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgb25MYXlvdXRNb2RlQ2hhbmdlOiAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHZvaWRcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZHJhZ2dhYmxlPzogYm9vbGVhblxuICBvbkRyYWdTdGFydD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ01vdmU/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdFbmQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNlIGludm9jYSBkZXNwdcOpcyBkZWwgcmVzZXQgY3VhbmRvIGVsIGFnZW50ZSBzZWxlY2Npb25hZG8gTk8gcmVxdWllcmUgc2VsZWNjacOzblxuICAgKiBkZSBlbnRpdHkgKGN1c3RvbSBvIGNsb25lK2dsb2JhbCkuIFBlcm1pdGUgcmVzb2x2ZXIgYEdFVCAvdjIvc2Vzc2lvbnMvYWdlbnQve2lkfWBcbiAgICogeSBuYXZlZ2FyIGEgdW5hIGNvbnZlcnNhY2nDs24gZXhpc3RlbnRlIHNpIGxhIGhheS5cbiAgICovXG4gIG9uQWdlbnRTZWxlY3RlZD86IChhZ2VudDogQWdlbnQpID0+IHZvaWQgfCBQcm9taXNlPHVua25vd24+XG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRleHRSZWZBZ2VudCA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBsYXlvdXRNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbbGF5b3V0TWVudU9wZW4sIHNldExheW91dE1lbnVPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGFnZW50c0ZvclNlbGVjdG9yID0gdXNlTWVtbygoKSA9PiBhZ2VudHMuZmlsdGVyKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uZW50aXR5ICE9PSAnZ2xvYmFsJyksIFthZ2VudHNdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvblxuICAgICkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQWdlbnRcbiAgICB9XG4gICAgY29uc3QgZnJvbUxpc3QgPSBhZ2VudHMuZmluZChcbiAgICAgIGFnZW50ID0+XG4gICAgICAgICFhZ2VudC5pc19kZWxldGVkICYmICFhZ2VudC5oYXNfbm90X3Blcm1pc3Npb25zICYmICFhZ2VudC5oYXNfbm90X2FjY2VzcyAmJiBhZ2VudC5pZCA9PT0gc2VsZWN0ZWRBZ2VudD8uaWRcbiAgICApXG4gICAgLy8gQWdlbnRlIGhpZHJhdGFkbyBwb3IgR0VUIChwLiBlai4gbnVldm8gY2hhdCB0cmFzIGNyZWF0ZV9hZ2VudCkgcHVlZGUgbm8gZXN0YXIgYcO6biBlbiBsYSBsaXN0YSBwYWdpbmFkYVxuICAgIHJldHVybiBmcm9tTGlzdCA/PyBzZWxlY3RlZEFnZW50ID8/IG51bGxcbiAgfSwgW2FnZW50cywgc2VsZWN0ZWRBZ2VudF0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdEFnZW50U2VsZWN0LCB7XG4gICAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgICAgfSlcbiAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGhhbmRsZVJlc2V0Q2hhdCgpXG4gICAgICAgIC8vIFNpIGVsIGFnZW50ZSBubyBkZXBlbmRlIGRlIHVuYSBlbnRpdHkgKGN1c3RvbSBvIGNsb25lK2dsb2JhbCkgeWEgcG9kZW1vc1xuICAgICAgICAvLyByZXNvbHZlciBzaSBleGlzdGUgdW5hIHNlc2nDs24gcHJldmlhIHksIGVuIGVzZSBjYXNvLCBuYXZlZ2FyIGEgZWxsYS5cbiAgICAgICAgLy8gUGFyYSBjbG9uZStwcm9qZWN0fGNsaWVudCwgbGEgcmVzb2x1Y2nDs24gb2N1cnJlIGVuIGxvcyBzZWxlY3RvcnMgZGUgZW50aXR5LlxuICAgICAgICBjb25zdCBuZWVkc0VudGl0eSA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnICYmIChhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCcgfHwgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcpXG4gICAgICAgIGlmICghbmVlZHNFbnRpdHkpIHtcbiAgICAgICAgICBvbkFnZW50U2VsZWN0ZWQ/LihhZ2VudClcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBhbXBsaXR1ZEV2ZW50LCBoYW5kbGVSZXNldENoYXQsIHNldFByb2plY3QsIHNldENsaWVudCwgb25BZ2VudFNlbGVjdGVkXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kTW9kYWwgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuQWdlbnRTZWxlY3QpXG4gICAgICAvLyBDdWFuZG8gc2UgYWJyZSBlbCBzZWxlY3Rvciwgb3JkZW5hciBsb3MgYWdlbnRlc1xuICAgICAgaWYgKHNvcnRBZ2VudHNMaXN0KSB7XG4gICAgICAgIHNvcnRBZ2VudHNMaXN0KClcbiAgICAgIH1cbiAgICB9XG4gICAgc2V0SXNFeHBhbmRlZChwcmV2ID0+ICFwcmV2KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQgJiYgIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgTm9kZVxuICAgICAgaWYgKGlzRXhwYW5kZWQgJiYgZHJvcGRvd25SZWYuY3VycmVudCAmJiAhZHJvcGRvd25SZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgICBpZiAobGF5b3V0TWVudU9wZW4gJiYgbGF5b3V0TWVudVJlZi5jdXJyZW50ICYmICFsYXlvdXRNZW51UmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsYXlvdXRNZW51T3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlUGlja0xheW91dCA9IHVzZUNhbGxiYWNrKFxuICAgIChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4ge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMucHJvamVjdFJlc3VtZUV4cGFuZCwge1xuICAgICAgICBleHBhbmRlZDogbW9kZSA9PT0gJ2Z1bGxzY3JlZW4nLFxuICAgICAgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgdXNlclJvbGVzRGlzYWJsZWQgPSBbQ09SVXNlclJvbGUuQ09MTEFCT1JBVE9SLCBDT1JVc2VyUm9sZS5GUkVFTEFOQ0VSLCBDT1JVc2VyUm9sZS5DTElFTlRdXG5cbiAgY29uc3QgcmVuZGVyTW9kYWwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1IV3JhcHBlclxuICAgICAgICByZWY9e2Ryb3Bkb3duUmVmfVxuICAgICAgICBkYXRhLW5vLWRyYWc9XCJ0cnVlXCJcbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsb25lQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIGlzQ2xvbmU+TUFJQSBieSBDT1I8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvbmVBZ2VudHMubWFwKChjbG9uZUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2Nsb25lQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17Y2xvbmVBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBjbG9uZUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yLnNvbWUoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScpICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2FnZW50cycpfSBieSB7dXNlci5jb21wYW55fVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbFxuICAgICAgJGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICRsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofVxuICAgICAgb25Qb2ludGVyRG93bj17ZHJhZ2dhYmxlID8gb25EcmFnU3RhcnQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJNb3ZlPXtkcmFnZ2FibGUgPyBvbkRyYWdNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyVXA9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlckNhbmNlbD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Mb3N0UG9pbnRlckNhcHR1cmU9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogZHJhZ2dhYmxlID8gJ2dyYWInIDogdW5kZWZpbmVkLCB0b3VjaEFjdGlvbjogZHJhZ2dhYmxlID8gJ21hbmlwdWxhdGlvbicgOiB1bmRlZmluZWQgfX1cbiAgICA+XG4gICAgICB7c2hvdWxkUmVuZGVyU2VsZWN0b3IgPyByZW5kZXJNb2RhbCgpIDogPGRpdiAvPn1cbiAgICAgIDxTQ0NBSU1IV3JhcHBlckJ1dHRvbiBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgIHtzZWxlY3RlZEFnZW50VHlwZSAmJiBzZWxlY3RlZE1vZGVsTGxtICYmIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+fVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpfVxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbGF5b3V0TWVudVRvb2x0aXAnKX1cbiAgICAgICAgICAgIGRpc2FibGVUb29sdGlwPXtsYXlvdXRNZW51T3Blbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBMkMsT0FBTztBQUM1RyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLDhCQUE4QjtBQUN6RCxTQUFTQyxRQUFRLEVBQUVDLHNCQUFzQixRQUFRLHlCQUF5QjtBQUMxRSxTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQywwQkFBMEIsRUFDMUJDLCtCQUErQixFQUMvQkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMsWUFBWSxFQUNaQyx1QkFBdUIsRUFDdkJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLFFBQ2YsNEJBQTRCO0FBRW5DLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLCtCQUErQjtBQUNoRSxTQUFTQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxpQ0FBaUM7QUFFdEUsU0FB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
|
|
@@ -65,8 +65,23 @@ export var SCCAIMHLoaderWrapper = styled.div.withConfig({
|
|
|
65
65
|
displayName: "ChatAiModalHeaderstyles__SCCAIMHLoaderWrapper",
|
|
66
66
|
componentId: "sc-r6xbtc-14"
|
|
67
67
|
})(["padding:8px;display:flex;justify-content:center;align-items:center;"]);
|
|
68
|
+
export var SCCAIMHLayoutMenuAnchor = styled.div.withConfig({
|
|
69
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuAnchor",
|
|
70
|
+
componentId: "sc-r6xbtc-15"
|
|
71
|
+
})(["position:relative;"]);
|
|
72
|
+
export var SCCAIMHLayoutMenuPanel = styled.div.withConfig({
|
|
73
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuPanel",
|
|
74
|
+
componentId: "sc-r6xbtc-16"
|
|
75
|
+
})(["position:absolute;top:calc(100% + 8px);right:0;z-index:1100;display:inline-flex;padding:12px 0;flex-direction:column;align-items:flex-start;border-radius:4px;border:0.5px solid #e0e0e0;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.08),0 1px 4px 0 rgba(0,0,0,0.04);min-width:max-content;"]);
|
|
76
|
+
export var SCCAIMHLayoutMenuRow = styled.button.withConfig({
|
|
77
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuRow",
|
|
78
|
+
componentId: "sc-r6xbtc-17"
|
|
79
|
+
})(["display:flex;padding:4px 16px;align-items:center;gap:6px;align-self:stretch;border:none;background:", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:var(--Text-Secondary,#666);text-align:left;&:hover{background:var(--cor-color-grey-100,#f2f2f2);}"], function (_ref3) {
|
|
80
|
+
var $active = _ref3.$active;
|
|
81
|
+
return $active ? 'var(--cor-color-grey-100, #f2f2f2)' : 'transparent';
|
|
82
|
+
});
|
|
68
83
|
export var SCCAIMHPlusIconWrapper = styled.div.withConfig({
|
|
69
84
|
displayName: "ChatAiModalHeaderstyles__SCCAIMHPlusIconWrapper",
|
|
70
|
-
componentId: "sc-r6xbtc-
|
|
85
|
+
componentId: "sc-r6xbtc-18"
|
|
71
86
|
})(["display:flex;align-items:center;justify-content:center;"]);
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGdhcDogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA5MHB4O1xuICBtYXgtd2lkdGg6IDI1MnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSE1vZGFsID0gc3R5bGVkLmRpdjx7ICRoYXNFcnJvcj86IGJvb2xlYW47ICRsb2FkaW5nPzogYm9vbGVhbjsgJGhhc0FnZW50cz86IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCA9IHN0eWxlZC5zcGFuPHsgaXNBZ2VudERlbGV0ZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzM0MzQzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgJHsoeyBpc0FnZW50RGVsZXRlZCB9KSA9PlxuICAgIGlzQWdlbnREZWxldGVkICYmXG4gICAgY3NzYFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVySWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMzNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE2cHggMHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlID0gc3R5bGVkLnNwYW48eyBpc0Nsb25lPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyYjJiMmI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICR7KHsgaXNDbG9uZSB9KSA9PiAoaXNDbG9uZSA/ICcwcHgnIDogJzBweCAxMnB4Jyl9O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NQUlBVGV4dCA9IHN0eWxlZC5oM2BcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2JhNDNmZiAwJSwgI2ZmNDNjYSA1MCUsICNiYTQzZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSBhdXRvO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOlxuICAgIHNoaW5lIDNzIGxpbmVhciBpbmZpbml0ZSxcbiAgICBmYWRlSW5TY2FsZSAwLjhzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblxuICBAa2V5ZnJhbWVzIHNoaW5lIHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEFkZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDhjO1xuICBjb2xvcjogd2hpdGU7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHB4IDBweCAycHggMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjcpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWdlbnRzTGlzdCA9IHN0eWxlZC5kaXY8eyBoYXNNb3JlPzogYm9vbGVhbjsgYWdlbnRzQ291bnQ/OiBudW1iZXIgfT5gXG4gIG1heC1oZWlnaHQ6IDI3NXB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExvYWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFBsdXNJY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsT0FBTyxJQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHN0M7QUFFRCxPQUFPLElBQU1HLG9CQUFvQixHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyR0FPN0M7QUFFRCxPQUFPLElBQU1JLHdCQUF3QixHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3S0FXL0MsVUFBQU0sSUFBQTtFQUFBLElBQUdDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0VBQUEsT0FDakJBLGNBQWMsSUFDZFosR0FBRyxtQ0FFRjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1hLGtCQUFrQixHQUFHZCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJM0M7QUFFRCxPQUFPLElBQU1TLG1CQUFtQixHQUFHZixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrRUFNNUM7QUFFRCxPQUFPLElBQU1VLDBCQUEwQixHQUFHaEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0tBU25EO0FBRUQsT0FBTyxJQUFNVywrQkFBK0IsR0FBR2pCLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1KQVE3QyxVQUFBWSxLQUFBO0VBQUEsSUFBR0MsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFBQSxPQUFRQSxPQUFPLEdBQUcsS0FBSyxHQUFHLFVBQVU7QUFBQSxDQUFDLENBRTNEO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdwQixNQUFNLENBQUNxQixFQUFFLENBQUFqQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtmQStCdEM7QUFFRCxPQUFPLElBQU1nQixlQUFlLEdBQUd0QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxT0FnQnhDO0FBRUQsT0FBTyxJQUFNaUIsY0FBYyxHQUFHdkIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0ZBS3ZDO0FBRUQsT0FBTyxJQUFNa0IsWUFBWSxHQUFHeEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUhBU3JDO0FBRUQsT0FBTyxJQUFNbUIsaUJBQWlCLEdBQUd6QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSEFPMUM7QUFFRCxPQUFPLElBQU1vQixvQkFBb0IsR0FBRzFCLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQUs3QztBQUVELE9BQU8sSUFBTXFCLHNCQUFzQixHQUFHM0IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0RBSS9DIiwiaWdub3JlTGlzdCI6W119
|
|
87
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiYnV0dG9uIiwiX3JlZjMiLCIkYWN0aXZlIiwiU0NDQUlNSFBsdXNJY29uV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogMjUycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITW9kYWwgPSBzdHlsZWQuZGl2PHsgJGhhc0Vycm9yPzogYm9vbGVhbjsgJGxvYWRpbmc/OiBib29sZWFuOyAkaGFzQWdlbnRzPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0ID0gc3R5bGVkLnNwYW48eyBpc0FnZW50RGVsZXRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICAkeyh7IGlzQWdlbnREZWxldGVkIH0pID0+XG4gICAgaXNBZ2VudERlbGV0ZWQgJiZcbiAgICBjc3NgXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJJY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM4cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzM0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTZweCAwcHggcmdiYSgxOCwgMTgsIDE4LCAwLjI0KTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgPSBzdHlsZWQuc3Bhbjx7IGlzQ2xvbmU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzJiMmIyYjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0Nsb25lIH0pID0+IChpc0Nsb25lID8gJzBweCcgOiAnMHB4IDEycHgnKX07XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTU1BSUFUZXh0ID0gc3R5bGVkLmgzYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmE0M2ZmIDAlLCAjZmY0M2NhIDUwJSwgI2JhNDNmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246XG4gICAgc2hpbmUgM3MgbGluZWFyIGluZmluaXRlLFxuICAgIGZhZGVJblNjYWxlIDAuOHMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gIEBrZXlmcmFtZXMgc2hpbmUge1xuICAgIHRvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWRkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2OTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDAuNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0cHggMHB4IDJweCAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNyk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZ2VudHNMaXN0ID0gc3R5bGVkLmRpdjx7IGhhc01vcmU/OiBib29sZWFuOyBhZ2VudHNDb3VudD86IG51bWJlciB9PmBcbiAgbWF4LWhlaWdodDogMjc1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITG9hZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDExMDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMC41cHggc29saWQgI2UwZTBlMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvdyA9IHN0eWxlZC5idXR0b248eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGNvbG9yOiB2YXIoLS1UZXh0LVNlY29uZGFyeSwgIzY2Nik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWdyZXktMTAwLCAjZjJmMmYyKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFBsdXNJY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsT0FBTyxJQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHN0M7QUFFRCxPQUFPLElBQU1HLG9CQUFvQixHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFD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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SCCAIMFloatingPanelMotionRoot } from './FloatingPanelMotion.styles';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
export function FloatingPanelMotion(_ref) {
|
|
4
|
+
var tilt = _ref.tilt,
|
|
5
|
+
children = _ref.children,
|
|
6
|
+
_ref$expanded = _ref.expanded,
|
|
7
|
+
expanded = _ref$expanded === void 0 ? false : _ref$expanded;
|
|
8
|
+
return /*#__PURE__*/_jsx(SCCAIMFloatingPanelMotionRoot, {
|
|
9
|
+
$expanded: expanded,
|
|
10
|
+
style: {
|
|
11
|
+
rotate: tilt
|
|
12
|
+
},
|
|
13
|
+
children: children
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCIsImpzeCIsIl9qc3giLCJGbG9hdGluZ1BhbmVsTW90aW9uIiwiX3JlZiIsInRpbHQiLCJjaGlsZHJlbiIsIl9yZWYkZXhwYW5kZWQiLCJleHBhbmRlZCIsIiRleHBhbmRlZCIsInN0eWxlIiwicm90YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2Zsb2F0aW5nUGFuZWxNb3Rpb24vRmxvYXRpbmdQYW5lbE1vdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb3Rpb25WYWx1ZSB9IGZyb20gJ2ZyYW1lci1tb3Rpb24nXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCB9IGZyb20gJy4vRmxvYXRpbmdQYW5lbE1vdGlvbi5zdHlsZXMnXG5cbnR5cGUgRmxvYXRpbmdQYW5lbE1vdGlvblByb3BzID0ge1xuICB0aWx0OiBNb3Rpb25WYWx1ZTxudW1iZXI+XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAgZXhwYW5kZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGbG9hdGluZ1BhbmVsTW90aW9uKHsgdGlsdCwgY2hpbGRyZW4sIGV4cGFuZGVkID0gZmFsc2UgfTogRmxvYXRpbmdQYW5lbE1vdGlvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290ICRleHBhbmRlZD17ZXhwYW5kZWR9IHN0eWxlPXt7IHJvdGF0ZTogdGlsdCB9fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1NDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLDZCQUE2QixRQUFRLDhCQUE4QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVE1RSxPQUFPLFNBQVNDLG1CQUFtQkEsQ0FBQUMsSUFBQSxFQUFpRTtFQUFBLElBQTlEQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUFFQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtJQUFBQyxhQUFBLEdBQUFILElBQUEsQ0FBRUksUUFBUTtJQUFSQSxRQUFRLEdBQUFELGFBQUEsY0FBRyxLQUFLLEdBQUFBLGFBQUE7RUFDcEUsb0JBQ0VMLElBQUEsQ0FBQ0YsNkJBQTZCO0lBQUNTLFNBQVMsRUFBRUQsUUFBUztJQUFDRSxLQUFLLEVBQUU7TUFBRUMsTUFBTSxFQUFFTjtJQUFLLENBQUU7SUFBQUMsUUFBQSxFQUN6RUE7RUFBUSxDQUNvQixDQUFDO0FBRXBDIiwiaWdub3JlTGlzdCI6W119
|
package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { motion } from 'framer-motion';
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
|
|
4
|
+
/** Contenedor motion del panel flotante: pivote inferior (cuelga desde abajo). */
|
|
5
|
+
export var SCCAIMFloatingPanelMotionRoot = styled(motion.div).withConfig({
|
|
6
|
+
displayName: "FloatingPanelMotionstyles__SCCAIMFloatingPanelMotionRoot",
|
|
7
|
+
componentId: "sc-1omxcem-0"
|
|
8
|
+
})(["display:flex;height:100%;transform-origin:50% 100%;", ""], function (_ref) {
|
|
9
|
+
var $expanded = _ref.$expanded;
|
|
10
|
+
return $expanded && css(["flex:1 1 0%;min-width:0;width:100%;max-width:100%;"]);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtb3Rpb24iLCJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIiRleHBhbmRlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9mbG9hdGluZ1BhbmVsTW90aW9uL0Zsb2F0aW5nUGFuZWxNb3Rpb24uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb3Rpb24gfSBmcm9tICdmcmFtZXItbW90aW9uJ1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuLyoqIENvbnRlbmVkb3IgbW90aW9uIGRlbCBwYW5lbCBmbG90YW50ZTogcGl2b3RlIGluZmVyaW9yIChjdWVsZ2EgZGVzZGUgYWJham8pLiAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290ID0gc3R5bGVkKG1vdGlvbi5kaXYpPHsgJGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgLyogRW4gY2hhdCBjb21wbGV0byBlbCBtb3Rpb24gcm9vdCBkZWJlIGxsZW5hciBlbCBhbmNobyBkZWwgd3JhcHBlcjsgc2kgbm8sIHdpZHRoOjEwMCUgZGVsIGhpam8gY29sYXBzYS4gKi9cbiAgJHsoeyAkZXhwYW5kZWQgfSkgPT5cbiAgICAkZXhwYW5kZWQgJiZcbiAgICBjc3NgXG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsZUFBZTtBQUN0QyxPQUFPQyxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7O0FBRS9DO0FBQ0EsT0FBTyxJQUFNQyw2QkFBNkIsR0FBR0YsTUFBTSxDQUFDRCxNQUFNLENBQUNJLEdBQUcsQ0FBQyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdFQUszRCxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7RUFBQSxPQUNaQSxTQUFTLElBQ1RQLEdBQUcsd0RBS0Y7QUFBQSxFQUNKIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export var FLOATING_DRAG_TILT_SPRING = {
|
|
2
|
+
stiffness: 420,
|
|
3
|
+
damping: 34,
|
|
4
|
+
mass: 0.42
|
|
5
|
+
};
|
|
6
|
+
export var FLOATING_DRAG_TILT_DX = 0.11;
|
|
7
|
+
export var FLOATING_DRAG_TILT_DY = 0.035;
|
|
8
|
+
export var FLOATING_DRAG_TILT_MAX_DEG = 5.5;
|
|
9
|
+
export var FLOATING_DRAG_TILT_IDLE_MS = 48;
|
|
10
|
+
export function clampFloatingDragTilt(deg) {
|
|
11
|
+
return Math.max(-FLOATING_DRAG_TILT_MAX_DEG, Math.min(FLOATING_DRAG_TILT_MAX_DEG, deg));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGTE9BVElOR19EUkFHX1RJTFRfU1BSSU5HIiwic3RpZmZuZXNzIiwiZGFtcGluZyIsIm1hc3MiLCJGTE9BVElOR19EUkFHX1RJTFRfRFgiLCJGTE9BVElOR19EUkFHX1RJTFRfRFkiLCJGTE9BVElOR19EUkFHX1RJTFRfTUFYX0RFRyIsIkZMT0FUSU5HX0RSQUdfVElMVF9JRExFX01TIiwiY2xhbXBGbG9hdGluZ0RyYWdUaWx0IiwiZGVnIiwiTWF0aCIsIm1heCIsIm1pbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9mbG9hdGluZ1BhbmVsTW90aW9uL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX1NQUklORyA9IHtcbiAgc3RpZmZuZXNzOiA0MjAsXG4gIGRhbXBpbmc6IDM0LFxuICBtYXNzOiAwLjQyLFxufSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX0RYID0gMC4xMVxuZXhwb3J0IGNvbnN0IEZMT0FUSU5HX0RSQUdfVElMVF9EWSA9IDAuMDM1XG5leHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX01BWF9ERUcgPSA1LjVcbmV4cG9ydCBjb25zdCBGTE9BVElOR19EUkFHX1RJTFRfSURMRV9NUyA9IDQ4XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcEZsb2F0aW5nRHJhZ1RpbHQoZGVnOiBudW1iZXIpIHtcbiAgcmV0dXJuIE1hdGgubWF4KC1GTE9BVElOR19EUkFHX1RJTFRfTUFYX0RFRywgTWF0aC5taW4oRkxPQVRJTkdfRFJBR19USUxUX01BWF9ERUcsIGRlZykpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBTUEseUJBQXlCLEdBQUc7RUFDdkNDLFNBQVMsRUFBRSxHQUFHO0VBQ2RDLE9BQU8sRUFBRSxFQUFFO0VBQ1hDLElBQUksRUFBRTtBQUNSLENBQVU7QUFFVixPQUFPLElBQU1DLHFCQUFxQixHQUFHLElBQUk7QUFDekMsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxLQUFLO0FBQzFDLE9BQU8sSUFBTUMsMEJBQTBCLEdBQUcsR0FBRztBQUM3QyxPQUFPLElBQU1DLDBCQUEwQixHQUFHLEVBQUU7QUFFNUMsT0FBTyxTQUFTQyxxQkFBcUJBLENBQUNDLEdBQVcsRUFBRTtFQUNqRCxPQUFPQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDTCwwQkFBMEIsRUFBRUksSUFBSSxDQUFDRSxHQUFHLENBQUNOLDBCQUEwQixFQUFFRyxHQUFHLENBQUMsQ0FBQztBQUN6RiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { FloatingPanelMotion } from './FloatingPanelMotion';
|
|
2
|
+
export { useFloatingPanelDragTilt } from './useFloatingPanelDragTilt';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9hdGluZ1BhbmVsTW90aW9uIiwidXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2Zsb2F0aW5nUGFuZWxNb3Rpb24vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmxvYXRpbmdQYW5lbE1vdGlvbiB9IGZyb20gJy4vRmxvYXRpbmdQYW5lbE1vdGlvbidcbmV4cG9ydCB7IHVzZUZsb2F0aW5nUGFuZWxEcmFnVGlsdCB9IGZyb20gJy4vdXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0J1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsUUFBUSx1QkFBdUI7QUFDM0QsU0FBU0Msd0JBQXdCLFFBQVEsNEJBQTRCIiwiaWdub3JlTGlzdCI6W119
|