@projectcor/maia-components 2.11.24 → 2.11.26-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +2 -2
  2. package/lib/components/atoms/icons/ChatConversation.js +40 -0
  3. package/lib/components/atoms/icons/index.js +2 -1
  4. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +16 -3
  5. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +42 -10
  6. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +6 -4
  7. package/lib/components/molecules/Sidebar/Sidebar.js +257 -322
  8. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -23
  9. package/lib/components/molecules/Sidebar/Sidebar.styles.js +54 -37
  10. package/lib/components/molecules/Sidebar/SidebarChats.styles.js +73 -0
  11. package/lib/components/molecules/Sidebar/SidebarChatsSection.js +69 -0
  12. package/lib/components/molecules/Sidebar/SidebarChatsSectionModal.js +151 -0
  13. package/lib/components/molecules/Sidebar/SidebarHistoryChat.js +238 -0
  14. package/lib/components/molecules/Sidebar/sidebarChats.helpers.js +70 -0
  15. package/lib/components/molecules/Sidebar/sidebarChats.types.js +14 -0
  16. package/lib/dev/Providers.js +2 -2
  17. package/lib/dev/fixtures/devUser.js +173 -0
  18. package/lib/dev/fixtures/mockedUser.js +169 -0
  19. package/lib/hooks/useChats/useChats.js +12 -4
  20. package/lib/lang/br/index.js +12 -3
  21. package/lib/lang/en/index.js +12 -3
  22. package/lib/lang/es/index.js +12 -3
  23. package/lib/lang/fr/index.js +11 -2
  24. package/lib/services/maia/Chats/getChatMessagesV2.js +114 -0
  25. package/lib/services/maia/Chats/getChatsByUserId.js +14 -8
  26. package/lib/services/maia/Chats/getSessionsGroupedV2.js +70 -0
  27. package/lib/services/maia/Chats/index.js +5 -1
  28. package/lib/services/maia/client.js +44 -9
  29. package/lib/store/chatsStore.types.js +10 -2
  30. package/lib/store/useChatsStore.js +81 -31
  31. package/lib/types/Chat.js +3 -1
  32. package/package.json +1 -1
  33. package/lib/mocks/mockChats.js +0 -395
  34. package/lib/mocks/mockedUser.js +0 -169
@@ -10,5 +10,5 @@ export var SCFBText = styled.span.withConfig({
10
10
  export var SCFBLink = styled.a.withConfig({
11
11
  displayName: "FeedbackButtonstyles__SCFBLink",
12
12
  componentId: "sc-13g2i2g-2"
13
- })(["cursor:pointer;&:hover{background-color:#f2f2f2;border-radius:8px;transition:background-color 0.2s ease;text-decoration:none !important;}"]);
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0ZCV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NGQlRleHQiLCJzcGFuIiwiU0NGQkxpbmsiLCJhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvRmVlZGJhY2tCdXR0b24vRmVlZGJhY2tCdXR0b24uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NGQldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQlRleHQgPSBzdHlsZWQuc3BhbmBcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZCTGluayA9IHN0eWxlZC5hYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDREQUtwQztBQUVELE9BQU8sSUFBTUMsUUFBUSxHQUFHTixNQUFNLENBQUNPLElBQUksQ0FBQUosVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSUFRbEM7QUFFRCxPQUFPLElBQU1HLFFBQVEsR0FBR1IsTUFBTSxDQUFDUyxDQUFDLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUpBUS9CIiwiaWdub3JlTGlzdCI6W119
13
+ })(["cursor:pointer;text-decoration:none;&:hover{background-color:#f2f2f2;border-radius:8px;transition:background-color 0.2s ease;text-decoration:none !important;}"]);
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ0ZCV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NGQlRleHQiLCJzcGFuIiwiU0NGQkxpbmsiLCJhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvRmVlZGJhY2tCdXR0b24vRmVlZGJhY2tCdXR0b24uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NGQldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQlRleHQgPSBzdHlsZWQuc3BhbmBcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZCTGluayA9IHN0eWxlZC5hYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLFdBQVcsR0FBR0QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNERBS3BDO0FBRUQsT0FBTyxJQUFNQyxRQUFRLEdBQUdOLE1BQU0sQ0FBQ08sSUFBSSxDQUFBSixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtJQVFsQztBQUVELE9BQU8sSUFBTUcsUUFBUSxHQUFHUixNQUFNLENBQUNTLENBQUMsQ0FBQU4sVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzS0FTL0IiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,40 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["width", "height", "color"];
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import { useId } from 'react';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export var ChatConversation = function ChatConversation(_ref) {
9
+ var _ref$width = _ref.width,
10
+ width = _ref$width === void 0 ? 15 : _ref$width,
11
+ _ref$height = _ref.height,
12
+ height = _ref$height === void 0 ? 15 : _ref$height,
13
+ _ref$color = _ref.color,
14
+ color = _ref$color === void 0 ? '#4D4D4D' : _ref$color,
15
+ props = _objectWithoutProperties(_ref, _excluded);
16
+ var clipPathId = useId().replace(/:/g, '');
17
+ return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ width: width,
20
+ height: height,
21
+ fill: "none"
22
+ }, props), {}, {
23
+ children: [/*#__PURE__*/_jsx("g", {
24
+ clipPath: "url(#".concat(clipPathId, ")"),
25
+ children: /*#__PURE__*/_jsx("path", {
26
+ fill: color,
27
+ d: "M2.5 2.5h10V10H3.231l-.731.731V2.5Zm0-1.25c-.688 0-1.244.562-1.244 1.25L1.25 13.75l2.5-2.5h8.75c.688 0 1.25-.563 1.25-1.25V2.5c0-.688-.563-1.25-1.25-1.25h-10ZM3.75 7.5h5v1.25h-5V7.5Zm0-1.875h7.5v1.25h-7.5v-1.25Zm0-1.875h7.5V5h-7.5V3.75Z"
28
+ })
29
+ }), /*#__PURE__*/_jsx("defs", {
30
+ children: /*#__PURE__*/_jsx("clipPath", {
31
+ id: clipPathId,
32
+ children: /*#__PURE__*/_jsx("path", {
33
+ fill: "#fff",
34
+ d: "M0 0h15v15H0z"
35
+ })
36
+ })
37
+ })]
38
+ }));
39
+ };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VJZCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0Q29udmVyc2F0aW9uIiwiX3JlZiIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRjb2xvciIsImNvbG9yIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJjbGlwUGF0aElkIiwicmVwbGFjZSIsIl9vYmplY3RTcHJlYWQiLCJ4bWxucyIsImZpbGwiLCJjaGlsZHJlbiIsImNsaXBQYXRoIiwiY29uY2F0IiwiZCIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQ2hhdENvbnZlcnNhdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU1ZHUHJvcHMsIHVzZUlkIH0gZnJvbSAncmVhY3QnXG5cbnR5cGUgQ2hhdENvbnZlcnNhdGlvblByb3BzID0gT21pdDxTVkdQcm9wczxTVkdTVkdFbGVtZW50PiwgJ3dpZHRoJyB8ICdoZWlnaHQnPiAmIHtcbiAgd2lkdGg/OiBudW1iZXJcbiAgaGVpZ2h0PzogbnVtYmVyXG4gIGNvbG9yPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0Q29udmVyc2F0aW9uID0gKHsgd2lkdGggPSAxNSwgaGVpZ2h0ID0gMTUsIGNvbG9yID0gJyM0RDRENEQnLCAuLi5wcm9wcyB9OiBDaGF0Q29udmVyc2F0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgY2xpcFBhdGhJZCA9IHVzZUlkKCkucmVwbGFjZSgvOi9nLCAnJylcblxuICByZXR1cm4gKFxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9IGZpbGw9XCJub25lXCIgey4uLnByb3BzfT5cbiAgICAgIDxnIGNsaXBQYXRoPXtgdXJsKCMke2NsaXBQYXRoSWR9KWB9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9e2NvbG9yfVxuICAgICAgICAgIGQ9XCJNMi41IDIuNWgxMFYxMEgzLjIzMWwtLjczMS43MzFWMi41Wm0wLTEuMjVjLS42ODggMC0xLjI0NC41NjItMS4yNDQgMS4yNUwxLjI1IDEzLjc1bDIuNS0yLjVoOC43NWMuNjg4IDAgMS4yNS0uNTYzIDEuMjUtMS4yNVYyLjVjMC0uNjg4LS41NjMtMS4yNS0xLjI1LTEuMjVoLTEwWk0zLjc1IDcuNWg1djEuMjVoLTVWNy41Wm0wLTEuODc1aDcuNXYxLjI1aC03LjV2LTEuMjVabTAtMS44NzVoNy41VjVoLTcuNVYzLjc1WlwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtjbGlwUGF0aElkfT5cbiAgICAgICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMCAwaDE1djE1SDB6XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLFNBQW1CQSxLQUFLLFFBQVEsT0FBTztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFRdkMsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBQyxJQUFBLEVBQXdGO0VBQUEsSUFBQUMsVUFBQSxHQUFBRCxJQUFBLENBQWxGRSxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLEVBQUUsR0FBQUEsVUFBQTtJQUFBRSxXQUFBLEdBQUFILElBQUEsQ0FBRUksTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxFQUFFLEdBQUFBLFdBQUE7SUFBQUUsVUFBQSxHQUFBTCxJQUFBLENBQUVNLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsU0FBUyxHQUFBQSxVQUFBO0lBQUtFLEtBQUssR0FBQUMsd0JBQUEsQ0FBQVIsSUFBQSxFQUFBUyxTQUFBO0VBQ3JGLElBQU1DLFVBQVUsR0FBR2hCLEtBQUssQ0FBQyxDQUFDLENBQUNpQixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztFQUU1QyxvQkFDRWIsS0FBQSxRQUFBYyxhQUFBLENBQUFBLGFBQUE7SUFBS0MsS0FBSyxFQUFDLDRCQUE0QjtJQUFDWCxLQUFLLEVBQUVBLEtBQU07SUFBQ0UsTUFBTSxFQUFFQSxNQUFPO0lBQUNVLElBQUksRUFBQztFQUFNLEdBQUtQLEtBQUs7SUFBQVEsUUFBQSxnQkFDekZuQixJQUFBO01BQUdvQixRQUFRLFVBQUFDLE1BQUEsQ0FBVVAsVUFBVSxNQUFJO01BQUFLLFFBQUEsZUFDakNuQixJQUFBO1FBQ0VrQixJQUFJLEVBQUVSLEtBQU07UUFDWlksQ0FBQyxFQUFDO01BQThPLENBQ2pQO0lBQUMsQ0FDRCxDQUFDLGVBQ0p0QixJQUFBO01BQUFtQixRQUFBLGVBQ0VuQixJQUFBO1FBQVV1QixFQUFFLEVBQUVULFVBQVc7UUFBQUssUUFBQSxlQUN2Qm5CLElBQUE7VUFBTWtCLElBQUksRUFBQyxNQUFNO1VBQUNJLENBQUMsRUFBQztRQUFlLENBQUU7TUFBQyxDQUM5QjtJQUFDLENBQ1AsQ0FBQztFQUFBLEVBQ0osQ0FBQztBQUVWLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -3,6 +3,7 @@ export { ErrorState } from './ErrorState';
3
3
  export { CorLogo } from './CorLogo';
4
4
  export { HomeIcon } from './HomeIcon';
5
5
  export { NewChat } from './NewChat';
6
+ export { ChatConversation } from './ChatConversation';
6
7
  export { DocFileIcon } from './DocFile';
7
8
  export { DocxFileIcon } from './DocxFile';
8
9
  export { MDFileIcon } from './MDFile';
@@ -29,4 +30,4 @@ export { MAIAIcon } from './MAIAIcon';
29
30
  export { MAIAIsologo } from './MAIAIsologo';
30
31
  export { MaiaStoreIcon } from './MaiaStoreIcon';
31
32
  export { MyAgentsNavIcon } from './MyAgentsNavIcon';
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSUljb24iLCJFcnJvclN0YXRlIiwiQ29yTG9nbyIsIkhvbWVJY29uIiwiTmV3Q2hhdCIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkNzdkZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiQWFjRmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkFjY2Vzc2liaWxpdHlJY29uIiwiQnJhaW5JY29uIiwiQWdlbnRNYWlhSWNvbiIsIkZhcXNJY29uIiwiTUFJQUljb24iLCJNQUlBSXNvbG9nbyIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9pY29ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBSUljb24gfSBmcm9tICcuL0FJSWNvbidcbmV4cG9ydCB7IEVycm9yU3RhdGUgfSBmcm9tICcuL0Vycm9yU3RhdGUnXG5leHBvcnQgeyBDb3JMb2dvIH0gZnJvbSAnLi9Db3JMb2dvJ1xuZXhwb3J0IHsgSG9tZUljb24gfSBmcm9tICcuL0hvbWVJY29uJ1xuZXhwb3J0IHsgTmV3Q2hhdCB9IGZyb20gJy4vTmV3Q2hhdCdcbmV4cG9ydCB7IERvY0ZpbGVJY29uIH0gZnJvbSAnLi9Eb2NGaWxlJ1xuZXhwb3J0IHsgRG9jeEZpbGVJY29uIH0gZnJvbSAnLi9Eb2N4RmlsZSdcbmV4cG9ydCB7IE1ERmlsZUljb24gfSBmcm9tICcuL01ERmlsZSdcbmV4cG9ydCB7IENzdkZpbGVJY29uIH0gZnJvbSAnLi9Dc3ZGaWxlJ1xuZXhwb3J0IHsgVGV4dEZpbGVJY29uIH0gZnJvbSAnLi9UZXh0RmlsZSdcbmV4cG9ydCB7IFBkZkZpbGVJY29uIH0gZnJvbSAnLi9QZGZGaWxlJ1xuZXhwb3J0IHsgSW1hZ2VGaWxlSWNvbiB9IGZyb20gJy4vSW1hZ2VGaWxlJ1xuZXhwb3J0IHsgWGxzeEZpbGVJY29uIH0gZnJvbSAnLi9YbHN4RmlsZSdcbmV4cG9ydCB7IFhsc0ZpbGVJY29uIH0gZnJvbSAnLi9YbHNGaWxlJ1xuZXhwb3J0IHsgTXAzRmlsZUljb24gfSBmcm9tICcuL01wM0ZpbGUnXG5leHBvcnQgeyBXYXZGaWxlSWNvbiB9IGZyb20gJy4vV2F2RmlsZSdcbmV4cG9ydCB7IEFhY0ZpbGVJY29uIH0gZnJvbSAnLi9BYWNGaWxlJ1xuZXhwb3J0IHsgRmxhY0ZpbGVJY29uIH0gZnJvbSAnLi9GbGFjSWNvbidcbmV4cG9ydCB7IE00YUZpbGVJY29uIH0gZnJvbSAnLi9NNGFGaWxlJ1xuZXhwb3J0IHsgTXA0RmlsZUljb24gfSBmcm9tICcuL01wNEZpbGUnXG5leHBvcnQgeyBPZ2FGaWxlSWNvbiB9IGZyb20gJy4vT2dhRmlsZSdcbmV4cG9ydCB7IE9nZ0ZpbGVJY29uIH0gZnJvbSAnLi9PZ2dGaWxlJ1xuZXhwb3J0IHsgV2VibUZpbGVJY29uIH0gZnJvbSAnLi9XZWJtRmlsZSdcbmV4cG9ydCB7IEFjY2Vzc2liaWxpdHlJY29uIH0gZnJvbSAnLi9BY2Nlc3NpYmlsaXR5SWNvbidcbmV4cG9ydCB7IEJyYWluSWNvbiB9IGZyb20gJy4vQnJhaW4nXG5leHBvcnQgeyBBZ2VudE1haWFJY29uIH0gZnJvbSAnLi9BZ2VudE1haWFJY29uJ1xuZXhwb3J0IHsgRmFxc0ljb24gfSBmcm9tICcuL0ZhcXNJY29uJ1xuZXhwb3J0IHsgTUFJQUljb24gfSBmcm9tICcuL01BSUFJY29uJ1xuZXhwb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuL01BSUFJc29sb2dvJ1xuZXhwb3J0IHsgTWFpYVN0b3JlSWNvbiB9IGZyb20gJy4vTWFpYVN0b3JlSWNvbidcbmV4cG9ydCB7IE15QWdlbnRzTmF2SWNvbiB9IGZyb20gJy4vTXlBZ2VudHNOYXZJY29uJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsVUFBVTtBQUNqQyxTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUN6QyxTQUFTQyxPQUFPLFFBQVEsV0FBVztBQUNuQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxPQUFPLFFBQVEsV0FBVztBQUNuQyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxVQUFVLFFBQVEsVUFBVTtBQUNyQyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxhQUFhLFFBQVEsYUFBYTtBQUMzQyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFDdkQsU0FBU0MsU0FBUyxRQUFRLFNBQVM7QUFDbkMsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBQy9DLFNBQVNDLGVBQWUsUUFBUSxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSUljb24iLCJFcnJvclN0YXRlIiwiQ29yTG9nbyIsIkhvbWVJY29uIiwiTmV3Q2hhdCIsIkNoYXRDb252ZXJzYXRpb24iLCJEb2NGaWxlSWNvbiIsIkRvY3hGaWxlSWNvbiIsIk1ERmlsZUljb24iLCJDc3ZGaWxlSWNvbiIsIlRleHRGaWxlSWNvbiIsIlBkZkZpbGVJY29uIiwiSW1hZ2VGaWxlSWNvbiIsIlhsc3hGaWxlSWNvbiIsIlhsc0ZpbGVJY29uIiwiTXAzRmlsZUljb24iLCJXYXZGaWxlSWNvbiIsIkFhY0ZpbGVJY29uIiwiRmxhY0ZpbGVJY29uIiwiTTRhRmlsZUljb24iLCJNcDRGaWxlSWNvbiIsIk9nYUZpbGVJY29uIiwiT2dnRmlsZUljb24iLCJXZWJtRmlsZUljb24iLCJBY2Nlc3NpYmlsaXR5SWNvbiIsIkJyYWluSWNvbiIsIkFnZW50TWFpYUljb24iLCJGYXFzSWNvbiIsIk1BSUFJY29uIiwiTUFJQUlzb2xvZ28iLCJNYWlhU3RvcmVJY29uIiwiTXlBZ2VudHNOYXZJY29uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQUlJY29uIH0gZnJvbSAnLi9BSUljb24nXG5leHBvcnQgeyBFcnJvclN0YXRlIH0gZnJvbSAnLi9FcnJvclN0YXRlJ1xuZXhwb3J0IHsgQ29yTG9nbyB9IGZyb20gJy4vQ29yTG9nbydcbmV4cG9ydCB7IEhvbWVJY29uIH0gZnJvbSAnLi9Ib21lSWNvbidcbmV4cG9ydCB7IE5ld0NoYXQgfSBmcm9tICcuL05ld0NoYXQnXG5leHBvcnQgeyBDaGF0Q29udmVyc2F0aW9uIH0gZnJvbSAnLi9DaGF0Q29udmVyc2F0aW9uJ1xuZXhwb3J0IHsgRG9jRmlsZUljb24gfSBmcm9tICcuL0RvY0ZpbGUnXG5leHBvcnQgeyBEb2N4RmlsZUljb24gfSBmcm9tICcuL0RvY3hGaWxlJ1xuZXhwb3J0IHsgTURGaWxlSWNvbiB9IGZyb20gJy4vTURGaWxlJ1xuZXhwb3J0IHsgQ3N2RmlsZUljb24gfSBmcm9tICcuL0NzdkZpbGUnXG5leHBvcnQgeyBUZXh0RmlsZUljb24gfSBmcm9tICcuL1RleHRGaWxlJ1xuZXhwb3J0IHsgUGRmRmlsZUljb24gfSBmcm9tICcuL1BkZkZpbGUnXG5leHBvcnQgeyBJbWFnZUZpbGVJY29uIH0gZnJvbSAnLi9JbWFnZUZpbGUnXG5leHBvcnQgeyBYbHN4RmlsZUljb24gfSBmcm9tICcuL1hsc3hGaWxlJ1xuZXhwb3J0IHsgWGxzRmlsZUljb24gfSBmcm9tICcuL1hsc0ZpbGUnXG5leHBvcnQgeyBNcDNGaWxlSWNvbiB9IGZyb20gJy4vTXAzRmlsZSdcbmV4cG9ydCB7IFdhdkZpbGVJY29uIH0gZnJvbSAnLi9XYXZGaWxlJ1xuZXhwb3J0IHsgQWFjRmlsZUljb24gfSBmcm9tICcuL0FhY0ZpbGUnXG5leHBvcnQgeyBGbGFjRmlsZUljb24gfSBmcm9tICcuL0ZsYWNJY29uJ1xuZXhwb3J0IHsgTTRhRmlsZUljb24gfSBmcm9tICcuL000YUZpbGUnXG5leHBvcnQgeyBNcDRGaWxlSWNvbiB9IGZyb20gJy4vTXA0RmlsZSdcbmV4cG9ydCB7IE9nYUZpbGVJY29uIH0gZnJvbSAnLi9PZ2FGaWxlJ1xuZXhwb3J0IHsgT2dnRmlsZUljb24gfSBmcm9tICcuL09nZ0ZpbGUnXG5leHBvcnQgeyBXZWJtRmlsZUljb24gfSBmcm9tICcuL1dlYm1GaWxlJ1xuZXhwb3J0IHsgQWNjZXNzaWJpbGl0eUljb24gfSBmcm9tICcuL0FjY2Vzc2liaWxpdHlJY29uJ1xuZXhwb3J0IHsgQnJhaW5JY29uIH0gZnJvbSAnLi9CcmFpbidcbmV4cG9ydCB7IEFnZW50TWFpYUljb24gfSBmcm9tICcuL0FnZW50TWFpYUljb24nXG5leHBvcnQgeyBGYXFzSWNvbiB9IGZyb20gJy4vRmFxc0ljb24nXG5leHBvcnQgeyBNQUlBSWNvbiB9IGZyb20gJy4vTUFJQUljb24nXG5leHBvcnQgeyBNQUlBSXNvbG9nbyB9IGZyb20gJy4vTUFJQUlzb2xvZ28nXG5leHBvcnQgeyBNYWlhU3RvcmVJY29uIH0gZnJvbSAnLi9NYWlhU3RvcmVJY29uJ1xuZXhwb3J0IHsgTXlBZ2VudHNOYXZJY29uIH0gZnJvbSAnLi9NeUFnZW50c05hdkljb24nXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLE9BQU8sUUFBUSxXQUFXO0FBQ25DLFNBQVNDLFFBQVEsUUFBUSxZQUFZO0FBQ3JDLFNBQVNDLE9BQU8sUUFBUSxXQUFXO0FBQ25DLFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxVQUFVLFFBQVEsVUFBVTtBQUNyQyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxhQUFhLFFBQVEsYUFBYTtBQUMzQyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFDdkQsU0FBU0MsU0FBUyxRQUFRLFNBQVM7QUFDbkMsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBQy9DLFNBQVNDLGVBQWUsUUFBUSxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
8
8
  /* eslint-disable react/function-component-definition */
9
- import { memo, useState } from 'react';
9
+ import { memo, useEffect, useState } from 'react';
10
10
  import colors from '@projectcor/theme/lib/base/colors';
11
11
  import { History } from '@projectcor/icons/lib/components/History';
12
12
  import { Pencil } from '@projectcor/icons/lib/components/Pencil';
@@ -19,6 +19,7 @@ import { EmptyState } from '../../atoms/icons/EmptyState';
19
19
  import { MODAL_ELEMENTS } from '../../../hooks/useModal/useModal';
20
20
  import { GoBackButton } from '../../atoms/GoBackButton';
21
21
  import { useChats } from '../../../hooks/useChats';
22
+ import { SECTION_MODAL_SESSIONS_PAGE_LIMIT, SIDEBAR_SESSIONS_PAGE_LIMIT } from '../../../store/chatsStore.types';
22
23
  import { Loader } from '../../atoms/Loader';
23
24
  import { EditableLabel } from '../../atoms/EditableLabel';
24
25
  import { NextPageLoader } from '../../atoms/NextPageLoader';
@@ -147,7 +148,19 @@ export var ChatAIHistory = function ChatAIHistory(_ref4) {
147
148
  updateChat = _useChats.updateChat,
148
149
  hasMoreChats = _useChats.hasMoreChats,
149
150
  loadMoreChats = _useChats.loadMoreChats,
150
- isLoadingMoreChats = _useChats.isLoadingMoreChats;
151
+ isLoadingMoreChats = _useChats.isLoadingMoreChats,
152
+ fetchChats = _useChats.fetchChats,
153
+ limit = _useChats.limit;
154
+ useEffect(function () {
155
+ if (loadingChats || limit !== SIDEBAR_SESSIONS_PAGE_LIMIT || chats.length === 0) {
156
+ return;
157
+ }
158
+ fetchChats({
159
+ limit: SECTION_MODAL_SESSIONS_PAGE_LIMIT,
160
+ offset: 0,
161
+ showGlobalLoader: false
162
+ });
163
+ }, [loadingChats, limit, chats.length, fetchChats]);
151
164
  var handleGoBack = function handleGoBack() {
152
165
  event(EVENTS.pmAiBackButton);
153
166
  onGoToHome();
@@ -224,4 +237,4 @@ export var ChatAIHistory = function ChatAIHistory(_ref4) {
224
237
  })]
225
238
  });
226
239
  };
227
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlU3RhdGUiLCJjb2xvcnMiLCJIaXN0b3J5IiwiUGVuY2lsIiwiVHJhc2giLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJDYXJkTWVudSIsIk1vZGFsSW5mb0NvbnRlbnQiLCJFbXB0eVN0YXRlIiwiTU9EQUxfRUxFTUVOVFMiLCJHb0JhY2tCdXR0b24iLCJ1c2VDaGF0cyIsIkxvYWRlciIsIkVkaXRhYmxlTGFiZWwiLCJOZXh0UGFnZUxvYWRlciIsIkxvYWRpbmdUZXh0IiwiZm9ybWF0RGF0ZSIsIlNDQ0FJSGlzdG9yeVdyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEl0ZW0iLCJfcmVmIiwiY2hhdCIsInVwZGF0ZUNoYXQiLCJkZWxldGVDaGF0Iiwib25Hb1RvQ2hhdCIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZWRpdGluZyIsInNldEVkaXRpbmciLCJtZW51SXRlbXMiLCJsYWJlbCIsIm9uQ2xpY2siLCJJY29uIiwiZXZlbnRLZXkiLCJwbUFpTWVudUVkaXQiLCJfcmVmMiIsInN0YXJ0TG9hZGluZyIsInNlc3Npb25FeHRlcm5hbElkIiwicG1BaU1lbnVEZWxldGUiLCJoYW5kbGVTYXZlIiwiX3JlZjMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInRpdGxlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJfb2JqZWN0U3ByZWFkIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVHb1RvQ2hhdCIsInBtQWlPcGVuQ29udmVyc2F0aW9uIiwiY2hpbGRyZW4iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiZmxleEdyb3ciLCJjb2xvciIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInZhbHVlIiwib25TYXZlIiwib25DYW5jZWwiLCJkYXRlIiwiQ2hhdEFJSGlzdG9yeSIsIl9yZWY0Iiwib25FcnJvciIsIm9uR29Ub0hvbWUiLCJfdXNlVDIiLCJfdXNlQ2hhdHMiLCJsb2FkaW5nQ2hhdHMiLCJjaGF0cyIsImhhc01vcmVDaGF0cyIsImxvYWRNb3JlQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJoYW5kbGVHb0JhY2siLCJwbUFpQmFja0J1dHRvbiIsImxlbmd0aCIsImRlc2NyaXB0aW9uIiwid2lkdGgiLCJwYWRkaW5nIiwiYWxpZ25JdGVtcyIsInRleHQiLCJwcmltYXJ5IiwiaGVpZ2h0Iiwib3ZlcmZsb3dZIiwib3ZlcnNjcm9sbEJlaGF2aW9yWSIsIm1hcCIsImxpc3RTdHlsZSIsImlkIiwibG9hZE1vcmUiLCJqdXN0aWZ5Q29udGVudCIsImNsYXNzTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIaXN0b3J5L0NoYXRBSUhpc3RvcnkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgeyBtZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBIaXN0b3J5IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSGlzdG9yeSdcbmltcG9ydCB7IFBlbmNpbCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BlbmNpbCdcbmltcG9ydCB7IFRyYXNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvVHJhc2gnXG5cbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuXG5pbXBvcnQgeyBDYXJkTWVudSB9IGZyb20gJy4uLy4uL2F0b21zL0NhcmRNZW51J1xuaW1wb3J0IHsgTW9kYWxJbmZvQ29udGVudCB9IGZyb20gJy4uLy4uL2F0b21zL01vZGFsSW5mbydcbmltcG9ydCB7IEVtcHR5U3RhdGUgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eVN0YXRlJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcbmltcG9ydCB7IEdvQmFja0J1dHRvbiB9IGZyb20gJy4uLy4uL2F0b21zL0dvQmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWwgfSBmcm9tICcuLi8uLi9hdG9tcy9FZGl0YWJsZUxhYmVsJ1xuaW1wb3J0IHsgTmV4dFBhZ2VMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9OZXh0UGFnZUxvYWRlcidcbmltcG9ydCB7IExvYWRpbmdUZXh0IH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGluZ1RleHQnXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IFNDQ0FJSGlzdG9yeVdyYXBwZXIgfSBmcm9tICcuL3N0eWxlcydcblxudHlwZSBDaGF0QUlIaXN0b3J5UHJvcHMgPSB7XG4gIG9uRXJyb3I6ICgpID0+IHZvaWRcbiAgb25Hb1RvSG9tZTogKCkgPT4gdm9pZFxuICBvbkdvVG9DaGF0OiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxudHlwZSBDaGF0SXRlbVByb3BzID0ge1xuICBjaGF0OiBhbnlcbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IENoYXQpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhdDogKGNoYXRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uR29Ub0NoYXQ6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxufVxuXG5jb25zdCBDaGF0SXRlbSA9IG1lbW8oKHsgY2hhdCwgdXBkYXRlQ2hhdCwgZGVsZXRlQ2hhdCwgb25Hb1RvQ2hhdCB9OiBDaGF0SXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbZWRpdGluZywgc2V0RWRpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2s6ICgpID0+IHNldEVkaXRpbmcodHJ1ZSksXG4gICAgICBJY29uOiBQZW5jaWwsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RWRpdCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiB0KCdoaXN0b3J5Lm1lbnUuZGVsZXRlJyksXG4gICAgICBvbkNsaWNrOiAoeyBzdGFydExvYWRpbmcgfSkgPT4ge1xuICAgICAgICBzdGFydExvYWRpbmcoKVxuICAgICAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICBhd2FpdCB1cGRhdGVDaGF0KHsgLi4uY2hhdCwgdGl0bGUgfSlcbiAgICBzZXRFZGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlR29Ub0NoYXQgPSAoKSA9PiB7XG4gICAgaWYgKGVkaXRpbmcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBvbkdvVG9DaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlPcGVuQ29udmVyc2F0aW9uKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICAvLyA8U3R5bGVkQ2hhdEFJSGlzdG9yeUl0ZW0gb25DbGljaz17aGFuZGxlR29Ub0NoYXR9IGNsYXNzTmFtZT17TU9EQUxfRUxFTUVOVFN9PlxuICAgIC8vICAgPGRpdiBjbGFzc05hbWU9XCJDaGF0QUlIaXN0b3J5SXRlbS1jb250ZW50XCI+XG4gICAgLy8gICAgIDxFZGl0YWJsZUxhYmVsIGVkaXRpbmc9e2VkaXRpbmd9IHZhbHVlPXtjaGF0LnRpdGxlfSBvblNhdmU9e2hhbmRsZVNhdmV9IG9uQ2FuY2VsPXsoKSA9PiBzZXRFZGl0aW5nKGZhbHNlKX0gLz5cbiAgICAvLyAgICAgPHNwYW4+e3QoJ2hpc3RvcnkuaXRlbS5kYXRlJywgeyBkYXRlOiBmb3JtYXREYXRlKGNoYXQuZGF0ZSkgfSl9PC9zcGFuPlxuICAgIC8vICAgPC9kaXY+XG4gICAgLy8gICB7IWVkaXRpbmcgJiYgPENhcmRNZW51IG1lbnVJdGVtcz17bWVudUl0ZW1zfSBpZD17Y2hhdC5pZH0gY2xhc3NOYW1lPXttZW51Q2xhc3NOYW1lfSAvPn1cbiAgICAvLyA8L1N0eWxlZENoYXRBSUhpc3RvcnlJdGVtPlxuICAgIDxTQ0NBSUhpc3RvcnlXcmFwcGVyIG9uQ2xpY2s9e2hhbmRsZUdvVG9DaGF0fT5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAnMTZweCcsIGZsZXhHcm93OiAxIH19PlxuICAgICAgICB7IWVkaXRpbmcgPyAoXG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICdyZ2JhKDMyLCAzMiwgMzEsIDEpJywgZm9udFNpemU6ICcxNHB4JywgbGluZUhlaWdodDogJzE0MCUnIH19PntjaGF0LnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8RWRpdGFibGVMYWJlbCBlZGl0aW5nIHZhbHVlPXtjaGF0LnRpdGxlfSBvblNhdmU9e2hhbmRsZVNhdmV9IG9uQ2FuY2VsPXsoKSA9PiBzZXRFZGl0aW5nKGZhbHNlKX0gLz5cbiAgICAgICAgKX1cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICdyZ2JhKDE1MywgMTUzLCAxNTMsIDEpJywgZm9udFNpemU6ICcxMnB4JywgbGluZUhlaWdodDogJzEzMCUnIH19PlxuICAgICAgICAgIHt0KCdoaXN0b3J5Lml0ZW0uZGF0ZScsIHsgZGF0ZTogZm9ybWF0RGF0ZShjaGF0LmRhdGUpIH0pfVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIHshZWRpdGluZyAmJiA8Q2FyZE1lbnUgbWVudUl0ZW1zPXttZW51SXRlbXN9IC8+fVxuICAgIDwvU0NDQUlIaXN0b3J5V3JhcHBlcj5cbiAgKVxufSlcblxuZXhwb3J0IGNvbnN0IENoYXRBSUhpc3RvcnkgPSAoeyBvbkVycm9yLCBvbkdvVG9Ib21lLCBvbkdvVG9DaGF0IH06IENoYXRBSUhpc3RvcnlQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcblxuICBjb25zdCB7IGxvYWRpbmdDaGF0cywgY2hhdHMsIGRlbGV0ZUNoYXQsIHVwZGF0ZUNoYXQsIGhhc01vcmVDaGF0cywgbG9hZE1vcmVDaGF0cywgaXNMb2FkaW5nTW9yZUNoYXRzIH0gPSB1c2VDaGF0cyh7XG4gICAgb25FcnJvcixcbiAgfSlcblxuICBjb25zdCBoYW5kbGVHb0JhY2sgPSAoKSA9PiB7XG4gICAgZXZlbnQoRVZFTlRTLnBtQWlCYWNrQnV0dG9uKVxuICAgIG9uR29Ub0hvbWUoKVxuICB9XG5cbiAgaWYgKGxvYWRpbmdDaGF0cykge1xuICAgIHJldHVybiA8TG9hZGVyIC8+XG4gIH1cblxuICBpZiAoIWNoYXRzLmxlbmd0aCkge1xuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxJbmZvQ29udGVudCB0aXRsZT17dCgnaGlzdG9yeS50aXRsZScpfSBkZXNjcmlwdGlvbj17dCgnaGlzdG9yeS5kZXNjcmlwdGlvbicpfT5cbiAgICAgICAgPEVtcHR5U3RhdGUgLz5cbiAgICAgIDwvTW9kYWxJbmZvQ29udGVudD5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCB3aWR0aDogJzEwMCUnLCBwYWRkaW5nOiAnMTZweCAyNHB4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJzI0cHgnIH19PlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc4cHgnIH19PlxuICAgICAgICA8SGlzdG9yeSBjb2xvcj17Y29sb3JzLnRleHQucHJpbWFyeX0gaGVpZ2h0PXsyMH0gd2lkdGg9ezIwfSAvPlxuICAgICAgICA8c3Bhbj57dCgnaGlzdG9yeS50b29sdGlwJyl9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJzE2cHgnLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIG92ZXJzY3JvbGxCZWhhdmlvclk6ICdjb250YWluJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXRzLm1hcChjaGF0ID0+IChcbiAgICAgICAgICA8bGkga2V5PXtjaGF0LmlkfSBzdHlsZT17eyBsaXN0U3R5bGU6ICdub25lJyB9fT5cbiAgICAgICAgICAgIDxDaGF0SXRlbSBjaGF0PXtjaGF0fSB1cGRhdGVDaGF0PXt1cGRhdGVDaGF0fSBkZWxldGVDaGF0PXtkZWxldGVDaGF0fSBvbkdvVG9DaGF0PXtvbkdvVG9DaGF0fSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgICB7aXNMb2FkaW5nTW9yZUNoYXRzICYmIDxMb2FkaW5nVGV4dCB0ZXh0PXt0KCdoaXN0b3J5LmxvYWRpbmdNb3JlJyl9IC8+fVxuICAgICAgICB7IWlzTG9hZGluZ01vcmVDaGF0cyAmJiBoYXNNb3JlQ2hhdHMgJiYgKFxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxOZXh0UGFnZUxvYWRlciBsb2FkTW9yZT17bG9hZE1vcmVDaGF0c30gLz5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdmbGV4LWVuZCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICA8R29CYWNrQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZUdvQmFja30gY2xhc3NOYW1lPXtNT0RBTF9FTEVNRU5UU30gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxJQUFJLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3RDLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsT0FBTyxRQUFRLDBDQUEwQztBQUNsRSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFFOUQsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFFMUQsU0FBU0MsUUFBUSxRQUFRLHNCQUFzQjtBQUMvQyxTQUFTQyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFDeEQsU0FBU0Ms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
240
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJjb2xvcnMiLCJIaXN0b3J5IiwiUGVuY2lsIiwiVHJhc2giLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJDYXJkTWVudSIsIk1vZGFsSW5mb0NvbnRlbnQiLCJFbXB0eVN0YXRlIiwiTU9EQUxfRUxFTUVOVFMiLCJHb0JhY2tCdXR0b24iLCJ1c2VDaGF0cyIsIlNFQ1RJT05fTU9EQUxfU0VTU0lPTlNfUEFHRV9MSU1JVCIsIlNJREVCQVJfU0VTU0lPTlNfUEFHRV9MSU1JVCIsIkxvYWRlciIsIkVkaXRhYmxlTGFiZWwiLCJOZXh0UGFnZUxvYWRlciIsIkxvYWRpbmdUZXh0IiwiZm9ybWF0RGF0ZSIsIlNDQ0FJSGlzdG9yeVdyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEl0ZW0iLCJfcmVmIiwiY2hhdCIsInVwZGF0ZUNoYXQiLCJkZWxldGVDaGF0Iiwib25Hb1RvQ2hhdCIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZWRpdGluZyIsInNldEVkaXRpbmciLCJtZW51SXRlbXMiLCJsYWJlbCIsIm9uQ2xpY2siLCJJY29uIiwiZXZlbnRLZXkiLCJwbUFpTWVudUVkaXQiLCJfcmVmMiIsInN0YXJ0TG9hZGluZyIsInNlc3Npb25FeHRlcm5hbElkIiwicG1BaU1lbnVEZWxldGUiLCJoYW5kbGVTYXZlIiwiX3JlZjMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInRpdGxlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJfb2JqZWN0U3ByZWFkIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVHb1RvQ2hhdCIsInBtQWlPcGVuQ29udmVyc2F0aW9uIiwiY2hpbGRyZW4iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiZmxleEdyb3ciLCJjb2xvciIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInZhbHVlIiwib25TYXZlIiwib25DYW5jZWwiLCJkYXRlIiwiQ2hhdEFJSGlzdG9yeSIsIl9yZWY0Iiwib25FcnJvciIsIm9uR29Ub0hvbWUiLCJfdXNlVDIiLCJfdXNlQ2hhdHMiLCJsb2FkaW5nQ2hhdHMiLCJjaGF0cyIsImhhc01vcmVDaGF0cyIsImxvYWRNb3JlQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJmZXRjaENoYXRzIiwibGltaXQiLCJsZW5ndGgiLCJvZmZzZXQiLCJzaG93R2xvYmFsTG9hZGVyIiwiaGFuZGxlR29CYWNrIiwicG1BaUJhY2tCdXR0b24iLCJkZXNjcmlwdGlvbiIsIndpZHRoIiwicGFkZGluZyIsImFsaWduSXRlbXMiLCJ0ZXh0IiwicHJpbWFyeSIsImhlaWdodCIsIm92ZXJmbG93WSIsIm92ZXJzY3JvbGxCZWhhdmlvclkiLCJtYXAiLCJsaXN0U3R5bGUiLCJpZCIsImxvYWRNb3JlIiwianVzdGlmeUNvbnRlbnQiLCJjbGFzc05hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJSGlzdG9yeS9DaGF0QUlIaXN0b3J5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBIaXN0b3J5IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSGlzdG9yeSdcbmltcG9ydCB7IFBlbmNpbCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BlbmNpbCdcbmltcG9ydCB7IFRyYXNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvVHJhc2gnXG5cbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuXG5pbXBvcnQgeyBDYXJkTWVudSB9IGZyb20gJy4uLy4uL2F0b21zL0NhcmRNZW51J1xuaW1wb3J0IHsgTW9kYWxJbmZvQ29udGVudCB9IGZyb20gJy4uLy4uL2F0b21zL01vZGFsSW5mbydcbmltcG9ydCB7IEVtcHR5U3RhdGUgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eVN0YXRlJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcbmltcG9ydCB7IEdvQmFja0J1dHRvbiB9IGZyb20gJy4uLy4uL2F0b21zL0dvQmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBTRUNUSU9OX01PREFMX1NFU1NJT05TX1BBR0VfTElNSVQsIFNJREVCQVJfU0VTU0lPTlNfUEFHRV9MSU1JVCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWwgfSBmcm9tICcuLi8uLi9hdG9tcy9FZGl0YWJsZUxhYmVsJ1xuaW1wb3J0IHsgTmV4dFBhZ2VMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9OZXh0UGFnZUxvYWRlcidcbmltcG9ydCB7IExvYWRpbmdUZXh0IH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGluZ1RleHQnXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IFNDQ0FJSGlzdG9yeVdyYXBwZXIgfSBmcm9tICcuL3N0eWxlcydcblxudHlwZSBDaGF0QUlIaXN0b3J5UHJvcHMgPSB7XG4gIG9uRXJyb3I6ICgpID0+IHZvaWRcbiAgb25Hb1RvSG9tZTogKCkgPT4gdm9pZFxuICBvbkdvVG9DaGF0OiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxudHlwZSBDaGF0SXRlbVByb3BzID0ge1xuICBjaGF0OiBhbnlcbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IENoYXQpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhdDogKGNoYXRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uR29Ub0NoYXQ6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxufVxuXG5jb25zdCBDaGF0SXRlbSA9IG1lbW8oKHsgY2hhdCwgdXBkYXRlQ2hhdCwgZGVsZXRlQ2hhdCwgb25Hb1RvQ2hhdCB9OiBDaGF0SXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbZWRpdGluZywgc2V0RWRpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2s6ICgpID0+IHNldEVkaXRpbmcodHJ1ZSksXG4gICAgICBJY29uOiBQZW5jaWwsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RWRpdCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiB0KCdoaXN0b3J5Lm1lbnUuZGVsZXRlJyksXG4gICAgICBvbkNsaWNrOiAoeyBzdGFydExvYWRpbmcgfSkgPT4ge1xuICAgICAgICBzdGFydExvYWRpbmcoKVxuICAgICAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICBhd2FpdCB1cGRhdGVDaGF0KHsgLi4uY2hhdCwgdGl0bGUgfSlcbiAgICBzZXRFZGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlR29Ub0NoYXQgPSAoKSA9PiB7XG4gICAgaWYgKGVkaXRpbmcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBvbkdvVG9DaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlPcGVuQ29udmVyc2F0aW9uKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICAvLyA8U3R5bGVkQ2hhdEFJSGlzdG9yeUl0ZW0gb25DbGljaz17aGFuZGxlR29Ub0NoYXR9IGNsYXNzTmFtZT17TU9EQUxfRUxFTUVOVFN9PlxuICAgIC8vICAgPGRpdiBjbGFzc05hbWU9XCJDaGF0QUlIaXN0b3J5SXRlbS1jb250ZW50XCI+XG4gICAgLy8gICAgIDxFZGl0YWJsZUxhYmVsIGVkaXRpbmc9e2VkaXRpbmd9IHZhbHVlPXtjaGF0LnRpdGxlfSBvblNhdmU9e2hhbmRsZVNhdmV9IG9uQ2FuY2VsPXsoKSA9PiBzZXRFZGl0aW5nKGZhbHNlKX0gLz5cbiAgICAvLyAgICAgPHNwYW4+e3QoJ2hpc3RvcnkuaXRlbS5kYXRlJywgeyBkYXRlOiBmb3JtYXREYXRlKGNoYXQuZGF0ZSkgfSl9PC9zcGFuPlxuICAgIC8vICAgPC9kaXY+XG4gICAgLy8gICB7IWVkaXRpbmcgJiYgPENhcmRNZW51IG1lbnVJdGVtcz17bWVudUl0ZW1zfSBpZD17Y2hhdC5pZH0gY2xhc3NOYW1lPXttZW51Q2xhc3NOYW1lfSAvPn1cbiAgICAvLyA8L1N0eWxlZENoYXRBSUhpc3RvcnlJdGVtPlxuICAgIDxTQ0NBSUhpc3RvcnlXcmFwcGVyIG9uQ2xpY2s9e2hhbmRsZUdvVG9DaGF0fT5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAnMTZweCcsIGZsZXhHcm93OiAxIH19PlxuICAgICAgICB7IWVkaXRpbmcgPyAoXG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICdyZ2JhKDMyLCAzMiwgMzEsIDEpJywgZm9udFNpemU6ICcxNHB4JywgbGluZUhlaWdodDogJzE0MCUnIH19PntjaGF0LnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8RWRpdGFibGVMYWJlbCBlZGl0aW5nIHZhbHVlPXtjaGF0LnRpdGxlfSBvblNhdmU9e2hhbmRsZVNhdmV9IG9uQ2FuY2VsPXsoKSA9PiBzZXRFZGl0aW5nKGZhbHNlKX0gLz5cbiAgICAgICAgKX1cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICdyZ2JhKDE1MywgMTUzLCAxNTMsIDEpJywgZm9udFNpemU6ICcxMnB4JywgbGluZUhlaWdodDogJzEzMCUnIH19PlxuICAgICAgICAgIHt0KCdoaXN0b3J5Lml0ZW0uZGF0ZScsIHsgZGF0ZTogZm9ybWF0RGF0ZShjaGF0LmRhdGUpIH0pfVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIHshZWRpdGluZyAmJiA8Q2FyZE1lbnUgbWVudUl0ZW1zPXttZW51SXRlbXN9IC8+fVxuICAgIDwvU0NDQUlIaXN0b3J5V3JhcHBlcj5cbiAgKVxufSlcblxuZXhwb3J0IGNvbnN0IENoYXRBSUhpc3RvcnkgPSAoeyBvbkVycm9yLCBvbkdvVG9Ib21lLCBvbkdvVG9DaGF0IH06IENoYXRBSUhpc3RvcnlQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcblxuICBjb25zdCB7XG4gICAgbG9hZGluZ0NoYXRzLFxuICAgIGNoYXRzLFxuICAgIGRlbGV0ZUNoYXQsXG4gICAgdXBkYXRlQ2hhdCxcbiAgICBoYXNNb3JlQ2hhdHMsXG4gICAgbG9hZE1vcmVDaGF0cyxcbiAgICBpc0xvYWRpbmdNb3JlQ2hhdHMsXG4gICAgZmV0Y2hDaGF0cyxcbiAgICBsaW1pdCxcbiAgfSA9IHVzZUNoYXRzKHtcbiAgICBvbkVycm9yLFxuICB9KVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvYWRpbmdDaGF0cyB8fCBsaW1pdCAhPT0gU0lERUJBUl9TRVNTSU9OU19QQUdFX0xJTUlUIHx8IGNoYXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGZldGNoQ2hhdHMoeyBsaW1pdDogU0VDVElPTl9NT0RBTF9TRVNTSU9OU19QQUdFX0xJTUlULCBvZmZzZXQ6IDAsIHNob3dHbG9iYWxMb2FkZXI6IGZhbHNlIH0pXG4gIH0sIFtsb2FkaW5nQ2hhdHMsIGxpbWl0LCBjaGF0cy5sZW5ndGgsIGZldGNoQ2hhdHNdKVxuXG4gIGNvbnN0IGhhbmRsZUdvQmFjayA9ICgpID0+IHtcbiAgICBldmVudChFVkVOVFMucG1BaUJhY2tCdXR0b24pXG4gICAgb25Hb1RvSG9tZSgpXG4gIH1cblxuICBpZiAobG9hZGluZ0NoYXRzKSB7XG4gICAgcmV0dXJuIDxMb2FkZXIgLz5cbiAgfVxuXG4gIGlmICghY2hhdHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbEluZm9Db250ZW50IHRpdGxlPXt0KCdoaXN0b3J5LnRpdGxlJyl9IGRlc2NyaXB0aW9uPXt0KCdoaXN0b3J5LmRlc2NyaXB0aW9uJyl9PlxuICAgICAgICA8RW1wdHlTdGF0ZSAvPlxuICAgICAgPC9Nb2RhbEluZm9Db250ZW50PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIHdpZHRoOiAnMTAwJScsIHBhZGRpbmc6ICcxNnB4IDI0cHgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAnMjRweCcgfX0+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzhweCcgfX0+XG4gICAgICAgIDxIaXN0b3J5IGNvbG9yPXtjb2xvcnMudGV4dC5wcmltYXJ5fSBoZWlnaHQ9ezIwfSB3aWR0aD17MjB9IC8+XG4gICAgICAgIDxzcGFuPnt0KCdoaXN0b3J5LnRvb2x0aXAnKX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmbGV4R3JvdzogMSxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgZ2FwOiAnMTZweCcsXG4gICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yWTogJ2NvbnRhaW4nLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7Y2hhdHMubWFwKGNoYXQgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2NoYXQuaWR9IHN0eWxlPXt7IGxpc3RTdHlsZTogJ25vbmUnIH19PlxuICAgICAgICAgICAgPENoYXRJdGVtIGNoYXQ9e2NoYXR9IHVwZGF0ZUNoYXQ9e3VwZGF0ZUNoYXR9IGRlbGV0ZUNoYXQ9e2RlbGV0ZUNoYXR9IG9uR29Ub0NoYXQ9e29uR29Ub0NoYXR9IC8+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKSl9XG4gICAgICAgIHtpc0xvYWRpbmdNb3JlQ2hhdHMgJiYgPExvYWRpbmdUZXh0IHRleHQ9e3QoJ2hpc3RvcnkubG9hZGluZ01vcmUnKX0gLz59XG4gICAgICAgIHshaXNMb2FkaW5nTW9yZUNoYXRzICYmIGhhc01vcmVDaGF0cyAmJiAoXG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPE5leHRQYWdlTG9hZGVyIGxvYWRNb3JlPXtsb2FkTW9yZUNoYXRzfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtZW5kJywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgIDxHb0JhY2tCdXR0b24gb25DbGljaz17aGFuZGxlR29CYWNrfSBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfSAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLElBQUksRUFBRUMsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNqRCxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELFNBQVNDLE9BQU8sUUFBUSwwQ0FBMEM7QUFDbEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBRTlELFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBRTFELFNBQVNDLFFBQVEsUUFBUSxzQkFBc0I7QUFDL0MsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBQ3hELFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsY0FBYyxRQUFRLGtDQUFrQztBQUNqRSxTQUFTQyxZQUFZLFFBQVEsMEJBQTBCO0FBQ3ZELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsU0FBU0MsaUNBQWlDLEVBQUVDLDJCQUEyQixRQUFRLGlDQUFpQztBQUNoSCxTQUFTQyxNQUFNLFFBQVEsb0JBQW9CO0FBRTNDLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsY0FBYyxRQUFRLDRCQUE0QjtBQUMzRCxTQUFTQyxXQUFXLFFBQVEseUJBQXlCO0FBQ3JELFNBQVNDLFVBQVUsUUFB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
@@ -1,7 +1,7 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import React, { useEffect, useMemo, useState } from 'react';
4
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { MenuDots } from '@projectcor/icons/lib/components/MenuDots';
6
6
  import { Star } from '@projectcor/icons/lib/components/Star';
7
7
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
@@ -14,7 +14,8 @@ import { DeleteQuestionModal } from '../../organisms/DeleteQuestionModal/DeleteQ
14
14
  import { SECTIONS } from '../../../constants/config';
15
15
  import { Loader } from '../../atoms/Loader';
16
16
  import { useToggleFavorite } from '../../../hooks';
17
- import { SCMABody, SCMACardBody, SCMACardButton, SCMACardFooter, SCMACardHeader, SCMACardTopRow, SCMACardIntroText, SCMACardMenu, SCMACardMenuItem, SCMACardMenuItems, SCMAFavoriteButton, SCMAFavoriteStarWrap, SCMACardFooterDate, SCMACardTitleEmoji, SCMACardTitleName, SCMACardsOuter, SCMACardsRow, SCMAEmptyStateRoot, SCMAEmptyStateColumn, SCMAEmptyStateTitleBlock, SCMAEmptyStateTitle, SCMAEmptyStateSubtitle, SCMAEmptyStateButton, SCMAKebabButton, SCMALoadMoreWrapper, SCMAMyAgentsContainer, SCMATitle, SCMATitleInner, SCMATitleWrap } from './ChatAIMyAgents.styles';
17
+ import { EVENTS, useEvent } from '../../../hooks/useEvent';
18
+ import { SCMABody, SCMACardBody, SCMACardButton, SCMACardFooter, SCMACardHeader, SCMACardTopRow, SCMACardIntroText, SCMACardMenu, SCMACardMenuItem, SCMACardMenuItems, SCMAFavoriteButton, SCMAFavoriteStarWrap, SCMACardFooterDate, SCMACardTitleEmoji, SCMACardTitleName, SCMACardsOuter, SCMACardsRow, SCMAEmptyStateRoot, SCMAEmptyStateColumn, SCMAEmptyStateTitleBlock, SCMAEmptyStateTitle, SCMAEmptyStateSubtitle, SCMAEmptyStateButton, SCMAKebabButton, SCMALoadMoreWrapper, SCMAMyAgentsContainer, SCMATitle, SCMATitleInner, SCMATitleWrap, SCMAActionsRow, SCMACreateManualButton, SCMACreateManualButtonText } from './ChatAIMyAgents.styles';
18
19
  import { MAIAIsologo } from '../../atoms/icons';
19
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
21
  export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
@@ -57,6 +58,30 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
57
58
  var canShowMenu = canEdit || canDelete;
58
59
  var _useToggleFavorite = useToggleFavorite(),
59
60
  toggleFavorite = _useToggleFavorite.toggleFavorite;
61
+ var eventAmplitude = useEvent();
62
+ var openCreateAgentModal = useCallback(function () {
63
+ eventAmplitude(EVENTS.openModal, {
64
+ option: 'create_agent'
65
+ });
66
+ document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
67
+ detail: {
68
+ agentValues: {
69
+ values: {
70
+ isEditing: false
71
+ },
72
+ isOpen: true
73
+ }
74
+ }
75
+ }));
76
+ }, [eventAmplitude]);
77
+ var handleEmptyStatePrimaryAction = useCallback(function () {
78
+ var useMarketplaceMaiaker = !!window.MAIA_MARKETPLACE_MAIAKER && typeof onGoToMaiaker === 'function';
79
+ if (useMarketplaceMaiaker) {
80
+ onGoToMaiaker();
81
+ return;
82
+ }
83
+ openCreateAgentModal();
84
+ }, [onGoToMaiaker, openCreateAgentModal]);
60
85
  var handleLoadMore = function handleLoadMore() {
61
86
  if (!onLoadMoreAgents || !hasMoreAgents || loadingMoreAgents) {
62
87
  return;
@@ -197,12 +222,21 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
197
222
  id: "my-agents-scroll-container",
198
223
  $hasAgents: !!customAgents.length,
199
224
  children: [/*#__PURE__*/_jsx(MAIAIsologo, {}), /*#__PURE__*/_jsxs(SCMABody, {
200
- children: [customAgents.length ? /*#__PURE__*/_jsx(SCMATitleWrap, {
201
- children: /*#__PURE__*/_jsx(SCMATitleInner, {
225
+ $canCreateAgent: canCreateAgent && !window.MAIA_MARKETPLACE_MAIAKER,
226
+ children: [customAgents.length ? /*#__PURE__*/_jsxs(SCMATitleWrap, {
227
+ children: [/*#__PURE__*/_jsx(SCMATitleInner, {
202
228
  children: /*#__PURE__*/_jsx(SCMATitle, {
203
229
  children: t('marketplace.myAgentsReadyTitle')
204
230
  })
205
- })
231
+ }), canCreateAgent && !window.MAIA_MARKETPLACE_MAIAKER ? /*#__PURE__*/_jsx(SCMAActionsRow, {
232
+ children: /*#__PURE__*/_jsx(SCMACreateManualButton, {
233
+ type: "button",
234
+ onClick: openCreateAgentModal,
235
+ children: /*#__PURE__*/_jsx(SCMACreateManualButtonText, {
236
+ children: t('marketplace.createAgent')
237
+ })
238
+ })
239
+ }) : null]
206
240
  }) : null, customAgents.length ? /*#__PURE__*/_jsx(SCMACardsOuter, {
207
241
  children: /*#__PURE__*/_jsx(SCMACardsRow, {
208
242
  children: customAgents.map(function (agent) {
@@ -301,11 +335,9 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
301
335
  children: canCreateAgent ? t('marketplace.myAgentsEmptyStateDescription') : t('marketplace.myAgentsEmptyStateDescriptionNoPerm')
302
336
  })]
303
337
  })
304
- }), canCreateAgent && onGoToMaiaker ? /*#__PURE__*/_jsx(SCMAEmptyStateButton, {
338
+ }), canCreateAgent ? /*#__PURE__*/_jsx(SCMAEmptyStateButton, {
305
339
  type: "button",
306
- onClick: function onClick() {
307
- return onGoToMaiaker();
308
- },
340
+ onClick: handleEmptyStatePrimaryAction,
309
341
  children: t('marketplace.myAgentsEmptyStateButton')
310
342
  }) : null]
311
343
  }), loadingMoreAgents ? /*#__PURE__*/_jsx(SCMALoadMoreWrapper, {
@@ -325,4 +357,4 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
325
357
  }) : null]
326
358
  });
327
359
  };
328
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIk1lbnVEb3RzIiwiU3RhciIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VVc2VyIiwiZGVsZXRlQWdlbnQiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiU0VDVElPTlMiLCJMb2FkZXIiLCJ1c2VUb2dnbGVGYXZvcml0ZSIsIlNDTUFCb2R5IiwiU0NNQUNhcmRCb2R5IiwiU0NNQUNhcmRCdXR0b24iLCJTQ01BQ2FyZEZvb3RlciIsIlNDTUFDYXJkSGVhZGVyIiwiU0NNQUNhcmRUb3BSb3ciLCJTQ01BQ2FyZEludHJvVGV4dCIsIlNDTUFDYXJkTWVudSIsIlNDTUFDYXJkTWVudUl0ZW0iLCJTQ01BQ2FyZE1lbnVJdGVtcyIsIlNDTUFGYXZvcml0ZUJ1dHRvbiIsIlNDTUFGYXZvcml0ZVN0YXJXcmFwIiwiU0NNQUNhcmRGb290ZXJEYXRlIiwiU0NNQUNhcmRUaXRsZUVtb2ppIiwiU0NNQUNhcmRUaXRsZU5hbWUiLCJTQ01BQ2FyZHNPdXRlciIsIlNDTUFDYXJkc1JvdyIsIlNDTUFFbXB0eVN0YXRlUm9vdCIsIlNDTUFFbXB0eVN0YXRlQ29sdW1uIiwiU0NNQUVtcHR5U3RhdGVUaXRsZUJsb2NrIiwiU0NNQUVtcHR5U3RhdGVUaXRsZSIsIlNDTUFFbXB0eVN0YXRlU3VidGl0bGUiLCJTQ01BRW1wdHlTdGF0ZUJ1dHRvbiIsIlNDTUFLZWJhYkJ1dHRvbiIsIlNDTUFMb2FkTW9yZVdyYXBwZXIiLCJTQ01BTXlBZ2VudHNDb250YWluZXIiLCJTQ01BVGl0bGUiLCJTQ01BVGl0bGVJbm5lciIsIlNDTUFUaXRsZVdyYXAiLCJNQUlBSXNvbG9nbyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QUlNeUFnZW50cyIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uQmFjayIsImFnZW50cyIsIm9uRGVsZXRlQWdlbnQiLCJvbkZhdm9yaXRlQWdlbnRVcGRhdGUiLCJfcmVmJGhhc01vcmVBZ2VudHMiLCJoYXNNb3JlQWdlbnRzIiwiX3JlZiRsb2FkaW5nTW9yZUFnZW50IiwibG9hZGluZ01vcmVBZ2VudHMiLCJvbkxvYWRNb3JlQWdlbnRzIiwib25Hb1RvTWFpYWtlciIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsImFibUFnZW50IiwidCIsInVzZXIiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhclN1Y2Nlc3MiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiY3VzdG9tQWdlbnRzIiwiZmlsdGVyIiwiYWdlbnQiLCJ0eXBlIiwiaXNfZGVsZXRlZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm1lbnVPcGVuRm9yQWdlbnRJZCIsInNldE1lbnVPcGVuRm9yQWdlbnRJZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYWdlbnRUb0RlbGV0ZSIsInNldEFnZW50VG9EZWxldGUiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNhbkVkaXQiLCJlZGl0IiwiY2FuRGVsZXRlIiwiY2FuU2hvd01lbnUiLCJfdXNlVG9nZ2xlRmF2b3JpdGUiLCJ0b2dnbGVGYXZvcml0ZSIsImhhbmRsZUxvYWRNb3JlIiwiZGVsZXRlTW9kYWxDaGF0IiwidGl0bGUiLCJuYW1lIiwiaWQiLCJoYW5kbGVVc2VBZ2VudCIsIm5vcm1hbGl6ZVRleHQiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImdldENyZWF0ZWRBdExhYmVsIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsImNyZWF0ZWRBdERhdGUiLCJEYXRlIiwiTnVtYmVyIiwiaXNOYU4iLCJnZXRUaW1lIiwiZGlmZk1zIiwibm93IiwiZGF5TXMiLCJkYXlzIiwiTWF0aCIsIm1heCIsImZsb29yIiwiaGFuZGxlT3BlbkVkaXRBZ2VudCIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwiaXNPcGVuIiwiaGFuZGxlVG9nZ2xlRmF2b3JpdGUiLCJldmVudCIsImlzRmF2b3JpdGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInVwZGF0ZWRBZ2VudCIsInVuZGVmaW5lZCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiY2hhdCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJucyIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsIm9uU2Nyb2xsIiwic2Nyb2xsVG9wIiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwibmVhckJvdHRvbSIsImxlbmd0aCIsIiRoYXNBZ2VudHMiLCJjaGlsZHJlbiIsIm1hcCIsIl9hZ2VudCRlbW9qaSIsIm9uQ2xpY2siLCJlbW9qaSIsInRyaW0iLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiaW50cm9kdWN0aW9uIiwiaXNfZmF2b3JpdGUiLCIkYWx3YXlzVmlzaWJsZSIsImZpbGwiLCJ2YXJpYW50IiwiY2xhc3NOYW1lIiwic2l6ZSIsIm9uQ2xvc2UiLCJoYW5kbGVycyIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJhY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTXlBZ2VudHMvQ2hhdEFJTXlBZ2VudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBNZW51RG90cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL01lbnVEb3RzJ1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1N0YXInXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IGRlbGV0ZUFnZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvZGVsZXRlQWdlbnQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9EZWxldGVRdWVzdGlvbk1vZGFsL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VUb2dnbGVGYXZvcml0ZSB9IGZyb20gJy4uLy4uLy4uL2hvb2tzJ1xuaW1wb3J0IHtcbiAgU0NNQUJvZHksXG4gIFNDTUFDYXJkQm9keSxcbiAgU0NNQUNhcmRCdXR0b24sXG4gIFNDTUFDYXJkRm9vdGVyLFxuICBTQ01BQ2FyZEhlYWRlcixcbiAgU0NNQUNhcmRUb3BSb3csXG4gIFNDTUFDYXJkSW50cm9UZXh0LFxuICBTQ01BQ2FyZE1lbnUsXG4gIFNDTUFDYXJkTWVudUl0ZW0sXG4gIFNDTUFDYXJkTWVudUl0ZW1zLFxuICBTQ01BRmF2b3JpdGVCdXR0b24sXG4gIFNDTUFGYXZvcml0ZVN0YXJXcmFwLFxuICBTQ01BQ2FyZEZvb3RlckRhdGUsXG4gIFNDTUFDYXJkVGl0bGVFbW9qaSxcbiAgU0NNQUNhcmRUaXRsZU5hbWUsXG4gIFNDTUFDYXJkc091dGVyLFxuICBTQ01BQ2FyZHNSb3csXG4gIFNDTUFFbXB0eVN0YXRlUm9vdCxcbiAgU0NNQUVtcHR5U3RhdGVDb2x1bW4sXG4gIFNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayxcbiAgU0NNQUVtcHR5U3RhdGVUaXRsZSxcbiAgU0NNQUVtcHR5U3RhdGVTdWJ0aXRsZSxcbiAgU0NNQUVtcHR5U3RhdGVCdXR0b24sXG4gIFNDTUFLZWJhYkJ1dHRvbixcbiAgU0NNQUxvYWRNb3JlV3JhcHBlcixcbiAgU0NNQU15QWdlbnRzQ29udGFpbmVyLFxuICBTQ01BVGl0bGUsXG4gIFNDTUFUaXRsZUlubmVyLFxuICBTQ01BVGl0bGVXcmFwLFxufSBmcm9tICcuL0NoYXRBSU15QWdlbnRzLnN0eWxlcydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5cbnR5cGUgQ2hhdEFJTXlBZ2VudHNQcm9wcyA9IHtcbiAgb25CYWNrOiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBvbkRlbGV0ZUFnZW50PzogKGFnZW50SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGhhc01vcmVBZ2VudHM/OiBib29sZWFuXG4gIGxvYWRpbmdNb3JlQWdlbnRzPzogYm9vbGVhblxuICBvbkxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBvbkdvVG9NYWlha2VyPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSU15QWdlbnRzID0gKHtcbiAgb25CYWNrLFxuICBhZ2VudHMsXG4gIG9uRGVsZXRlQWdlbnQsXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZSxcbiAgaGFzTW9yZUFnZW50cyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZUFnZW50cyA9IGZhbHNlLFxuICBvbkxvYWRNb3JlQWdlbnRzLFxuICBvbkdvVG9NYWlha2VyLFxufTogQ2hhdEFJTXlBZ2VudHNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUksIFNFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgY3VzdG9tQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiAhYWdlbnQuaXNfZGVsZXRlZClcbiAgY29uc3QgW21lbnVPcGVuRm9yQWdlbnRJZCwgc2V0TWVudU9wZW5Gb3JBZ2VudElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthZ2VudFRvRGVsZXRlLCBzZXRBZ2VudFRvRGVsZXRlXSA9IHVzZVN0YXRlPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuU2hvd01lbnUgPSBjYW5FZGl0IHx8IGNhbkRlbGV0ZVxuICBjb25zdCB7IHRvZ2dsZUZhdm9yaXRlIH0gPSB1c2VUb2dnbGVGYXZvcml0ZSgpXG5cbiAgY29uc3QgaGFuZGxlTG9hZE1vcmUgPSAoKSA9PiB7XG4gICAgaWYgKCFvbkxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlQWdlbnRzIHx8IGxvYWRpbmdNb3JlQWdlbnRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgb25Mb2FkTW9yZUFnZW50cygpXG4gIH1cblxuICBjb25zdCBkZWxldGVNb2RhbENoYXQgPSB1c2VNZW1vKFxuICAgICgpID0+IChhZ2VudFRvRGVsZXRlID8geyB0aXRsZTogYWdlbnRUb0RlbGV0ZS5uYW1lLCBpZDogYWdlbnRUb0RlbGV0ZS5pZCB9IDogbnVsbCksXG4gICAgW2FnZW50VG9EZWxldGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVVc2VBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICBvbkJhY2soKVxuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplVGV4dCA9ICh2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlWzBdIHx8ICcnXG4gICAgcmV0dXJuIHZhbHVlIHx8ICcnXG4gIH1cblxuICBjb25zdCBnZXRDcmVhdGVkQXRMYWJlbCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBjb25zdCBjcmVhdGVkQXQgPSAoYWdlbnQgYXMgQWdlbnQgJiB7IGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfSkuY3JlYXRlZF9hdFxuICAgIGlmICghY3JlYXRlZEF0KSByZXR1cm4gJydcblxuICAgIGNvbnN0IGNyZWF0ZWRBdERhdGUgPSBuZXcgRGF0ZShjcmVhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihjcmVhdGVkQXREYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJ1xuXG4gICAgY29uc3QgZGlmZk1zID0gRGF0ZS5ub3coKSAtIGNyZWF0ZWRBdERhdGUuZ2V0VGltZSgpXG4gICAgY29uc3QgZGF5TXMgPSAxMDAwICogNjAgKiA2MCAqIDI0XG4gICAgY29uc3QgZGF5cyA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGlmZk1zIC8gZGF5TXMpKVxuXG4gICAgaWYgKGRheXMgPT09IDApIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c1RvZGF5JylcbiAgICBpZiAoZGF5cyA9PT0gMSkgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzT25lRGF5QWdvJylcbiAgICByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNEYXlzQWdvJywgeyBkYXlzIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuRWRpdEFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYWdlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUZhdm9yaXRlID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgYWdlbnQ6IEFnZW50LCBpc0Zhdm9yaXRlOiBib29sZWFuKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgb25GYXZvcml0ZUFnZW50VXBkYXRlPy4odXBkYXRlZEFnZW50KVxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGlzRmF2b3JpdGVcbiAgICApXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gYXN5bmMgKGNoYXQ6IHsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGRlbGV0ZUFnZW50KGNoYXQuaWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnY29uZmlybUFnZW50RGVsZXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgICAgb25EZWxldGVBZ2VudD8uKGNoYXQuaWQpXG4gICAgICBzZXRBZ2VudFRvRGVsZXRlKG51bGwpXG4gICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKCkgPT4ge1xuICAgICAgaWYgKG1lbnVPcGVuRm9yQWdlbnRJZCkge1xuICAgICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbbWVudU9wZW5Gb3JBZ2VudElkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykgcmV0dXJuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgY2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgICAgY29uc3QgbmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSA0MFxuICAgICAgaWYgKG5lYXJCb3R0b20pIHtcbiAgICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhc01vcmVBZ2VudHMsIGxvYWRpbmdNb3JlQWdlbnRzLCBvbkxvYWRNb3JlQWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhhc01vcmVBZ2VudHMgfHwgbG9hZGluZ01vcmVBZ2VudHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoY29udGFpbmVyLnNjcm9sbEhlaWdodCA8PSBjb250YWluZXIuY2xpZW50SGVpZ2h0ICsgMSkge1xuICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtjdXN0b21BZ2VudHMubGVuZ3RoLCBoYXNNb3JlQWdlbnRzLCBsb2FkaW5nTW9yZUFnZW50cywgb25Mb2FkTW9yZUFnZW50c10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NNQU15QWdlbnRzQ29udGFpbmVyIGlkPVwibXktYWdlbnRzLXNjcm9sbC1jb250YWluZXJcIiAkaGFzQWdlbnRzPXshIWN1c3RvbUFnZW50cy5sZW5ndGh9PlxuICAgICAgPE1BSUFJc29sb2dvIC8+XG5cbiAgICAgIDxTQ01BQm9keT5cbiAgICAgICAge2N1c3RvbUFnZW50cy5sZW5ndGggPyAoXG4gICAgICAgICAgPFNDTUFUaXRsZVdyYXA+XG4gICAgICAgICAgICA8U0NNQVRpdGxlSW5uZXI+XG4gICAgICAgICAgICAgIDxTQ01BVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzUmVhZHlUaXRsZScpfTwvU0NNQVRpdGxlPlxuICAgICAgICAgICAgPC9TQ01BVGl0bGVJbm5lcj5cbiAgICAgICAgICA8L1NDTUFUaXRsZVdyYXA+XG4gICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgIHtjdXN0b21BZ2VudHMubGVuZ3RoID8gKFxuICAgICAgICAgIDxTQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgICAgIDxTQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgICAgIHtjdXN0b21BZ2VudHMubWFwKGFnZW50ID0+IChcbiAgICAgICAgICAgICAgICA8U0NNQUNhcmRCdXR0b24ga2V5PXthZ2VudC5pZH0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVVzZUFnZW50KGFnZW50KX0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZFRvcFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZUVtb2ppIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgICAgICAge2FnZW50LmVtb2ppPy50cmltKCkgPyBhZ2VudC5lbW9qaSA6ICdcXHUwMGEwJ31cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVGl0bGVFbW9qaT5cbiAgICAgICAgICAgICAgICAgICAgICB7Y2FuU2hvd01lbnUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUtlYmFiQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdtYXJrZXRwbGFjZS5jYXJkTWVudUFyaWFMYWJlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWVudU9wZW5Gb3JBZ2VudElkKHByZXYgPT4gKHByZXYgPT09IGFnZW50LmlkID8gbnVsbCA6IGFnZW50LmlkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVEb3RzIGNvbG9yPVwiIzk5OVwiIHdpZHRoPXsxNX0gaGVpZ2h0PXsxNX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUtlYmFiQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVG9wUm93PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZU5hbWU+e2FnZW50Lm5hbWV9PC9TQ01BQ2FyZFRpdGxlTmFtZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRJbnRyb1RleHQ+e25vcm1hbGl6ZVRleHQoYWdlbnQuaW50cm9kdWN0aW9uKX08L1NDTUFDYXJkSW50cm9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtnZXRDcmVhdGVkQXRMYWJlbChhZ2VudCkgfHwgdCgnbWFya2V0cGxhY2UubXlBZ2VudHNGYWxsYmFja0RhdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YWdlbnQuaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BRmF2b3JpdGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FnZW50LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsd2F5c1Zpc2libGU9eyEhYWdlbnQuaXNfZmF2b3JpdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGhhbmRsZVRvZ2dsZUZhdm9yaXRlKGV2ZW50LCBhZ2VudCwgISFhZ2VudC5pc19mYXZvcml0ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BRmF2b3JpdGVTdGFyV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezE2fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsxNn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudC5pc19mYXZvcml0ZSA/ICcjRkZDNjI0JyA6ICcjOTk5J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2FnZW50LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJ25vbmUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNvbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWdlbnQuaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUZhdm9yaXRlU3RhcldyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFGYXZvcml0ZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkQm9keT5cbiAgICAgICAgICAgICAgICAgIHttZW51T3BlbkZvckFnZW50SWQgPT09IGFnZW50LmlkICYmIGNhblNob3dNZW51ID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRNZW51XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbkRlbGV0ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBZ2VudFRvRGVsZXRlKGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZGVsZXRlQWdlbnQnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2FuRWRpdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuRWRpdEFnZW50KGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZWRpdEFnZW50JywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51PlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NDTUFDYXJkc1Jvdz5cbiAgICAgICAgICA8L1NDTUFDYXJkc091dGVyPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVJvb3Q+XG4gICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlJyl9PC9TQ01BRW1wdHlTdGF0ZVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50XG4gICAgICAgICAgICAgICAgICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24nKVxuICAgICAgICAgICAgICAgICAgICA6IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtJyl9XG4gICAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlVGl0bGVCbG9jaz5cbiAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICB7Y2FuQ3JlYXRlQWdlbnQgJiYgb25Hb1RvTWFpYWtlciA/IChcbiAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBvbkdvVG9NYWlha2VyKCl9PlxuICAgICAgICAgICAgICAgIHt0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVCdXR0b24nKX1cbiAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZUJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVSb290PlxuICAgICAgICApfVxuICAgICAgICB7bG9hZGluZ01vcmVBZ2VudHMgPyAoXG4gICAgICAgICAgPFNDTUFMb2FkTW9yZVdyYXBwZXI+XG4gICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgPC9TQ01BTG9hZE1vcmVXcmFwcGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NNQUJvZHk+XG4gICAgICB7ZGVsZXRlTW9kYWxDaGF0ID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEFnZW50VG9EZWxldGUobnVsbCl9XG4gICAgICAgICAgaGFuZGxlcnM9e3tcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb246IGhhbmRsZUNvbmZpcm1EZWxldGUsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjaGF0PXtkZWxldGVNb2RhbENoYXR9XG4gICAgICAgICAgYWN0aW9uPVwiYWdlbnRcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TQ01BTXlBZ2VudHNDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDM0QsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsZ0JBQWdCLFFBQVEsaUNBQWlDO0FBQ2xFLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFFbkQsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUN2RSxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsbUJBQW1CLFFBQVEseURBQXlEO0FBQzdGLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFDcEQsU0FB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
360
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiTWVudURvdHMiLCJTdGFyIiwiVG9vbHRpcCIsInVzZVRyYW5zbGF0aW9uIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVVzZXIiLCJkZWxldGVBZ2VudCIsInVzZVNuYWNrQmFyTWFuYWdlciIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJTRUNUSU9OUyIsIkxvYWRlciIsInVzZVRvZ2dsZUZhdm9yaXRlIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ01BQm9keSIsIlNDTUFDYXJkQm9keSIsIlNDTUFDYXJkQnV0dG9uIiwiU0NNQUNhcmRGb290ZXIiLCJTQ01BQ2FyZEhlYWRlciIsIlNDTUFDYXJkVG9wUm93IiwiU0NNQUNhcmRJbnRyb1RleHQiLCJTQ01BQ2FyZE1lbnUiLCJTQ01BQ2FyZE1lbnVJdGVtIiwiU0NNQUNhcmRNZW51SXRlbXMiLCJTQ01BRmF2b3JpdGVCdXR0b24iLCJTQ01BRmF2b3JpdGVTdGFyV3JhcCIsIlNDTUFDYXJkRm9vdGVyRGF0ZSIsIlNDTUFDYXJkVGl0bGVFbW9qaSIsIlNDTUFDYXJkVGl0bGVOYW1lIiwiU0NNQUNhcmRzT3V0ZXIiLCJTQ01BQ2FyZHNSb3ciLCJTQ01BRW1wdHlTdGF0ZVJvb3QiLCJTQ01BRW1wdHlTdGF0ZUNvbHVtbiIsIlNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayIsIlNDTUFFbXB0eVN0YXRlVGl0bGUiLCJTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlIiwiU0NNQUVtcHR5U3RhdGVCdXR0b24iLCJTQ01BS2ViYWJCdXR0b24iLCJTQ01BTG9hZE1vcmVXcmFwcGVyIiwiU0NNQU15QWdlbnRzQ29udGFpbmVyIiwiU0NNQVRpdGxlIiwiU0NNQVRpdGxlSW5uZXIiLCJTQ01BVGl0bGVXcmFwIiwiU0NNQUFjdGlvbnNSb3ciLCJTQ01BQ3JlYXRlTWFudWFsQnV0dG9uIiwiU0NNQUNyZWF0ZU1hbnVhbEJ1dHRvblRleHQiLCJNQUlBSXNvbG9nbyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QUlNeUFnZW50cyIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uQmFjayIsImFnZW50cyIsIm9uRGVsZXRlQWdlbnQiLCJvbkZhdm9yaXRlQWdlbnRVcGRhdGUiLCJfcmVmJGhhc01vcmVBZ2VudHMiLCJoYXNNb3JlQWdlbnRzIiwiX3JlZiRsb2FkaW5nTW9yZUFnZW50IiwibG9hZGluZ01vcmVBZ2VudHMiLCJvbkxvYWRNb3JlQWdlbnRzIiwib25Hb1RvTWFpYWtlciIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsImFibUFnZW50IiwidCIsInVzZXIiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhclN1Y2Nlc3MiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiY3VzdG9tQWdlbnRzIiwiZmlsdGVyIiwiYWdlbnQiLCJ0eXBlIiwiaXNfZGVsZXRlZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm1lbnVPcGVuRm9yQWdlbnRJZCIsInNldE1lbnVPcGVuRm9yQWdlbnRJZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYWdlbnRUb0RlbGV0ZSIsInNldEFnZW50VG9EZWxldGUiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNhbkVkaXQiLCJlZGl0IiwiY2FuRGVsZXRlIiwiY2FuU2hvd01lbnUiLCJfdXNlVG9nZ2xlRmF2b3JpdGUiLCJ0b2dnbGVGYXZvcml0ZSIsImV2ZW50QW1wbGl0dWRlIiwib3BlbkNyZWF0ZUFnZW50TW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiaXNPcGVuIiwiaGFuZGxlRW1wdHlTdGF0ZVByaW1hcnlBY3Rpb24iLCJ1c2VNYXJrZXRwbGFjZU1haWFrZXIiLCJNQUlBX01BUktFVFBMQUNFX01BSUFLRVIiLCJoYW5kbGVMb2FkTW9yZSIsImRlbGV0ZU1vZGFsQ2hhdCIsInRpdGxlIiwibmFtZSIsImlkIiwiaGFuZGxlVXNlQWdlbnQiLCJub3JtYWxpemVUZXh0IiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJnZXRDcmVhdGVkQXRMYWJlbCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJjcmVhdGVkQXREYXRlIiwiRGF0ZSIsIk51bWJlciIsImlzTmFOIiwiZ2V0VGltZSIsImRpZmZNcyIsIm5vdyIsImRheU1zIiwiZGF5cyIsIk1hdGgiLCJtYXgiLCJmbG9vciIsImhhbmRsZU9wZW5FZGl0QWdlbnQiLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwiaGFuZGxlVG9nZ2xlRmF2b3JpdGUiLCJldmVudCIsImlzRmF2b3JpdGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInVwZGF0ZWRBZ2VudCIsInVuZGVmaW5lZCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiY2hhdCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJucyIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsIm9uU2Nyb2xsIiwic2Nyb2xsVG9wIiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwibmVhckJvdHRvbSIsImxlbmd0aCIsIiRoYXNBZ2VudHMiLCJjaGlsZHJlbiIsIiRjYW5DcmVhdGVBZ2VudCIsIm9uQ2xpY2siLCJtYXAiLCJfYWdlbnQkZW1vamkiLCJlbW9qaSIsInRyaW0iLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiaW50cm9kdWN0aW9uIiwiaXNfZmF2b3JpdGUiLCIkYWx3YXlzVmlzaWJsZSIsImZpbGwiLCJ2YXJpYW50IiwiY2xhc3NOYW1lIiwic2l6ZSIsIm9uQ2xvc2UiLCJoYW5kbGVycyIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJhY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTXlBZ2VudHMvQ2hhdEFJTXlBZ2VudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTWVudURvdHMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9NZW51RG90cydcbmltcG9ydCB7IFN0YXIgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9TdGFyJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBkZWxldGVBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2RlbGV0ZUFnZW50J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbC9EZWxldGVRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgdXNlVG9nZ2xlRmF2b3JpdGUgfSBmcm9tICcuLi8uLi8uLi9ob29rcydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDTUFCb2R5LFxuICBTQ01BQ2FyZEJvZHksXG4gIFNDTUFDYXJkQnV0dG9uLFxuICBTQ01BQ2FyZEZvb3RlcixcbiAgU0NNQUNhcmRIZWFkZXIsXG4gIFNDTUFDYXJkVG9wUm93LFxuICBTQ01BQ2FyZEludHJvVGV4dCxcbiAgU0NNQUNhcmRNZW51LFxuICBTQ01BQ2FyZE1lbnVJdGVtLFxuICBTQ01BQ2FyZE1lbnVJdGVtcyxcbiAgU0NNQUZhdm9yaXRlQnV0dG9uLFxuICBTQ01BRmF2b3JpdGVTdGFyV3JhcCxcbiAgU0NNQUNhcmRGb290ZXJEYXRlLFxuICBTQ01BQ2FyZFRpdGxlRW1vamksXG4gIFNDTUFDYXJkVGl0bGVOYW1lLFxuICBTQ01BQ2FyZHNPdXRlcixcbiAgU0NNQUNhcmRzUm93LFxuICBTQ01BRW1wdHlTdGF0ZVJvb3QsXG4gIFNDTUFFbXB0eVN0YXRlQ29sdW1uLFxuICBTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2ssXG4gIFNDTUFFbXB0eVN0YXRlVGl0bGUsXG4gIFNDTUFFbXB0eVN0YXRlU3VidGl0bGUsXG4gIFNDTUFFbXB0eVN0YXRlQnV0dG9uLFxuICBTQ01BS2ViYWJCdXR0b24sXG4gIFNDTUFMb2FkTW9yZVdyYXBwZXIsXG4gIFNDTUFNeUFnZW50c0NvbnRhaW5lcixcbiAgU0NNQVRpdGxlLFxuICBTQ01BVGl0bGVJbm5lcixcbiAgU0NNQVRpdGxlV3JhcCxcbiAgU0NNQUFjdGlvbnNSb3csXG4gIFNDTUFDcmVhdGVNYW51YWxCdXR0b24sXG4gIFNDTUFDcmVhdGVNYW51YWxCdXR0b25UZXh0LFxufSBmcm9tICcuL0NoYXRBSU15QWdlbnRzLnN0eWxlcydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5cbnR5cGUgQ2hhdEFJTXlBZ2VudHNQcm9wcyA9IHtcbiAgb25CYWNrOiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBvbkRlbGV0ZUFnZW50PzogKGFnZW50SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGhhc01vcmVBZ2VudHM/OiBib29sZWFuXG4gIGxvYWRpbmdNb3JlQWdlbnRzPzogYm9vbGVhblxuICBvbkxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBvbkdvVG9NYWlha2VyPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSU15QWdlbnRzID0gKHtcbiAgb25CYWNrLFxuICBhZ2VudHMsXG4gIG9uRGVsZXRlQWdlbnQsXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZSxcbiAgaGFzTW9yZUFnZW50cyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZUFnZW50cyA9IGZhbHNlLFxuICBvbkxvYWRNb3JlQWdlbnRzLFxuICBvbkdvVG9NYWlha2VyLFxufTogQ2hhdEFJTXlBZ2VudHNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUksIFNFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgY3VzdG9tQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiAhYWdlbnQuaXNfZGVsZXRlZClcbiAgY29uc3QgW21lbnVPcGVuRm9yQWdlbnRJZCwgc2V0TWVudU9wZW5Gb3JBZ2VudElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthZ2VudFRvRGVsZXRlLCBzZXRBZ2VudFRvRGVsZXRlXSA9IHVzZVN0YXRlPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuU2hvd01lbnUgPSBjYW5FZGl0IHx8IGNhbkRlbGV0ZVxuICBjb25zdCB7IHRvZ2dsZUZhdm9yaXRlIH0gPSB1c2VUb2dnbGVGYXZvcml0ZSgpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IG9wZW5DcmVhdGVBZ2VudE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2V2ZW50QW1wbGl0dWRlXSlcblxuICBjb25zdCBoYW5kbGVFbXB0eVN0YXRlUHJpbWFyeUFjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB1c2VNYXJrZXRwbGFjZU1haWFrZXIgPSAhIXdpbmRvdy5NQUlBX01BUktFVFBMQUNFX01BSUFLRVIgJiYgdHlwZW9mIG9uR29Ub01haWFrZXIgPT09ICdmdW5jdGlvbidcbiAgICBpZiAodXNlTWFya2V0cGxhY2VNYWlha2VyKSB7XG4gICAgICBvbkdvVG9NYWlha2VyKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBvcGVuQ3JlYXRlQWdlbnRNb2RhbCgpXG4gIH0sIFtvbkdvVG9NYWlha2VyLCBvcGVuQ3JlYXRlQWdlbnRNb2RhbF0pXG5cbiAgY29uc3QgaGFuZGxlTG9hZE1vcmUgPSAoKSA9PiB7XG4gICAgaWYgKCFvbkxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlQWdlbnRzIHx8IGxvYWRpbmdNb3JlQWdlbnRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgb25Mb2FkTW9yZUFnZW50cygpXG4gIH1cblxuICBjb25zdCBkZWxldGVNb2RhbENoYXQgPSB1c2VNZW1vKFxuICAgICgpID0+IChhZ2VudFRvRGVsZXRlID8geyB0aXRsZTogYWdlbnRUb0RlbGV0ZS5uYW1lLCBpZDogYWdlbnRUb0RlbGV0ZS5pZCB9IDogbnVsbCksXG4gICAgW2FnZW50VG9EZWxldGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVVc2VBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICBvbkJhY2soKVxuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplVGV4dCA9ICh2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlWzBdIHx8ICcnXG4gICAgcmV0dXJuIHZhbHVlIHx8ICcnXG4gIH1cblxuICBjb25zdCBnZXRDcmVhdGVkQXRMYWJlbCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBjb25zdCBjcmVhdGVkQXQgPSAoYWdlbnQgYXMgQWdlbnQgJiB7IGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfSkuY3JlYXRlZF9hdFxuICAgIGlmICghY3JlYXRlZEF0KSByZXR1cm4gJydcblxuICAgIGNvbnN0IGNyZWF0ZWRBdERhdGUgPSBuZXcgRGF0ZShjcmVhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihjcmVhdGVkQXREYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJ1xuXG4gICAgY29uc3QgZGlmZk1zID0gRGF0ZS5ub3coKSAtIGNyZWF0ZWRBdERhdGUuZ2V0VGltZSgpXG4gICAgY29uc3QgZGF5TXMgPSAxMDAwICogNjAgKiA2MCAqIDI0XG4gICAgY29uc3QgZGF5cyA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGlmZk1zIC8gZGF5TXMpKVxuXG4gICAgaWYgKGRheXMgPT09IDApIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c1RvZGF5JylcbiAgICBpZiAoZGF5cyA9PT0gMSkgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzT25lRGF5QWdvJylcbiAgICByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNEYXlzQWdvJywgeyBkYXlzIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuRWRpdEFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYWdlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUZhdm9yaXRlID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgYWdlbnQ6IEFnZW50LCBpc0Zhdm9yaXRlOiBib29sZWFuKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgb25GYXZvcml0ZUFnZW50VXBkYXRlPy4odXBkYXRlZEFnZW50KVxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGlzRmF2b3JpdGVcbiAgICApXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gYXN5bmMgKGNoYXQ6IHsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGRlbGV0ZUFnZW50KGNoYXQuaWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnY29uZmlybUFnZW50RGVsZXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgICAgb25EZWxldGVBZ2VudD8uKGNoYXQuaWQpXG4gICAgICBzZXRBZ2VudFRvRGVsZXRlKG51bGwpXG4gICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKCkgPT4ge1xuICAgICAgaWYgKG1lbnVPcGVuRm9yQWdlbnRJZCkge1xuICAgICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbbWVudU9wZW5Gb3JBZ2VudElkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykgcmV0dXJuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgY2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgICAgY29uc3QgbmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSA0MFxuICAgICAgaWYgKG5lYXJCb3R0b20pIHtcbiAgICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhc01vcmVBZ2VudHMsIGxvYWRpbmdNb3JlQWdlbnRzLCBvbkxvYWRNb3JlQWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhhc01vcmVBZ2VudHMgfHwgbG9hZGluZ01vcmVBZ2VudHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoY29udGFpbmVyLnNjcm9sbEhlaWdodCA8PSBjb250YWluZXIuY2xpZW50SGVpZ2h0ICsgMSkge1xuICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtjdXN0b21BZ2VudHMubGVuZ3RoLCBoYXNNb3JlQWdlbnRzLCBsb2FkaW5nTW9yZUFnZW50cywgb25Mb2FkTW9yZUFnZW50c10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NNQU15QWdlbnRzQ29udGFpbmVyIGlkPVwibXktYWdlbnRzLXNjcm9sbC1jb250YWluZXJcIiAkaGFzQWdlbnRzPXshIWN1c3RvbUFnZW50cy5sZW5ndGh9PlxuICAgICAgPE1BSUFJc29sb2dvIC8+XG5cbiAgICAgIDxTQ01BQm9keSAkY2FuQ3JlYXRlQWdlbnQ9e2NhbkNyZWF0ZUFnZW50ICYmICF3aW5kb3cuTUFJQV9NQVJLRVRQTEFDRV9NQUlBS0VSfT5cbiAgICAgICAge2N1c3RvbUFnZW50cy5sZW5ndGggPyAoXG4gICAgICAgICAgPFNDTUFUaXRsZVdyYXA+XG4gICAgICAgICAgICA8U0NNQVRpdGxlSW5uZXI+XG4gICAgICAgICAgICAgIDxTQ01BVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzUmVhZHlUaXRsZScpfTwvU0NNQVRpdGxlPlxuICAgICAgICAgICAgPC9TQ01BVGl0bGVJbm5lcj5cbiAgICAgICAgICAgIHtjYW5DcmVhdGVBZ2VudCAmJiAhd2luZG93Lk1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUiA/IChcbiAgICAgICAgICAgICAgPFNDTUFBY3Rpb25zUm93PlxuICAgICAgICAgICAgICAgIDxTQ01BQ3JlYXRlTWFudWFsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuQ3JlYXRlQWdlbnRNb2RhbH0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNyZWF0ZU1hbnVhbEJ1dHRvblRleHQ+e3QoJ21hcmtldHBsYWNlLmNyZWF0ZUFnZW50Jyl9PC9TQ01BQ3JlYXRlTWFudWFsQnV0dG9uVGV4dD5cbiAgICAgICAgICAgICAgICA8L1NDTUFDcmVhdGVNYW51YWxCdXR0b24+XG4gICAgICAgICAgICAgIDwvU0NNQUFjdGlvbnNSb3c+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDTUFUaXRsZVdyYXA+XG4gICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgIHtjdXN0b21BZ2VudHMubGVuZ3RoID8gKFxuICAgICAgICAgIDxTQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgICAgIDxTQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgICAgIHtjdXN0b21BZ2VudHMubWFwKGFnZW50ID0+IChcbiAgICAgICAgICAgICAgICA8U0NNQUNhcmRCdXR0b24ga2V5PXthZ2VudC5pZH0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVVzZUFnZW50KGFnZW50KX0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZFRvcFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZUVtb2ppIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgICAgICAge2FnZW50LmVtb2ppPy50cmltKCkgPyBhZ2VudC5lbW9qaSA6ICdcXHUwMGEwJ31cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVGl0bGVFbW9qaT5cbiAgICAgICAgICAgICAgICAgICAgICB7Y2FuU2hvd01lbnUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUtlYmFiQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdtYXJrZXRwbGFjZS5jYXJkTWVudUFyaWFMYWJlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWVudU9wZW5Gb3JBZ2VudElkKHByZXYgPT4gKHByZXYgPT09IGFnZW50LmlkID8gbnVsbCA6IGFnZW50LmlkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVEb3RzIGNvbG9yPVwiIzk5OVwiIHdpZHRoPXsxNX0gaGVpZ2h0PXsxNX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUtlYmFiQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVG9wUm93PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZU5hbWU+e2FnZW50Lm5hbWV9PC9TQ01BQ2FyZFRpdGxlTmFtZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRJbnRyb1RleHQ+e25vcm1hbGl6ZVRleHQoYWdlbnQuaW50cm9kdWN0aW9uKX08L1NDTUFDYXJkSW50cm9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtnZXRDcmVhdGVkQXRMYWJlbChhZ2VudCkgfHwgdCgnbWFya2V0cGxhY2UubXlBZ2VudHNGYWxsYmFja0RhdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YWdlbnQuaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BRmF2b3JpdGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FnZW50LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsd2F5c1Zpc2libGU9eyEhYWdlbnQuaXNfZmF2b3JpdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGhhbmRsZVRvZ2dsZUZhdm9yaXRlKGV2ZW50LCBhZ2VudCwgISFhZ2VudC5pc19mYXZvcml0ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BRmF2b3JpdGVTdGFyV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezE2fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsxNn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudC5pc19mYXZvcml0ZSA/ICcjRkZDNjI0JyA6ICcjOTk5J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2FnZW50LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJ25vbmUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNvbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWdlbnQuaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUZhdm9yaXRlU3RhcldyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFGYXZvcml0ZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkQm9keT5cbiAgICAgICAgICAgICAgICAgIHttZW51T3BlbkZvckFnZW50SWQgPT09IGFnZW50LmlkICYmIGNhblNob3dNZW51ID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRNZW51XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbkRlbGV0ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBZ2VudFRvRGVsZXRlKGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZGVsZXRlQWdlbnQnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2FuRWRpdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuRWRpdEFnZW50KGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZWRpdEFnZW50JywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51PlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NDTUFDYXJkc1Jvdz5cbiAgICAgICAgICA8L1NDTUFDYXJkc091dGVyPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVJvb3Q+XG4gICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlJyl9PC9TQ01BRW1wdHlTdGF0ZVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50XG4gICAgICAgICAgICAgICAgICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24nKVxuICAgICAgICAgICAgICAgICAgICA6IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtJyl9XG4gICAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlVGl0bGVCbG9jaz5cbiAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICB7Y2FuQ3JlYXRlQWdlbnQgPyAoXG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlRW1wdHlTdGF0ZVByaW1hcnlBY3Rpb259PlxuICAgICAgICAgICAgICAgIHt0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVCdXR0b24nKX1cbiAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZUJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVSb290PlxuICAgICAgICApfVxuICAgICAgICB7bG9hZGluZ01vcmVBZ2VudHMgPyAoXG4gICAgICAgICAgPFNDTUFMb2FkTW9yZVdyYXBwZXI+XG4gICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgPC9TQ01BTG9hZE1vcmVXcmFwcGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NNQUJvZHk+XG4gICAgICB7ZGVsZXRlTW9kYWxDaGF0ID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEFnZW50VG9EZWxldGUobnVsbCl9XG4gICAgICAgICAgaGFuZGxlcnM9e3tcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb246IGhhbmRsZUNvbmZpcm1EZWxldGUsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjaGF0PXtkZWxldGVNb2RhbENoYXR9XG4gICAgICAgICAgYWN0aW9uPVwiYWdlbnRcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TQ01BTXlBZ2VudHNDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUN4RSxTQUFTQyxRQUFRLFFBQVEsMkNBQTJDO0FBQ3BFLFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUVuRCxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBQ3ZFLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxtQkFBbUIsUUFBUSx5REFBeUQ7QUFDN0YsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQVNDLGlCQUFpQixRQUFRLGdCQUFnQjtBQUNsRCxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFDMUQsU0FDRUMsUUFBUSxFQUNSQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsY0FBYyxF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