@projectcor/maia-components 2.11.31-1 → 2.11.31-3

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 (65) 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/MaiaChatLayoutMenuIcon.js +33 -0
  4. package/lib/components/atoms/icons/index.js +3 -1
  5. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +41 -10
  6. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -4
  7. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +16 -3
  8. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +54 -44
  9. package/lib/components/molecules/ChatAIHome/styles.js +43 -35
  10. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +204 -198
  11. package/lib/components/molecules/ChatAIMessages/ChatDaySeparator.js +43 -0
  12. package/lib/components/molecules/ChatAIMessages/ChatDaySeparator.styles.js +11 -0
  13. package/lib/components/molecules/ChatAIMessages/chatMessageUtils.js +5 -0
  14. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +343 -100
  15. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +91 -18
  17. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +17 -2
  18. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +13 -0
  19. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +9 -0
  20. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
  21. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
  22. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
  23. package/lib/components/molecules/ChatAIModal/layout.js +35 -0
  24. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +10 -9
  25. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +37 -6
  26. package/lib/components/molecules/Sidebar/Sidebar.js +269 -323
  27. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -23
  28. package/lib/components/molecules/Sidebar/Sidebar.styles.js +54 -37
  29. package/lib/components/molecules/Sidebar/SidebarChats.styles.js +73 -0
  30. package/lib/components/molecules/Sidebar/SidebarChatsSection.js +69 -0
  31. package/lib/components/molecules/Sidebar/SidebarChatsSectionModal.js +150 -0
  32. package/lib/components/molecules/Sidebar/SidebarHistoryChat.js +238 -0
  33. package/lib/components/molecules/Sidebar/sidebarChats.helpers.js +70 -0
  34. package/lib/components/molecules/Sidebar/sidebarChats.types.js +14 -0
  35. package/lib/dev/Providers.js +2 -2
  36. package/lib/dev/fixtures/devUser.js +173 -0
  37. package/lib/dev/fixtures/mockedUser.js +169 -0
  38. package/lib/hooks/useChatManager/useChatManager.js +35 -85
  39. package/lib/hooks/useChats/useChats.js +12 -4
  40. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +76 -142
  41. package/lib/hooks/useProjectSearch.js +11 -4
  42. package/lib/lang/br/index.js +19 -2
  43. package/lib/lang/en/index.js +19 -2
  44. package/lib/lang/es/index.js +19 -2
  45. package/lib/lang/fr/index.js +19 -2
  46. package/lib/services/maia/Chats/getChatMessagesV2.js +114 -0
  47. package/lib/services/maia/Chats/getChatsByUserId.js +14 -8
  48. package/lib/services/maia/Chats/getSessionByAgent.js +66 -0
  49. package/lib/services/maia/Chats/getSessionsGroupedV2.js +70 -0
  50. package/lib/services/maia/Chats/index.js +7 -1
  51. package/lib/services/maia/Orchestrator/orchestrator.js +6 -4
  52. package/lib/services/maia/client.js +44 -9
  53. package/lib/services/query/projectSearchByValueQuery.js +2 -2
  54. package/lib/store/chatsStore.types.js +10 -2
  55. package/lib/store/useChatsStore.js +75 -37
  56. package/lib/types/Chat.js +3 -1
  57. package/lib/types/Project.js +1 -1
  58. package/package.json +1 -1
  59. package/lib/hooks/useSmoothStreamText/index.js +0 -2
  60. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +0 -292
  61. package/lib/hooks/useStreamingMessage/index.js +0 -3
  62. package/lib/hooks/useStreamingMessage/streamingStore.js +0 -69
  63. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +0 -22
  64. package/lib/mocks/mockChats.js +0 -395
  65. package/lib/mocks/mockedUser.js +0 -169
@@ -5,7 +5,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  import { useEffect, useRef, useState, useCallback, useMemo } from 'react';
6
6
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
7
7
  import { useT } from '../../../hooks/useT';
8
- import { SCCAIHomeContainer, SCCAIHomeContent, SCCAIHomeContentInner, SCCAIHomeGradientTop, SCCAIHomeGradientBottom, SCCAIHomeHeader, SCCAIHomeGreeting, SCCAIHomeAgentInfoContainer, SCCAIHomeAgentInfo, SCCAIHomeProjectSummary, SCCAIHomeProjectSummaryContent, SCCAIHomeProjectSummaryTitle, SCCAIHomeProjectSummaryDescription, SCCAHWrapperSummaryProject, SCCAIHomeIntroduction, SCCAIHomeCreatedByContainer, SCCAIHomeCreatedByText, SCCAIHomeCreatedByTextName, SCCAIHomeIconContainer, SCCAIHomeLogoWrapper, SCCAIHomeMaiaHeaderStack } from './styles';
8
+ import { SCCAIHomeContainer, SCCAIHomeContent, SCCAIHomeScrollArea, SCCAIHomeScrollBody, SCCAIHomeContentInner, SCCAIHomeGradientTop, SCCAIHomeGradientBottom, SCCAIHomeHeader, SCCAIHomeGreeting, SCCAIHomeAgentInfoContainer, SCCAIHomeAgentInfo, SCCAIHomeProjectSummary, SCCAIHomeProjectSummaryContent, SCCAIHomeProjectSummaryTitle, SCCAIHomeProjectSummaryDescription, SCCAHWrapperSummaryProject, SCCAIHomeIntroduction, SCCAIHomeCreatedByContainer, SCCAIHomeCreatedByText, SCCAIHomeCreatedByTextName, SCCAIHomeIconContainer, SCCAIHomeLogoWrapper, SCCAIHomeMaiaHeaderStack } from './styles';
9
9
  import { useGlobalContext } from '../../../context/global-context';
10
10
  import { validateIsMaia } from '../../../services/utils/validateIsMaia';
11
11
  import { FrequentlyAskedQuestions } from '../../atoms/FrequentlyAskedQuestions';
@@ -37,7 +37,7 @@ export var ChatAIHome = function ChatAIHome(_ref) {
37
37
  var showFAQs = !!(isMAIA && faqsAccess && !isMaiaker);
38
38
  var homeScrollableLayout = showFAQs || isMaiaker;
39
39
 
40
- // Lógica del scroll con gradientes
40
+ // Lógica del scroll con gradientes (overlay fijo al viewport del scroll, no sticky en el flujo)
41
41
  var contentContainerRef = useRef(null);
42
42
  var _useState = useState(false),
43
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -94,9 +94,14 @@ export var ChatAIHome = function ChatAIHome(_ref) {
94
94
  }
95
95
  checkScroll();
96
96
  container.addEventListener('scroll', checkScroll);
97
+ var resizeObserver = new ResizeObserver(function () {
98
+ return checkScroll();
99
+ });
100
+ resizeObserver.observe(container);
97
101
  var timeoutId = setTimeout(checkScroll, 100);
98
102
  return function () {
99
103
  container.removeEventListener('scroll', checkScroll);
104
+ resizeObserver.disconnect();
100
105
  clearTimeout(timeoutId);
101
106
  if (scrollTimeoutRef.current) {
102
107
  clearTimeout(scrollTimeoutRef.current);
@@ -132,53 +137,58 @@ export var ChatAIHome = function ChatAIHome(_ref) {
132
137
  }) : null]
133
138
  });
134
139
  };
140
+ var homeBody = /*#__PURE__*/_jsxs(SCCAIHomeContentInner, {
141
+ showFAQs: homeScrollableLayout,
142
+ $isAgentView: !isMAIA,
143
+ children: [/*#__PURE__*/_jsxs(SCCAIHomeHeader, {
144
+ $gap: isMAIA && section !== 'project' ? '8px' : '20px',
145
+ $maxWidth: isMAIA ? '100%' : '380px',
146
+ $isAgentView: !isMAIA,
147
+ children: [renderHeaderContent(), section !== 'project' && /*#__PURE__*/_jsx(SCCAIHomeIntroduction, {
148
+ expanded: expanded,
149
+ children: !isMAIA && (agent === null || agent === void 0 ? void 0 : agent.introduction)
150
+ })]
151
+ }), showProjectSummary && (agent === null || agent === void 0 ? void 0 : agent.entity) === 'project' && /*#__PURE__*/_jsxs(SCCAHWrapperSummaryProject, {
152
+ onClick: handlers.projectSummary,
153
+ children: [/*#__PURE__*/_jsx(SCCAIHomeProjectSummary, {
154
+ children: /*#__PURE__*/_jsx(TemplateGradientIcon, {
155
+ height: 24,
156
+ width: 24
157
+ })
158
+ }), /*#__PURE__*/_jsxs(SCCAIHomeProjectSummaryContent, {
159
+ children: [/*#__PURE__*/_jsx(SCCAIHomeProjectSummaryTitle, {
160
+ children: t('homeMenu.projectSummary.title')
161
+ }), /*#__PURE__*/_jsx(SCCAIHomeProjectSummaryDescription, {
162
+ children: t('homeMenu.projectSummary.description')
163
+ })]
164
+ })]
165
+ }), showFAQs && /*#__PURE__*/_jsx(FrequentlyAskedQuestions, {
166
+ onStartChat: onStartChat,
167
+ showFAQs: showFAQs,
168
+ showProjectSummary: showProjectSummary,
169
+ agentId: agent === null || agent === void 0 ? void 0 : agent.id,
170
+ lang: lang,
171
+ isScrolling: isScrolling
172
+ }), isMaiaker ? /*#__PURE__*/_jsx(ChatAIHomeMaiaker, {
173
+ onStartChat: onStartChat
174
+ }) : null]
175
+ });
135
176
  return /*#__PURE__*/_jsx(SCCAIHomeContainer, {
136
177
  showFAQs: showFAQs,
137
- children: /*#__PURE__*/_jsxs(SCCAIHomeContent, {
138
- ref: contentContainerRef,
139
- showFAQs: homeScrollableLayout,
140
- $isAgentView: !isMAIA,
141
- children: [homeScrollableLayout && /*#__PURE__*/_jsx(SCCAIHomeGradientTop, {
178
+ children: homeScrollableLayout ? /*#__PURE__*/_jsxs(SCCAIHomeScrollArea, {
179
+ children: [/*#__PURE__*/_jsx(SCCAIHomeScrollBody, {
180
+ ref: contentContainerRef,
181
+ children: homeBody
182
+ }), /*#__PURE__*/_jsx(SCCAIHomeGradientTop, {
142
183
  $show: showTopGradient
143
- }), /*#__PURE__*/_jsxs(SCCAIHomeContentInner, {
144
- showFAQs: homeScrollableLayout,
145
- $isAgentView: !isMAIA,
146
- children: [/*#__PURE__*/_jsxs(SCCAIHomeHeader, {
147
- $gap: isMAIA && section !== 'project' ? '8px' : '20px',
148
- $maxWidth: isMAIA ? '100%' : '380px',
149
- $isAgentView: !isMAIA,
150
- children: [renderHeaderContent(), section !== 'project' && /*#__PURE__*/_jsx(SCCAIHomeIntroduction, {
151
- expanded: expanded,
152
- children: !isMAIA && (agent === null || agent === void 0 ? void 0 : agent.introduction)
153
- })]
154
- }), showProjectSummary && (agent === null || agent === void 0 ? void 0 : agent.entity) === 'project' && /*#__PURE__*/_jsxs(SCCAHWrapperSummaryProject, {
155
- onClick: handlers.projectSummary,
156
- children: [/*#__PURE__*/_jsx(SCCAIHomeProjectSummary, {
157
- children: /*#__PURE__*/_jsx(TemplateGradientIcon, {
158
- height: 24,
159
- width: 24
160
- })
161
- }), /*#__PURE__*/_jsxs(SCCAIHomeProjectSummaryContent, {
162
- children: [/*#__PURE__*/_jsx(SCCAIHomeProjectSummaryTitle, {
163
- children: t('homeMenu.projectSummary.title')
164
- }), /*#__PURE__*/_jsx(SCCAIHomeProjectSummaryDescription, {
165
- children: t('homeMenu.projectSummary.description')
166
- })]
167
- })]
168
- }), showFAQs && /*#__PURE__*/_jsx(FrequentlyAskedQuestions, {
169
- onStartChat: onStartChat,
170
- showFAQs: showFAQs,
171
- showProjectSummary: showProjectSummary,
172
- agentId: agent === null || agent === void 0 ? void 0 : agent.id,
173
- lang: lang,
174
- isScrolling: isScrolling
175
- }), isMaiaker ? /*#__PURE__*/_jsx(ChatAIHomeMaiaker, {
176
- onStartChat: onStartChat
177
- }) : null]
178
- }), homeScrollableLayout && /*#__PURE__*/_jsx(SCCAIHomeGradientBottom, {
184
+ }), /*#__PURE__*/_jsx(SCCAIHomeGradientBottom, {
179
185
  $show: showBottomGradient
180
186
  })]
187
+ }) : /*#__PURE__*/_jsx(SCCAIHomeContent, {
188
+ showFAQs: false,
189
+ $isAgentView: !isMAIA,
190
+ children: homeBody
181
191
  })
182
192
  });
183
193
  };
184
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJ1c2VUIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsInVzZUdsb2JhbENvbnRleHQiLCJ2YWxpZGF0ZUlzTWFpYSIsIkZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIk1BSUFJc29sb2dvIiwiVGVtcGxhdGVHcmFkaWVudEljb24iLCJDaGF0QUlIb21lTWFpYWtlciIsImpzeHMiLCJfanN4cyIsImpzeCIsIl9qc3giLCJGcmVxdWVudFF1ZXN0aW9ucyIsIkNoYXRBSUhvbWUiLCJfcmVmIiwiaGFuZGxlcnMiLCJvblN0YXJ0Q2hhdCIsImV4cGFuZGVkIiwiX3VzZVQiLCJ0IiwiaTE4biIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJzZWN0aW9uIiwiaXNNQUlBIiwibGFuZyIsImxhbmd1YWdlIiwic3VtbWFyeVByb2plY3RBY2Nlc3MiLCJ3aW5kb3ciLCJTdHJpbmciLCJNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUyIsInRvTG93ZXJDYXNlIiwibWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzIiwiZmFxc0FjY2VzcyIsInNob3dQcm9qZWN0U3VtbWFyeSIsImlzTWFpYWtlciIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwic2hvd0ZBUXMiLCJob21lU2Nyb2xsYWJsZUxheW91dCIsImNvbnRlbnRDb250YWluZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaWQiLCJjaGVja1Njcm9sbCIsImNvbnRhaW5lciIsImN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJpc1Njcm9sbGFibGUiLCJpc0F0VG9wIiwiaXNBdEJvdHRvbSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJhZGRFdmVudExpc3RlbmVyIiwidGltZW91dElkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlckhlYWRlckNvbnRlbnQiLCJfYWdlbnQkY3JlYXRlZF9ieSIsIl9hZ2VudCRjcmVhdGVkX2J5MiIsImNoaWxkcmVuIiwiZW1vamkiLCJjcmVhdGVkX2J5IiwidGl0bGUiLCJpc19kZWxldGVkIiwiJG5vR2FwIiwicmVmIiwiJGlzQWdlbnRWaWV3IiwiJHNob3ciLCIkZ2FwIiwiJG1heFdpZHRoIiwib25DbGljayIsInByb2plY3RTdW1tYXJ5IiwiaGVpZ2h0Iiwid2lkdGgiLCJhZ2VudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUhvbWUvQ2hhdEFJSG9tZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcblxuaW1wb3J0IHtcbiAgU0NDQUlIb21lQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVDb250ZW50LFxuICBTQ0NBSUhvbWVDb250ZW50SW5uZXIsXG4gIFNDQ0FJSG9tZUdyYWRpZW50VG9wLFxuICBTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSxcbiAgU0NDQUlIb21lSGVhZGVyLFxuICBTQ0NBSUhvbWVHcmVldGluZyxcbiAgU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVBZ2VudEluZm8sXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24sXG4gIFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0LFxuICBTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24sXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCxcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUsXG4gIFNDQ0FJSG9tZUljb25Db250YWluZXIsXG4gIFNDQ0FJSG9tZUxvZ29XcmFwcGVyLFxuICBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2ssXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9NQUlBSXNvbG9nbydcbmltcG9ydCB7IFRlbXBsYXRlR3JhZGllbnRJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvVGVtcGxhdGVHcmFkaWVudEljb24nXG5pbXBvcnQgeyBDaGF0QUlIb21lTWFpYWtlciB9IGZyb20gJy4vQ2hhdEFJSG9tZU1haWFrZXInXG5cbnR5cGUgQ2hhdEFJSG9tZVByb3BzID0ge1xuICBvblN0YXJ0Q2hhdDogKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICgpID0+IHZvaWQ+XG4gIGV4cGFuZGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgZW51bSBGcmVxdWVudFF1ZXN0aW9ucyB7XG4gIHJlbnRhYmlsaWRhZF9wcm95ZWN0byA9ICdyZW50YWJpbGlkYWRfcHJveWVjdG8nLFxuICBhdmFuY2VfcHJveWVjdG8gPSAnYXZhbmNlX3Byb3llY3RvJyxcbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSUhvbWUgPSAoeyBoYW5kbGVycywgb25TdGFydENoYXQsIGV4cGFuZGVkIH06IENoYXRBSUhvbWVQcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCB7IGFnZW50LCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgbGFuZyA9IGkxOG4ubGFuZ3VhZ2UgPT09ICdicicgPyAncHQnIDogaTE4bi5sYW5ndWFnZVxuXG4gIGNvbnN0IHN1bW1hcnlQcm9qZWN0QWNjZXNzID1cbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIChTdHJpbmcod2luZG93Lk1BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgfHxcbiAgICAgIFN0cmluZyh3aW5kb3cubWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpXG4gIGNvbnN0IGZhcXNBY2Nlc3MgPSB0cnVlXG4gIGNvbnN0IHNob3dQcm9qZWN0U3VtbWFyeSA9ICEhKGlzTUFJQSAmJiBzdW1tYXJ5UHJvamVjdEFjY2VzcylcbiAgY29uc3QgaXNNYWlha2VyID0gYWdlbnQ/LmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG4gIGNvbnN0IHNob3dGQVFzID0gISEoaXNNQUlBICYmIGZhcXNBY2Nlc3MgJiYgIWlzTWFpYWtlcilcbiAgY29uc3QgaG9tZVNjcm9sbGFibGVMYXlvdXQgPSBzaG93RkFRcyB8fCBpc01haWFrZXJcblxuICAvLyBMw7NnaWNhIGRlbCBzY3JvbGwgY29uIGdyYWRpZW50ZXNcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3Nob3dUb3BHcmFkaWVudCwgc2V0U2hvd1RvcEdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0JvdHRvbUdyYWRpZW50LCBzZXRTaG93Qm90dG9tR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1Njcm9sbGluZywgc2V0SXNTY3JvbGxpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNjcm9sbFRpbWVvdXRSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuXG4gIC8vIFNhbHVkbyBhbGVhdG9yaW8gZGVzZGUgYWdlbnQuaW50cm9kdWN0aW9uIChhcnJheSBjb24gMyB2YXJpYW50ZXMgZGVsIGJhY2spLiBNYWlha2VyIHVzYSBzb2xvIGVsIGJsb3F1ZSBwcm9waW8sIHNpbiBpbnRybyBkZWwgYWdlbnRlLlxuICBjb25zdCBncmVldGluZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc01haWFrZXIpIHJldHVybiAnJ1xuICAgIGNvbnN0IGludHJvID0gYWdlbnQ/LmludHJvZHVjdGlvblxuICAgIGlmICghaW50cm8pIHJldHVybiAnJ1xuICAgIGlmIChBcnJheS5pc0FycmF5KGludHJvKSAmJiBpbnRyby5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW50cm9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW50cm8ubGVuZ3RoKV1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBpbnRybyA9PT0gJ3N0cmluZycgPyBpbnRybyA6ICcnXG4gIH0sIFthZ2VudD8uaWQsIGFnZW50Py5pbnRyb2R1Y3Rpb24sIHNlY3Rpb24sIGlzTWFpYWtlcl0pXG5cbiAgY29uc3QgY2hlY2tTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSByZXR1cm5cblxuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY29udGFpbmVyXG4gICAgY29uc3QgaXNTY3JvbGxhYmxlID0gc2Nyb2xsSGVpZ2h0ID4gY2xpZW50SGVpZ2h0XG4gICAgY29uc3QgaXNBdFRvcCA9IHNjcm9sbFRvcCA9PT0gMFxuICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMVxuXG4gICAgc2V0U2hvd1RvcEdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdFRvcClcbiAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0Qm90dG9tKVxuICAgIHNldElzU2Nyb2xsaW5nKHRydWUpXG5cbiAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgIH1cblxuICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNTY3JvbGxpbmcoZmFsc2UpXG4gICAgfSwgMTUwKVxuICB9LCBbaG9tZVNjcm9sbGFibGVMYXlvdXRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFob21lU2Nyb2xsYWJsZUxheW91dCkge1xuICAgICAgc2V0U2hvd1RvcEdyYWRpZW50KGZhbHNlKVxuICAgICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGZhbHNlKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY2hlY2tTY3JvbGwoKVxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoY2hlY2tTY3JvbGwsIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2hlY2tTY3JvbGwpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0LCBjaGVja1Njcm9sbF0pXG5cbiAgY29uc3QgcmVuZGVySGVhZGVyQ29udGVudCA9ICgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgICAge2FnZW50Py5lbW9qaX0ge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgIHthZ2VudD8uY3JlYXRlZF9ieSAmJiAhaXNNQUlBICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgYWdlbnQ/LmNyZWF0ZWRfYnk/LmlzX2RlbGV0ZWQgPyB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwRGVsZXRlZCcpIDogdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUuY3JlYXRlZEJ5Jyl9eycgJ31cbiAgICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT57YWdlbnQ/LmNyZWF0ZWRfYnk/Lm5hbWV9PC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lTWFpYUhlYWRlclN0YWNrICRub0dhcD17IWdyZWV0aW5nfT5cbiAgICAgICAgPFNDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgICAgPE1BSUFJc29sb2dvIC8+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgPC9TQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICB7Z3JlZXRpbmcgPyA8U0NDQUlIb21lR3JlZXRpbmc+e2dyZWV0aW5nfTwvU0NDQUlIb21lR3JlZXRpbmc+IDogbnVsbH1cbiAgICAgIDwvU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJSG9tZUNvbnRhaW5lciBzaG93RkFRcz17c2hvd0ZBUXN9PlxuICAgICAgPFNDQ0FJSG9tZUNvbnRlbnQgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfSBzaG93RkFRcz17aG9tZVNjcm9sbGFibGVMYXlvdXR9ICRpc0FnZW50Vmlldz17IWlzTUFJQX0+XG4gICAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCAmJiA8U0NDQUlIb21lR3JhZGllbnRUb3AgJHNob3c9e3Nob3dUb3BHcmFkaWVudH0gLz59XG4gICAgICAgIDxTQ0NBSUhvbWVDb250ZW50SW5uZXIgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fSAkaXNBZ2VudFZpZXc9eyFpc01BSUF9PlxuICAgICAgICAgIDxTQ0NBSUhvbWVIZWFkZXJcbiAgICAgICAgICAgICRnYXA9e2lzTUFJQSAmJiBzZWN0aW9uICE9PSAncHJvamVjdCcgPyAnOHB4JyA6ICcyMHB4J31cbiAgICAgICAgICAgICRtYXhXaWR0aD17aXNNQUlBID8gJzEwMCUnIDogJzM4MHB4J31cbiAgICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cmVuZGVySGVhZGVyQ29udGVudCgpfVxuXG4gICAgICAgICAgICB7c2VjdGlvbiAhPT0gJ3Byb2plY3QnICYmIChcbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZUludHJvZHVjdGlvbiBleHBhbmRlZD17ZXhwYW5kZWR9PnshaXNNQUlBICYmIGFnZW50Py5pbnRyb2R1Y3Rpb259PC9TQ0NBSUhvbWVJbnRyb2R1Y3Rpb24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlIb21lSGVhZGVyPlxuICAgICAgICAgIHtzaG93UHJvamVjdFN1bW1hcnkgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnICYmIChcbiAgICAgICAgICAgIDxTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCBvbkNsaWNrPXtoYW5kbGVycy5wcm9qZWN0U3VtbWFyeX0+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgICA8VGVtcGxhdGVHcmFkaWVudEljb24gaGVpZ2h0PXsyNH0gd2lkdGg9ezI0fSAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlPnt0KCdob21lTWVudS5wcm9qZWN0U3VtbWFyeS50aXRsZScpfTwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5wcm9qZWN0U3VtbWFyeS5kZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICA8L1NDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0PlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dGQVFzICYmIChcbiAgICAgICAgICAgIDxGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNcbiAgICAgICAgICAgICAgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fVxuICAgICAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgICAgIHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fVxuICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNNYWlha2VyID8gPENoYXRBSUhvbWVNYWlha2VyIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH0gLz4gOiBudWxsfVxuICAgICAgICA8L1NDQ0FJSG9tZUNvbnRlbnRJbm5lcj5cbiAgICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSAkc2hvdz17c2hvd0JvdHRvbUdyYWRpZW50fSAvPn1cbiAgICAgIDwvU0NDQUlIb21lQ29udGVudD5cbiAgICA8L1NDQ0FJSG9tZUNvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUV6RSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFJMUMsU0FDRUMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyx1QkFBdUIsRUFDdkJDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsdUJBQXVCLEVBQ3ZCQyw4QkFBOEIsRUFDOUJDLDRCQUE0QixFQUM1QkMsa0NBQWtDLEVBQ2xDQywwQkFBMEIsRUFDMUJDLHFCQUFxQixFQUNyQkMsMkJBQTJCLEVBQzNCQyxzQkFBc0IsRUFDdEJDLDBCQUEwQixFQUMxQkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixRQUNuQixVQUFVO0FBQ2pCLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxjQUFjLFFBQVEsd0NBQXdDO0FBR3ZFLFNBQVNDLHdCQUF3QixRQUFRLHNDQUFzQztBQUMvRSxTQUFTQyxXQUFXLFFBQVEsK0JBQStCO0FBQzNELFNBQVNDLG9CQUFvQixRQUFRLHdDQUF3QztBQUM3RSxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFBQSxTQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQUMsR0FBQSxJQUFBQyxJQUFBO0FBYXZELFdBQVlDLGlCQUFpQiwwQkFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBQSxPQUFqQkEsaUJBQWlCO0FBQUE7QUFLN0IsT0FBTyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQUMsSUFBQSxFQUE2RDtFQUFBLElBQXZEQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUFFQyxXQUFXLEdBQUFGLElBQUEsQ0FBWEUsV0FBVztJQUFFQyxRQUFRLEdBQUFILElBQUEsQ0FBUkcsUUFBUTtFQUMxRCxJQUFBQyxLQUFBLEdBQW9CdEMsSUFBSSxDQUFDLENBQUM7SUFBbEJ1QyxDQUFDLEdBQUFELEtBQUEsQ0FBREMsQ0FBQztJQUFFQyxJQUFJLEdBQUFGLEtBQUEsQ0FBSkUsSUFBSTtFQUNmLElBQUFDLGlCQUFBLEdBQTJCbkIsZ0JBQWdCLENBQUMsQ0FBQztJQUFyQ29CLEtBQUssR0FBQUQsaUJBQUEsQ0FBTEMsS0FBSztJQUFFQyxPQUFPLEdBQUFGLGlCQUFBLENBQVBFLE9BQU87RUFFdEIsSUFBTUMsTUFBTSxHQUFHckIsY0FBYyxDQUFDbUIsS0FBYyxDQUFDO0VBQzdDLElBQU1HLElBQUksR0FBR0wsSUFBSSxDQUFDTSxRQUFRLEtBQUssSUFBSSxHQUFHLElBQUksR0FBR04sSUFBSSxDQUFDTSxRQUFRO0VBRTFELElBQU1DLG9CQUFvQixHQUN4QixPQUFPQyxNQUFNLEtBQUssV0FBVyxLQUM1QkMsTUFBTSxDQUFDRCxNQUFNLENBQUNFLG1DQUFtQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEtBQUssTUFBTSxJQUMxRUYsTUFBTSxDQUFDRCxNQUFNLENBQUNJLHdCQUF3QixDQUFDLENBQUNELFdBQVcsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDO0VBQ3JFLElBQU1FLFVBQVUsR0FBRyxJQUFJO0VBQ3ZCLElBQU1DLGtCQUFrQixHQUFHLENBQUMsRUFBRVYsTUFBTSxJQUFJRyxvQkFBb0IsQ0FBQztFQUM3RCxJQUFNUSxTQUFTLEdBQUcsQ0FBQWIsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVjLE1BQU0sTUFBSyxRQUFRLElBQUksd0JBQXdCLENBQUNDLElBQUksQ0FBQyxDQUFBZixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRWdCLElBQUksS0FBSSxFQUFFLENBQUM7RUFDaEcsSUFBTUMsUUFBUSxHQUFHLENBQUMsRUFBRWYsTUFBTSxJQUFJUyxVQUFVLElBQUksQ0FBQ0UsU0FBUyxDQUFDO0VBQ3ZELElBQU1LLG9CQUFvQixHQUFHRCxRQUFRLElBQUlKLFNBQVM7O0VBRWxEO0VBQ0EsSUFBTU0sbUJBQW1CLEdBQUdsRSxNQUFNLENBQWlCLElBQUksQ0FBQztFQUN4RCxJQUFBbUUsU0FBQSxHQUE4Q2xFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1FLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXRERyxlQUFlLEdBQUFGLFVBQUE7SUFBRUcsa0JBQWtCLEdBQUFILFVBQUE7RUFDMUMsSUFBQUksVUFBQSxHQUFvRHZFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXdFLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQTVERSxrQkFBa0IsR0FBQUQsVUFBQTtJQUFFRSxxQkFBcUIsR0FBQUYsVUFBQTtFQUNoRCxJQUFBRyxVQUFBLEdBQXNDM0UsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNEUsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBOUNFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFDbEMsSUFBTUcsZ0JBQWdCLEdBQUdoRixNQUFNLENBQXVDLElBQUksQ0FBQzs7RUFFM0U7RUFDQSxJQUFNaUYsUUFBUSxHQUFHOUUsT0FBTyxDQUFDLFlBQU07SUFDN0IsSUFBSXlELFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDeEIsSUFBTXNCLEtBQUssR0FBR25DLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFb0MsWUFBWTtJQUNqQyxJQUFJLENBQUNELEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDckIsSUFBSUUsS0FBSyxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQyxJQUFJQSxLQUFLLENBQUNJLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDNUMsT0FBT0osS0FBSyxDQUFDSyxJQUFJLENBQUNDLEtBQUssQ0FBQ0QsSUFBSSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxHQUFHUCxLQUFLLENBQUNJLE1BQU0sQ0FBQyxDQUFDO0lBQ3hEO0lBQ0EsT0FBTyxPQUFPSixLQUFLLEtBQUssUUFBUSxHQUFHQSxLQUFLLEdBQUcsRUFBRTtFQUMvQyxDQUFDLEVBQUUsQ0FBQ25DLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMkMsRUFBRSxFQUFFM0MsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVvQyxZQUFZLEVBQUVuQyxPQUFPLEVBQUVZLFNBQVMsQ0FBQyxDQUFDO0VBRXhELElBQU0rQixXQUFXLEdBQUd6RixXQUFXLENBQUMsWUFBTTtJQUNwQyxJQUFNMEYsU0FBUyxHQUFHMUIsbUJBQW1CLENBQUMyQixPQUFPO0lBQzdDLElBQUksQ0FBQ0QsU0FBUyxJQUFJLENBQUMzQixvQkFBb0IsRUFBRTtJQUV6QyxJQUFRNkIsU0FBUyxHQUFpQ0YsU0FBUyxDQUFuREUsU0FBUztNQUFFQyxZQUFZLEdBQW1CSCxTQUFTLENBQXhDRyxZQUFZO01BQUVDLFlBQVksR0FBS0osU0FBUyxDQUExQkksWUFBWTtJQUM3QyxJQUFNQyxZQUFZLEdBQUdGLFlBQVksR0FBR0MsWUFBWTtJQUNoRCxJQUFNRSxPQUFPLEdBQUdKLFNBQVMsS0FBSyxDQUFDO0lBQy9CLElBQU1LLFVBQVUsR0FBR0wsU0FBUyxHQUFHRSxZQUFZLElBQUlELFlBQVksR0FBRyxDQUFDO0lBRS9EeEIsa0JBQWtCLENBQUMwQixZQUFZLElBQUksQ0FBQ0MsT0FBTyxDQUFDO0lBQzVDdkIscUJBQXFCLENBQUNzQixZQUFZLElBQUksQ0FBQ0UsVUFBVSxDQUFDO0lBQ2xEcEIsY0FBYyxDQUFDLElBQUksQ0FBQztJQUVwQixJQUFJQyxnQkFBZ0IsQ0FBQ2EsT0FBTyxFQUFFO01BQzVCTyxZQUFZLENBQUNwQixnQkFBZ0IsQ0FBQ2EsT0FBTyxDQUFDO0lBQ3hDO0lBRUFiLGdCQUFnQixDQUFDYSxPQUFPLEdBQUdRLFVBQVUsQ0FBQyxZQUFNO01BQzFDdEIsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDLEVBQUUsR0FBRyxDQUFDO0VBQ1QsQ0FBQyxFQUFFLENBQUNkLG9CQUFvQixDQUFDLENBQUM7RUFFMUJsRSxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQ2tFLG9CQUFvQixFQUFFO01BQ3pCTSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7TUFDekJJLHFCQUFxQixDQUFDLEtBQUssQ0FBQztNQUM1QixPQUFPMkIsU0FBUztJQUNsQjtJQUVBLElBQU1WLFNBQVMsR0FBRzFCLG1CQUFtQixDQUFDMkIsT0FBTztJQUM3QyxJQUFJLENBQUNELFNBQVMsRUFBRTtNQUNkLE9BQU9VLFNBQVM7SUFDbEI7SUFFQVgsV0FBVyxDQUFDLENBQUM7SUFDYkMsU0FBUyxDQUFDVyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVaLFdBQVcsQ0FBQztJQUVqRCxJQUFNYSxTQUFTLEdBQUdILFVBQVUsQ0FBQ1YsV0FBVyxFQUFFLEdBQUcsQ0FBQztJQUU5QyxPQUFPLFlBQU07TUFDWEMsU0FBUyxDQUFDYSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUVkLFdBQVcsQ0FBQztNQUNwRFMsWUFBWSxDQUFDSSxTQUFTLENBQUM7TUFDdkIsSUFBSXhCLGdCQUFnQixDQUFDYSxPQUFPLEVBQUU7UUFDNUJPLFlBQVksQ0FBQ3BCLGdCQUFnQixDQUFDYSxPQUFPLENBQUM7TUFDeEM7SUFDRixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUM1QixvQkFBb0IsRUFBRTBCLFdBQVcsQ0FBQyxDQUFDO0VBRXZDLElBQU1lLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUEsRUFBUztJQUNoQyxJQUFJLENBQUN6RCxNQUFNLEVBQUU7TUFBQSxJQUFBMEQsaUJBQUEsRUFBQUMsa0JBQUE7TUFDWCxvQkFDRTFFLEtBQUEsQ0FBQ3JCLDJCQUEyQjtRQUFBZ0csUUFBQSxnQkFDMUIzRSxLQUFBLENBQUNwQixrQkFBa0I7VUFBQStGLFFBQUEsR0FDaEI5RCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRStELEtBQUssRUFBQyxHQUFDLEVBQUMvRCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRWdCLElBQUk7UUFBQSxDQUNULENBQUMsRUFDcEIsQ0FBQWhCLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFZ0UsVUFBVSxLQUFJLENBQUM5RCxNQUFNLGlCQUMzQmIsSUFBQSxDQUFDZiwyQkFBMkI7VUFBQXdGLFFBQUEsZUFDMUJ6RSxJQUFBLENBQUNoQyxPQUFPO1lBQ040RyxLQUFLLEVBQ0hqRSxLQUFLLGFBQUxBLEtBQUssZ0JBQUE0RCxpQkFBQSxHQUFMNUQsS0FBSyxDQUFFZ0UsVUFBVSxjQUFBSixpQkFBQSxlQUFqQkEsaUJBQUEsQ0FBbUJNLFVBQVUsR0FBR3JFLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHQSxDQUFDLENBQUMsMkJBQTJCLENBQ3RHO1lBQUFpRSxRQUFBLGVBRUQzRSxLQUFBLENBQUNaLHNCQUFzQjtjQUFBdUYsUUFBQSxHQUNwQmpFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEdBQUcsZUFDN0JSLElBQUEsQ0FBQ2IsMEJBQTBCO2dCQUFBc0YsUUFBQSxFQUFFOUQsS0FBSyxhQUFMQSxLQUFLLGdCQUFBNkQsa0JBQUEsR0FBTDdELEtBQUssQ0FBRWdFLFVBQVUsY0FBQUgsa0JBQUEsdUJBQWpCQSxrQkFBQSxDQUFtQjdDO2NBQUksQ0FBNkIsQ0FBQztZQUFBLENBQzVEO1VBQUMsQ0FDbEI7UUFBQyxDQUNpQixDQUM5QjtNQUFBLENBQzBCLENBQUM7SUFFbEM7SUFFQSxvQkFDRTdCLEtBQUEsQ0FBQ1Isd0JBQXdCO01BQUN3RixNQUFNLEVBQUUsQ0FBQ2pDLFFBQVM7TUFBQTRCLFFBQUEsZ0JBQzFDekUsSUFBQSxDQUFDWixzQkFBc0I7UUFBQXFGLFFBQUEsZUFDckJ6RSxJQUFBLENBQUNYLG9CQUFvQjtVQUFBb0YsUUFBQSxlQUNuQnpFLElBQUEsQ0FBQ04sV0FBVyxJQUFFO1FBQUMsQ0FDSztNQUFDLENBQ0QsQ0FBQyxFQUN4Qm1ELFFBQVEsZ0JBQUc3QyxJQUFBLENBQUN4QixpQkFBaUI7UUFBQWlHLFFBQUEsRUFBRTVCO01BQVEsQ0FBb0IsQ0FBQyxHQUFHLElBQUk7SUFBQSxDQUM1QyxDQUFDO0VBRS9CLENBQUM7RUFFRCxvQkFDRTdDLElBQUEsQ0FBQzlCLGtCQUFrQjtJQUFDMEQsUUFBUSxFQUFFQSxRQUFTO0lBQUE2QyxRQUFBLGVBQ3JDM0UsS0FBQSxDQUFDM0IsZ0JBQWdCO01BQUM0RyxHQUFHLEVBQUVqRCxtQkFBb0I7TUFBQ0YsUUFBUSxFQUFFQyxvQkFBcUI7TUFBQ21ELFlBQVksRUFBRSxDQUFDbkUsTUFBTztNQUFBNEQsUUFBQSxHQUMvRjVDLG9CQUFvQixpQkFBSTdCLElBQUEsQ0FBQzNCLG9CQUFvQjtRQUFDNEcsS0FBSyxFQUFFL0M7TUFBZ0IsQ0FBRSxDQUFDLGVBQ3pFcEMsS0FBQSxDQUFDMUIscUJBQXFCO1FBQUN3RCxRQUFRLEVBQUVDLG9CQUFxQjtRQUFDbUQsWUFBWSxFQUFFLENBQUNuRSxNQUFPO1FBQUE0RCxRQUFBLGdCQUMzRTNFLEtBQUEsQ0FBQ3ZCLGVBQWU7VUFDZDJHLElBQUksRUFBRXJFLE1BQU0sSUFBSUQsT0FBTyxLQUFLLFNBQVMsR0FBRyxLQUFLLEdBQUcsTUFBTztVQUN2RHVFLFNBQVMsRUFBRXRFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBUTtVQUNyQ21FLFlBQVksRUFBRSxDQUFDbkUsTUFBTztVQUFBNEQsUUFBQSxHQUVyQkgsbUJBQW1CLENBQUMsQ0FBQyxFQUVyQjFELE9BQU8sS0FBSyxTQUFTLGlCQUNwQlosSUFBQSxDQUFDaEIscUJBQXFCO1lBQUNzQixRQUFRLEVBQUVBLFFBQVM7WUFBQW1FLFFBQUEsRUFBRSxDQUFDNUQsTUFBTSxLQUFJRixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRW9DLFlBQVk7VUFBQSxDQUF3QixDQUNuRztRQUFBLENBQ2MsQ0FBQyxFQUNqQnhCLGtCQUFrQixJQUFJLENBQUFaLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFYyxNQUFNLE1BQUssU0FBUyxpQkFDaEQzQixLQUFBLENBQUNmLDBCQUEwQjtVQUFDcUcsT0FBTyxFQUFFaEYsUUFBUSxDQUFDaUYsY0FBZTtVQUFBWixRQUFBLGdCQUMzRHpFLElBQUEsQ0FBQ3JCLHVCQUF1QjtZQUFBOEYsUUFBQSxlQUN0QnpFLElBQUEsQ0FBQ0wsb0JBQW9CO2NBQUMyRixNQUFNLEVBQUUsRUFBRztjQUFDQyxLQUFLLEVBQUU7WUFBRyxDQUFFO1VBQUMsQ0FDeEIsQ0FBQyxlQUMxQnpGLEtBQUEsQ0FBQ2xCLDhCQUE4QjtZQUFBNkYsUUFBQSxnQkFDN0J6RSxJQUFBLENBQUNuQiw0QkFBNEI7Y0FBQTRGLFFBQUEsRUFBRWpFLENBQUMsQ0FBQywrQkFBK0I7WUFBQyxDQUErQixDQUFDLGVBQ2pHUixJQUFBLENBQUNsQixrQ0FBa0M7Y0FBQTJGLFFBQUEsRUFDaENqRSxDQUFDLENBQUMscUNBQXFDO1lBQUMsQ0FDUCxDQUFDO1VBQUEsQ0FDUCxDQUFDO1FBQUEsQ0FDUCxDQUM3QixFQUNBb0IsUUFBUSxpQkFDUDVCLElBQUEsQ0FBQ1Asd0JBQXdCO1VBQ3ZCWSxXQUFXLEVBQUVBLFdBQVk7VUFDekJ1QixRQUFRLEVBQUVBLFFBQVM7VUFDbkJMLGtCQUFrQixFQUFFQSxrQkFBbUI7VUFDdkNpRSxPQUFPLEVBQUU3RSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTJDLEVBQUc7VUFDbkJ4QyxJQUFJLEVBQUVBLElBQUs7VUFDWDRCLFdBQVcsRUFBRUE7UUFBWSxDQUMxQixDQUNGLEVBQ0FsQixTQUFTLGdCQUFHeEIsSUFBQSxDQUFDSixpQkFBaUI7VUFBQ1MsV0FBVyxFQUFFQTtRQUFZLENBQUUsQ0FBQyxHQUFHLElBQUk7TUFBQSxDQUM5QyxDQUFDLEVBQ3ZCd0Isb0JBQW9CLGlCQUFJN0IsSUFBQSxDQUFDMUIsdUJBQXVCO1FBQUMyRyxLQUFLLEVBQUUzQztNQUFtQixDQUFFLENBQUM7SUFBQSxDQUMvRDtFQUFDLENBQ0QsQ0FBQztBQUV6QixDQUFDIiwiaWdub3JlTGlzdCI6W119
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJ1c2VUIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZVNjcm9sbEFyZWEiLCJTQ0NBSUhvbWVTY3JvbGxCb2R5IiwiU0NDQUlIb21lQ29udGVudElubmVyIiwiU0NDQUlIb21lR3JhZGllbnRUb3AiLCJTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSIsIlNDQ0FJSG9tZUhlYWRlciIsIlNDQ0FJSG9tZUdyZWV0aW5nIiwiU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyIiwiU0NDQUlIb21lQWdlbnRJbmZvIiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnkiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlIiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbiIsIlNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0IiwiU0NDQUlIb21lSW50cm9kdWN0aW9uIiwiU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyIiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lIiwiU0NDQUlIb21lSWNvbkNvbnRhaW5lciIsIlNDQ0FJSG9tZUxvZ29XcmFwcGVyIiwiU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrIiwidXNlR2xvYmFsQ29udGV4dCIsInZhbGlkYXRlSXNNYWlhIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiTUFJQUlzb2xvZ28iLCJUZW1wbGF0ZUdyYWRpZW50SWNvbiIsIkNoYXRBSUhvbWVNYWlha2VyIiwianN4cyIsIl9qc3hzIiwianN4IiwiX2pzeCIsIkZyZXF1ZW50UXVlc3Rpb25zIiwiQ2hhdEFJSG9tZSIsIl9yZWYiLCJoYW5kbGVycyIsIm9uU3RhcnRDaGF0IiwiZXhwYW5kZWQiLCJfdXNlVCIsInQiLCJpMThuIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsInNlY3Rpb24iLCJpc01BSUEiLCJsYW5nIiwibGFuZ3VhZ2UiLCJzdW1tYXJ5UHJvamVjdEFjY2VzcyIsIndpbmRvdyIsIlN0cmluZyIsIk1BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTIiwidG9Mb3dlckNhc2UiLCJtYWlhUHJvamVjdFN1bW1hcnlBY2Nlc3MiLCJmYXFzQWNjZXNzIiwic2hvd1Byb2plY3RTdW1tYXJ5IiwiaXNNYWlha2VyIiwiZW50aXR5IiwidGVzdCIsIm5hbWUiLCJzaG93RkFRcyIsImhvbWVTY3JvbGxhYmxlTGF5b3V0IiwiY29udGVudENvbnRhaW5lclJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dUb3BHcmFkaWVudCIsInNldFNob3dUb3BHcmFkaWVudCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd0JvdHRvbUdyYWRpZW50Iiwic2V0U2hvd0JvdHRvbUdyYWRpZW50IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwic2Nyb2xsVGltZW91dFJlZiIsImdyZWV0aW5nIiwiaW50cm8iLCJpbnRyb2R1Y3Rpb24iLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJpZCIsImNoZWNrU2Nyb2xsIiwiY29udGFpbmVyIiwiY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzU2Nyb2xsYWJsZSIsImlzQXRUb3AiLCJpc0F0Qm90dG9tIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemVPYnNlcnZlciIsIlJlc2l6ZU9ic2VydmVyIiwib2JzZXJ2ZSIsInRpbWVvdXRJZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkaXNjb25uZWN0IiwicmVuZGVySGVhZGVyQ29udGVudCIsIl9hZ2VudCRjcmVhdGVkX2J5IiwiX2FnZW50JGNyZWF0ZWRfYnkyIiwiY2hpbGRyZW4iLCJlbW9qaSIsImNyZWF0ZWRfYnkiLCJ0aXRsZSIsImlzX2RlbGV0ZWQiLCIkbm9HYXAiLCJob21lQm9keSIsIiRpc0FnZW50VmlldyIsIiRnYXAiLCIkbWF4V2lkdGgiLCJvbkNsaWNrIiwicHJvamVjdFN1bW1hcnkiLCJoZWlnaHQiLCJ3aWR0aCIsImFnZW50SWQiLCJyZWYiLCIkc2hvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL0NoYXRBSUhvbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9jb25zdGFudHMnXG5cbmltcG9ydCB7XG4gIFNDQ0FJSG9tZUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ29udGVudCxcbiAgU0NDQUlIb21lU2Nyb2xsQXJlYSxcbiAgU0NDQUlIb21lU2Nyb2xsQm9keSxcbiAgU0NDQUlIb21lQ29udGVudElubmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudFRvcCxcbiAgU0NDQUlIb21lR3JhZGllbnRCb3R0b20sXG4gIFNDQ0FJSG9tZUhlYWRlcixcbiAgU0NDQUlIb21lR3JlZXRpbmcsXG4gIFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcixcbiAgU0NDQUlIb21lQWdlbnRJbmZvLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uLFxuICBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCxcbiAgU0NDQUlIb21lSW50cm9kdWN0aW9uLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lLFxuICBTQ0NBSUhvbWVJY29uQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVMb2dvV3JhcHBlcixcbiAgU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrLFxufSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvTUFJQUlzb2xvZ28nXG5pbXBvcnQgeyBUZW1wbGF0ZUdyYWRpZW50SWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL1RlbXBsYXRlR3JhZGllbnRJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJSG9tZU1haWFrZXIgfSBmcm9tICcuL0NoYXRBSUhvbWVNYWlha2VyJ1xuXG50eXBlIENoYXRBSUhvbWVQcm9wcyA9IHtcbiAgb25TdGFydENoYXQ6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgaGFuZGxlcnM6IFJlY29yZDxvcHRpb25zLCAoKSA9PiB2b2lkPlxuICBleHBhbmRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRnJlcXVlbnRRdWVzdGlvbnMge1xuICByZW50YWJpbGlkYWRfcHJveWVjdG8gPSAncmVudGFiaWxpZGFkX3Byb3llY3RvJyxcbiAgYXZhbmNlX3Byb3llY3RvID0gJ2F2YW5jZV9wcm95ZWN0bycsXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCB9OiBDaGF0QUlIb21lUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgeyBhZ2VudCwgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0JyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBjb25zdCBzdW1tYXJ5UHJvamVjdEFjY2VzcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoU3RyaW5nKHdpbmRvdy5NQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIHx8XG4gICAgICBTdHJpbmcod2luZG93Lm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKVxuICBjb25zdCBmYXFzQWNjZXNzID0gdHJ1ZVxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnkgPSAhIShpc01BSUEgJiYgc3VtbWFyeVByb2plY3RBY2Nlc3MpXG4gIGNvbnN0IGlzTWFpYWtlciA9IGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmIC8obWFpYWtlcnxtYXJrZXRwbGFjZSkvaS50ZXN0KGFnZW50Py5uYW1lIHx8ICcnKVxuICBjb25zdCBzaG93RkFRcyA9ICEhKGlzTUFJQSAmJiBmYXFzQWNjZXNzICYmICFpc01haWFrZXIpXG4gIGNvbnN0IGhvbWVTY3JvbGxhYmxlTGF5b3V0ID0gc2hvd0ZBUXMgfHwgaXNNYWlha2VyXG5cbiAgLy8gTMOzZ2ljYSBkZWwgc2Nyb2xsIGNvbiBncmFkaWVudGVzIChvdmVybGF5IGZpam8gYWwgdmlld3BvcnQgZGVsIHNjcm9sbCwgbm8gc3RpY2t5IGVuIGVsIGZsdWpvKVxuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbc2hvd1RvcEdyYWRpZW50LCBzZXRTaG93VG9wR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93Qm90dG9tR3JhZGllbnQsIHNldFNob3dCb3R0b21HcmFkaWVudF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3Qgc2Nyb2xsVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2FsdWRvIGFsZWF0b3JpbyBkZXNkZSBhZ2VudC5pbnRyb2R1Y3Rpb24gKGFycmF5IGNvbiAzIHZhcmlhbnRlcyBkZWwgYmFjaykuIE1haWFrZXIgdXNhIHNvbG8gZWwgYmxvcXVlIHByb3Bpbywgc2luIGludHJvIGRlbCBhZ2VudGUuXG4gIGNvbnN0IGdyZWV0aW5nID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTWFpYWtlcikgcmV0dXJuICcnXG4gICAgY29uc3QgaW50cm8gPSBhZ2VudD8uaW50cm9kdWN0aW9uXG4gICAgaWYgKCFpbnRybykgcmV0dXJuICcnXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW50cm8pICYmIGludHJvLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBpbnRyb1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpbnRyby5sZW5ndGgpXVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGludHJvID09PSAnc3RyaW5nJyA/IGludHJvIDogJydcbiAgfSwgW2FnZW50Py5pZCwgYWdlbnQ/LmludHJvZHVjdGlvbiwgc2VjdGlvbiwgaXNNYWlha2VyXSlcblxuICBjb25zdCBjaGVja1Njcm9sbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhaG9tZVNjcm9sbGFibGVMYXlvdXQpIHJldHVyblxuXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJcbiAgICBjb25zdCBpc1Njcm9sbGFibGUgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHRcbiAgICBjb25zdCBpc0F0VG9wID0gc2Nyb2xsVG9wID09PSAwXG4gICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxXG5cbiAgICBzZXRTaG93VG9wR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0VG9wKVxuICAgIHNldFNob3dCb3R0b21HcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRCb3R0b20pXG4gICAgc2V0SXNTY3JvbGxpbmcodHJ1ZSlcblxuICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIHtcbiAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgfVxuXG4gICAgc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1Njcm9sbGluZyhmYWxzZSlcbiAgICB9LCAxNTApXG4gIH0sIFtob21lU2Nyb2xsYWJsZUxheW91dF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSB7XG4gICAgICBzZXRTaG93VG9wR3JhZGllbnQoZmFsc2UpXG4gICAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoZmFsc2UpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjaGVja1Njcm9sbCgpXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsKVxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IGNoZWNrU2Nyb2xsKCkpXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIpXG5cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KGNoZWNrU2Nyb2xsLCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsKVxuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0LCBjaGVja1Njcm9sbF0pXG5cbiAgY29uc3QgcmVuZGVySGVhZGVyQ29udGVudCA9ICgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgICAge2FnZW50Py5lbW9qaX0ge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgIHthZ2VudD8uY3JlYXRlZF9ieSAmJiAhaXNNQUlBICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgYWdlbnQ/LmNyZWF0ZWRfYnk/LmlzX2RlbGV0ZWQgPyB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwRGVsZXRlZCcpIDogdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUuY3JlYXRlZEJ5Jyl9eycgJ31cbiAgICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT57YWdlbnQ/LmNyZWF0ZWRfYnk/Lm5hbWV9PC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lTWFpYUhlYWRlclN0YWNrICRub0dhcD17IWdyZWV0aW5nfT5cbiAgICAgICAgPFNDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgICAgPE1BSUFJc29sb2dvIC8+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgPC9TQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICB7Z3JlZXRpbmcgPyA8U0NDQUlIb21lR3JlZXRpbmc+e2dyZWV0aW5nfTwvU0NDQUlIb21lR3JlZXRpbmc+IDogbnVsbH1cbiAgICAgIDwvU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGhvbWVCb2R5ID0gKFxuICAgIDxTQ0NBSUhvbWVDb250ZW50SW5uZXIgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fSAkaXNBZ2VudFZpZXc9eyFpc01BSUF9PlxuICAgICAgPFNDQ0FJSG9tZUhlYWRlclxuICAgICAgICAkZ2FwPXtpc01BSUEgJiYgc2VjdGlvbiAhPT0gJ3Byb2plY3QnID8gJzhweCcgOiAnMjBweCd9XG4gICAgICAgICRtYXhXaWR0aD17aXNNQUlBID8gJzEwMCUnIDogJzM4MHB4J31cbiAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgPlxuICAgICAgICB7cmVuZGVySGVhZGVyQ29udGVudCgpfVxuXG4gICAgICAgIHtzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgKFxuICAgICAgICAgIDxTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT57IWlzTUFJQSAmJiBhZ2VudD8uaW50cm9kdWN0aW9ufTwvU0NDQUlIb21lSW50cm9kdWN0aW9uPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSUhvbWVIZWFkZXI+XG4gICAgICB7c2hvd1Byb2plY3RTdW1tYXJ5ICYmIGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyAmJiAoXG4gICAgICAgIDxTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCBvbkNsaWNrPXtoYW5kbGVycy5wcm9qZWN0U3VtbWFyeX0+XG4gICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgPFRlbXBsYXRlR3JhZGllbnRJY29uIGhlaWdodD17MjR9IHdpZHRoPXsyNH0gLz5cbiAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT57dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkudGl0bGUnKX08L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+XG4gICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgIDwvU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Q+XG4gICAgICApfVxuICAgICAge3Nob3dGQVFzICYmIChcbiAgICAgICAgPEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1xuICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgc2hvd1Byb2plY3RTdW1tYXJ5PXtzaG93UHJvamVjdFN1bW1hcnl9XG4gICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc01haWFrZXIgPyA8Q2hhdEFJSG9tZU1haWFrZXIgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fSAvPiA6IG51bGx9XG4gICAgPC9TQ0NBSUhvbWVDb250ZW50SW5uZXI+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUhvbWVDb250YWluZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfT5cbiAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCA/IChcbiAgICAgICAgPFNDQ0FJSG9tZVNjcm9sbEFyZWE+XG4gICAgICAgICAgPFNDQ0FJSG9tZVNjcm9sbEJvZHkgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfT57aG9tZUJvZHl9PC9TQ0NBSUhvbWVTY3JvbGxCb2R5PlxuICAgICAgICAgIDxTQ0NBSUhvbWVHcmFkaWVudFRvcCAkc2hvdz17c2hvd1RvcEdyYWRpZW50fSAvPlxuICAgICAgICAgIDxTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSAkc2hvdz17c2hvd0JvdHRvbUdyYWRpZW50fSAvPlxuICAgICAgICA8L1NDQ0FJSG9tZVNjcm9sbEFyZWE+XG4gICAgICApIDogKFxuICAgICAgICA8U0NDQUlIb21lQ29udGVudCBzaG93RkFRcz17ZmFsc2V9ICRpc0FnZW50Vmlldz17IWlzTUFJQX0+XG4gICAgICAgICAge2hvbWVCb2R5fVxuICAgICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICApfVxuICAgIDwvU0NDQUlIb21lQ29udGFpbmVy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QUN0QjdFLElBQUEsQ0FBQ0wsb0JBQW9CO1VBQUM4RixNQUFNLEVBQUUsRUFBRztVQUFDQyxLQUFLLEVBQUU7UUFBRyxDQUFFO01BQUMsQ0FDeEIsQ0FBQyxlQUMxQjVGLEtBQUEsQ0FBQ2xCLDhCQUE4QjtRQUFBaUcsUUFBQSxnQkFDN0I3RSxJQUFBLENBQUNuQiw0QkFBNEI7VUFBQWdHLFFBQUEsRUFBRXJFLENBQUMsQ0FBQywrQkFBK0I7UUFBQyxDQUErQixDQUFDLGVBQ2pHUixJQUFBLENBQUNsQixrQ0FBa0M7VUFBQStGLFFBQUEsRUFDaENyRSxDQUFDLENBQUMscUNBQXFDO1FBQUMsQ0FDUCxDQUFDO01BQUEsQ0FDUCxDQUFDO0lBQUEsQ0FDUCxDQUM3QixFQUNBb0IsUUFBUSxpQkFDUDVCLElBQUEsQ0FBQ1Asd0JBQXdCO01BQ3ZCWSxXQUFXLEVBQUVBLFdBQVk7TUFDekJ1QixRQUFRLEVBQUVBLFFBQVM7TUFDbkJMLGtCQUFrQixFQUFFQSxrQkFBbUI7TUFDdkNvRSxPQUFPLEVBQUVoRixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTJDLEVBQUc7TUFDbkJ4QyxJQUFJLEVBQUVBLElBQUs7TUFDWDRCLFdBQVcsRUFBRUE7SUFBWSxDQUMxQixDQUNGLEVBQ0FsQixTQUFTLGdCQUFHeEIsSUFBQSxDQUFDSixpQkFBaUI7TUFBQ1MsV0FBVyxFQUFFQTtJQUFZLENBQUUsQ0FBQyxHQUFHLElBQUk7RUFBQSxDQUM5QyxDQUN4QjtFQUVELG9CQUNFTCxJQUFBLENBQUNoQyxrQkFBa0I7SUFBQzRELFFBQVEsRUFBRUEsUUFBUztJQUFBaUQsUUFBQSxFQUNwQ2hELG9CQUFvQixnQkFDbkIvQixLQUFBLENBQUM1QixtQkFBbUI7TUFBQTJHLFFBQUEsZ0JBQ2xCN0UsSUFBQSxDQUFDN0IsbUJBQW1CO1FBQUN5SCxHQUFHLEVBQUU5RCxtQkFBb0I7UUFBQStDLFFBQUEsRUFBRU07TUFBUSxDQUFzQixDQUFDLGVBQy9FbkYsSUFBQSxDQUFDM0Isb0JBQW9CO1FBQUN3SCxLQUFLLEVBQUUzRDtNQUFnQixDQUFFLENBQUMsZUFDaERsQyxJQUFBLENBQUMxQix1QkFBdUI7UUFBQ3VILEtBQUssRUFBRXZEO01BQW1CLENBQUUsQ0FBQztJQUFBLENBQ25DLENBQUMsZ0JBRXRCdEMsSUFBQSxDQUFDL0IsZ0JBQWdCO01BQUMyRCxRQUFRLEVBQUUsS0FBTTtNQUFDd0QsWUFBWSxFQUFFLENBQUN2RSxNQUFPO01BQUFnRSxRQUFBLEVBQ3RETTtJQUFRLENBQ087RUFDbkIsQ0FDaUIsQ0FBQztBQUV6QixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -8,18 +8,26 @@ export var SCCAIHomeContainer = styled.div.withConfig({
8
8
  export var SCCAIHomeContent = styled.div.withConfig({
9
9
  displayName: "styles__SCCAIHomeContent",
10
10
  componentId: "sc-33wjx7-1"
11
- })(["display:flex;padding:0;align-items:center;gap:0;flex-direction:column;width:100%;max-width:864px;justify-content:", ";flex:1;min-height:0;position:relative;", " ", " @media (min-height:1000px){justify-content:", ";padding:0 16px;flex:0 1 auto;}"], function (props) {
11
+ })(["display:flex;padding:0;align-items:center;gap:0;flex-direction:column;width:100%;max-width:864px;justify-content:", ";flex:1;min-height:0;position:relative;", " @media (min-height:1000px){justify-content:", ";padding:0 16px;flex:0 1 auto;}"], function (props) {
12
12
  return props.showFAQs || props.$isAgentView ? 'flex-start' : 'center';
13
- }, function (props) {
14
- return props.showFAQs && 'overflow-y: auto; overscroll-behavior-y: contain;';
15
13
  }, function (props) {
16
14
  return !props.showFAQs && 'padding: 0 16px;';
17
15
  }, function (props) {
18
16
  return props.$isAgentView ? 'flex-start' : 'center';
19
17
  });
18
+
19
+ /** Contenedor del área con scroll: gradientes absolutos respecto a este viewport, no al contenido */
20
+ export var SCCAIHomeScrollArea = styled.div.withConfig({
21
+ displayName: "styles__SCCAIHomeScrollArea",
22
+ componentId: "sc-33wjx7-2"
23
+ })(["position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;align-self:center;width:100%;max-width:864px;"]);
24
+ export var SCCAIHomeScrollBody = styled.div.withConfig({
25
+ displayName: "styles__SCCAIHomeScrollBody",
26
+ componentId: "sc-33wjx7-3"
27
+ })(["flex:1 1 0;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;"]);
20
28
  export var SCCAIHomeContentInner = styled.div.withConfig({
21
29
  displayName: "styles__SCCAIHomeContentInner",
22
- componentId: "sc-33wjx7-2"
30
+ componentId: "sc-33wjx7-4"
23
31
  })(["display:flex;padding:", ";align-items:center;gap:18px;flex-direction:column;width:100%;", " box-sizing:border-box;justify-content:", ";margin-top:", ";@media (min-height:1000px){margin-top:0;}"], function (props) {
24
32
  return props.showFAQs ? '16px' : '0';
25
33
  }, function (props) {
@@ -31,19 +39,19 @@ export var SCCAIHomeContentInner = styled.div.withConfig({
31
39
  });
32
40
  export var SCCAIHomeGradientTop = styled.div.withConfig({
33
41
  displayName: "styles__SCCAIHomeGradientTop",
34
- componentId: "sc-33wjx7-3"
35
- })(["position:sticky;top:0;left:0;right:0;height:60px;background:linear-gradient( to bottom,#ffffff 0%,rgba(255,255,255,0.9) 30%,rgba(255,255,255,0.5) 70%,rgba(255,255,255,0) 100% );pointer-events:none;z-index:10;opacity:", ";transition:opacity 0.3s ease-in-out;width:100%;max-width:432px;margin-bottom:-60px;flex-shrink:0;"], function (props) {
42
+ componentId: "sc-33wjx7-5"
43
+ })(["position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient( to bottom,#ffffff 0%,rgba(255,255,255,0.9) 30%,rgba(255,255,255,0.5) 70%,rgba(255,255,255,0) 100% );pointer-events:none;z-index:10;opacity:", ";transition:opacity 0.3s ease-in-out;width:100%;box-sizing:border-box;"], function (props) {
36
44
  return props.$show ? 1 : 0;
37
45
  });
38
46
  export var SCCAIHomeGradientBottom = styled.div.withConfig({
39
47
  displayName: "styles__SCCAIHomeGradientBottom",
40
- componentId: "sc-33wjx7-4"
41
- })(["position:sticky;bottom:0;left:0;right:0;height:60px;background:linear-gradient( to top,#ffffff 0%,rgba(255,255,255,0.9) 30%,rgba(255,255,255,0.5) 70%,rgba(255,255,255,0) 100% );pointer-events:none;z-index:10;opacity:", ";transition:opacity 0.3s ease-in-out;width:100%;max-width:432px;margin-top:-60px;flex-shrink:0;"], function (props) {
48
+ componentId: "sc-33wjx7-6"
49
+ })(["position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient( to top,#ffffff 0%,rgba(255,255,255,0.9) 30%,rgba(255,255,255,0.5) 70%,rgba(255,255,255,0) 100% );pointer-events:none;z-index:10;opacity:", ";transition:opacity 0.3s ease-in-out;width:100%;box-sizing:border-box;"], function (props) {
42
50
  return props.$show ? 1 : 0;
43
51
  });
44
52
  export var SCCAIHomeHeader = styled.div.withConfig({
45
53
  displayName: "styles__SCCAIHomeHeader",
46
- componentId: "sc-33wjx7-5"
54
+ componentId: "sc-33wjx7-7"
47
55
  })(["display:flex;flex-direction:column;gap:", ";align-items:center;max-width:", ";width:100%;flex-shrink:0;justify-content:", ";"], function (props) {
48
56
  return props.$gap || '20px';
49
57
  }, function (props) {
@@ -53,112 +61,112 @@ export var SCCAIHomeHeader = styled.div.withConfig({
53
61
  });
54
62
  export var SCCAIHomeAgentInfoContainer = styled.div.withConfig({
55
63
  displayName: "styles__SCCAIHomeAgentInfoContainer",
56
- componentId: "sc-33wjx7-6"
64
+ componentId: "sc-33wjx7-8"
57
65
  })(["display:flex;flex-direction:column;gap:4px;align-items:center;width:100%;"]);
58
66
 
59
67
  /** Header MAIA (isologo + saludo): gap 0 si no hay texto de saludo */
60
68
  export var SCCAIHomeMaiaHeaderStack = styled.div.withConfig({
61
69
  displayName: "styles__SCCAIHomeMaiaHeaderStack",
62
- componentId: "sc-33wjx7-7"
70
+ componentId: "sc-33wjx7-9"
63
71
  })(["display:flex;flex-direction:column;align-items:center;gap:", ";"], function (p) {
64
72
  return p.$noGap ? 0 : '8px';
65
73
  });
66
74
  export var SCCAIHomeGreeting = styled.span.withConfig({
67
75
  displayName: "styles__SCCAIHomeGreeting",
68
- componentId: "sc-33wjx7-8"
76
+ componentId: "sc-33wjx7-10"
69
77
  })(["font-size:20px;font-weight:500;color:rgba(32,32,31,1);line-height:122%;text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;", ""], function (props) {
70
78
  return props.$truncate && "\n display: inline-block;\n max-width: 100%;\n cursor: default;\n ";
71
79
  });
72
80
  export var SCCAIHomeAgentInfo = styled.span.withConfig({
73
81
  displayName: "styles__SCCAIHomeAgentInfo",
74
- componentId: "sc-33wjx7-9"
82
+ componentId: "sc-33wjx7-11"
75
83
  })(["color:#20201f;text-align:center;font-family:'Work Sans';font-size:24px;font-weight:500;line-height:115%;letter-spacing:-0.12px;"]);
76
84
  export var SCCAIHomeIntroduction = styled.span.withConfig({
77
85
  displayName: "styles__SCCAIHomeIntroduction",
78
- componentId: "sc-33wjx7-10"
86
+ componentId: "sc-33wjx7-12"
79
87
  })(["font-size:14px;line-height:140%;color:rgba(102,102,102,1);max-width:", ";text-align:center;display:inline-block;word-wrap:normal;overflow-wrap:normal;"], function (props) {
80
88
  return props.expanded ? '482px' : '360px';
81
89
  });
82
90
  export var SCCAIHomeHowItWorks = styled.span.withConfig({
83
91
  displayName: "styles__SCCAIHomeHowItWorks",
84
- componentId: "sc-33wjx7-11"
92
+ componentId: "sc-33wjx7-13"
85
93
  })(["color:#6f33a0;font-family:Work Sans;font-size:14px;line-height:140%;letter-spacing:-0.21px;cursor:pointer;&:hover{color:#aa6ede;}"]);
86
94
  export var SCCAIHomeProjectSummary = styled.div.withConfig({
87
95
  displayName: "styles__SCCAIHomeProjectSummary",
88
- componentId: "sc-33wjx7-12"
96
+ componentId: "sc-33wjx7-14"
89
97
  })(["display:flex;align-items:center;justify-content:center;padding:6px;border-radius:4px;"]);
90
98
  export var SCCAIHomeProjectSummaryContent = styled.div.withConfig({
91
99
  displayName: "styles__SCCAIHomeProjectSummaryContent",
92
- componentId: "sc-33wjx7-13"
100
+ componentId: "sc-33wjx7-15"
93
101
  })(["display:flex;flex-direction:column;"]);
94
102
  export var SCCAIHomeProjectSummaryTitle = styled.span.withConfig({
95
103
  displayName: "styles__SCCAIHomeProjectSummaryTitle",
96
- componentId: "sc-33wjx7-14"
104
+ componentId: "sc-33wjx7-16"
97
105
  })(["font-size:12px;color:rgba(32,32,31,1);"]);
98
106
  export var SCCAIHomeProjectSummaryDescription = styled.span.withConfig({
99
107
  displayName: "styles__SCCAIHomeProjectSummaryDescription",
100
- componentId: "sc-33wjx7-15"
108
+ componentId: "sc-33wjx7-17"
101
109
  })(["font-size:11px;color:rgba(102,102,102,1);"]);
102
110
  export var SCCAIHomeQAContainer = styled.div.withConfig({
103
111
  displayName: "styles__SCCAIHomeQAContainer",
104
- componentId: "sc-33wjx7-16"
112
+ componentId: "sc-33wjx7-18"
105
113
  })(["display:none;width:100%;flex-direction:column;gap:12px;"]);
106
114
  export var SCCAIHomeQATitle = styled.div.withConfig({
107
115
  displayName: "styles__SCCAIHomeQATitle",
108
- componentId: "sc-33wjx7-17"
116
+ componentId: "sc-33wjx7-19"
109
117
  })(["display:flex;align-items:center;gap:8px;padding:6px;line-height:140%;cursor:default;"]);
110
118
  export var SCCAIHomeQATitleText = styled.span.withConfig({
111
119
  displayName: "styles__SCCAIHomeQATitleText",
112
- componentId: "sc-33wjx7-18"
120
+ componentId: "sc-33wjx7-20"
113
121
  })(["font-size:14px;color:rgba(135,64,191,1);"]);
114
122
  export var SCCAIHomeQAItem = styled.div.withConfig({
115
123
  displayName: "styles__SCCAIHomeQAItem",
116
- componentId: "sc-33wjx7-19"
124
+ componentId: "sc-33wjx7-21"
117
125
  })(["display:flex;align-items:center;gap:8px;padding:6px;cursor:pointer;"]);
118
126
  export var SCCAIHomeQAItemText = styled.span.withConfig({
119
127
  displayName: "styles__SCCAIHomeQAItemText",
120
- componentId: "sc-33wjx7-20"
128
+ componentId: "sc-33wjx7-22"
121
129
  })(["font-size:14px;color:rgb(102,102,102);line-height:140%;"]);
122
130
  export var StyledQAContainer = styled.div.withConfig({
123
131
  displayName: "styles__StyledQAContainer",
124
- componentId: "sc-33wjx7-21"
132
+ componentId: "sc-33wjx7-23"
125
133
  })(["display:flex;flex-direction:column;gap:16px;width:100%;margin-top:36px;flex:1;.ChatAIHome-qa-title{display:flex;align-items:center;gap:8px;color:", ";font-size:14px;line-height:140%;padding:0 6px;}.ChatAIHome-qa-list{display:flex;flex-direction:column;gap:12px;.ChatAIHome-qa-item{color:", ";font-size:14px;line-height:140%;display:flex;align-items:center;gap:8px;padding:6px;}}"], GLOBAL_COLORS.primary, colors.text.secondary);
126
134
  export var SCCAHWrapperSummaryProject = styled.div.withConfig({
127
135
  displayName: "styles__SCCAHWrapperSummaryProject",
128
- componentId: "sc-33wjx7-22"
136
+ componentId: "sc-33wjx7-24"
129
137
  })(["background-color:white;display:flex;border-radius:8px;padding:10px;border:1px solid rgba(242,242,242,1);width:100%;max-width:432px;align-items:center;gap:12px;cursor:pointer;flex-shrink:0;transition:background-color 0.2s ease-in-out,transform 0.1s ease-in-out;&:hover{background-color:#f2f2f2;}"]);
130
138
  export var SCCAIHomeCreatedByContainer = styled.div.withConfig({
131
139
  displayName: "styles__SCCAIHomeCreatedByContainer",
132
- componentId: "sc-33wjx7-23"
140
+ componentId: "sc-33wjx7-25"
133
141
  })(["display:flex;align-items:center;justify-content:center;width:100%;gap:12px;"]);
134
142
  export var SCCAIHomeCreatedByLine = styled.div.withConfig({
135
143
  displayName: "styles__SCCAIHomeCreatedByLine",
136
- componentId: "sc-33wjx7-24"
144
+ componentId: "sc-33wjx7-26"
137
145
  })(["flex:1;height:1px;background-color:rgba(200,200,200,0.5);"]);
138
146
  export var SCCAIHomeCreatedByText = styled.span.withConfig({
139
147
  displayName: "styles__SCCAIHomeCreatedByText",
140
- componentId: "sc-33wjx7-25"
148
+ componentId: "sc-33wjx7-27"
141
149
  })(["font-size:12px;color:#999999;cursor:default;"]);
142
150
  export var SCCAIHomeCreatedByTextName = styled.span.withConfig({
143
151
  displayName: "styles__SCCAIHomeCreatedByTextName",
144
- componentId: "sc-33wjx7-26"
152
+ componentId: "sc-33wjx7-28"
145
153
  })(["font-style:italic;"]);
146
154
  var gradientPulse1 = keyframes(["0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1);}50%{opacity:0.5;transform:translate(-50%,-50%) scale(0.85);}"]);
147
155
  var gradientPulse2 = keyframes(["0%,100%{opacity:0.5;transform:translate(-50%,-50%) scale(0.85);}50%{opacity:1;transform:translate(-50%,-50%) scale(1);}"]);
148
156
  export var SCCAIHomeIconContainer = styled.div.withConfig({
149
157
  displayName: "styles__SCCAIHomeIconContainer",
150
- componentId: "sc-33wjx7-27"
158
+ componentId: "sc-33wjx7-29"
151
159
  })(["aspect-ratio:1/1;position:relative;display:flex;align-items:center;justify-content:center;"]);
152
160
  export var SCCAIHomeGradient1 = styled.div.withConfig({
153
161
  displayName: "styles__SCCAIHomeGradient1",
154
- componentId: "sc-33wjx7-28"
162
+ componentId: "sc-33wjx7-30"
155
163
  })(["position:absolute;width:100px;height:60px;border-radius:50%;background:radial-gradient(50% 50% at 50% 100%,#fffff 0%,#ffffff 100%);filter:blur(25px);animation:", " 3s ease-in-out infinite;z-index:0;top:50%;left:50%;"], gradientPulse1);
156
164
  export var SCCAIHomeGradient2 = styled.div.withConfig({
157
165
  displayName: "styles__SCCAIHomeGradient2",
158
- componentId: "sc-33wjx7-29"
166
+ componentId: "sc-33wjx7-31"
159
167
  })(["position:absolute;width:100px;height:60px;border-radius:50%;background:radial-gradient(50% 50% at 50% 100%,#ffffff 0%,#ffffff 100%);filter:blur(25px);animation:", " 3s ease-in-out infinite;z-index:0;top:50%;left:50%;"], gradientPulse2);
160
168
  export var SCCAIHomeLogoWrapper = styled.div.withConfig({
161
169
  displayName: "styles__SCCAIHomeLogoWrapper",
162
- componentId: "sc-33wjx7-30"
170
+ componentId: "sc-33wjx7-32"
163
171
  })(["position:relative;z-index:1;"]);
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0NBSUhvbWVDb250ZW50IiwicHJvcHMiLCJzaG93RkFRcyIsIiRpc0FnZW50VmlldyIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiJHNob3ciLCJTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSIsIlNDQ0FJSG9tZUhlYWRlciIsIiRnYXAiLCIkbWF4V2lkdGgiLCJTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIiLCJTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2siLCJwIiwiJG5vR2FwIiwiU0NDQUlIb21lR3JlZXRpbmciLCJzcGFuIiwiJHRydW5jYXRlIiwiU0NDQUlIb21lQWdlbnRJbmZvIiwiU0NDQUlIb21lSW50cm9kdWN0aW9uIiwiZXhwYW5kZWQiLCJTQ0NBSUhvbWVIb3dJdFdvcmtzIiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnkiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlIiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbiIsIlNDQ0FJSG9tZVFBQ29udGFpbmVyIiwiU0NDQUlIb21lUUFUaXRsZSIsIlNDQ0FJSG9tZVFBVGl0bGVUZXh0IiwiU0NDQUlIb21lUUFJdGVtIiwiU0NDQUlIb21lUUFJdGVtVGV4dCIsIlN0eWxlZFFBQ29udGFpbmVyIiwicHJpbWFyeSIsInRleHQiLCJzZWNvbmRhcnkiLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUxpbmUiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0IiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUiLCJncmFkaWVudFB1bHNlMSIsImdyYWRpZW50UHVsc2UyIiwiU0NDQUlIb21lSWNvbkNvbnRhaW5lciIsIlNDQ0FJSG9tZUdyYWRpZW50MSIsIlNDQ0FJSG9tZUdyYWRpZW50MiIsIlNDQ0FJSG9tZUxvZ29XcmFwcGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUhvbWUvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgc2hvd0ZBUXM/OiBib29sZWFuIH0+YFxuICBmbGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgc2hvd0ZBUXM/OiBib29sZWFuOyAkaXNBZ2VudFZpZXc/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLnNob3dGQVFzIHx8IHByb3BzLiRpc0FnZW50VmlldyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJHtwcm9wcyA9PiBwcm9wcy5zaG93RkFRcyAmJiAnb3ZlcmZsb3cteTogYXV0bzsgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluOyd9XG4gICR7cHJvcHMgPT4gIXByb3BzLnNob3dGQVFzICYmICdwYWRkaW5nOiAwIDE2cHg7J31cblxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDEwMDBweCkge1xuICAgIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnRJbm5lciA9IHN0eWxlZC5kaXY8eyBzaG93RkFRcz86IGJvb2xlYW47ICRpc0FnZW50Vmlldz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLnNob3dGQVFzID8gJzE2cHgnIDogJzAnKX07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMThweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gICR7cHJvcHMgPT4gcHJvcHMuc2hvd0ZBUXMgJiYgJ21pbi1oZWlnaHQ6IDEwMCU7J31cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IChwcm9wcy5zaG93RkFRcyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gIC8qIENlbnRyYWRvIGVuIMOhcmVhIHZpc2libGU6IDUwdmggLSBtaXRhZCBkZWwgYmxvcXVlICg4MHB4KSAtIHBhZGRpbmcgd3JhcHBlciAoMTZweCkgLSBhbHR1cmEgaGVhZGVyICh+NTZweCkgKi9cbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiAocHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2NhbGMoNTB2aCAtIDgwcHggLSAxNnB4IC0gNTZweCknIDogJzAnKX07XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudFRvcCA9IHN0eWxlZC5kaXY8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gYm90dG9tLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93ID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MzJweDtcbiAgbWFyZ2luLWJvdHRvbTogLTYwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnRCb3R0b20gPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDMycHg7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUhlYWRlciA9IHN0eWxlZC5kaXY8eyAkZ2FwPzogc3RyaW5nOyAkbWF4V2lkdGg/OiBzdHJpbmc7ICRpc0FnZW50Vmlldz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHtwcm9wcyA9PiBwcm9wcy4kZ2FwIHx8ICcyMHB4J307XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy4kbWF4V2lkdGggfHwgJzEwMCUnfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRpc0FnZW50VmlldyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbi8qKiBIZWFkZXIgTUFJQSAoaXNvbG9nbyArIHNhbHVkbyk6IGdhcCAwIHNpIG5vIGhheSB0ZXh0byBkZSBzYWx1ZG8gKi9cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2sgPSBzdHlsZWQuZGl2PHsgJG5vR2FwPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAke3AgPT4gKHAuJG5vR2FwID8gMCA6ICc4cHgnKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmVldGluZyA9IHN0eWxlZC5zcGFuPHsgJHRydW5jYXRlPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDEyMiU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAke3Byb3BzID0+XG4gICAgcHJvcHMuJHRydW5jYXRlICYmXG4gICAgYFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQWdlbnRJbmZvID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTE1JTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gPSBzdHlsZWQuc3Bhbjx7IGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG4gIG1heC13aWR0aDogJHtwcm9wcyA9PiAocHJvcHMuZXhwYW5kZWQgPyAnNDgycHgnIDogJzM2MHB4Jyl9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUhvd0l0V29ya3MgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM2ZjMzYTA7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNhYTZlZGU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24gPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFUaXRsZVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogcmdiYSgxMzUsIDY0LCAxOTEsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFJdGVtVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkUUFDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAzNnB4O1xuICBmbGV4OiAxO1xuXG4gIC5DaGF0QUlIb21lLXFhLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgY29sb3I6ICR7R0xPQkFMX0NPTE9SUy5wcmltYXJ5fTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gIH1cblxuICAuQ2hhdEFJSG9tZS1xYS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuXG4gICAgLkNoYXRBSUhvbWUtcWEtaXRlbSB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDEpO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MzJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCxcbiAgICB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeUxpbmUgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjUpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXN0eWxlOiBpdGFsaWM7XG5gXG5cbmNvbnN0IGdyYWRpZW50UHVsc2UxID0ga2V5ZnJhbWVzYFxuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjg1KTtcbiAgfVxuYFxuXG5jb25zdCBncmFkaWVudFB1bHNlMiA9IGtleWZyYW1lc2BcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjg1KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gIH1cbmBcbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVJY29uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudDEgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSAxMDAlLCAjZmZmZmYgMCUsICNmZmZmZmYgMTAwJSk7XG4gIGZpbHRlcjogYmx1cigyNXB4KTtcbiAgYW5pbWF0aW9uOiAke2dyYWRpZW50UHVsc2UxfSAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50MiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDEwMCUsICNmZmZmZmYgMCUsICNmZmZmZmYgMTAwJSk7XG4gIGZpbHRlcjogYmx1cigyNXB4KTtcbiAgYW5pbWF0aW9uOiAke2dyYWRpZW50UHVsc2UyfSAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUxvZ29XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLFNBQVMsUUFBUSxtQkFBbUI7QUFDckQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUV0RCxTQUFTQyxhQUFhLFFBQVEsd0JBQXdCO0FBRXRELE9BQU8sSUFBTUMsa0JBQWtCLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRMQWMzQztBQUVELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdULE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZQQVFyQixVQUFBRSxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxRQUFRLElBQUlELEtBQUssQ0FBQ0UsWUFBWSxHQUFHLFlBQVksR0FBRyxRQUFRO0FBQUEsQ0FBQyxFQUkxRixVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxRQUFRLElBQUksbURBQW1EO0FBQUEsR0FDOUUsVUFBQUQsS0FBSztFQUFBLE9BQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFRLElBQUksa0JBQWtCO0FBQUEsR0FHM0IsVUFBQUQsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0UsWUFBWSxHQUFHLFlBQVksR0FBRyxRQUFRO0FBQUEsQ0FBQyxDQUk3RTtBQUVELE9BQU8sSUFBTUMscUJBQXFCLEdBQUdiLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdB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
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0NBSUhvbWVDb250ZW50IiwicHJvcHMiLCJzaG93RkFRcyIsIiRpc0FnZW50VmlldyIsIlNDQ0FJSG9tZVNjcm9sbEFyZWEiLCJTQ0NBSUhvbWVTY3JvbGxCb2R5IiwiU0NDQUlIb21lQ29udGVudElubmVyIiwiU0NDQUlIb21lR3JhZGllbnRUb3AiLCIkc2hvdyIsIlNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tIiwiU0NDQUlIb21lSGVhZGVyIiwiJGdhcCIsIiRtYXhXaWR0aCIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsInAiLCIkbm9HYXAiLCJTQ0NBSUhvbWVHcmVldGluZyIsInNwYW4iLCIkdHJ1bmNhdGUiLCJTQ0NBSUhvbWVBZ2VudEluZm8iLCJTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24iLCJleHBhbmRlZCIsIlNDQ0FJSG9tZUhvd0l0V29ya3MiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uIiwiU0NDQUlIb21lUUFDb250YWluZXIiLCJTQ0NBSUhvbWVRQVRpdGxlIiwiU0NDQUlIb21lUUFUaXRsZVRleHQiLCJTQ0NBSUhvbWVRQUl0ZW0iLCJTQ0NBSUhvbWVRQUl0ZW1UZXh0IiwiU3R5bGVkUUFDb250YWluZXIiLCJwcmltYXJ5IiwidGV4dCIsInNlY29uZGFyeSIsIlNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0IiwiU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyIiwiU0NDQUlIb21lQ3JlYXRlZEJ5TGluZSIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsImdyYWRpZW50UHVsc2UxIiwiZ3JhZGllbnRQdWxzZTIiLCJTQ0NBSUhvbWVJY29uQ29udGFpbmVyIiwiU0NDQUlIb21lR3JhZGllbnQxIiwiU0NDQUlIb21lR3JhZGllbnQyIiwiU0NDQUlIb21lTG9nb1dyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJSG9tZS9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5pbXBvcnQgeyBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBzaG93RkFRcz86IGJvb2xlYW4gfT5gXG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGVudCA9IHN0eWxlZC5kaXY8eyBzaG93RkFRcz86IGJvb2xlYW47ICRpc0FnZW50Vmlldz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuc2hvd0ZBUXMgfHwgcHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAke3Byb3BzID0+ICFwcm9wcy5zaG93RkFRcyAmJiAncGFkZGluZzogMCAxNnB4Oyd9XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRpc0FnZW50VmlldyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5gXG5cbi8qKiBDb250ZW5lZG9yIGRlbCDDoXJlYSBjb24gc2Nyb2xsOiBncmFkaWVudGVzIGFic29sdXRvcyByZXNwZWN0byBhIGVzdGUgdmlld3BvcnQsIG5vIGFsIGNvbnRlbmlkbyAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVNjcm9sbEFyZWEgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lU2Nyb2xsQm9keSA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDEgMSAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDb250ZW50SW5uZXIgPSBzdHlsZWQuZGl2PHsgc2hvd0ZBUXM/OiBib29sZWFuOyAkaXNBZ2VudFZpZXc/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5zaG93RkFRcyA/ICcxNnB4JyA6ICcwJyl9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICAke3Byb3BzID0+IHByb3BzLnNob3dGQVFzICYmICdtaW4taGVpZ2h0OiAxMDAlOyd9XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuc2hvd0ZBUXMgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuICAvKiBDZW50cmFkbyBlbiDDoXJlYSB2aXNpYmxlOiA1MHZoIC0gbWl0YWQgZGVsIGJsb3F1ZSAoODBweCkgLSBwYWRkaW5nIHdyYXBwZXIgKDE2cHgpIC0gYWx0dXJhIGhlYWRlciAofjU2cHgpICovXG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gKHByb3BzLiRpc0FnZW50VmlldyA/ICdjYWxjKDUwdmggLSA4MHB4IC0gMTZweCAtIDU2cHgpJyA6ICcwJyl9O1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnRUb3AgPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gYm90dG9tLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93ID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tID0gc3R5bGVkLmRpdjx7ICRzaG93OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIZWFkZXIgPSBzdHlsZWQuZGl2PHsgJGdhcD86IHN0cmluZzsgJG1heFdpZHRoPzogc3RyaW5nOyAkaXNBZ2VudFZpZXc/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6ICR7cHJvcHMgPT4gcHJvcHMuJGdhcCB8fCAnMjBweCd9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMuJG1heFdpZHRoIHx8ICcxMDAlJ307XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IChwcm9wcy4kaXNBZ2VudFZpZXcgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG4vKiogSGVhZGVyIE1BSUEgKGlzb2xvZ28gKyBzYWx1ZG8pOiBnYXAgMCBzaSBubyBoYXkgdGV4dG8gZGUgc2FsdWRvICovXG5leHBvcnQgY29uc3QgU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrID0gc3R5bGVkLmRpdjx7ICRub0dhcD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogJHtwID0+IChwLiRub0dhcCA/IDAgOiAnOHB4Jyl9O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JlZXRpbmcgPSBzdHlsZWQuc3Bhbjx7ICR0cnVuY2F0ZT86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gIGxpbmUtaGVpZ2h0OiAxMjIlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLiR0cnVuY2F0ZSAmJlxuICAgIGBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUFnZW50SW5mbyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSW50cm9kdWN0aW9uID0gc3R5bGVkLnNwYW48eyBleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLmV4cGFuZGVkID8gJzQ4MnB4JyA6ICczNjBweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIb3dJdFdvcmtzID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjNmYzM2EwO1xuICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjYWE2ZWRlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBVGl0bGVUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBSXRlbVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFFBQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMzZweDtcbiAgZmxleDogMTtcblxuICAuQ2hhdEFJSG9tZS1xYS10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGNvbG9yOiAke0dMT0JBTF9DT0xPUlMucHJpbWFyeX07XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICB9XG5cbiAgLkNoYXRBSUhvbWUtcWEtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcblxuICAgIC5DaGF0QUlIb21lLXFhLWl0ZW0ge1xuICAgICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIHBhZGRpbmc6IDZweDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDMycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC41KTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuYFxuXG5jb25zdCBncmFkaWVudFB1bHNlMSA9IGtleWZyYW1lc2BcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC44NSk7XG4gIH1cbmBcblxuY29uc3QgZ3JhZGllbnRQdWxzZTIgPSBrZXlmcmFtZXNgXG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC44NSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSWNvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnQxID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCA1MCUgMTAwJSwgI2ZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpO1xuICBmaWx0ZXI6IGJsdXIoMjVweCk7XG4gIGFuaW1hdGlvbjogJHtncmFkaWVudFB1bHNlMX0gM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudDIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSAxMDAlLCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpO1xuICBmaWx0ZXI6IGJsdXIoMjVweCk7XG4gIGFuaW1hdGlvbjogJHtncmFkaWVudFB1bHNlMn0gM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVMb2dvV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxTQUFTLFFBQVEsbUJBQW1CO0FBQ3JELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFFdEQsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUV0RCxPQUFPLElBQU1DLGtCQUFrQixHQUFHSixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0TEFjM0M7QUFFRCxPQUFPLElBQU1DLGdCQUFnQixHQUFHVCxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3UEFRckIsVUFBQUUsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0MsUUFBUSxJQUFJRCxLQUFLLENBQUNFLFlBQVksR0FBRyxZQUFZLEdBQUcsUUFBUTtBQUFBLENBQUMsRUFJMUYsVUFBQUYsS0FBSztFQUFBLE9BQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFRLElBQUksa0JBQWtCO0FBQUEsR0FHM0IsVUFBQUQsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0UsWUFBWSxHQUFHLFlBQVksR0FBRyxRQUFRO0FBQUEsQ0FBQyxDQUk3RTs7QUFFRDtBQUNBLE9BQU8sSUFBTUMsbUJBQW1CLEdBQUdiLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtJQVM1QztBQUVELE9BQU8sSUFBTU0sbUJBQW1CLEdBQUdkLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJHQU81QztBQUVELE9BQU8sSUFBTU8scUJBQXFCLEdBQUdmLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlNQUVsQyxVQUFBRSxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxRQUFRLEdBQUcsTUFBTSxHQUFHLEdBQUc7QUFBQSxDQUFDLEVBS2pELFVBQUFELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLFFBQVEsSUFBSSxtQkFBbUI7QUFBQSxHQUU3QixVQUFBRCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxRQUFRLEdBQUcsWUFBWSxHQUFHLFFBQVE7QUFBQSxDQUFDLEVBRXhELFVBQUFELEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNFLFlBQVksR0FBRyxpQ0FBaUMsR0FBRyxHQUFHO0FBQUEsQ0FBQyxDQUt0RjtBQUVELE9BQU8sSUFBTUksb0JBQW9CLEdBQUdoQixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2U0FlakMsVUFBQUUsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ08sS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO0FBQUEsQ0FBQyxDQUkxQztBQUVELE9BQU8sSUFBTUMsdUJBQXVCLEdBQUdsQixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2U0FlcEMsVUFBQUUsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ08sS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO0FBQUEsQ0FBQyxDQUkxQztBQUVELE9BQU8sSUFBTUUsZUFBZSxHQUFHbkIsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUlBR2hDLFVBQUFFLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNVLElBQUksSUFBSSxNQUFNO0FBQUEsR0FFdkIsVUFBQVYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ1csU0FBUyxJQUFJLE1BQU07QUFBQSxHQUc1QixVQUFBWCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDRSxZQUFZLEdBQUcsWUFBWSxHQUFHLFFBQVE7QUFBQSxDQUFDLENBQzNFO0FBRUQsT0FBTyxJQUFNVSwyQkFBMkIsR0FBR3RCLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlGQU1wRDs7QUFFRDtBQUNBLE9BQU8sSUFBTWUsd0JBQXdCLEdBQUd2QixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3RUFJekMsVUFBQWdCLENBQUM7RUFBQSxPQUFLQSxDQUFDLENBQUNDLE1BQU0sR0FBRyxDQUFDLEdBQUcsS0FBSztBQUFBLENBQUMsQ0FDbkM7QUFFRCxPQUFPLElBQU1DLGlCQUFpQixHQUFHMUIsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvS0FTeEMsVUFBQUUsS0FBSztFQUFBLE9BQ0xBLEtBQUssQ0FBQ2tCLFNBQVMsa0ZBS2hCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsa0JBQWtCLEdBQUc3QixNQUFNLENBQUMyQixJQUFJLENBQUFyQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVJQVE1QztBQUVELE9BQU8sSUFBTXNCLHFCQUFxQixHQUFHOUIsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFJakMsVUFBQUUsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ3FCLFFBQVEsR0FBRyxPQUFPLEdBQUcsT0FBTztBQUFBLENBQUMsQ0FLM0Q7QUFFRCxPQUFPLElBQU1DLG1CQUFtQixHQUFHaEMsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5SUFXN0M7QUFFRCxPQUFPLElBQU15Qix1QkFBdUIsR0FBR2pDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZGQU1oRDtBQUVELE9BQU8sSUFBTTBCLDhCQUE4QixHQUFHbEMsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkNBR3ZEO0FBRUQsT0FBTyxJQUFNMkIsNEJBQTRCLEdBQUduQyxNQUFNLENBQUMyQixJQUFJLENBQUFyQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhDQUd0RDtBQUVELE9BQU8sSUFBTTRCLGtDQUFrQyxHQUFHcEMsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpREFHNUQ7QUFFRCxPQUFPLElBQU02QixvQkFBb0IsR0FBR3JDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtEQUs3QztBQUVELE9BQU8sSUFBTThCLGdCQUFnQixHQUFHdEMsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNEZBT3pDO0FBRUQsT0FBTyxJQUFNK0Isb0JBQW9CLEdBQUd2QyxNQUFNLENBQUMyQixJQUFJLENBQUFyQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdEQUc5QztBQUVELE9BQU8sSUFBTWdDLGVBQWUsR0FBR3hDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQU14QztBQUVELE9BQU8sSUFBTWlDLG1CQUFtQixHQUFHekMsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJN0M7QUFFRCxPQUFPLElBQU1rQyxpQkFBaUIsR0FBRzFDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1ZQVk5QkwsYUFBYSxDQUFDd0MsT0FBTyxFQVluQnpDLE1BQU0sQ0FBQzBDLElBQUksQ0FBQ0MsU0FBUyxDQVNuQztBQUVELE9BQU8sSUFBTUMsMEJBQTBCLEdBQUc5QyxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4U0FtQm5EO0FBRUQsT0FBTyxJQUFNdUMsMkJBQTJCLEdBQUcvQyxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtRkFNcEQ7QUFFRCxPQUFPLElBQU13QyxzQkFBc0IsR0FBR2hELE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlFQUkvQztBQUVELE9BQU8sSUFBTXlDLHNCQUFzQixHQUFHakQsTUFBTSxDQUFDMkIsSUFBSSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvREFJaEQ7QUFFRCxPQUFPLElBQU0wQywwQkFBMEIsR0FBR2xELE1BQU0sQ0FBQzJCLElBQUksQ0FBQXJCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMEJBRXBEO0FBRUQsSUFBTTJDLGNBQWMsR0FBR2xELFNBQVMsNkhBUy9CO0FBRUQsSUFBTW1ELGNBQWMsR0FBR25ELFNBQVMsNkhBUy9CO0FBQ0QsT0FBTyxJQUFNb0Qsc0JBQXNCLEdBQUdyRCxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrR0FNL0M7QUFFRCxPQUFPLElBQU04QyxrQkFBa0IsR0FBR3RELE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdPQU83QjJDLGNBQWMsQ0FJNUI7QUFFRCxPQUFPLElBQU1JLGtCQUFrQixHQUFHdkQsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaU9BTzdCNEMsY0FBYyxDQUk1QjtBQUVELE9BQU8sSUFBTUksb0JBQW9CLEdBQUd4RCxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvQ0FHN0MiLCJpZ25vcmVMaXN0IjpbXX0=