@payloadcms/richtext-lexical 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/field/features/Blocks/populationPromise.d.ts.map +1 -1
  2. package/dist/field/features/Blocks/populationPromise.js +2 -1
  3. package/dist/field/features/Link/drawer/baseFields.d.ts +1 -1
  4. package/dist/field/features/Link/drawer/baseFields.d.ts.map +1 -1
  5. package/dist/field/features/Link/drawer/baseFields.js +14 -13
  6. package/dist/field/features/Link/index.d.ts +5 -0
  7. package/dist/field/features/Link/index.d.ts.map +1 -1
  8. package/dist/field/features/Link/index.js +1 -1
  9. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +1 -1
  10. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  11. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +3 -3
  12. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts +1 -1
  13. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  14. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.js +3 -3
  15. package/dist/field/features/Link/populationPromise.d.ts.map +1 -1
  16. package/dist/field/features/Link/populationPromise.js +3 -1
  17. package/dist/field/features/Relationship/index.d.ts +8 -1
  18. package/dist/field/features/Relationship/index.d.ts.map +1 -1
  19. package/dist/field/features/Relationship/index.js +5 -5
  20. package/dist/field/features/Relationship/populationPromise.d.ts +2 -1
  21. package/dist/field/features/Relationship/populationPromise.d.ts.map +1 -1
  22. package/dist/field/features/Relationship/populationPromise.js +27 -22
  23. package/dist/field/features/Upload/index.d.ts +5 -0
  24. package/dist/field/features/Upload/index.d.ts.map +1 -1
  25. package/dist/field/features/Upload/index.js +1 -1
  26. package/dist/field/features/Upload/populationPromise.d.ts.map +1 -1
  27. package/dist/field/features/Upload/populationPromise.js +5 -2
  28. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  29. package/dist/field/features/lists/common/markdown.d.ts.map +1 -1
  30. package/dist/field/features/types.d.ts +1 -0
  31. package/dist/field/features/types.d.ts.map +1 -1
  32. package/dist/field/lexical/LexicalEditor.js +2 -2
  33. package/dist/field/lexical/config/EditorConfigProvider.d.ts.map +1 -1
  34. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +1 -1
  35. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  36. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  37. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +25 -24
  38. package/dist/field/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  39. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts +1 -1
  40. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  41. package/dist/field/lexical/utils/setFloatingElemPosition.js +14 -13
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -2
  45. package/dist/populate/populate.d.ts +2 -1
  46. package/dist/populate/populate.d.ts.map +1 -1
  47. package/dist/populate/populate.js +4 -3
  48. package/dist/populate/recurseNestedFields.d.ts +2 -1
  49. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  50. package/dist/populate/recurseNestedFields.js +3 -2
  51. package/dist/populate/richTextRelationshipPromise.d.ts +2 -2
  52. package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -1
  53. package/dist/populate/richTextRelationshipPromise.js +7 -4
  54. package/dist/validate/index.d.ts.map +1 -1
  55. package/package.json +2 -2
@@ -124,33 +124,33 @@ function ToolbarSection({ anchorElem, editor, index, section }) {
124
124
  }));
125
125
  }
126
126
  function FloatingSelectToolbar({ anchorElem, editor }) {
127
- const popupCharStylesEditorRef = (0, _react.useRef)(null);
127
+ const floatingToolbarRef = (0, _react.useRef)(null);
128
128
  const caretRef = (0, _react.useRef)(null);
129
129
  const { editorConfig } = (0, _EditorConfigProvider.useEditorConfigContext)();
130
130
  const closeFloatingToolbar = (0, _react.useCallback)(()=>{
131
- if (popupCharStylesEditorRef?.current) {
132
- const isOpacityZero = popupCharStylesEditorRef.current.style.opacity === '0';
133
- const isPointerEventsNone = popupCharStylesEditorRef.current.style.pointerEvents === 'none';
131
+ if (floatingToolbarRef?.current) {
132
+ const isOpacityZero = floatingToolbarRef.current.style.opacity === '0';
133
+ const isPointerEventsNone = floatingToolbarRef.current.style.pointerEvents === 'none';
134
134
  if (!isOpacityZero) {
135
- popupCharStylesEditorRef.current.style.opacity = '0';
135
+ floatingToolbarRef.current.style.opacity = '0';
136
136
  }
137
137
  if (!isPointerEventsNone) {
138
- popupCharStylesEditorRef.current.style.pointerEvents = 'none';
138
+ floatingToolbarRef.current.style.pointerEvents = 'none';
139
139
  }
140
140
  }
141
141
  }, [
142
- popupCharStylesEditorRef
142
+ floatingToolbarRef
143
143
  ]);
144
144
  const mouseMoveListener = (0, _react.useCallback)((e)=>{
145
- if (popupCharStylesEditorRef?.current && (e.buttons === 1 || e.buttons === 3)) {
146
- const isOpacityZero = popupCharStylesEditorRef.current.style.opacity === '0';
147
- const isPointerEventsNone = popupCharStylesEditorRef.current.style.pointerEvents === 'none';
145
+ if (floatingToolbarRef?.current && (e.buttons === 1 || e.buttons === 3)) {
146
+ const isOpacityZero = floatingToolbarRef.current.style.opacity === '0';
147
+ const isPointerEventsNone = floatingToolbarRef.current.style.pointerEvents === 'none';
148
148
  if (!isOpacityZero || !isPointerEventsNone) {
149
149
  // Check if the mouse is not over the popup
150
150
  const x = e.clientX;
151
151
  const y = e.clientY;
152
152
  const elementUnderMouse = document.elementFromPoint(x, y);
153
- if (!popupCharStylesEditorRef.current.contains(elementUnderMouse)) {
153
+ if (!floatingToolbarRef.current.contains(elementUnderMouse)) {
154
154
  // Mouse is not over the target element => not a normal click, but probably a drag
155
155
  closeFloatingToolbar();
156
156
  }
@@ -160,16 +160,16 @@ function FloatingSelectToolbar({ anchorElem, editor }) {
160
160
  closeFloatingToolbar
161
161
  ]);
162
162
  const mouseUpListener = (0, _react.useCallback)(()=>{
163
- if (popupCharStylesEditorRef?.current) {
164
- if (popupCharStylesEditorRef.current.style.opacity !== '1') {
165
- popupCharStylesEditorRef.current.style.opacity = '1';
163
+ if (floatingToolbarRef?.current) {
164
+ if (floatingToolbarRef.current.style.opacity !== '1') {
165
+ floatingToolbarRef.current.style.opacity = '1';
166
166
  }
167
- if (popupCharStylesEditorRef.current.style.pointerEvents !== 'auto') {
168
- popupCharStylesEditorRef.current.style.pointerEvents = 'auto';
167
+ if (floatingToolbarRef.current.style.pointerEvents !== 'auto') {
168
+ floatingToolbarRef.current.style.pointerEvents = 'auto';
169
169
  }
170
170
  }
171
171
  }, [
172
- popupCharStylesEditorRef
172
+ floatingToolbarRef
173
173
  ]);
174
174
  (0, _react.useEffect)(()=>{
175
175
  document.addEventListener('mousemove', mouseMoveListener);
@@ -179,23 +179,24 @@ function FloatingSelectToolbar({ anchorElem, editor }) {
179
179
  document.removeEventListener('mouseup', mouseUpListener);
180
180
  };
181
181
  }, [
182
- popupCharStylesEditorRef,
182
+ floatingToolbarRef,
183
183
  mouseMoveListener,
184
184
  mouseUpListener
185
185
  ]);
186
186
  const updateTextFormatFloatingToolbar = (0, _react.useCallback)(()=>{
187
187
  const selection = (0, _lexical.$getSelection)();
188
- const popupCharStylesEditorElem = popupCharStylesEditorRef.current;
189
188
  const nativeSelection = window.getSelection();
190
- if (popupCharStylesEditorElem === null) {
189
+ if (floatingToolbarRef.current === null) {
191
190
  return;
192
191
  }
193
192
  const rootElement = editor.getRootElement();
194
193
  if (selection !== null && nativeSelection !== null && !nativeSelection.isCollapsed && rootElement !== null && rootElement.contains(nativeSelection.anchorNode)) {
195
194
  const rangeRect = (0, _getDOMRangeRect.getDOMRangeRect)(nativeSelection, rootElement);
196
- (0, _setFloatingElemPosition.setFloatingElemPosition)(rangeRect, popupCharStylesEditorElem, anchorElem, 'center');
195
+ // Position floating toolbar
196
+ const offsetIfFlipped = (0, _setFloatingElemPosition.setFloatingElemPosition)(rangeRect, floatingToolbarRef.current, anchorElem, 'center');
197
+ // Position caret
197
198
  if (caretRef.current) {
198
- (0, _setFloatingElemPosition.setFloatingElemPosition)(rangeRect, caretRef.current, popupCharStylesEditorElem, 'center', 10, 5, true);
199
+ (0, _setFloatingElemPosition.setFloatingElemPosition)(rangeRect, caretRef.current, floatingToolbarRef.current, 'center', 10, 5, true, offsetIfFlipped);
199
200
  }
200
201
  }
201
202
  }, [
@@ -242,7 +243,7 @@ function FloatingSelectToolbar({ anchorElem, editor }) {
242
243
  ]);
243
244
  return /*#__PURE__*/ _react.createElement("div", {
244
245
  className: "floating-select-toolbar-popup",
245
- ref: popupCharStylesEditorRef
246
+ ref: floatingToolbarRef
246
247
  }, /*#__PURE__*/ _react.createElement("div", {
247
248
  className: "caret",
248
249
  ref: caretRef
@@ -334,4 +335,4 @@ function FloatingSelectToolbarPlugin({ anchorElem = document.body }) {
334
335
  return useFloatingTextFormatToolbar(editor, anchorElem);
335
336
  }
336
337
 
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbEVkaXRvciB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB0eXBlIHsgRmxvYXRpbmdUb29sYmFyU2VjdGlvbiwgRmxvYXRpbmdUb29sYmFyU2VjdGlvbkVudHJ5IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IGdldERPTVJhbmdlUmVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldERPTVJhbmdlUmVjdCdcbmltcG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24nXG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uIH0gZnJvbSAnLi9Ub29sYmFyQnV0dG9uJ1xuaW1wb3J0IHsgVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi9Ub29sYmFyRHJvcGRvd24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuZnVuY3Rpb24gQnV0dG9uU2VjdGlvbkVudHJ5KHtcbiAgYW5jaG9yRWxlbSxcbiAgZWRpdG9yLFxuICBlbnRyeSxcbn06IHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yXG4gIGVudHJ5OiBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uRW50cnlcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IENvbXBvbmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBlbnRyeT8uQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5Db21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJlc29sdmVkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgY29uc3QgQ2hpbGRDb21wb25lbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZW50cnk/LkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5DaGlsZENvbXBvbmVudCgpLnRoZW4oKHJlc29sdmVkQ2hpbGRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENoaWxkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgaWYgKGVudHJ5LkNvbXBvbmVudCkge1xuICAgIHJldHVybiAoXG4gICAgICBDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENvbXBvbmVudCBhbmNob3JFbGVtPXthbmNob3JFbGVtfSBlZGl0b3I9e2VkaXRvcn0gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0gLz57JyAnfVxuICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFRvb2xiYXJCdXR0b24gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0+XG4gICAgICB7Q2hpbGRDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENoaWxkQ29tcG9uZW50IC8+XG4gICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICApfVxuICAgIDwvVG9vbGJhckJ1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBUb29sYmFyU2VjdGlvbih7XG4gIGFuY2hvckVsZW0sXG4gIGVkaXRvcixcbiAgaW5kZXgsXG4gIHNlY3Rpb24sXG59OiB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBpbmRleDogbnVtYmVyXG4gIHNlY3Rpb246IEZsb2F0aW5nVG9vbGJhclNlY3Rpb25cbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBJY29uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHNlY3Rpb24/LnR5cGUgPT09ICdkcm9wZG93bicgJiYgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJiBzZWN0aW9uLkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBzZWN0aW9uLkNoaWxkQ29tcG9uZW50KCkudGhlbigocmVzb2x2ZWRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENvbXBvbmVudCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIClcbiAgICAgIDogbnVsbFxuICB9LCBbc2VjdGlvbl0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbiBmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbi0ke3NlY3Rpb24ua2V5fWB9XG4gICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgID5cbiAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdkcm9wZG93bicgJiZcbiAgICAgICAgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJlxuICAgICAgICAoSWNvbiA/IChcbiAgICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgICAgIEljb249e0ljb259XG4gICAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICBlbnRyaWVzPXtzZWN0aW9uLmVudHJpZXN9XG4gICAgICAgICAgICAgIHNlY3Rpb25LZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgIGVudHJpZXM9e3NlY3Rpb24uZW50cmllc31cbiAgICAgICAgICAgIHNlY3Rpb25LZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAge3NlY3Rpb24udHlwZSA9PT0gJ2J1dHRvbnMnICYmXG4gICAgICAgIHNlY3Rpb24uZW50cmllcy5sZW5ndGggJiZcbiAgICAgICAgc2VjdGlvbi5lbnRyaWVzLm1hcCgoZW50cnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJ1dHRvblNlY3Rpb25FbnRyeVxuICAgICAgICAgICAgICBhbmNob3JFbGVtPXthbmNob3JFbGVtfVxuICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgICAgICAgICBrZXk9e2VudHJ5LmtleX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIHtpbmRleCA8IGVkaXRvckNvbmZpZy5mZWF0dXJlcy5mbG9hdGluZ1NlbGVjdFRvb2xiYXI/LnNlY3Rpb25zLmxlbmd0aCAtIDEgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZXJcIiAvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiBGbG9hdGluZ1NlbGVjdFRvb2xiYXIoe1xuICBhbmNob3JFbGVtLFxuICBlZGl0b3IsXG59OiB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxufSk6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2FyZXRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBjbG9zZUZsb2F0aW5nVG9vbGJhciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmPy5jdXJyZW50KSB7XG4gICAgICBjb25zdCBpc09wYWNpdHlaZXJvID0gcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9PT0gJzAnXG4gICAgICBjb25zdCBpc1BvaW50ZXJFdmVudHNOb25lID0gcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9PT0gJ25vbmUnXG5cbiAgICAgIGlmICghaXNPcGFjaXR5WmVybykge1xuICAgICAgICBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzAnXG4gICAgICB9XG4gICAgICBpZiAoIWlzUG9pbnRlckV2ZW50c05vbmUpIHtcbiAgICAgICAgcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3BvcHVwQ2hhclN0eWxlc0VkaXRvclJlZl0pXG5cbiAgY29uc3QgbW91c2VNb3ZlTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZj8uY3VycmVudCAmJiAoZS5idXR0b25zID09PSAxIHx8IGUuYnV0dG9ucyA9PT0gMykpIHtcbiAgICAgICAgY29uc3QgaXNPcGFjaXR5WmVybyA9IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPT09ICcwJ1xuICAgICAgICBjb25zdCBpc1BvaW50ZXJFdmVudHNOb25lID0gcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9PT0gJ25vbmUnXG4gICAgICAgIGlmICghaXNPcGFjaXR5WmVybyB8fCAhaXNQb2ludGVyRXZlbnRzTm9uZSkge1xuICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBtb3VzZSBpcyBub3Qgb3ZlciB0aGUgcG9wdXBcbiAgICAgICAgICBjb25zdCB4ID0gZS5jbGllbnRYXG4gICAgICAgICAgY29uc3QgeSA9IGUuY2xpZW50WVxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRVbmRlck1vdXNlID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KVxuICAgICAgICAgIGlmICghcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuY29udGFpbnMoZWxlbWVudFVuZGVyTW91c2UpKSB7XG4gICAgICAgICAgICAvLyBNb3VzZSBpcyBub3Qgb3ZlciB0aGUgdGFyZ2V0IGVsZW1lbnQgPT4gbm90IGEgbm9ybWFsIGNsaWNrLCBidXQgcHJvYmFibHkgYSBkcmFnXG4gICAgICAgICAgICBjbG9zZUZsb2F0aW5nVG9vbGJhcigpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbY2xvc2VGbG9hdGluZ1Rvb2xiYXJdLFxuICApXG5cbiAgY29uc3QgbW91c2VVcExpc3RlbmVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWY/LmN1cnJlbnQpIHtcbiAgICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ICE9PSAnMScpIHtcbiAgICAgICAgcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9ICcxJ1xuICAgICAgfVxuICAgICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgIT09ICdhdXRvJykge1xuICAgICAgICBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nXG4gICAgICB9XG4gICAgfVxuICB9LCBbcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdXNlTW92ZUxpc3RlbmVyKVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBtb3VzZVVwTGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgbW91c2VNb3ZlTGlzdGVuZXIpXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgbW91c2VVcExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW3BvcHVwQ2hhclN0eWxlc0VkaXRvclJlZiwgbW91c2VNb3ZlTGlzdGVuZXIsIG1vdXNlVXBMaXN0ZW5lcl0pXG5cbiAgY29uc3QgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcblxuICAgIGNvbnN0IHBvcHVwQ2hhclN0eWxlc0VkaXRvckVsZW0gPSBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudFxuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuXG4gICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvckVsZW0gPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb24gIT09IG51bGwgJiZcbiAgICAgIG5hdGl2ZVNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgIW5hdGl2ZVNlbGVjdGlvbi5pc0NvbGxhcHNlZCAmJlxuICAgICAgcm9vdEVsZW1lbnQgIT09IG51bGwgJiZcbiAgICAgIHJvb3RFbGVtZW50LmNvbnRhaW5zKG5hdGl2ZVNlbGVjdGlvbi5hbmNob3JOb2RlKVxuICAgICkge1xuICAgICAgY29uc3QgcmFuZ2VSZWN0ID0gZ2V0RE9NUmFuZ2VSZWN0KG5hdGl2ZVNlbGVjdGlvbiwgcm9vdEVsZW1lbnQpXG5cbiAgICAgIHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uKHJhbmdlUmVjdCwgcG9wdXBDaGFyU3R5bGVzRWRpdG9yRWxlbSwgYW5jaG9yRWxlbSwgJ2NlbnRlcicpXG5cbiAgICAgIGlmIChjYXJldFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uKFxuICAgICAgICAgIHJhbmdlUmVjdCwgLy8gc2VsZWN0aW9uIHRvIHBvc2l0aW9uIGFyb3VuZFxuICAgICAgICAgIGNhcmV0UmVmLmN1cnJlbnQsIC8vIHdoYXQgdG8gcG9zaXRpb25cbiAgICAgICAgICBwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtLCAvLyBhbmNob3IgZWxlbVxuICAgICAgICAgICdjZW50ZXInLFxuICAgICAgICAgIDEwLFxuICAgICAgICAgIDUsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgYW5jaG9yRWxlbV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzY3JvbGxlckVsZW0gPSBhbmNob3JFbGVtLnBhcmVudEVsZW1lbnRcblxuICAgIGNvbnN0IHVwZGF0ZSA9ICgpID0+IHtcbiAgICAgIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcbiAgICBpZiAoc2Nyb2xsZXJFbGVtKSB7XG4gICAgICBzY3JvbGxlckVsZW0uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKVxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSkge1xuICAgICAgICBzY3JvbGxlckVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciwgYW5jaG9yRWxlbV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIoKVxuICAgIH0pXG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoeyBlZGl0b3JTdGF0ZSB9KSA9PiB7XG4gICAgICAgIGVkaXRvclN0YXRlLnJlYWQoKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIoKVxuICAgICAgICB9KVxuICAgICAgfSksXG5cbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIoKVxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyXSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvYXRpbmctc2VsZWN0LXRvb2xiYXItcG9wdXBcIiByZWY9e3BvcHVwQ2hhclN0eWxlc0VkaXRvclJlZn0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmV0XCIgcmVmPXtjYXJldFJlZn0gLz5cbiAgICAgIHtlZGl0b3IuaXNFZGl0YWJsZSgpICYmIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIHtlZGl0b3JDb25maWc/LmZlYXR1cmVzICYmXG4gICAgICAgICAgICBlZGl0b3JDb25maWcuZmVhdHVyZXM/LmZsb2F0aW5nU2VsZWN0VG9vbGJhcj8uc2VjdGlvbnMubWFwKChzZWN0aW9uLCBpKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFRvb2xiYXJTZWN0aW9uXG4gICAgICAgICAgICAgICAgICBhbmNob3JFbGVtPXthbmNob3JFbGVtfVxuICAgICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgICBpbmRleD17aX1cbiAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi5rZXl9XG4gICAgICAgICAgICAgICAgICBzZWN0aW9uPXtzZWN0aW9ufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiB1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyKFxuICBlZGl0b3I6IExleGljYWxFZGl0b3IsXG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50LFxuKTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgW2lzVGV4dCwgc2V0SXNUZXh0XSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHVwZGF0ZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgICAgLy8gU2hvdWxkIG5vdCB0byBwb3AgdXAgdGhlIGZsb2F0aW5nIHRvb2xiYXIgd2hlbiB1c2luZyBJTUUgaW5wdXRcbiAgICAgIGlmIChlZGl0b3IuaXNDb21wb3NpbmcoKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgICAgY29uc3QgbmF0aXZlU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBjb25zdCByb290RWxlbWVudCA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG5cbiAgICAgIGlmIChcbiAgICAgICAgbmF0aXZlU2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICAgICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSB8fFxuICAgICAgICAgIHJvb3RFbGVtZW50ID09PSBudWxsIHx8XG4gICAgICAgICAgIXJvb3RFbGVtZW50LmNvbnRhaW5zKG5hdGl2ZVNlbGVjdGlvbi5hbmNob3JOb2RlKSlcbiAgICAgICkge1xuICAgICAgICBzZXRJc1RleHQoZmFsc2UpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChzZWxlY3Rpb24uZ2V0VGV4dENvbnRlbnQoKSAhPT0gJycpIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBzZWxlY3Rpb24uZ2V0Tm9kZXMoKVxuICAgICAgICBsZXQgZm91bmROb2RlV2l0aFRleHQgPSBmYWxzZVxuICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgICAgICBpZiAoJGlzVGV4dE5vZGUobm9kZSkpIHtcbiAgICAgICAgICAgIHNldElzVGV4dCh0cnVlKVxuICAgICAgICAgICAgZm91bmROb2RlV2l0aFRleHQgPSB0cnVlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZvdW5kTm9kZVdpdGhUZXh0KSB7XG4gICAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc1RleHQoZmFsc2UpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJhd1RleHRDb250ZW50ID0gc2VsZWN0aW9uLmdldFRleHRDb250ZW50KCkucmVwbGFjZSgvXFxuL2csICcnKVxuICAgICAgaWYgKCFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSAmJiByYXdUZXh0Q29udGVudCA9PT0gJycpIHtcbiAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9KVxuICB9LCBbZWRpdG9yXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIHVwZGF0ZVBvcHVwKVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB1cGRhdGVQb3B1cClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgdXBkYXRlUG9wdXApXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdXBkYXRlUG9wdXApXG4gICAgfVxuICB9LCBbdXBkYXRlUG9wdXBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIHVwZGF0ZVBvcHVwKClcbiAgICAgIH0pLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyUm9vdExpc3RlbmVyKCgpID0+IHtcbiAgICAgICAgaWYgKGVkaXRvci5nZXRSb290RWxlbWVudCgpID09PSBudWxsKSB7XG4gICAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVBvcHVwXSlcblxuICBpZiAoIWlzVGV4dCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKDxGbG9hdGluZ1NlbGVjdFRvb2xiYXIgYW5jaG9yRWxlbT17YW5jaG9yRWxlbX0gZWRpdG9yPXtlZGl0b3J9IC8+LCBhbmNob3JFbGVtKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRmxvYXRpbmdTZWxlY3RUb29sYmFyUGx1Z2luKHtcbiAgYW5jaG9yRWxlbSA9IGRvY3VtZW50LmJvZHksXG59OiB7XG4gIGFuY2hvckVsZW0/OiBIVE1MRWxlbWVudFxufSk6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyKGVkaXRvciwgYW5jaG9yRWxlbSlcbn1cbiJdLCJuYW1lcyI6WyJGbG9hdGluZ1NlbGVjdFRvb2xiYXJQbHVnaW4iLCJCdXR0b25TZWN0aW9uRW50cnkiLCJhbmNob3JFbGVtIiwiZWRpdG9yIiwiZW50cnkiLCJDb21wb25lbnQiLCJ1c2VNZW1vIiwiUmVhY3QiLCJsYXp5IiwidGhlbiIsInJlc29sdmVkQ29tcG9uZW50IiwiZGVmYXVsdCIsIkNoaWxkQ29tcG9uZW50IiwicmVzb2x2ZWRDaGlsZENvbXBvbmVudCIsIlN1c3BlbnNlIiwia2V5IiwiVG9vbGJhckJ1dHRvbiIsIlRvb2xiYXJTZWN0aW9uIiwiaW5kZXgiLCJzZWN0aW9uIiwiZWRpdG9yQ29uZmlnIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsIkljb24iLCJ0eXBlIiwiZW50cmllcyIsImxlbmd0aCIsImRpdiIsImNsYXNzTmFtZSIsIlRvb2xiYXJEcm9wZG93biIsInNlY3Rpb25LZXkiLCJtYXAiLCJmZWF0dXJlcyIsImZsb2F0aW5nU2VsZWN0VG9vbGJhciIsInNlY3Rpb25zIiwiRmxvYXRpbmdTZWxlY3RUb29sYmFyIiwicG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmIiwidXNlUmVmIiwiY2FyZXRSZWYiLCJjbG9zZUZsb2F0aW5nVG9vbGJhciIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsImlzT3BhY2l0eVplcm8iLCJzdHlsZSIsIm9wYWNpdHkiLCJpc1BvaW50ZXJFdmVudHNOb25lIiwicG9pbnRlckV2ZW50cyIsIm1vdXNlTW92ZUxpc3RlbmVyIiwiZSIsImJ1dHRvbnMiLCJ4IiwiY2xpZW50WCIsInkiLCJjbGllbnRZIiwiZWxlbWVudFVuZGVyTW91c2UiLCJkb2N1bWVudCIsImVsZW1lbnRGcm9tUG9pbnQiLCJjb250YWlucyIsIm1vdXNlVXBMaXN0ZW5lciIsInVzZUVmZmVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCJwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtIiwibmF0aXZlU2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsImlzQ29sbGFwc2VkIiwiYW5jaG9yTm9kZSIsInJhbmdlUmVjdCIsImdldERPTVJhbmdlUmVjdCIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInVwZGF0ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIm1lcmdlUmVnaXN0ZXIiLCJyZWdpc3RlclVwZGF0ZUxpc3RlbmVyIiwiZWRpdG9yU3RhdGUiLCJyZWdpc3RlckNvbW1hbmQiLCJTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsInJlZiIsImlzRWRpdGFibGUiLCJGcmFnbWVudCIsImkiLCJ1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyIiwiaXNUZXh0Iiwic2V0SXNUZXh0IiwidXNlU3RhdGUiLCJ1cGRhdGVQb3B1cCIsImlzQ29tcG9zaW5nIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJmb3VuZE5vZGVXaXRoVGV4dCIsIm5vZGUiLCIkaXNUZXh0Tm9kZSIsInJhd1RleHRDb250ZW50IiwicmVwbGFjZSIsInJlZ2lzdGVyUm9vdExpc3RlbmVyIiwiY3JlYXRlUG9ydGFsIiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkE0WWdCQTs7O2VBQUFBOzs7d0NBelkwQjt1QkFDWjt5QkFPdkI7K0RBQzJEOzBCQUVyQztzQ0FJVTtpQ0FDUDt5Q0FDUTsrQkFDVjtpQ0FDRTtRQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsU0FBU0MsbUJBQW1CLEVBQzFCQyxVQUFVLEVBQ1ZDLE1BQU0sRUFDTkMsS0FBSyxFQUtOO0lBQ0MsTUFBTUMsWUFBWUMsSUFBQUEsY0FBTyxFQUFDO1FBQ3hCLE9BQU9GLE9BQU9DLDBCQUNWRSxPQUFNQyxJQUFJLENBQUMsSUFDVEosTUFBTUMsU0FBUyxHQUFHSSxJQUFJLENBQUMsQ0FBQ0Msb0JBQXVCLENBQUE7b0JBQzdDQyxTQUFTRDtnQkFDWCxDQUFBLE1BRUY7SUFDTixHQUFHO1FBQUNOO0tBQU07SUFFVixNQUFNUSxpQkFBaUJOLElBQUFBLGNBQU8sRUFBQztRQUM3QixPQUFPRixPQUFPUSwrQkFDVkwsT0FBTUMsSUFBSSxDQUFDLElBQ1RKLE1BQU1RLGNBQWMsR0FBR0gsSUFBSSxDQUFDLENBQUNJLHlCQUE0QixDQUFBO29CQUN2REYsU0FBU0U7Z0JBQ1gsQ0FBQSxNQUVGO0lBQ04sR0FBRztRQUFDVDtLQUFNO0lBRVYsSUFBSUEsTUFBTUMsU0FBUyxFQUFFO1FBQ25CLE9BQ0VBLDJCQUNFLHFCQUFDRSxPQUFNTyxRQUFRLHNCQUNiLHFCQUFDVDtZQUFVSCxZQUFZQTtZQUFZQyxRQUFRQTtZQUFRQyxPQUFPQTtZQUFPVyxLQUFLWCxNQUFNVyxHQUFHO1lBQUs7SUFJNUY7SUFFQSxxQkFDRSxxQkFBQ0MsNEJBQWE7UUFBQ1osT0FBT0E7UUFBT1csS0FBS1gsTUFBTVcsR0FBRztPQUN4Q0gsZ0NBQ0MscUJBQUNMLE9BQU1PLFFBQVEs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
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbEVkaXRvciB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB0eXBlIHsgRmxvYXRpbmdUb29sYmFyU2VjdGlvbiwgRmxvYXRpbmdUb29sYmFyU2VjdGlvbkVudHJ5IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IGdldERPTVJhbmdlUmVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldERPTVJhbmdlUmVjdCdcbmltcG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24nXG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uIH0gZnJvbSAnLi9Ub29sYmFyQnV0dG9uJ1xuaW1wb3J0IHsgVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi9Ub29sYmFyRHJvcGRvd24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuZnVuY3Rpb24gQnV0dG9uU2VjdGlvbkVudHJ5KHtcbiAgYW5jaG9yRWxlbSxcbiAgZWRpdG9yLFxuICBlbnRyeSxcbn06IHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yXG4gIGVudHJ5OiBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uRW50cnlcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IENvbXBvbmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBlbnRyeT8uQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5Db21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJlc29sdmVkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgY29uc3QgQ2hpbGRDb21wb25lbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZW50cnk/LkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5DaGlsZENvbXBvbmVudCgpLnRoZW4oKHJlc29sdmVkQ2hpbGRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENoaWxkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgaWYgKGVudHJ5LkNvbXBvbmVudCkge1xuICAgIHJldHVybiAoXG4gICAgICBDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENvbXBvbmVudCBhbmNob3JFbGVtPXthbmNob3JFbGVtfSBlZGl0b3I9e2VkaXRvcn0gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0gLz57JyAnfVxuICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFRvb2xiYXJCdXR0b24gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0+XG4gICAgICB7Q2hpbGRDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENoaWxkQ29tcG9uZW50IC8+XG4gICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICApfVxuICAgIDwvVG9vbGJhckJ1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBUb29sYmFyU2VjdGlvbih7XG4gIGFuY2hvckVsZW0sXG4gIGVkaXRvcixcbiAgaW5kZXgsXG4gIHNlY3Rpb24sXG59OiB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBpbmRleDogbnVtYmVyXG4gIHNlY3Rpb246IEZsb2F0aW5nVG9vbGJhclNlY3Rpb25cbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBJY29uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHNlY3Rpb24/LnR5cGUgPT09ICdkcm9wZG93bicgJiYgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJiBzZWN0aW9uLkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBzZWN0aW9uLkNoaWxkQ29tcG9uZW50KCkudGhlbigocmVzb2x2ZWRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENvbXBvbmVudCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIClcbiAgICAgIDogbnVsbFxuICB9LCBbc2VjdGlvbl0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbiBmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbi0ke3NlY3Rpb24ua2V5fWB9XG4gICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgID5cbiAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdkcm9wZG93bicgJiZcbiAgICAgICAgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJlxuICAgICAgICAoSWNvbiA/IChcbiAgICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgICAgIEljb249e0ljb259XG4gICAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICBlbnRyaWVzPXtzZWN0aW9uLmVudHJpZXN9XG4gICAgICAgICAgICAgIHNlY3Rpb25LZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgIGVudHJpZXM9e3NlY3Rpb24uZW50cmllc31cbiAgICAgICAgICAgIHNlY3Rpb25LZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAge3NlY3Rpb24udHlwZSA9PT0gJ2J1dHRvbnMnICYmXG4gICAgICAgIHNlY3Rpb24uZW50cmllcy5sZW5ndGggJiZcbiAgICAgICAgc2VjdGlvbi5lbnRyaWVzLm1hcCgoZW50cnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJ1dHRvblNlY3Rpb25FbnRyeVxuICAgICAgICAgICAgICBhbmNob3JFbGVtPXthbmNob3JFbGVtfVxuICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgICAgICAgICBrZXk9e2VudHJ5LmtleX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIHtpbmRleCA8IGVkaXRvckNvbmZpZy5mZWF0dXJlcy5mbG9hdGluZ1NlbGVjdFRvb2xiYXI/LnNlY3Rpb25zLmxlbmd0aCAtIDEgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZXJcIiAvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiBGbG9hdGluZ1NlbGVjdFRvb2xiYXIoe1xuICBhbmNob3JFbGVtLFxuICBlZGl0b3IsXG59OiB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxufSk6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgZmxvYXRpbmdUb29sYmFyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2FyZXRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBjbG9zZUZsb2F0aW5nVG9vbGJhciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoZmxvYXRpbmdUb29sYmFyUmVmPy5jdXJyZW50KSB7XG4gICAgICBjb25zdCBpc09wYWNpdHlaZXJvID0gZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9PT0gJzAnXG4gICAgICBjb25zdCBpc1BvaW50ZXJFdmVudHNOb25lID0gZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9PT0gJ25vbmUnXG5cbiAgICAgIGlmICghaXNPcGFjaXR5WmVybykge1xuICAgICAgICBmbG9hdGluZ1Rvb2xiYXJSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzAnXG4gICAgICB9XG4gICAgICBpZiAoIWlzUG9pbnRlckV2ZW50c05vbmUpIHtcbiAgICAgICAgZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2Zsb2F0aW5nVG9vbGJhclJlZl0pXG5cbiAgY29uc3QgbW91c2VNb3ZlTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGZsb2F0aW5nVG9vbGJhclJlZj8uY3VycmVudCAmJiAoZS5idXR0b25zID09PSAxIHx8IGUuYnV0dG9ucyA9PT0gMykpIHtcbiAgICAgICAgY29uc3QgaXNPcGFjaXR5WmVybyA9IGZsb2F0aW5nVG9vbGJhclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPT09ICcwJ1xuICAgICAgICBjb25zdCBpc1BvaW50ZXJFdmVudHNOb25lID0gZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9PT0gJ25vbmUnXG4gICAgICAgIGlmICghaXNPcGFjaXR5WmVybyB8fCAhaXNQb2ludGVyRXZlbnRzTm9uZSkge1xuICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBtb3VzZSBpcyBub3Qgb3ZlciB0aGUgcG9wdXBcbiAgICAgICAgICBjb25zdCB4ID0gZS5jbGllbnRYXG4gICAgICAgICAgY29uc3QgeSA9IGUuY2xpZW50WVxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRVbmRlck1vdXNlID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KVxuICAgICAgICAgIGlmICghZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZWxlbWVudFVuZGVyTW91c2UpKSB7XG4gICAgICAgICAgICAvLyBNb3VzZSBpcyBub3Qgb3ZlciB0aGUgdGFyZ2V0IGVsZW1lbnQgPT4gbm90IGEgbm9ybWFsIGNsaWNrLCBidXQgcHJvYmFibHkgYSBkcmFnXG4gICAgICAgICAgICBjbG9zZUZsb2F0aW5nVG9vbGJhcigpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbY2xvc2VGbG9hdGluZ1Rvb2xiYXJdLFxuICApXG5cbiAgY29uc3QgbW91c2VVcExpc3RlbmVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChmbG9hdGluZ1Rvb2xiYXJSZWY/LmN1cnJlbnQpIHtcbiAgICAgIGlmIChmbG9hdGluZ1Rvb2xiYXJSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ICE9PSAnMScpIHtcbiAgICAgICAgZmxvYXRpbmdUb29sYmFyUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9ICcxJ1xuICAgICAgfVxuICAgICAgaWYgKGZsb2F0aW5nVG9vbGJhclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgIT09ICdhdXRvJykge1xuICAgICAgICBmbG9hdGluZ1Rvb2xiYXJSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nXG4gICAgICB9XG4gICAgfVxuICB9LCBbZmxvYXRpbmdUb29sYmFyUmVmXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdXNlTW92ZUxpc3RlbmVyKVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBtb3VzZVVwTGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgbW91c2VNb3ZlTGlzdGVuZXIpXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgbW91c2VVcExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW2Zsb2F0aW5nVG9vbGJhclJlZiwgbW91c2VNb3ZlTGlzdGVuZXIsIG1vdXNlVXBMaXN0ZW5lcl0pXG5cbiAgY29uc3QgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcblxuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuXG4gICAgaWYgKGZsb2F0aW5nVG9vbGJhclJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCByb290RWxlbWVudCA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICBuYXRpdmVTZWxlY3Rpb24gIT09IG51bGwgJiZcbiAgICAgICFuYXRpdmVTZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiZcbiAgICAgIHJvb3RFbGVtZW50ICE9PSBudWxsICYmXG4gICAgICByb290RWxlbWVudC5jb250YWlucyhuYXRpdmVTZWxlY3Rpb24uYW5jaG9yTm9kZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHJhbmdlUmVjdCA9IGdldERPTVJhbmdlUmVjdChuYXRpdmVTZWxlY3Rpb24sIHJvb3RFbGVtZW50KVxuXG4gICAgICAvLyBQb3NpdGlvbiBmbG9hdGluZyB0b29sYmFyXG4gICAgICBjb25zdCBvZmZzZXRJZkZsaXBwZWQgPSBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbihcbiAgICAgICAgcmFuZ2VSZWN0LCAvLyBzZWxlY3Rpb24gdG8gcG9zaXRpb24gYXJvdW5kXG4gICAgICAgIGZsb2F0aW5nVG9vbGJhclJlZi5jdXJyZW50LCAvLyB3aGF0IHRvIHBvc2l0aW9uXG4gICAgICAgIGFuY2hvckVsZW0sIC8vIGFuY2hvciBlbGVtXG4gICAgICAgICdjZW50ZXInLFxuICAgICAgKVxuXG4gICAgICAvLyBQb3NpdGlvbiBjYXJldFxuICAgICAgaWYgKGNhcmV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24oXG4gICAgICAgICAgcmFuZ2VSZWN0LCAvLyBzZWxlY3Rpb24gdG8gcG9zaXRpb24gYXJvdW5kXG4gICAgICAgICAgY2FyZXRSZWYuY3VycmVudCwgLy8gd2hhdCB0byBwb3NpdGlvblxuICAgICAgICAgIGZsb2F0aW5nVG9vbGJhclJlZi5jdXJyZW50LCAvLyBhbmNob3IgZWxlbVxuICAgICAgICAgICdjZW50ZXInLFxuICAgICAgICAgIDEwLFxuICAgICAgICAgIDUsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICBvZmZzZXRJZkZsaXBwZWQsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIGFuY2hvckVsZW1dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcigpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpXG4gICAgaWYgKHNjcm9sbGVyRWxlbSkge1xuICAgICAgc2Nyb2xsZXJFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcbiAgICAgIGlmIChzY3JvbGxlckVsZW0pIHtcbiAgICAgICAgc2Nyb2xsZXJFbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIsIGFuY2hvckVsZW1dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICB9KVxuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKHsgZWRpdG9yU3RhdGUgfSkgPT4ge1xuICAgICAgICBlZGl0b3JTdGF0ZS5yZWFkKCgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgIClcbiAgfSwgW2VkaXRvciwgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcl0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb2F0aW5nLXNlbGVjdC10b29sYmFyLXBvcHVwXCIgcmVmPXtmbG9hdGluZ1Rvb2xiYXJSZWZ9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJldFwiIHJlZj17Y2FyZXRSZWZ9IC8+XG4gICAgICB7ZWRpdG9yLmlzRWRpdGFibGUoKSAmJiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICB7ZWRpdG9yQ29uZmlnPy5mZWF0dXJlcyAmJlxuICAgICAgICAgICAgZWRpdG9yQ29uZmlnLmZlYXR1cmVzPy5mbG9hdGluZ1NlbGVjdFRvb2xiYXI/LnNlY3Rpb25zLm1hcCgoc2VjdGlvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUb29sYmFyU2VjdGlvblxuICAgICAgICAgICAgICAgICAgYW5jaG9yRWxlbT17YW5jaG9yRWxlbX1cbiAgICAgICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICAgICAgaW5kZXg9e2l9XG4gICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgICAgICAgICAgc2VjdGlvbj17c2VjdGlvbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gdXNlRmxvYXRpbmdUZXh0Rm9ybWF0VG9vbGJhcihcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbik6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtpc1RleHQsIHNldElzVGV4dF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCB1cGRhdGVQb3B1cCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIC8vIFNob3VsZCBub3QgdG8gcG9wIHVwIHRoZSBmbG9hdGluZyB0b29sYmFyIHdoZW4gdXNpbmcgSU1FIGlucHV0XG4gICAgICBpZiAoZWRpdG9yLmlzQ29tcG9zaW5nKCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKVxuXG4gICAgICBpZiAoXG4gICAgICAgIG5hdGl2ZVNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgICAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHxcbiAgICAgICAgICByb290RWxlbWVudCA9PT0gbnVsbCB8fFxuICAgICAgICAgICFyb290RWxlbWVudC5jb250YWlucyhuYXRpdmVTZWxlY3Rpb24uYW5jaG9yTm9kZSkpXG4gICAgICApIHtcbiAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0aW9uLmdldFRleHRDb250ZW50KCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gc2VsZWN0aW9uLmdldE5vZGVzKClcbiAgICAgICAgbGV0IGZvdW5kTm9kZVdpdGhUZXh0ID0gZmFsc2VcbiAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgICAgaWYgKCRpc1RleHROb2RlKG5vZGUpKSB7XG4gICAgICAgICAgICBzZXRJc1RleHQodHJ1ZSlcbiAgICAgICAgICAgIGZvdW5kTm9kZVdpdGhUZXh0ID0gdHJ1ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFmb3VuZE5vZGVXaXRoVGV4dCkge1xuICAgICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBjb25zdCByYXdUZXh0Q29udGVudCA9IHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLnJlcGxhY2UoL1xcbi9nLCAnJylcbiAgICAgIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgJiYgcmF3VGV4dENvbnRlbnQgPT09ICcnKSB7XG4gICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2VkaXRvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3Rpb25jaGFuZ2UnLCB1cGRhdGVQb3B1cClcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdXBkYXRlUG9wdXApXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIHVwZGF0ZVBvcHVwKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHVwZGF0ZVBvcHVwKVxuICAgIH1cbiAgfSwgW3VwZGF0ZVBvcHVwXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICB1cGRhdGVQb3B1cCgpXG4gICAgICB9KSxcbiAgICAgIGVkaXRvci5yZWdpc3RlclJvb3RMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKSA9PT0gbnVsbCkge1xuICAgICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVQb3B1cF0pXG5cbiAgaWYgKCFpc1RleHQpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCg8RmxvYXRpbmdTZWxlY3RUb29sYmFyIGFuY2hvckVsZW09e2FuY2hvckVsZW19IGVkaXRvcj17ZWRpdG9yfSAvPiwgYW5jaG9yRWxlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZsb2F0aW5nU2VsZWN0VG9vbGJhclBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICByZXR1cm4gdXNlRmxvYXRpbmdUZXh0Rm9ybWF0VG9vbGJhcihlZGl0b3IsIGFuY2hvckVsZW0pXG59XG4iXSwibmFtZXMiOlsiRmxvYXRpbmdTZWxlY3RUb29sYmFyUGx1Z2luIiwiQnV0dG9uU2VjdGlvbkVudHJ5IiwiYW5jaG9yRWxlbSIsImVkaXRvciIsImVudHJ5IiwiQ29tcG9uZW50IiwidXNlTWVtbyIsIlJlYWN0IiwibGF6eSIsInRoZW4iLCJyZXNvbHZlZENvbXBvbmVudCIsImRlZmF1bHQiLCJDaGlsZENvbXBvbmVudCIsInJlc29sdmVkQ2hpbGRDb21wb25lbnQiLCJTdXNwZW5zZSIsImtleSIsIlRvb2xiYXJCdXR0b24iLCJUb29sYmFyU2VjdGlvbiIsImluZGV4Iiwic2VjdGlvbiIsImVkaXRvckNvbmZpZyIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJJY29uIiwidHlwZSIsImVudHJpZXMiLCJsZW5ndGgiLCJkaXYiLCJjbGFzc05hbWUiLCJUb29sYmFyRHJvcGRvd24iLCJzZWN0aW9uS2V5IiwibWFwIiwiZmVhdHVyZXMiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkZsb2F0aW5nU2VsZWN0VG9vbGJhciIsImZsb2F0aW5nVG9vbGJhclJlZiIsInVzZVJlZiIsImNhcmV0UmVmIiwiY2xvc2VGbG9hdGluZ1Rvb2xiYXIiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnQiLCJpc09wYWNpdHlaZXJvIiwic3R5bGUiLCJvcGFjaXR5IiwiaXNQb2ludGVyRXZlbnRzTm9uZSIsInBvaW50ZXJFdmVudHMiLCJtb3VzZU1vdmVMaXN0ZW5lciIsImUiLCJidXR0b25zIiwieCIsImNsaWVudFgiLCJ5IiwiY2xpZW50WSIsImVsZW1lbnRVbmRlck1vdXNlIiwiZG9jdW1lbnQiLCJlbGVtZW50RnJvbVBvaW50IiwiY29udGFpbnMiLCJtb3VzZVVwTGlzdGVuZXIiLCJ1c2VFZmZlY3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIiLCJzZWxlY3Rpb24iLCIkZ2V0U2VsZWN0aW9uIiwibmF0aXZlU2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsImlzQ29sbGFwc2VkIiwiYW5jaG9yTm9kZSIsInJhbmdlUmVjdCIsImdldERPTVJhbmdlUmVjdCIsIm9mZnNldElmRmxpcHBlZCIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInVwZGF0ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIm1lcmdlUmVnaXN0ZXIiLCJyZWdpc3RlclVwZGF0ZUxpc3RlbmVyIiwiZWRpdG9yU3RhdGUiLCJyZWdpc3RlckNvbW1hbmQiLCJTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsInJlZiIsImlzRWRpdGFibGUiLCJGcmFnbWVudCIsImkiLCJ1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyIiwiaXNUZXh0Iiwic2V0SXNUZXh0IiwidXNlU3RhdGUiLCJ1cGRhdGVQb3B1cCIsImlzQ29tcG9zaW5nIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJmb3VuZE5vZGVXaXRoVGV4dCIsIm5vZGUiLCIkaXNUZXh0Tm9kZSIsInJhd1RleHRDb250ZW50IiwicmVwbGFjZSIsInJlZ2lzdGVyUm9vdExpc3RlbmVyIiwiY3JlYXRlUG9ydGFsIiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFtWmdCQTs7O2VBQUFBOzs7d0NBaFowQjt1QkFDWjt5QkFPdkI7K0RBQzJEOzBCQUVyQztzQ0FJVTtpQ0FDUDt5Q0FDUTsrQkFDVjtpQ0FDRTtRQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsU0FBU0MsbUJBQW1CLEVBQzFCQyxVQUFVLEVBQ1ZDLE1BQU0sRUFDTkMsS0FBSyxFQUtOO0lBQ0MsTUFBTUMsWUFBWUMsSUFBQUEsY0FBTyxFQUFDO1FBQ3hCLE9BQU9GLE9BQU9DLDBCQUNWRSxPQUFNQyxJQUFJLENBQUMsSUFDVEosTUFBTUMsU0FBUyxHQUFHSSxJQUFJLENBQUMsQ0FBQ0Msb0JBQXVCLENBQUE7b0JBQzdDQyxTQUFTRDtnQkFDWCxDQUFBLE1BRUY7SUFDTixHQUFHO1FBQUNOO0tBQU07SUFFVixNQUFNUSxpQkFBaUJOLElBQUFBLGNBQU8sRUFBQztRQUM3QixPQUFPRixPQUFPUSwrQkFDVkwsT0FBTUMsSUFBSSxDQUFDLElBQ1RKLE1BQU1RLGNBQWMsR0FBR0gsSUFBSSxDQUFDLENBQUNJLHlCQUE0QixDQUFBO29CQUN2REYsU0FBU0U7Z0JBQ1gsQ0FBQSxNQUVGO0lBQ04sR0FBRztRQUFDVDtLQUFNO0lBRVYsSUFBSUEsTUFBTUMsU0FBUyxFQUFFO1FBQ25CLE9BQ0VBLDJCQUNFLHFCQUFDRSxPQUFNTyxRQUFRLHNCQUNiLHFCQUFDVDtZQUFVSCxZQUFZQTtZQUFZQyxRQUFRQTtZQUFRQyxPQUFPQTtZQUFPVyxLQUFLWCxNQUFNVyxHQUFHO1lBQUs7SUFJNUY7SUFFQSxxQkFDRSxxQkFBQ0MsNEJBQWE7UUFBQ1osT0FBT0E7UUFBT1csS0FBS1gsTUFBTVcsR0FBRztPQUN4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
@@ -1 +1 @@
1
- {"version":3,"file":"createBlockNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/utils/markdown/createBlockNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,eAAe,eACd,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC,KAAK,WAAW,KAChD,kBAAkB,CAAC,SAAS,CAS9B,CAAA"}
1
+ {"version":3,"file":"createBlockNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/utils/markdown/createBlockNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,eAAe,uBACN,MAAM,MAAM,CAAC,KAAK,WAAW,KAChD,kBAAkB,CAAC,SAAS,CAS9B,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare function setFloatingElemPosition(targetRect: ClientRect | null, floatingElem: HTMLElement, anchorElem: HTMLElement, horizontalPosition?: 'center' | 'left', verticalGap?: number, horizontalOffset?: number, specialHandlingForCaret?: boolean): void;
1
+ export declare function setFloatingElemPosition(targetRect: ClientRect | null, floatingElem: HTMLElement, anchorElem: HTMLElement, horizontalPosition?: 'center' | 'left', verticalGap?: number, horizontalOffset?: number, specialHandlingForCaret?: boolean, anchorFlippedOffset?: number): number;
2
2
  //# sourceMappingURL=setFloatingElemPosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setFloatingElemPosition.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/utils/setFloatingElemPosition.ts"],"names":[],"mappings":"AAMA,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,WAAW,EACvB,kBAAkB,GAAE,QAAQ,GAAG,MAAe,EAC9C,WAAW,GAAE,MAAqB,EAClC,gBAAgB,GAAE,MAA0B,EAC5C,uBAAuB,UAAQ,GAC9B,IAAI,CAuDN"}
1
+ {"version":3,"file":"setFloatingElemPosition.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/utils/setFloatingElemPosition.ts"],"names":[],"mappings":"AAOA,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,WAAW,EACvB,kBAAkB,GAAE,QAAQ,GAAG,MAAe,EAC9C,WAAW,GAAE,MAAqB,EAClC,gBAAgB,GAAE,MAA0B,EAC5C,uBAAuB,UAAQ,EAC/B,mBAAmB,SAAI,GACtB,MAAM,CA0DR"}
@@ -10,7 +10,8 @@ Object.defineProperty(exports, "setFloatingElemPosition", {
10
10
  });
11
11
  const VERTICAL_GAP = 10;
12
12
  const HORIZONTAL_OFFSET = 5;
13
- function setFloatingElemPosition(targetRect, floatingElem, anchorElem, horizontalPosition = 'left', verticalGap = VERTICAL_GAP, horizontalOffset = HORIZONTAL_OFFSET, specialHandlingForCaret = false) {
13
+ function setFloatingElemPosition(targetRect, floatingElem, anchorElem, horizontalPosition = 'left', verticalGap = VERTICAL_GAP, horizontalOffset = HORIZONTAL_OFFSET, specialHandlingForCaret = false, anchorFlippedOffset = 0) {
14
+ // Returns the top offset if the target was flipped
14
15
  const scrollerElem = anchorElem.parentElement;
15
16
  if (targetRect === null || scrollerElem == null) {
16
17
  floatingElem.style.opacity = '0';
@@ -26,8 +27,10 @@ function setFloatingElemPosition(targetRect, floatingElem, anchorElem, horizonta
26
27
  // Calculate left to position floatingElem to the horizontal middle of targetRect
27
28
  left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;
28
29
  }
29
- if (top < editorScrollerRect.top) {
30
- top += floatingElemRect.height + targetRect.height + verticalGap * 2;
30
+ let addedToTop = 0;
31
+ if (top < editorScrollerRect.top && !specialHandlingForCaret) {
32
+ addedToTop = floatingElemRect.height + targetRect.height + verticalGap * 2;
33
+ top += addedToTop;
31
34
  }
32
35
  if (horizontalPosition === 'center') {
33
36
  if (left + floatingElemRect.width > editorScrollerRect.right) {
@@ -40,21 +43,19 @@ function setFloatingElemPosition(targetRect, floatingElem, anchorElem, horizonta
40
43
  left = editorScrollerRect.right - floatingElemRect.width - horizontalOffset;
41
44
  }
42
45
  }
43
- top -= anchorElementRect.top;
44
46
  left -= anchorElementRect.left;
45
47
  floatingElem.style.opacity = '1';
46
- if (specialHandlingForCaret && top == 0 /* 0 Happens when selecting 1st line */ ) {
47
- top -= 44 // Especially this arbitrary number needs refactoring (this is for the caret)
48
- ;
49
- // rotate too
50
- floatingElem.style.transform = `translate(${left}px, ${top}px) rotate(180deg)`;
51
- } else if (specialHandlingForCaret && top === -63 /* -63 Happens when selecting 2nd line in multi-line paragraph */ ) {
52
- top += 18 // Especially this arbitrary number needs refactoring (this is for the caret)
53
- ;
48
+ if (specialHandlingForCaret && anchorFlippedOffset !== 0) {
49
+ // Floating select toolbar was flipped (positioned below text rather than above). Thus, the caret now needs to be positioned
50
+ // on the other side and rotated.
51
+ top -= anchorElementRect.bottom - anchorFlippedOffset + floatingElemRect.height - 3;
52
+ // top += anchorFlippedOffset - anchorElementRect.height - floatingElemRect.height + 2
54
53
  floatingElem.style.transform = `translate(${left}px, ${top}px) rotate(180deg)`;
55
54
  } else {
55
+ top -= anchorElementRect.top;
56
56
  floatingElem.style.transform = `translate(${left}px, ${top}px)`;
57
57
  }
58
+ return addedToTop;
58
59
  }
59
60
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3V0aWxzL3NldEZsb2F0aW5nRWxlbVBvc2l0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFZFUlRJQ0FMX0dBUCA9IDEwXG5jb25zdCBIT1JJWk9OVEFMX09GRlNFVCA9IDVcblxuLy8gVE9ETzogVGhpcyB3b3JrcyBmaW5lIHdpdGggc29tZSBkaXJ0eSBmaXhlcyAobG9va2luZyBhdCB5b3UsIHNwZWNpYWxIYW5kbGluZ0ZvckNhcmV0KS4gQnV0IHRoaXMgZGVmaW5pdGVseSBuZWVkcyByZWZhY3RvcmluZyBhbmQgZG9jdW1lbnRhdGlvbiwgdG8gYmUgZWFzaWVyIHRvIHVuZGVyc3RhbmQgYW5kIG1haW50YWluLlxuLy8gVGhpcyBpcyBzdXBwb3NlZCB0byBwb3NpdGlvbiB0aGUgZmxvYXRpbmdFbGVtIGJhc2VkIG9uIHRoZSBwYXJlbnQgKGFuY2hvckVsZW0pIGFuZCB0aGUgdGFyZ2V0ICh0YXJnZXRSZWN0KSB3aGljaCBpcyB1c3VhbGx5IHRoZSBzZWxlY3RlZCB0ZXh0LlxuLy8gU28gYmFzaWNhbGx5LCBpdCBwb3NpdGlvbnMgdGhlIGZsb2F0aW5nRWxlbSBlaXRoZXIgYmVsb3cgb3IgYWJvdmUgdGhlIHRhcmdldCAodGFyZ2V0UmVjdCkgYW5kIGFsaWducyBpdCB0byB0aGUgbGVmdCBvciBjZW50ZXIgb2YgdGhlIHRhcmdldCAodGFyZ2V0UmVjdCkuXG5leHBvcnQgZnVuY3Rpb24gc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24oXG4gIHRhcmdldFJlY3Q6IENsaWVudFJlY3QgfCBudWxsLFxuICBmbG9hdGluZ0VsZW06IEhUTUxFbGVtZW50LFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyB8ICdsZWZ0JyA9ICdsZWZ0JyxcbiAgdmVydGljYWxHYXA6IG51bWJlciA9IFZFUlRJQ0FMX0dBUCxcbiAgaG9yaXpvbnRhbE9mZnNldDogbnVtYmVyID0gSE9SSVpPTlRBTF9PRkZTRVQsXG4gIHNwZWNpYWxIYW5kbGluZ0ZvckNhcmV0ID0gZmFsc2UsXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgaWYgKHRhcmdldFJlY3QgPT09IG51bGwgfHwgc2Nyb2xsZXJFbGVtID09IG51bGwpIHtcbiAgICBmbG9hdGluZ0VsZW0uc3R5bGUub3BhY2l0eSA9ICcwJ1xuICAgIGZsb2F0aW5nRWxlbS5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlKC0xMDAwMHB4LCAtMTAwMDBweCknXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBmbG9hdGluZ0VsZW1SZWN0ID0gZmxvYXRpbmdFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIGNvbnN0IGFuY2hvckVsZW1lbnRSZWN0ID0gYW5jaG9yRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBjb25zdCBlZGl0b3JTY3JvbGxlclJlY3QgPSBzY3JvbGxlckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcblxuICBsZXQgdG9wID0gdGFyZ2V0UmVjdC50b3AgLSBmbG9hdGluZ0VsZW1SZWN0LmhlaWdodCAtIHZlcnRpY2FsR2FwXG4gIGxldCBsZWZ0ID0gdGFyZ2V0UmVjdC5sZWZ0IC0gaG9yaXpvbnRhbE9mZnNldFxuXG4gIGlmIChob3Jpem9udGFsUG9zaXRpb24gPT09ICdjZW50ZXInKSB7XG4gICAgLy8gQ2FsY3VsYXRlIGxlZnQgdG8gcG9zaXRpb24gZmxvYXRpbmdFbGVtIHRvIHRoZSBob3Jpem9udGFsIG1pZGRsZSBvZiB0YXJnZXRSZWN0XG4gICAgbGVmdCA9IHRhcmdldFJlY3QubGVmdCArIHRhcmdldFJlY3Qud2lkdGggLyAyIC0gZmxvYXRpbmdFbGVtUmVjdC53aWR0aCAvIDJcbiAgfVxuXG4gIGlmICh0b3AgPCBlZGl0b3JTY3JvbGxlclJlY3QudG9wKSB7XG4gICAgdG9wICs9IGZsb2F0aW5nRWxlbVJlY3QuaGVpZ2h0ICsgdGFyZ2V0UmVjdC5oZWlnaHQgKyB2ZXJ0aWNhbEdhcCAqIDJcbiAgfVxuXG4gIGlmIChob3Jpem9udGFsUG9zaXRpb24gPT09ICdjZW50ZXInKSB7XG4gICAgaWYgKGxlZnQgKyBmbG9hdGluZ0VsZW1SZWN0LndpZHRoID4gZWRpdG9yU2Nyb2xsZXJSZWN0LnJpZ2h0KSB7XG4gICAgICBsZWZ0ID0gZWRpdG9yU2Nyb2xsZXJSZWN0LnJpZ2h0IC0gZmxvYXRpbmdFbGVtUmVjdC53aWR0aCAtIGhvcml6b250YWxPZmZzZXRcbiAgICB9IGVsc2UgaWYgKGxlZnQgPCBlZGl0b3JTY3JvbGxlclJlY3QubGVmdCkge1xuICAgICAgbGVmdCA9IGVkaXRvclNjcm9sbGVyUmVjdC5sZWZ0ICsgaG9yaXpvbnRhbE9mZnNldFxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGVmdCArIGZsb2F0aW5nRWxlbVJlY3Qud2lkdGggPiBlZGl0b3JTY3JvbGxlclJlY3QucmlnaHQpIHtcbiAgICAgIGxlZnQgPSBlZGl0b3JTY3JvbGxlclJlY3QucmlnaHQgLSBmbG9hdGluZ0VsZW1SZWN0LndpZHRoIC0gaG9yaXpvbnRhbE9mZnNldFxuICAgIH1cbiAgfVxuXG4gIHRvcCAtPSBhbmNob3JFbGVtZW50UmVjdC50b3BcbiAgbGVmdCAtPSBhbmNob3JFbGVtZW50UmVjdC5sZWZ0XG5cbiAgZmxvYXRpbmdFbGVtLnN0eWxlLm9wYWNpdHkgPSAnMSdcblxuICBpZiAoc3BlY2lhbEhhbmRsaW5nRm9yQ2FyZXQgJiYgdG9wID09IDAgLyogMCBIYXBwZW5zIHdoZW4gc2VsZWN0aW5nIDFzdCBsaW5lICovKSB7XG4gICAgdG9wIC09IDQ0IC8vIEVzcGVjaWFsbHkgdGhpcyBhcmJpdHJhcnkgbnVtYmVyIG5lZWRzIHJlZmFjdG9yaW5nICh0aGlzIGlzIGZvciB0aGUgY2FyZXQpXG4gICAgLy8gcm90YXRlIHRvb1xuICAgIGZsb2F0aW5nRWxlbS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7bGVmdH1weCwgJHt0b3B9cHgpIHJvdGF0ZSgxODBkZWcpYFxuICB9IGVsc2UgaWYgKFxuICAgIHNwZWNpYWxIYW5kbGluZ0ZvckNhcmV0ICYmXG4gICAgdG9wID09PSAtNjMgLyogLTYzIEhhcHBlbnMgd2hlbiBzZWxlY3RpbmcgMm5kIGxpbmUgaW4gbXVsdGktbGluZSBwYXJhZ3JhcGggKi9cbiAgKSB7XG4gICAgdG9wICs9IDE4IC8vIEVzcGVjaWFsbHkgdGhpcyBhcmJpdHJhcnkgbnVtYmVyIG5lZWRzIHJlZmFjdG9yaW5nICh0aGlzIGlzIGZvciB0aGUgY2FyZXQpXG4gICAgZmxvYXRpbmdFbGVtLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHtsZWZ0fXB4LCAke3RvcH1weCkgcm90YXRlKDE4MGRlZylgXG4gIH0gZWxzZSB7XG4gICAgZmxvYXRpbmdFbGVtLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHtsZWZ0fXB4LCAke3RvcH1weClgXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbiIsIlZFUlRJQ0FMX0dBUCIsIkhPUklaT05UQUxfT0ZGU0VUIiwidGFyZ2V0UmVjdCIsImZsb2F0aW5nRWxlbSIsImFuY2hvckVsZW0iLCJob3Jpem9udGFsUG9zaXRpb24iLCJ2ZXJ0aWNhbEdhcCIsImhvcml6b250YWxPZmZzZXQiLCJzcGVjaWFsSGFuZGxpbmdGb3JDYXJldCIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJzdHlsZSIsIm9wYWNpdHkiLCJ0cmFuc2Zvcm0iLCJmbG9hdGluZ0VsZW1SZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYW5jaG9yRWxlbWVudFJlY3QiLCJlZGl0b3JTY3JvbGxlclJlY3QiLCJ0b3AiLCJoZWlnaHQiLCJsZWZ0Iiwid2lkdGgiLCJyaWdodCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNZ0JBOzs7ZUFBQUE7OztBQU5oQixNQUFNQyxlQUFlO0FBQ3JCLE1BQU1DLG9CQUFvQjtBQUtuQixTQUFTRix3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
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3V0aWxzL3NldEZsb2F0aW5nRWxlbVBvc2l0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFZFUlRJQ0FMX0dBUCA9IDEwXG5jb25zdCBIT1JJWk9OVEFMX09GRlNFVCA9IDVcblxuLy8gVE9ETzogbmVlZHMgcmVmYWN0b3Jpbmdcbi8vIFRoaXMgaXMgc3VwcG9zZWQgdG8gcG9zaXRpb24gdGhlIGZsb2F0aW5nRWxlbSBiYXNlZCBvbiB0aGUgcGFyZW50IChhbmNob3JFbGVtKSBhbmQgdGhlIHRhcmdldCAodGFyZ2V0UmVjdCkgd2hpY2ggaXMgdXN1YWxseSB0aGUgc2VsZWN0ZWQgdGV4dC5cbi8vIFNvIGJhc2ljYWxseSwgaXQgcG9zaXRpb25zIHRoZSBmbG9hdGluZ0VsZW0gZWl0aGVyIGJlbG93IG9yIGFib3ZlIHRoZSB0YXJnZXQgKHRhcmdldFJlY3QpIGFuZCBhbGlnbnMgaXQgdG8gdGhlIGxlZnQgb3IgY2VudGVyIG9mIHRoZSB0YXJnZXQgKHRhcmdldFJlY3QpLlxuLy8gVGhpcyBpcyB1c2VkIGZvciBwb3NpdGlvbmluZyB0aGUgZmxvYXRpbmcgdG9vbGJhciAoYW5jaG9yOiByaWNodGV4dCBlZGl0b3IpIGFuZCBpdHMgY2FyZXQgKGFuY2hvcjogZmxvYXRpbmcgdG9vbGJhcilcbmV4cG9ydCBmdW5jdGlvbiBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbihcbiAgdGFyZ2V0UmVjdDogQ2xpZW50UmVjdCB8IG51bGwsXG4gIGZsb2F0aW5nRWxlbTogSFRNTEVsZW1lbnQsXG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50LFxuICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInIHwgJ2xlZnQnID0gJ2xlZnQnLFxuICB2ZXJ0aWNhbEdhcDogbnVtYmVyID0gVkVSVElDQUxfR0FQLFxuICBob3Jpem9udGFsT2Zmc2V0OiBudW1iZXIgPSBIT1JJWk9OVEFMX09GRlNFVCxcbiAgc3BlY2lhbEhhbmRsaW5nRm9yQ2FyZXQgPSBmYWxzZSxcbiAgYW5jaG9yRmxpcHBlZE9mZnNldCA9IDAsIC8vIE9mZnNldCB3aGljaCB3YXMgYWRkZWQgdG8gdGhlIGFuY2hvciAoZm9yIGNhcmV0LCBmbG9hdGluZyB0b29sYmFyKSBpZiBpdCB3YXMgZmxpcHBlZFxuKTogbnVtYmVyIHtcbiAgLy8gUmV0dXJucyB0aGUgdG9wIG9mZnNldCBpZiB0aGUgdGFyZ2V0IHdhcyBmbGlwcGVkXG4gIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gIGlmICh0YXJnZXRSZWN0ID09PSBudWxsIHx8IHNjcm9sbGVyRWxlbSA9PSBudWxsKSB7XG4gICAgZmxvYXRpbmdFbGVtLnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgICBmbG9hdGluZ0VsZW0uc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgtMTAwMDBweCwgLTEwMDAwcHgpJ1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgZmxvYXRpbmdFbGVtUmVjdCA9IGZsb2F0aW5nRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBjb25zdCBhbmNob3JFbGVtZW50UmVjdCA9IGFuY2hvckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgY29uc3QgZWRpdG9yU2Nyb2xsZXJSZWN0ID0gc2Nyb2xsZXJFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG5cbiAgbGV0IHRvcCA9IHRhcmdldFJlY3QudG9wIC0gZmxvYXRpbmdFbGVtUmVjdC5oZWlnaHQgLSB2ZXJ0aWNhbEdhcFxuICBsZXQgbGVmdCA9IHRhcmdldFJlY3QubGVmdCAtIGhvcml6b250YWxPZmZzZXRcblxuICBpZiAoaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnY2VudGVyJykge1xuICAgIC8vIENhbGN1bGF0ZSBsZWZ0IHRvIHBvc2l0aW9uIGZsb2F0aW5nRWxlbSB0byB0aGUgaG9yaXpvbnRhbCBtaWRkbGUgb2YgdGFyZ2V0UmVjdFxuICAgIGxlZnQgPSB0YXJnZXRSZWN0LmxlZnQgKyB0YXJnZXRSZWN0LndpZHRoIC8gMiAtIGZsb2F0aW5nRWxlbVJlY3Qud2lkdGggLyAyXG4gIH1cblxuICBsZXQgYWRkZWRUb1RvcCA9IDBcbiAgaWYgKHRvcCA8IGVkaXRvclNjcm9sbGVyUmVjdC50b3AgJiYgIXNwZWNpYWxIYW5kbGluZ0ZvckNhcmV0KSB7XG4gICAgYWRkZWRUb1RvcCA9IGZsb2F0aW5nRWxlbVJlY3QuaGVpZ2h0ICsgdGFyZ2V0UmVjdC5oZWlnaHQgKyB2ZXJ0aWNhbEdhcCAqIDJcblxuICAgIHRvcCArPSBhZGRlZFRvVG9wXG4gIH1cblxuICBpZiAoaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnY2VudGVyJykge1xuICAgIGlmIChsZWZ0ICsgZmxvYXRpbmdFbGVtUmVjdC53aWR0aCA+IGVkaXRvclNjcm9sbGVyUmVjdC5yaWdodCkge1xuICAgICAgbGVmdCA9IGVkaXRvclNjcm9sbGVyUmVjdC5yaWdodCAtIGZsb2F0aW5nRWxlbVJlY3Qud2lkdGggLSBob3Jpem9udGFsT2Zmc2V0XG4gICAgfSBlbHNlIGlmIChsZWZ0IDwgZWRpdG9yU2Nyb2xsZXJSZWN0LmxlZnQpIHtcbiAgICAgIGxlZnQgPSBlZGl0b3JTY3JvbGxlclJlY3QubGVmdCArIGhvcml6b250YWxPZmZzZXRcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxlZnQgKyBmbG9hdGluZ0VsZW1SZWN0LndpZHRoID4gZWRpdG9yU2Nyb2xsZXJSZWN0LnJpZ2h0KSB7XG4gICAgICBsZWZ0ID0gZWRpdG9yU2Nyb2xsZXJSZWN0LnJpZ2h0IC0gZmxvYXRpbmdFbGVtUmVjdC53aWR0aCAtIGhvcml6b250YWxPZmZzZXRcbiAgICB9XG4gIH1cblxuICBsZWZ0IC09IGFuY2hvckVsZW1lbnRSZWN0LmxlZnRcblxuICBmbG9hdGluZ0VsZW0uc3R5bGUub3BhY2l0eSA9ICcxJ1xuXG4gIGlmIChzcGVjaWFsSGFuZGxpbmdGb3JDYXJldCAmJiBhbmNob3JGbGlwcGVkT2Zmc2V0ICE9PSAwKSB7XG4gICAgLy8gRmxvYXRpbmcgc2VsZWN0IHRvb2xiYXIgd2FzIGZsaXBwZWQgKHBvc2l0aW9uZWQgYmVsb3cgdGV4dCByYXRoZXIgdGhhbiBhYm92ZSkuIFRodXMsIHRoZSBjYXJldCBub3cgbmVlZHMgdG8gYmUgcG9zaXRpb25lZFxuICAgIC8vIG9uIHRoZSBvdGhlciBzaWRlIGFuZCByb3RhdGVkLlxuICAgIHRvcCAtPSBhbmNob3JFbGVtZW50UmVjdC5ib3R0b20gLSBhbmNob3JGbGlwcGVkT2Zmc2V0ICsgZmxvYXRpbmdFbGVtUmVjdC5oZWlnaHQgLSAzXG4gICAgLy8gdG9wICs9IGFuY2hvckZsaXBwZWRPZmZzZXQgLSBhbmNob3JFbGVtZW50UmVjdC5oZWlnaHQgLSBmbG9hdGluZ0VsZW1SZWN0LmhlaWdodCArIDJcbiAgICBmbG9hdGluZ0VsZW0uc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke2xlZnR9cHgsICR7dG9wfXB4KSByb3RhdGUoMTgwZGVnKWBcbiAgfSBlbHNlIHtcbiAgICB0b3AgLT0gYW5jaG9yRWxlbWVudFJlY3QudG9wXG5cbiAgICBmbG9hdGluZ0VsZW0uc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke2xlZnR9cHgsICR7dG9wfXB4KWBcbiAgfVxuXG4gIHJldHVybiBhZGRlZFRvVG9wXG59XG4iXSwibmFtZXMiOlsic2V0RmxvYXRpbmdFbGVtUG9zaXRpb24iLCJWRVJUSUNBTF9HQVAiLCJIT1JJWk9OVEFMX09GRlNFVCIsInRhcmdldFJlY3QiLCJmbG9hdGluZ0VsZW0iLCJhbmNob3JFbGVtIiwiaG9yaXpvbnRhbFBvc2l0aW9uIiwidmVydGljYWxHYXAiLCJob3Jpem9udGFsT2Zmc2V0Iiwic3BlY2lhbEhhbmRsaW5nRm9yQ2FyZXQiLCJhbmNob3JGbGlwcGVkT2Zmc2V0Iiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInN0eWxlIiwib3BhY2l0eSIsInRyYW5zZm9ybSIsImZsb2F0aW5nRWxlbVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJhbmNob3JFbGVtZW50UmVjdCIsImVkaXRvclNjcm9sbGVyUmVjdCIsInRvcCIsImhlaWdodCIsImxlZnQiLCJ3aWR0aCIsImFkZGVkVG9Ub3AiLCJyaWdodCIsImJvdHRvbSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPZ0JBOzs7ZUFBQUE7OztBQVBoQixNQUFNQyxlQUFlO0FBQ3JCLE1BQU1DLG9CQUFvQjtBQU1uQixTQUFTRix3QkFDZEcsVUFBNkIsRUFDN0JDLFlBQXlCLEVBQ3pCQyxVQUF1QixFQUN2QkMscUJBQXdDLE1BQU0sRUFDOUNDLGNBQXNCTixZQUFZLEVBQ2xDTyxtQkFBMkJOLGlCQUFpQixFQUM1Q08sMEJBQTBCLEtBQUssRUFDL0JDLHNCQUFzQixDQUFDO0lBRXZCLG1EQUFtRDtJQUNuRCxNQUFNQyxlQUFlTixXQUFXTyxhQUFhO0lBRTdDLElBQUlULGVBQWUsUUFBUVEsZ0JBQWdCLE1BQU07UUFDL0NQLGFBQWFTLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzdCVixhQUFhUyxLQUFLLENBQUNFLFNBQVMsR0FBRztRQUMvQjtJQUNGO0lBRUEsTUFBTUMsbUJBQW1CWixhQUFhYSxxQkFBcUI7SUFDM0QsTUFBTUMsb0JBQW9CYixXQUFXWSxxQkFBcUI7SUFDMUQsTUFBTUUscUJBQXFCUixhQUFhTSxxQkFBcUI7SUFFN0QsSUFBSUcsTUFBTWpCLFdBQVdpQixHQUFHLEdBQUdKLGlCQUFpQkssTUFBTSxHQUFHZDtJQUNyRCxJQUFJZSxPQUFPbkIsV0FBV21CLElBQUksR0FBR2Q7SUFFN0IsSUFBSUYsdUJBQXVCLFVBQVU7UUFDbkMsaUZBQWlGO1FBQ2pGZ0IsT0FBT25CLFdBQVdtQixJQUFJLEdBQUduQixXQUFXb0IsS0FBSyxHQUFHLElBQUlQLGlCQUFpQk8sS0FBSyxHQUFHO0lBQzNFO0lBRUEsSUFBSUMsYUFBYTtJQUNqQixJQUFJSixNQUFNRCxtQkFBbUJDLEdBQUcsSUFBSSxDQUFDWCx5QkFBeUI7UUFDNURlLGFBQWFSLGlCQUFpQkssTUFBTSxHQUFHbEIsV0FBV2tCLE1BQU0sR0FBR2QsY0FBYztRQUV6RWEsT0FBT0k7SUFDVDtJQUVBLElBQUlsQix1QkFBdUIsVUFBVTtRQUNuQyxJQUFJZ0IsT0FBT04saUJBQWlCTyxLQUFLLEdBQUdKLG1CQUFtQk0sS0FBSyxFQUFFO1lBQzVESCxPQUFPSCxtQkFBbUJNLEtBQUssR0FBR1QsaUJBQWlCTyxLQUFLLEdBQUdmO1FBQzdELE9BQU8sSUFBSWMsT0FBT0gsbUJBQW1CRyxJQUFJLEVBQUU7WUFDekNBLE9BQU9ILG1CQUFtQkcsSUFBSSxHQUFHZDtRQUNuQztJQUNGLE9BQU87UUFDTCxJQUFJYyxPQUFPTixpQkFBaUJPLEtBQUssR0FBR0osbUJBQW1CTSxLQUFLLEVBQUU7WUFDNURILE9BQU9ILG1CQUFtQk0sS0FBSyxHQUFHVCxpQkFBaUJPLEtBQUssR0FBR2Y7UUFDN0Q7SUFDRjtJQUVBYyxRQUFRSixrQkFBa0JJLElBQUk7SUFFOUJsQixhQUFhUyxLQUFLLENBQUNDLE9BQU8sR0FBRztJQUU3QixJQUFJTCwyQkFBMkJDLHdCQUF3QixHQUFHO1FBQ3hELDRIQUE0SDtRQUM1SCxpQ0FBaUM7UUFDakNVLE9BQU9GLGtCQUFrQlEsTUFBTSxHQUFHaEIsc0JBQXNCTSxpQkFBaUJLLE1BQU0sR0FBRztRQUNsRixzRkFBc0Y7UUFDdEZqQixhQUFhUyxLQUFLLENBQUNFLFNBQVMsR0FBRyxDQUFDLFVBQVUsRUFBRU8sS0FBSyxJQUFJLEVBQUVGLElBQUksa0JBQWtCLENBQUM7SUFDaEYsT0FBTztRQUNMQSxPQUFPRixrQkFBa0JFLEdBQUc7UUFFNUJoQixhQUFhUyxLQUFLLENBQUNFLFNBQVMsR0FBRyxDQUFDLFVBQVUsRUFBRU8sS0FBSyxJQUFJLEVBQUVGLElBQUksR0FBRyxDQUFDO0lBQ2pFO0lBRUEsT0FBT0k7QUFDVCJ9
package/dist/index.d.ts CHANGED
@@ -49,6 +49,7 @@ export { StrikethroughTextFeature } from './field/features/format/strikethrough'
49
49
  export { SubscriptTextFeature } from './field/features/format/subscript';
50
50
  export { SuperscriptTextFeature } from './field/features/format/superscript';
51
51
  export { UnderlineTextFeature } from './field/features/format/underline';
52
+ export { HorizontalRuleFeature } from './field/features/horizontalrule';
52
53
  export { IndentFeature } from './field/features/indent';
53
54
  export { CheckListFeature } from './field/features/lists/CheckList';
54
55
  export { OrderedListFeature } from './field/features/lists/OrderedList';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -90,6 +90,9 @@ _export(exports, {
90
90
  HeadingFeature: function() {
91
91
  return _Heading.HeadingFeature;
92
92
  },
93
+ HorizontalRuleFeature: function() {
94
+ return _horizontalrule.HorizontalRuleFeature;
95
+ },
93
96
  IS_ALL_FORMATTING: function() {
94
97
  return _nodeFormat.IS_ALL_FORMATTING;
95
98
  },
@@ -377,6 +380,7 @@ const _strikethrough = require("./field/features/format/strikethrough");
377
380
  const _subscript = require("./field/features/format/subscript");
378
381
  const _superscript = require("./field/features/format/superscript");
379
382
  const _underline = require("./field/features/format/underline");
383
+ const _horizontalrule = require("./field/features/horizontalrule");
380
384
  const _indent = require("./field/features/indent");
381
385
  const _CheckList = require("./field/features/lists/CheckList");
382
386
  const _OrderedList = require("./field/features/lists/OrderedList");
@@ -606,13 +610,14 @@ function lexicalEditor(props) {
606
610
  }
607
611
  return outputSchema;
608
612
  },
609
- populationPromise ({ context, currentDepth, depth, field, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
613
+ populationPromise ({ context, currentDepth, depth, draft, field, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
610
614
  // check if there are any features with nodes which have populationPromises for this field
611
615
  if (finalSanitizedEditorConfig?.features?.populationPromises?.size) {
612
616
  return (0, _richTextRelationshipPromise.richTextRelationshipPromise)({
613
617
  context,
614
618
  currentDepth,
615
619
  depth,
620
+ draft,
616
621
  editorPopulationPromises: finalSanitizedEditorConfig.features.populationPromises,
617
622
  field,
618
623
  findMany,
@@ -632,4 +637,4 @@ function lexicalEditor(props) {
632
637
  };
633
638
  }
634
639
 
635
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEpTT05TY2hlbWE0IH0gZnJvbSAnanNvbi1zY2hlbWEnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZyBhcyBMZXhpY2FsRWRpdG9yQ29uZmlnIH0gZnJvbSAnbGV4aWNhbC9MZXhpY2FsRWRpdG9yJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZywgU2FuaXRpemVkRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHtcbiAgZGVmYXVsdEVkaXRvckNvbmZpZyxcbiAgZGVmYXVsdEVkaXRvckZlYXR1cmVzLFxuICBkZWZhdWx0U2FuaXRpemVkRWRpdG9yQ29uZmlnLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2RlZmF1bHQnXG5pbXBvcnQgeyBzYW5pdGl6ZUVkaXRvckNvbmZpZyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2FuaXRpemUnXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvY2xvbmVEZWVwJ1xuaW1wb3J0IHsgcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlIH0gZnJvbSAnLi9wb3B1bGF0ZS9yaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UnXG5pbXBvcnQgeyByaWNoVGV4dFZhbGlkYXRlSE9DIH0gZnJvbSAnLi92YWxpZGF0ZSdcblxuZXhwb3J0IHR5cGUgTGV4aWNhbEVkaXRvclByb3BzID0ge1xuICBmZWF0dXJlcz86XG4gICAgfCAoKHsgZGVmYXVsdEZlYXR1cmVzIH06IHsgZGVmYXVsdEZlYXR1cmVzOiBGZWF0dXJlUHJvdmlkZXJbXSB9KSA9PiBGZWF0dXJlUHJvdmlkZXJbXSlcbiAgICB8IEZlYXR1cmVQcm92aWRlcltdXG4gIGxleGljYWw/OiBMZXhpY2FsRWRpdG9yQ29uZmlnXG59XG5cbmV4cG9ydCB0eXBlIExleGljYWxSaWNoVGV4dEFkYXB0ZXIgPSBSaWNoVGV4dEFkYXB0ZXI8U2VyaWFsaXplZEVkaXRvclN0YXRlLCBBZGFwdGVyUHJvcHMsIGFueT4gJiB7XG4gIGVkaXRvckNvbmZpZzogU2FuaXRpemVkRWRpdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZXhpY2FsRWRpdG9yKHByb3BzPzogTGV4aWNhbEVkaXRvclByb3BzKTogTGV4aWNhbFJpY2hUZXh0QWRhcHRlciB7XG4gIGxldCBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZzogU2FuaXRpemVkRWRpdG9yQ29uZmlnXG4gIGlmICghcHJvcHMgfHwgKCFwcm9wcy5mZWF0dXJlcyAmJiAhcHJvcHMubGV4aWNhbCkpIHtcbiAgICBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyA9IGNsb25lRGVlcChkZWZhdWx0U2FuaXRpemVkRWRpdG9yQ29uZmlnKVxuICB9IGVsc2Uge1xuICAgIGxldCBmZWF0dXJlczogRmVhdHVyZVByb3ZpZGVyW10gPVxuICAgICAgcHJvcHMuZmVhdHVyZXMgJiYgdHlwZW9mIHByb3BzLmZlYXR1cmVzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gcHJvcHMuZmVhdHVyZXMoeyBkZWZhdWx0RmVhdHVyZXM6IGNsb25lRGVlcChkZWZhdWx0RWRpdG9yRmVhdHVyZXMpIH0pXG4gICAgICAgIDogKHByb3BzLmZlYXR1cmVzIGFzIEZlYXR1cmVQcm92aWRlcltdKVxuICAgIGlmICghZmVhdHVyZXMpIHtcbiAgICAgIGZlYXR1cmVzID0gY2xvbmVEZWVwKGRlZmF1bHRFZGl0b3JGZWF0dXJlcylcbiAgICB9XG5cbiAgICBjb25zdCBsZXhpY2FsOiBMZXhpY2FsRWRpdG9yQ29uZmlnID0gcHJvcHMubGV4aWNhbFxuXG4gICAgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcgPSBzYW5pdGl6ZUVkaXRvckNvbmZpZyh7XG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGxleGljYWw6IHByb3BzLmxleGljYWwgPyAoKSA9PiBQcm9taXNlLnJlc29sdmUobGV4aWNhbCkgOiBkZWZhdWx0RWRpdG9yQ29uZmlnLmxleGljYWwsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgTGF6eUNlbGxDb21wb25lbnQ6ICgpID0+XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpbXBvcnQoJy4vY2VsbCcpLnRoZW4oKG1vZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBSaWNoVGV4dENlbGwgPSBtb2R1bGUuUmljaFRleHRDZWxsXG4gICAgICAgIHJldHVybiBpbXBvcnQoJ3BheWxvYWQvdXRpbGl0aWVzJykudGhlbigobW9kdWxlMikgPT5cbiAgICAgICAgICBtb2R1bGUyLndpdGhNZXJnZWRQcm9wcyh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IFJpY2hUZXh0Q2VsbCxcbiAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHsgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9KSxcblxuICAgIExhenlGaWVsZENvbXBvbmVudDogKCkgPT5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIGltcG9ydCgnLi9maWVsZCcpLnRoZW4oKG1vZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBSaWNoVGV4dEZpZWxkID0gbW9kdWxlLlJpY2hUZXh0RmllbGRcbiAgICAgICAgcmV0dXJuIGltcG9ydCgncGF5bG9hZC91dGlsaXRpZXMnKS50aGVuKChtb2R1bGUyKSA9PlxuICAgICAgICAgIG1vZHVsZTIud2l0aE1lcmdlZFByb3BzKHtcbiAgICAgICAgICAgIENvbXBvbmVudDogUmljaFRleHRGaWVsZCxcbiAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHsgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9KSxcbiAgICBhZnRlclJlYWRQcm9taXNlOiAoeyBmaWVsZCwgaW5jb21pbmdFZGl0b3JTdGF0ZSwgc2libGluZ0RvYyB9KSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW11cblxuICAgICAgICBpZiAoZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWc/LmZlYXR1cmVzPy5ob29rcz8uYWZ0ZXJSZWFkUHJvbWlzZXM/Lmxlbmd0aCkge1xuICAgICAgICAgIGZvciAoY29uc3QgYWZ0ZXJSZWFkUHJvbWlzZSBvZiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5mZWF0dXJlcy5ob29rc1xuICAgICAgICAgICAgLmFmdGVyUmVhZFByb21pc2VzKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gYWZ0ZXJSZWFkUHJvbWlzZSh7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBpbmNvbWluZ0VkaXRvclN0YXRlLFxuICAgICAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGlmIChwcm9taXNlKSB7XG4gICAgICAgICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgICAgICAudGhlbigoKSA9PiByZXNvbHZlKCkpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gcmVqZWN0KGVycm9yKSlcbiAgICAgIH0pXG4gICAgfSxcbiAgICBlZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLFxuICAgIG91dHB1dFNjaGVtYTogKHtcbiAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgIGlzUmVxdWlyZWQsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pID0+IHtcbiAgICAgIGxldCBvdXRwdXRTY2hlbWE6IEpTT05TY2hlbWE0ID0ge1xuICAgICAgICAvLyBUaGlzIHNjaGVtYSBtYXRjaGVzIHRoZSBTZXJpYWxpemVkRWRpdG9yU3RhdGUgdHlwZSBzbyBmYXIsIHRoYXQgaXQncyBwb3NzaWJsZSB0byBjYXN0IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB0byB0aGlzIHNjaGVtYSB3aXRob3V0IGFueSBlcnJvcnMuXG4gICAgICAgIC8vIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZFxuICAgICAgICAvLyAxKSBhbGxvdyByZWN1cnNpdmUgY2hpbGRyZW5cbiAgICAgICAgLy8gMikgUGFzcyBpbiBhbGwgdGhlIGRpZmZlcmVudCB0eXBlcyBmb3IgZXZlcnkgbm9kZSBhZGRlZCB0byB0aGUgZWRpdG9yY29uZmlnLiBUaGlzIGNhbiBiZSBkb25lIHdpdGggcmVmcyBpbiB0aGUgc2NoZW1hLlxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICByb290OiB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd0eXBlJywgJ3ZlcnNpb24nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkaXJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBlbnVtOiBbJ2x0cicsICdydGwnXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudWxsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgZW51bTogWydsZWZ0JywgJ3N0YXJ0JywgJ2NlbnRlcicsICdyaWdodCcsICdlbmQnLCAnanVzdGlmeScsICcnXSwgLy8gRWxlbWVudEZvcm1hdFR5cGUsIHNpbmNlIHRoZSByb290IG5vZGUgaXMgYW4gZWxlbWVudFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpbmRlbnQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnY2hpbGRyZW4nLCAnZGlyZWN0aW9uJywgJ2Zvcm1hdCcsICdpbmRlbnQnLCAndHlwZScsICd2ZXJzaW9uJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncm9vdCddLFxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBtb2RpZnlPdXRwdXRTY2hlbWEgb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuZ2VuZXJhdGVkVHlwZXNcbiAgICAgICAgLm1vZGlmeU91dHB1dFNjaGVtYXMpIHtcbiAgICAgICAgb3V0cHV0U2NoZW1hID0gbW9kaWZ5T3V0cHV0U2NoZW1hKHtcbiAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBjdXJyZW50U2NoZW1hOiBvdXRwdXRTY2hlbWEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dFNjaGVtYVxuICAgIH0sXG4gICAgcG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgY29udGV4dCxcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRlcHRoLFxuICAgICAgZmllbGQsXG4gICAgICBmaW5kTWFueSxcbiAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgc2libGluZ0RvYyxcbiAgICB9KSB7XG4gICAgICAvLyBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGZlYXR1cmVzIHdpdGggbm9kZXMgd2hpY2ggaGF2ZSBwb3B1bGF0aW9uUHJvbWlzZXMgZm9yIHRoaXMgZmllbGRcbiAgICAgIGlmIChmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZz8uZmVhdHVyZXM/LnBvcHVsYXRpb25Qcm9taXNlcz8uc2l6ZSkge1xuICAgICAgICByZXR1cm4gcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlKHtcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBlZGl0b3JQb3B1bGF0aW9uUHJvbWlzZXM6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLmZlYXR1cmVzLnBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9LFxuICAgIHZhbGlkYXRlOiByaWNoVGV4dFZhbGlkYXRlSE9DKHtcbiAgICAgIGVkaXRvckNvbmZpZzogZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcsXG4gICAgfSksXG4gIH1cbn1cblxuZXhwb3J0IHsgQmxvY2tRdW90ZUZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL0Jsb2NrUXVvdGUnXG5leHBvcnQgeyBCbG9ja3NGZWF0dXJlLCB0eXBlIEJsb2Nrc0ZlYXR1cmVQcm9wcywgdHlwZSBMZXhpY2FsQmxvY2sgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL0Jsb2NrcydcbmV4cG9ydCB7XG4gICRjcmVhdGVCbG9ja05vZGUsXG4gICRpc0Jsb2NrTm9kZSxcbiAgdHlwZSBCbG9ja0ZpZWxkcyxcbiAgQmxvY2tOb2RlLFxuICB0eXBlIFNlcmlhbGl6ZWRCbG9ja05vZGUsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvQmxvY2tzL25vZGVzL0Jsb2Nrc05vZGUnXG5leHBvcnQgeyBIZWFkaW5nRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvSGVhZGluZydcblxuZXhwb3J0IHsgTGlua0ZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL0xpbmsnXG5leHBvcnQgdHlwZSB7IExpbmtGZWF0dXJlUHJvcHMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL0xpbmsnXG5leHBvcnQge1xuICAkY3JlYXRlQXV0b0xpbmtOb2RlLFxuICAkaXNBdXRvTGlua05vZGUsXG4gIEF1dG9MaW5rTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkQXV0b0xpbmtOb2RlLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL0xpbmsvbm9kZXMvQXV0b0xpbmtOb2RlJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZUxpbmtOb2RlLFxuICAkaXNMaW5rTm9kZSxcbiAgdHlwZSBMaW5rRmllbGRzLFxuICBMaW5rTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkTGlua05vZGUsXG4gIFRPR0dMRV9MSU5LX0NPTU1BTkQsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvTGluay9ub2Rlcy9MaW5rTm9kZSdcblxuZXhwb3J0IHsgUGFyYWdyYXBoRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvUGFyYWdyYXBoJ1xuZXhwb3J0IHsgUmVsYXRpb25zaGlwRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvUmVsYXRpb25zaGlwJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZVJlbGF0aW9uc2hpcE5vZGUsXG4gICRpc1JlbGF0aW9uc2hpcE5vZGUsXG4gIHR5cGUgUmVsYXRpb25zaGlwRGF0YSxcbiAgUmVsYXRpb25zaGlwTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkUmVsYXRpb25zaGlwTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9SZWxhdGlvbnNoaXAvbm9kZXMvUmVsYXRpb25zaGlwTm9kZSdcbmV4cG9ydCB7IFVwbG9hZEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL1VwbG9hZCdcbmV4cG9ydCB0eXBlIHsgVXBsb2FkRmVhdHVyZVByb3BzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9VcGxvYWQnXG5leHBvcnQge1xuICAkY3JlYXRlVXBsb2FkTm9kZSxcbiAgJGlzVXBsb2FkTm9kZSxcbiAgUmF3VXBsb2FkUGF5bG9hZCxcbiAgdHlwZSBTZXJpYWxpemVkVXBsb2FkTm9kZSxcbiAgdHlwZSBVcGxvYWREYXRhLFxuICBVcGxvYWROb2RlLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL1VwbG9hZC9ub2Rlcy9VcGxvYWROb2RlJ1xuZXhwb3J0IHsgQWxpZ25GZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9hbGlnbidcbmV4cG9ydCB7IFRleHREcm9wZG93blNlY3Rpb25XaXRoRW50cmllcyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhclRleHREcm9wZG93blNlY3Rpb24nXG5leHBvcnQge1xuICBIVE1MQ29udmVydGVyRmVhdHVyZSxcbiAgdHlwZSBIVE1MQ29udmVydGVyRmVhdHVyZVByb3BzLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbCdcbmV4cG9ydCB7XG4gIGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwsXG4gIGNvbnZlcnRMZXhpY2FsVG9IVE1MLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXInXG5leHBvcnQgeyBMaW5lYnJlYWtIVE1MQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGluZWJyZWFrJ1xuZXhwb3J0IHsgUGFyYWdyYXBoSFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3BhcmFncmFwaCdcbmV4cG9ydCB7IFRleHRIVE1MQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyL2NvbnZlcnRlcnMvdGV4dCdcbmV4cG9ydCB7IGRlZmF1bHRIVE1MQ29udmVydGVycyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9kZWZhdWx0Q29udmVydGVycydcbmV4cG9ydCB0eXBlIHsgSFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci90eXBlcydcbmV4cG9ydCB7IGNvbnNvbGlkYXRlSFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9maWVsZCdcbmV4cG9ydCB7IGxleGljYWxIVE1MIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvZmllbGQnXG5cbmV4cG9ydCB7IFRlc3RSZWNvcmRlckZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2RlYnVnL1Rlc3RSZWNvcmRlcidcbmV4cG9ydCB7IFRyZWVWaWV3RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZGVidWcvVHJlZVZpZXcnXG5cbmV4cG9ydCB7IEJvbGRUZXh0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L0JvbGQnXG5leHBvcnQgeyBJbmxpbmVDb2RlVGV4dEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9JbmxpbmVDb2RlJ1xuZXhwb3J0IHsgSXRhbGljVGV4dEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9JdGFsaWMnXG5leHBvcnQgeyBTZWN0aW9uV2l0aEVudHJpZXMgYXMgRm9ybWF0U2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhclNlY3Rpb24nXG5leHBvcnQgeyBTdHJpa2V0aHJvdWdoVGV4dEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9zdHJpa2V0aHJvdWdoJ1xuZXhwb3J0IHsgU3Vic2NyaXB0VGV4dEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9zdWJzY3JpcHQnXG5leHBvcnQgeyBTdXBlcnNjcmlwdFRleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvc3VwZXJzY3JpcHQnXG5leHBvcnQgeyBVbmRlcmxpbmVUZXh0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3VuZGVybGluZSdcbmV4cG9ydCB7IEluZGVudEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2luZGVudCdcbmV4cG9ydCB7IENoZWNrTGlzdEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2xpc3RzL0NoZWNrTGlzdCdcbmV4cG9ydCB7IE9yZGVyZWRMaXN0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbGlzdHMvT3JkZXJlZExpc3QnXG5leHBvcnQgeyBVbm9yZGVyZWRMaXN0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbGlzdHMvVW5vcmRlcmVkTGlzdCdcbmV4cG9ydCB7IExleGljYWxQbHVnaW5Ub0xleGljYWxGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL0xleGljYWxQbHVnaW5Ub0xleGljYWwnXG5leHBvcnQgeyBTbGF0ZVRvTGV4aWNhbEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwnXG5leHBvcnQgeyBTbGF0ZUJsb2NrcXVvdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvYmxvY2txdW90ZSdcblxuZXhwb3J0IHsgU2xhdGVIZWFkaW5nQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2hlYWRpbmcnXG5leHBvcnQgeyBTbGF0ZUluZGVudENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9pbmRlbnQnXG5leHBvcnQgeyBTbGF0ZUxpbmtDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGluaydcblxuZXhwb3J0IHsgU2xhdGVMaXN0SXRlbUNvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9saXN0SXRlbSdcbmV4cG9ydCB7IFNsYXRlT3JkZXJlZExpc3RDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvb3JkZXJlZExpc3QnXG5leHBvcnQgeyBTbGF0ZVJlbGF0aW9uc2hpcENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9yZWxhdGlvbnNoaXAnXG5leHBvcnQgeyBTbGF0ZVVua25vd25Db252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdW5rbm93bidcbmV4cG9ydCB7IFNsYXRlVW5vcmRlcmVkTGlzdENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy91bm9yZGVyZWRMaXN0J1xuZXhwb3J0IHsgU2xhdGVVcGxvYWRDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdXBsb2FkJ1xuZXhwb3J0IHsgZGVmYXVsdFNsYXRlQ29udmVydGVycyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5cbmV4cG9ydCB7XG4gIGNvbnZlcnRTbGF0ZU5vZGVzVG9MZXhpY2FsLFxuICBjb252ZXJ0U2xhdGVUb0xleGljYWwsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvaW5kZXgnXG5cbmV4cG9ydCB0eXBlIHtcbiAgU2xhdGVOb2RlLFxuICBTbGF0ZU5vZGVDb252ZXJ0ZXIsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvdHlwZXMnXG5cbmV4cG9ydCB0eXBlIHtcbiAgRmVhdHVyZSxcbiAgRmVhdHVyZVByb3ZpZGVyLFxuICBGZWF0dXJlUHJvdmlkZXJNYXAsXG4gIE5vZGVWYWxpZGF0aW9uLFxuICBQb3B1bGF0aW9uUHJvbWlzZSxcbiAgUmVzb2x2ZWRGZWF0dXJlLFxuICBSZXNvbHZlZEZlYXR1cmVNYXAsXG4gIFNhbml0aXplZEZlYXR1cmVzLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL3R5cGVzJ1xuZXhwb3J0IHtcbiAgRWRpdG9yQ29uZmlnUHJvdmlkZXIsXG4gIHVzZUVkaXRvckNvbmZpZ0NvbnRleHQsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5leHBvcnQge1xuICBkZWZhdWx0RWRpdG9yQ29uZmlnLFxuICBkZWZhdWx0RWRpdG9yRmVhdHVyZXMsXG4gIGRlZmF1bHRTYW5pdGl6ZWRFZGl0b3JDb25maWcsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvZGVmYXVsdCdcbmV4cG9ydCB7IGxvYWRGZWF0dXJlcywgc29ydEZlYXR1cmVzRm9yT3B0aW1hbExvYWRpbmcgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2xvYWRlcidcbmV4cG9ydCB7IHNhbml0aXplRWRpdG9yQ29uZmlnLCBzYW5pdGl6ZUZlYXR1cmVzIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9zYW5pdGl6ZSdcbmV4cG9ydCB7IGdldEVuYWJsZWROb2RlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9ub2RlcydcblxuZXhwb3J0IHtcbiAgdHlwZSBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uLFxuICB0eXBlIEZsb2F0aW5nVG9vbGJhclNlY3Rpb25FbnRyeSxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL3R5cGVzJ1xuZXhwb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9wbHVnaW5zL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi9pbmRleCdcbi8vIGV4cG9ydCBTYW5pdGl6ZWRFZGl0b3JDb25maWdcbmV4cG9ydCB0eXBlIHsgRWRpdG9yQ29uZmlnLCBTYW5pdGl6ZWRFZGl0b3JDb25maWcgfVxuZXhwb3J0IHR5cGUgeyBBZGFwdGVyUHJvcHMgfVxuXG5leHBvcnQge1xuICBTbGFzaE1lbnVHcm91cCxcbiAgU2xhc2hNZW51T3B0aW9uLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvcGx1Z2lucy9TbGFzaE1lbnUvTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4vdHlwZXMnXG5leHBvcnQgeyBDQU5fVVNFX0RPTSB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9jYW5Vc2VET00nXG5leHBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvY2xvbmVEZWVwJ1xuZXhwb3J0IHsgZ2V0RE9NUmFuZ2VSZWN0IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2dldERPTVJhbmdlUmVjdCdcbmV4cG9ydCB7IGdldFNlbGVjdGVkTm9kZSB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9nZXRTZWxlY3RlZE5vZGUnXG5leHBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2d1YXJkJ1xuZXhwb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2ludmFyaWFudCdcbmV4cG9ydCB7IGpvaW5DbGFzc2VzIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2pvaW5DbGFzc2VzJ1xuZXhwb3J0IHsgY3JlYXRlQmxvY2tOb2RlIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL21hcmtkb3duL2NyZWF0ZUJsb2NrTm9kZSdcbmV4cG9ydCB7XG4gIERFVEFJTF9UWVBFX1RPX0RFVEFJTCxcbiAgRE9VQkxFX0xJTkVfQlJFQUssXG4gIEVMRU1FTlRfRk9STUFUX1RPX1RZUEUsXG4gIEVMRU1FTlRfVFlQRV9UT19GT1JNQVQsXG4gIElTX0FMTF9GT1JNQVRUSU5HLFxuICBMVFJfUkVHRVgsXG4gIE5PTl9CUkVBS0lOR19TUEFDRSxcbiAgTm9kZUZvcm1hdCxcbiAgUlRMX1JFR0VYLFxuICBURVhUX01PREVfVE9fVFlQRSxcbiAgVEVYVF9UWVBFX1RPX0ZPUk1BVCxcbiAgVEVYVF9UWVBFX1RPX01PREUsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9ub2RlRm9ybWF0J1xuZXhwb3J0IHsgUG9pbnQsIGlzUG9pbnQgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvcG9pbnQnXG5leHBvcnQgeyBSZWN0IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3JlY3QnXG5leHBvcnQgeyBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbiB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9zZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbidcbmV4cG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9zZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3InXG5leHBvcnQge1xuICBhZGRTd2lwZURvd25MaXN0ZW5lcixcbiAgYWRkU3dpcGVMZWZ0TGlzdGVuZXIsXG4gIGFkZFN3aXBlUmlnaHRMaXN0ZW5lcixcbiAgYWRkU3dpcGVVcExpc3RlbmVyLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvc3dpcGUnXG5leHBvcnQgeyBzYW5pdGl6ZVVybCwgdmFsaWRhdGVVcmwgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvdXJsJ1xuZXhwb3J0IHsgZGVmYXVsdFJpY2hUZXh0VmFsdWUgfSBmcm9tICcuL3BvcHVsYXRlL2RlZmF1bHRWYWx1ZSdcbiJdLCJuYW1lcyI6WyIkY3JlYXRlQXV0b0xpbmtOb2RlIiwiJGNyZWF0ZUJsb2NrTm9kZSIsIiRjcmVhdGVMaW5rTm9kZSIsIiRjcmVhdGVSZWxhdGlvbnNoaXBOb2RlIiwiJGNyZWF0ZVVwbG9hZE5vZGUiLCIkaXNBdXRvTGlua05vZGUiLCIkaXNCbG9ja05vZGUiLCIkaXNMaW5rTm9kZSIsIiRpc1JlbGF0aW9uc2hpcE5vZGUiLCIkaXNVcGxvYWROb2RlIiwiQWxpZ25GZWF0dXJlIiwiQXV0b0xpbmtOb2RlIiwiQmxvY2tOb2RlIiwiQmxvY2tRdW90ZUZlYXR1cmUiLCJCbG9ja3NGZWF0dXJlIiwiQm9sZFRleHRGZWF0dXJlIiwiQ0FOX1VTRV9ET00iLCJDaGVja0xpc3RGZWF0dXJlIiwiREVUQUlMX1RZUEVfVE9fREVUQUlMIiwiRE9VQkxFX0xJTkVfQlJFQUsiLCJFTEVNRU5UX0ZPUk1BVF9UT19UWVBFIiwiRUxFTUVOVF9UWVBFX1RPX0ZPUk1BVCIsIkVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQiLCJFZGl0b3JDb25maWdQcm92aWRlciIsIkZvcm1hdFNlY3Rpb25XaXRoRW50cmllcyIsIlNlY3Rpb25XaXRoRW50cmllcyIsIkhUTUxDb252ZXJ0ZXJGZWF0dXJlIiwiSGVhZGluZ0ZlYXR1cmUiLCJJU19BTExfRk9STUFUVElORyIsIkluZGVudEZlYXR1cmUiLCJJbmxpbmVDb2RlVGV4dEZlYXR1cmUiLCJJdGFsaWNUZXh0RmVhdHVyZSIsIkxUUl9SRUdFWCIsIkxleGljYWxQbHVnaW5Ub0xleGljYWxGZWF0dXJlIiwiTGluZWJyZWFrSFRNTENvbnZlcnRlciIsIkxpbmtGZWF0dXJlIiwiTGlua05vZGUiLCJOT05fQlJFQUtJTkdfU1BBQ0UiLCJOb2RlRm9ybWF0IiwiT3JkZXJlZExpc3RGZWF0dXJlIiwiUGFyYWdyYXBoRmVhdHVyZSIsIlBhcmFncmFwaEhUTUxDb252ZXJ0ZXIiLCJQb2ludCIsIlJUTF9SRUdFWCIsIlJhd1VwbG9hZFBheWxvYWQiLCJSZWN0IiwiUmVsYXRpb25zaGlwRmVhdHVyZSIsIlJlbGF0aW9uc2hpcE5vZGUiLCJTbGFzaE1lbnVHcm91cCIsIlNsYXNoTWVudU9wdGlvbiIsIlNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciIsIlNsYXRlSGVhZGluZ0NvbnZlcnRlciIsIlNsYXRlSW5kZW50Q29udmVydGVyIiwiU2xhdGVMaW5rQ29udmVydGVyIiwiU2xhdGVMaXN0SXRlbUNvbnZlcnRlciIsIlNsYXRlT3JkZXJlZExpc3RDb252ZXJ0ZXIiLCJTbGF0ZVJlbGF0aW9uc2hpcENvbnZlcnRlciIsIlNsYXRlVG9MZXhpY2FsRmVhdHVyZSIsIlNsYXRlVW5rbm93bkNvbnZlcnRlciIsIlNsYXRlVW5vcmRlcmVkTGlzdENvbnZlcnRlciIsIlNsYXRlVXBsb2FkQ29udmVydGVyIiwiU3RyaWtldGhyb3VnaFRleHRGZWF0dXJlIiwiU3Vic2NyaXB0VGV4dEZlYXR1cmUiLCJTdXBlcnNjcmlwdFRleHRGZWF0dXJlIiwiVEVYVF9NT0RFX1RPX1RZUEUiLCJURVhUX1RZUEVfVE9fRk9STUFUIiwiVEVYVF9UWVBFX1RPX01PREUiLCJUT0dHTEVfTElOS19DT01NQU5EIiwiVGVzdFJlY29yZGVyRmVhdHVyZSIsIlRleHREcm9wZG93blNlY3Rpb25XaXRoRW50cmllcyIsIlRleHRIVE1MQ29udmVydGVyIiwiVHJlZVZpZXdGZWF0dXJlIiwiVW5kZXJsaW5lVGV4dEZlYXR1cmUiLCJVbm9yZGVyZWRMaXN0RmVhdHVyZSIsIlVwbG9hZEZlYXR1cmUiLCJVcGxvYWROb2RlIiwiYWRkU3dpcGVEb3duTGlzdGVuZXIiLCJhZGRTd2lwZUxlZnRMaXN0ZW5lciIsImFkZFN3aXBlUmlnaHRMaXN0ZW5lciIsImFkZFN3aXBlVXBMaXN0ZW5lciIsImNsb25lRGVlcCIsImNvbnNvbGlkYXRlSFRNTENvbnZlcnRlcnMiLCJjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MIiwiY29udmVydExleGljYWxUb0hUTUwiLCJjb252ZXJ0U2xhdGVOb2Rlc1RvTGV4aWNhbCIsImNvbnZlcnRTbGF0ZVRvTGV4aWNhbCIsImNyZWF0ZUJsb2NrTm9kZSIsImRlZmF1bHRFZGl0b3JDb25maWciLCJkZWZhdWx0RWRpdG9yRmVhdHVyZXMiLCJkZWZhdWx0SFRNTENvbnZlcnRlcnMiLCJkZWZhdWx0UmljaFRleHRWYWx1ZSIsImRlZmF1bHRTYW5pdGl6ZWRFZGl0b3JDb25maWciLCJkZWZhdWx0U2xhdGVDb252ZXJ0ZXJzIiwiZ2V0RE9NUmFuZ2VSZWN0IiwiZ2V0RW5hYmxlZE5vZGVzIiwiZ2V0U2VsZWN0ZWROb2RlIiwiaW52YXJpYW50IiwiaXNIVE1MRWxlbWVudCIsImlzUG9pbnQiLCJqb2luQ2xhc3NlcyIsImxleGljYWxFZGl0b3IiLCJsZXhpY2FsSFRNTCIsImxvYWRGZWF0dXJlcyIsInNhbml0aXplRWRpdG9yQ29uZmlnIiwic2FuaXRpemVGZWF0dXJlcyIsInNhbml0aXplVXJsIiwic2V0RmxvYXRpbmdFbGVtUG9zaXRpb24iLCJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3IiLCJzb3J0RmVhdHVyZXNGb3JPcHRpbWFsTG9hZGluZyIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJ2YWxpZGF0ZVVybCIsInByb3BzIiwiZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWciLCJmZWF0dXJlcyIsImxleGljYWwiLCJkZWZhdWx0RmVhdHVyZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkxhenlDZWxsQ29tcG9uZW50IiwidGhlbiIsIm1vZHVsZSIsIlJpY2hUZXh0Q2VsbCIsIm1vZHVsZTIiLCJ3aXRoTWVyZ2VkUHJvcHMiLCJDb21wb25lbnQiLCJ0b01lcmdlSW50b1Byb3BzIiwiZWRpdG9yQ29uZmlnIiwiTGF6eUZpZWxkQ29tcG9uZW50IiwiUmljaFRleHRGaWVsZCIsImFmdGVyUmVhZFByb21pc2UiLCJmaWVsZCIsImluY29taW5nRWRpdG9yU3RhdGUiLCJzaWJsaW5nRG9jIiwicmVqZWN0IiwicHJvbWlzZXMiLCJob29rcyIsImFmdGVyUmVhZFByb21pc2VzIiwibGVuZ3RoIiwicHJvbWlzZSIsInB1c2giLCJhbGwiLCJjYXRjaCIsImVycm9yIiwib3V0cHV0U2NoZW1hIiwiY29sbGVjdGlvbklERmllbGRUeXBlcyIsImNvbmZpZyIsImludGVyZmFjZU5hbWVEZWZpbml0aW9ucyIsImlzUmVxdWlyZWQiLCJwYXlsb2FkIiwidHlwZSIsIndpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlIiwicHJvcGVydGllcyIsInJvb3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsImNoaWxkcmVuIiwiaXRlbXMiLCJ2ZXJzaW9uIiwicmVxdWlyZWQiLCJkaXJlY3Rpb24iLCJvbmVPZiIsImVudW0iLCJmb3JtYXQiLCJpbmRlbnQiLCJtb2RpZnlPdXRwdXRTY2hlbWEiLCJnZW5lcmF0ZWRUeXBlcyIsIm1vZGlmeU91dHB1dFNjaGVtYXMiLCJjdXJyZW50U2NoZW1hIiwicG9wdWxhdGlvblByb21pc2UiLCJjb250ZXh0IiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJmaW5kTWFueSIsImZsYXR0ZW5Mb2NhbGVzIiwib3ZlcnJpZGVBY2Nlc3MiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXEiLCJzaG93SGlkZGVuRmllbGRzIiwic2l6ZSIsInJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSIsImVkaXRvclBvcHVsYXRpb25Qcm9taXNlcyIsInZhbGlkYXRlIiwicmljaFRleHRWYWxpZGF0ZUhPQyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUF5T0VBLG1CQUFtQjtlQUFuQkEsaUNBQW1COztJQVhuQkMsZ0JBQWdCO2VBQWhCQSw0QkFBZ0I7O0lBaUJoQkMsZUFBZTtlQUFmQSx5QkFBZTs7SUFXZkMsdUJBQXVCO2VBQXZCQSx5Q0FBdUI7O0lBU3ZCQyxpQkFBaUI7ZUFBakJBLDZCQUFpQjs7SUF6QmpCQyxlQUFlO2VBQWZBLDZCQUFlOztJQVhmQyxZQUFZO2VBQVpBLHdCQUFZOztJQWlCWkMsV0FBVztlQUFYQSxxQkFBVzs7SUFXWEMsbUJBQW1CO2VBQW5CQSxxQ0FBbUI7O0lBU25CQyxhQUFhO2VBQWJBLHlCQUFhOztJQU1OQyxZ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
640
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEpTT05TY2hlbWE0IH0gZnJvbSAnanNvbi1zY2hlbWEnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZyBhcyBMZXhpY2FsRWRpdG9yQ29uZmlnIH0gZnJvbSAnbGV4aWNhbC9MZXhpY2FsRWRpdG9yJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZywgU2FuaXRpemVkRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHtcbiAgZGVmYXVsdEVkaXRvckNvbmZpZyxcbiAgZGVmYXVsdEVkaXRvckZlYXR1cmVzLFxuICBkZWZhdWx0U2FuaXRpemVkRWRpdG9yQ29uZmlnLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2RlZmF1bHQnXG5pbXBvcnQgeyBzYW5pdGl6ZUVkaXRvckNvbmZpZyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2FuaXRpemUnXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvY2xvbmVEZWVwJ1xuaW1wb3J0IHsgcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlIH0gZnJvbSAnLi9wb3B1bGF0ZS9yaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UnXG5pbXBvcnQgeyByaWNoVGV4dFZhbGlkYXRlSE9DIH0gZnJvbSAnLi92YWxpZGF0ZSdcblxuZXhwb3J0IHR5cGUgTGV4aWNhbEVkaXRvclByb3BzID0ge1xuICBmZWF0dXJlcz86XG4gICAgfCAoKHsgZGVmYXVsdEZlYXR1cmVzIH06IHsgZGVmYXVsdEZlYXR1cmVzOiBGZWF0dXJlUHJvdmlkZXJbXSB9KSA9PiBGZWF0dXJlUHJvdmlkZXJbXSlcbiAgICB8IEZlYXR1cmVQcm92aWRlcltdXG4gIGxleGljYWw/OiBMZXhpY2FsRWRpdG9yQ29uZmlnXG59XG5cbmV4cG9ydCB0eXBlIExleGljYWxSaWNoVGV4dEFkYXB0ZXIgPSBSaWNoVGV4dEFkYXB0ZXI8U2VyaWFsaXplZEVkaXRvclN0YXRlLCBBZGFwdGVyUHJvcHMsIGFueT4gJiB7XG4gIGVkaXRvckNvbmZpZzogU2FuaXRpemVkRWRpdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZXhpY2FsRWRpdG9yKHByb3BzPzogTGV4aWNhbEVkaXRvclByb3BzKTogTGV4aWNhbFJpY2hUZXh0QWRhcHRlciB7XG4gIGxldCBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZzogU2FuaXRpemVkRWRpdG9yQ29uZmlnXG4gIGlmICghcHJvcHMgfHwgKCFwcm9wcy5mZWF0dXJlcyAmJiAhcHJvcHMubGV4aWNhbCkpIHtcbiAgICBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyA9IGNsb25lRGVlcChkZWZhdWx0U2FuaXRpemVkRWRpdG9yQ29uZmlnKVxuICB9IGVsc2Uge1xuICAgIGxldCBmZWF0dXJlczogRmVhdHVyZVByb3ZpZGVyW10gPVxuICAgICAgcHJvcHMuZmVhdHVyZXMgJiYgdHlwZW9mIHByb3BzLmZlYXR1cmVzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gcHJvcHMuZmVhdHVyZXMoeyBkZWZhdWx0RmVhdHVyZXM6IGNsb25lRGVlcChkZWZhdWx0RWRpdG9yRmVhdHVyZXMpIH0pXG4gICAgICAgIDogKHByb3BzLmZlYXR1cmVzIGFzIEZlYXR1cmVQcm92aWRlcltdKVxuICAgIGlmICghZmVhdHVyZXMpIHtcbiAgICAgIGZlYXR1cmVzID0gY2xvbmVEZWVwKGRlZmF1bHRFZGl0b3JGZWF0dXJlcylcbiAgICB9XG5cbiAgICBjb25zdCBsZXhpY2FsOiBMZXhpY2FsRWRpdG9yQ29uZmlnID0gcHJvcHMubGV4aWNhbFxuXG4gICAgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcgPSBzYW5pdGl6ZUVkaXRvckNvbmZpZyh7XG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGxleGljYWw6IHByb3BzLmxleGljYWwgPyAoKSA9PiBQcm9taXNlLnJlc29sdmUobGV4aWNhbCkgOiBkZWZhdWx0RWRpdG9yQ29uZmlnLmxleGljYWwsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgTGF6eUNlbGxDb21wb25lbnQ6ICgpID0+XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpbXBvcnQoJy4vY2VsbCcpLnRoZW4oKG1vZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBSaWNoVGV4dENlbGwgPSBtb2R1bGUuUmljaFRleHRDZWxsXG4gICAgICAgIHJldHVybiBpbXBvcnQoJ3BheWxvYWQvdXRpbGl0aWVzJykudGhlbigobW9kdWxlMikgPT5cbiAgICAgICAgICBtb2R1bGUyLndpdGhNZXJnZWRQcm9wcyh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IFJpY2hUZXh0Q2VsbCxcbiAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHsgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9KSxcblxuICAgIExhenlGaWVsZENvbXBvbmVudDogKCkgPT5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIGltcG9ydCgnLi9maWVsZCcpLnRoZW4oKG1vZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBSaWNoVGV4dEZpZWxkID0gbW9kdWxlLlJpY2hUZXh0RmllbGRcbiAgICAgICAgcmV0dXJuIGltcG9ydCgncGF5bG9hZC91dGlsaXRpZXMnKS50aGVuKChtb2R1bGUyKSA9PlxuICAgICAgICAgIG1vZHVsZTIud2l0aE1lcmdlZFByb3BzKHtcbiAgICAgICAgICAgIENvbXBvbmVudDogUmljaFRleHRGaWVsZCxcbiAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHsgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9KSxcbiAgICBhZnRlclJlYWRQcm9taXNlOiAoeyBmaWVsZCwgaW5jb21pbmdFZGl0b3JTdGF0ZSwgc2libGluZ0RvYyB9KSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW11cblxuICAgICAgICBpZiAoZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWc/LmZlYXR1cmVzPy5ob29rcz8uYWZ0ZXJSZWFkUHJvbWlzZXM/Lmxlbmd0aCkge1xuICAgICAgICAgIGZvciAoY29uc3QgYWZ0ZXJSZWFkUHJvbWlzZSBvZiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5mZWF0dXJlcy5ob29rc1xuICAgICAgICAgICAgLmFmdGVyUmVhZFByb21pc2VzKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gYWZ0ZXJSZWFkUHJvbWlzZSh7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBpbmNvbWluZ0VkaXRvclN0YXRlLFxuICAgICAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGlmIChwcm9taXNlKSB7XG4gICAgICAgICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgICAgICAudGhlbigoKSA9PiByZXNvbHZlKCkpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gcmVqZWN0KGVycm9yKSlcbiAgICAgIH0pXG4gICAgfSxcbiAgICBlZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLFxuICAgIG91dHB1dFNjaGVtYTogKHtcbiAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgIGlzUmVxdWlyZWQsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pID0+IHtcbiAgICAgIGxldCBvdXRwdXRTY2hlbWE6IEpTT05TY2hlbWE0ID0ge1xuICAgICAgICAvLyBUaGlzIHNjaGVtYSBtYXRjaGVzIHRoZSBTZXJpYWxpemVkRWRpdG9yU3RhdGUgdHlwZSBzbyBmYXIsIHRoYXQgaXQncyBwb3NzaWJsZSB0byBjYXN0IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB0byB0aGlzIHNjaGVtYSB3aXRob3V0IGFueSBlcnJvcnMuXG4gICAgICAgIC8vIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZFxuICAgICAgICAvLyAxKSBhbGxvdyByZWN1cnNpdmUgY2hpbGRyZW5cbiAgICAgICAgLy8gMikgUGFzcyBpbiBhbGwgdGhlIGRpZmZlcmVudCB0eXBlcyBmb3IgZXZlcnkgbm9kZSBhZGRlZCB0byB0aGUgZWRpdG9yY29uZmlnLiBUaGlzIGNhbiBiZSBkb25lIHdpdGggcmVmcyBpbiB0aGUgc2NoZW1hLlxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICByb290OiB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd0eXBlJywgJ3ZlcnNpb24nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkaXJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBlbnVtOiBbJ2x0cicsICdydGwnXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudWxsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgZW51bTogWydsZWZ0JywgJ3N0YXJ0JywgJ2NlbnRlcicsICdyaWdodCcsICdlbmQnLCAnanVzdGlmeScsICcnXSwgLy8gRWxlbWVudEZvcm1hdFR5cGUsIHNpbmNlIHRoZSByb290IG5vZGUgaXMgYW4gZWxlbWVudFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpbmRlbnQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnY2hpbGRyZW4nLCAnZGlyZWN0aW9uJywgJ2Zvcm1hdCcsICdpbmRlbnQnLCAndHlwZScsICd2ZXJzaW9uJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncm9vdCddLFxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBtb2RpZnlPdXRwdXRTY2hlbWEgb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuZ2VuZXJhdGVkVHlwZXNcbiAgICAgICAgLm1vZGlmeU91dHB1dFNjaGVtYXMpIHtcbiAgICAgICAgb3V0cHV0U2NoZW1hID0gbW9kaWZ5T3V0cHV0U2NoZW1hKHtcbiAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBjdXJyZW50U2NoZW1hOiBvdXRwdXRTY2hlbWEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dFNjaGVtYVxuICAgIH0sXG4gICAgcG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgY29udGV4dCxcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRlcHRoLFxuICAgICAgZHJhZnQsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpbmRNYW55LFxuICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBzaWJsaW5nRG9jLFxuICAgIH0pIHtcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZmVhdHVyZXMgd2l0aCBub2RlcyB3aGljaCBoYXZlIHBvcHVsYXRpb25Qcm9taXNlcyBmb3IgdGhpcyBmaWVsZFxuICAgICAgaWYgKGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnPy5mZWF0dXJlcz8ucG9wdWxhdGlvblByb21pc2VzPy5zaXplKSB7XG4gICAgICAgIHJldHVybiByaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2Uoe1xuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGRyYWZ0LFxuICAgICAgICAgIGVkaXRvclBvcHVsYXRpb25Qcm9taXNlczogZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMucG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgdmFsaWRhdGU6IHJpY2hUZXh0VmFsaWRhdGVIT0Moe1xuICAgICAgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyxcbiAgICB9KSxcbiAgfVxufVxuXG5leHBvcnQgeyBCbG9ja1F1b3RlRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvQmxvY2tRdW90ZSdcbmV4cG9ydCB7IEJsb2Nrc0ZlYXR1cmUsIHR5cGUgQmxvY2tzRmVhdHVyZVByb3BzLCB0eXBlIExleGljYWxCbG9jayB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvQmxvY2tzJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZUJsb2NrTm9kZSxcbiAgJGlzQmxvY2tOb2RlLFxuICB0eXBlIEJsb2NrRmllbGRzLFxuICBCbG9ja05vZGUsXG4gIHR5cGUgU2VyaWFsaXplZEJsb2NrTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9CbG9ja3Mvbm9kZXMvQmxvY2tzTm9kZSdcbmV4cG9ydCB7IEhlYWRpbmdGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9IZWFkaW5nJ1xuXG5leHBvcnQgeyBMaW5rRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvTGluaydcbmV4cG9ydCB0eXBlIHsgTGlua0ZlYXR1cmVQcm9wcyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvTGluaydcbmV4cG9ydCB7XG4gICRjcmVhdGVBdXRvTGlua05vZGUsXG4gICRpc0F1dG9MaW5rTm9kZSxcbiAgQXV0b0xpbmtOb2RlLFxuICB0eXBlIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvTGluay9ub2Rlcy9BdXRvTGlua05vZGUnXG5leHBvcnQge1xuICAkY3JlYXRlTGlua05vZGUsXG4gICRpc0xpbmtOb2RlLFxuICB0eXBlIExpbmtGaWVsZHMsXG4gIExpbmtOb2RlLFxuICB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSxcbiAgVE9HR0xFX0xJTktfQ09NTUFORCxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0xpbmtOb2RlJ1xuXG5leHBvcnQgeyBQYXJhZ3JhcGhGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9QYXJhZ3JhcGgnXG5leHBvcnQgeyBSZWxhdGlvbnNoaXBGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9SZWxhdGlvbnNoaXAnXG5cbmV4cG9ydCB7XG4gICRjcmVhdGVSZWxhdGlvbnNoaXBOb2RlLFxuICAkaXNSZWxhdGlvbnNoaXBOb2RlLFxuICB0eXBlIFJlbGF0aW9uc2hpcERhdGEsXG4gIFJlbGF0aW9uc2hpcE5vZGUsXG4gIHR5cGUgU2VyaWFsaXplZFJlbGF0aW9uc2hpcE5vZGUsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvUmVsYXRpb25zaGlwL25vZGVzL1JlbGF0aW9uc2hpcE5vZGUnXG5leHBvcnQgeyBVcGxvYWRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9VcGxvYWQnXG5leHBvcnQgdHlwZSB7IFVwbG9hZEZlYXR1cmVQcm9wcyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvVXBsb2FkJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZVVwbG9hZE5vZGUsXG4gICRpc1VwbG9hZE5vZGUsXG4gIFJhd1VwbG9hZFBheWxvYWQsXG4gIHR5cGUgU2VyaWFsaXplZFVwbG9hZE5vZGUsXG4gIHR5cGUgVXBsb2FkRGF0YSxcbiAgVXBsb2FkTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9VcGxvYWQvbm9kZXMvVXBsb2FkTm9kZSdcbmV4cG9ydCB7IEFsaWduRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvYWxpZ24nXG5leHBvcnQgeyBUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJUZXh0RHJvcGRvd25TZWN0aW9uJ1xuZXhwb3J0IHtcbiAgSFRNTENvbnZlcnRlckZlYXR1cmUsXG4gIHR5cGUgSFRNTENvbnZlcnRlckZlYXR1cmVQcm9wcyxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwnXG5leHBvcnQge1xuICBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MLFxuICBjb252ZXJ0TGV4aWNhbFRvSFRNTCxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyJ1xuZXhwb3J0IHsgTGluZWJyZWFrSFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2xpbmVicmVhaydcbmV4cG9ydCB7IFBhcmFncmFwaEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvY29udmVydGVycy9wYXJhZ3JhcGgnXG5leHBvcnQgeyBUZXh0SFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3RleHQnXG5leHBvcnQgeyBkZWZhdWx0SFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5leHBvcnQgdHlwZSB7IEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvdHlwZXMnXG5leHBvcnQgeyBjb25zb2xpZGF0ZUhUTUxDb252ZXJ0ZXJzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvZmllbGQnXG5leHBvcnQgeyBsZXhpY2FsSFRNTCB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2ZpZWxkJ1xuZXhwb3J0IHsgVGVzdFJlY29yZGVyRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZGVidWcvVGVzdFJlY29yZGVyJ1xuXG5leHBvcnQgeyBUcmVlVmlld0ZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2RlYnVnL1RyZWVWaWV3J1xuZXhwb3J0IHsgQm9sZFRleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvQm9sZCdcblxuZXhwb3J0IHsgSW5saW5lQ29kZVRleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvSW5saW5lQ29kZSdcbmV4cG9ydCB7IEl0YWxpY1RleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvSXRhbGljJ1xuZXhwb3J0IHsgU2VjdGlvbldpdGhFbnRyaWVzIGFzIEZvcm1hdFNlY3Rpb25XaXRoRW50cmllcyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJTZWN0aW9uJ1xuZXhwb3J0IHsgU3RyaWtldGhyb3VnaFRleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvc3RyaWtldGhyb3VnaCdcbmV4cG9ydCB7IFN1YnNjcmlwdFRleHRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvc3Vic2NyaXB0J1xuZXhwb3J0IHsgU3VwZXJzY3JpcHRUZXh0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3N1cGVyc2NyaXB0J1xuZXhwb3J0IHsgVW5kZXJsaW5lVGV4dEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC91bmRlcmxpbmUnXG5leHBvcnQgeyBIb3Jpem9udGFsUnVsZUZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2hvcml6b250YWxydWxlJ1xuZXhwb3J0IHsgSW5kZW50RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvaW5kZW50J1xuZXhwb3J0IHsgQ2hlY2tMaXN0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbGlzdHMvQ2hlY2tMaXN0J1xuZXhwb3J0IHsgT3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy9PcmRlcmVkTGlzdCdcbmV4cG9ydCB7IFVub3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy9Vbm9yZGVyZWRMaXN0J1xuZXhwb3J0IHsgTGV4aWNhbFBsdWdpblRvTGV4aWNhbEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvTGV4aWNhbFBsdWdpblRvTGV4aWNhbCdcbmV4cG9ydCB7IFNsYXRlVG9MZXhpY2FsRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbCdcbmV4cG9ydCB7IFNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9ibG9ja3F1b3RlJ1xuXG5leHBvcnQgeyBTbGF0ZUhlYWRpbmdDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvU2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvaGVhZGluZydcbmV4cG9ydCB7IFNsYXRlSW5kZW50Q29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2luZGVudCdcbmV4cG9ydCB7IFNsYXRlTGlua0NvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9saW5rJ1xuXG5leHBvcnQgeyBTbGF0ZUxpc3RJdGVtQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2xpc3RJdGVtJ1xuZXhwb3J0IHsgU2xhdGVPcmRlcmVkTGlzdENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9vcmRlcmVkTGlzdCdcbmV4cG9ydCB7IFNsYXRlUmVsYXRpb25zaGlwQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3JlbGF0aW9uc2hpcCdcbmV4cG9ydCB7IFNsYXRlVW5rbm93bkNvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy91bmtub3duJ1xuZXhwb3J0IHsgU2xhdGVVbm9yZGVyZWRMaXN0Q29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3Vub3JkZXJlZExpc3QnXG5leHBvcnQgeyBTbGF0ZVVwbG9hZENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9TbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy91cGxvYWQnXG5leHBvcnQgeyBkZWZhdWx0U2xhdGVDb252ZXJ0ZXJzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9kZWZhdWx0Q29udmVydGVycydcblxuZXhwb3J0IHtcbiAgY29udmVydFNsYXRlTm9kZXNUb0xleGljYWwsXG4gIGNvbnZlcnRTbGF0ZVRvTGV4aWNhbCxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9pbmRleCdcblxuZXhwb3J0IHR5cGUge1xuICBTbGF0ZU5vZGUsXG4gIFNsYXRlTm9kZUNvbnZlcnRlcixcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL1NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci90eXBlcydcblxuZXhwb3J0IHR5cGUge1xuICBGZWF0dXJlLFxuICBGZWF0dXJlUHJvdmlkZXIsXG4gIEZlYXR1cmVQcm92aWRlck1hcCxcbiAgTm9kZVZhbGlkYXRpb24sXG4gIFBvcHVsYXRpb25Qcm9taXNlLFxuICBSZXNvbHZlZEZlYXR1cmUsXG4gIFJlc29sdmVkRmVhdHVyZU1hcCxcbiAgU2FuaXRpemVkRmVhdHVyZXMsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvdHlwZXMnXG5leHBvcnQge1xuICBFZGl0b3JDb25maWdQcm92aWRlcixcbiAgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmV4cG9ydCB7XG4gIGRlZmF1bHRFZGl0b3JDb25maWcsXG4gIGRlZmF1bHRFZGl0b3JGZWF0dXJlcyxcbiAgZGVmYXVsdFNhbml0aXplZEVkaXRvckNvbmZpZyxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9kZWZhdWx0J1xuZXhwb3J0IHsgbG9hZEZlYXR1cmVzLCBzb3J0RmVhdHVyZXNGb3JPcHRpbWFsTG9hZGluZyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvbG9hZGVyJ1xuZXhwb3J0IHsgc2FuaXRpemVFZGl0b3JDb25maWcsIHNhbml0aXplRmVhdHVyZXMgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL3Nhbml0aXplJ1xuZXhwb3J0IHsgZ2V0RW5hYmxlZE5vZGVzIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL25vZGVzJ1xuXG5leHBvcnQge1xuICB0eXBlIEZsb2F0aW5nVG9vbGJhclNlY3Rpb24sXG4gIHR5cGUgRmxvYXRpbmdUb29sYmFyU2VjdGlvbkVudHJ5LFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvcGx1Z2lucy9GbG9hdGluZ1NlbGVjdFRvb2xiYXIvdHlwZXMnXG5leHBvcnQgeyBFTkFCTEVfU0xBU0hfTUVOVV9DT01NQU5EIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL2luZGV4J1xuLy8gZXhwb3J0IFNhbml0aXplZEVkaXRvckNvbmZpZ1xuZXhwb3J0IHR5cGUgeyBFZGl0b3JDb25maWcsIFNhbml0aXplZEVkaXRvckNvbmZpZyB9XG5leHBvcnQgdHlwZSB7IEFkYXB0ZXJQcm9wcyB9XG5cbmV4cG9ydCB7XG4gIFNsYXNoTWVudUdyb3VwLFxuICBTbGFzaE1lbnVPcHRpb24sXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9wbHVnaW5zL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi90eXBlcydcbmV4cG9ydCB7IENBTl9VU0VfRE9NIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2NhblVzZURPTSdcbmV4cG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9jbG9uZURlZXAnXG5leHBvcnQgeyBnZXRET01SYW5nZVJlY3QgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvZ2V0RE9NUmFuZ2VSZWN0J1xuZXhwb3J0IHsgZ2V0U2VsZWN0ZWROb2RlIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZSdcbmV4cG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvZ3VhcmQnXG5leHBvcnQgeyBpbnZhcmlhbnQgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvaW52YXJpYW50J1xuZXhwb3J0IHsgam9pbkNsYXNzZXMgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvam9pbkNsYXNzZXMnXG5leHBvcnQgeyBjcmVhdGVCbG9ja05vZGUgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvbWFya2Rvd24vY3JlYXRlQmxvY2tOb2RlJ1xuZXhwb3J0IHtcbiAgREVUQUlMX1RZUEVfVE9fREVUQUlMLFxuICBET1VCTEVfTElORV9CUkVBSyxcbiAgRUxFTUVOVF9GT1JNQVRfVE9fVFlQRSxcbiAgRUxFTUVOVF9UWVBFX1RPX0ZPUk1BVCxcbiAgSVNfQUxMX0ZPUk1BVFRJTkcsXG4gIExUUl9SRUdFWCxcbiAgTk9OX0JSRUFLSU5HX1NQQUNFLFxuICBOb2RlRm9ybWF0LFxuICBSVExfUkVHRVgsXG4gIFRFWFRfTU9ERV9UT19UWVBFLFxuICBURVhUX1RZUEVfVE9fRk9STUFULFxuICBURVhUX1RZUEVfVE9fTU9ERSxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL25vZGVGb3JtYXQnXG5leHBvcnQgeyBQb2ludCwgaXNQb2ludCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9wb2ludCdcbmV4cG9ydCB7IFJlY3QgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvcmVjdCdcbmV4cG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3NldEZsb2F0aW5nRWxlbVBvc2l0aW9uJ1xuZXhwb3J0IHsgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3NldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvcidcbmV4cG9ydCB7XG4gIGFkZFN3aXBlRG93bkxpc3RlbmVyLFxuICBhZGRTd2lwZUxlZnRMaXN0ZW5lcixcbiAgYWRkU3dpcGVSaWdodExpc3RlbmVyLFxuICBhZGRTd2lwZVVwTGlzdGVuZXIsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9zd2lwZSdcbmV4cG9ydCB7IHNhbml0aXplVXJsLCB2YWxpZGF0ZVVybCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy91cmwnXG5leHBvcnQgeyBkZWZhdWx0UmljaFRleHRWYWx1ZSB9IGZyb20gJy4vcG9wdWxhdGUvZGVmYXVsdFZhbHVlJ1xuIl0sIm5hbWVzIjpbIiRjcmVhdGVBdXRvTGlua05vZGUiLCIkY3JlYXRlQmxvY2tOb2RlIiwiJGNyZWF0ZUxpbmtOb2RlIiwiJGNyZWF0ZVJlbGF0aW9uc2hpcE5vZGUiLCIkY3JlYXRlVXBsb2FkTm9kZSIsIiRpc0F1dG9MaW5rTm9kZSIsIiRpc0Jsb2NrTm9kZSIsIiRpc0xpbmtOb2RlIiwiJGlzUmVsYXRpb25zaGlwTm9kZSIsIiRpc1VwbG9hZE5vZGUiLCJBbGlnbkZlYXR1cmUiLCJBdXRvTGlua05vZGUiLCJCbG9ja05vZGUiLCJCbG9ja1F1b3RlRmVhdHVyZSIsIkJsb2Nrc0ZlYXR1cmUiLCJCb2xkVGV4dEZlYXR1cmUiLCJDQU5fVVNFX0RPTSIsIkNoZWNrTGlzdEZlYXR1cmUiLCJERVRBSUxfVFlQRV9UT19ERVRBSUwiLCJET1VCTEVfTElORV9CUkVBSyIsIkVMRU1FTlRfRk9STUFUX1RPX1RZUEUiLCJFTEVNRU5UX1RZUEVfVE9fRk9STUFUIiwiRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCIsIkVkaXRvckNvbmZpZ1Byb3ZpZGVyIiwiRm9ybWF0U2VjdGlvbldpdGhFbnRyaWVzIiwiU2VjdGlvbldpdGhFbnRyaWVzIiwiSFRNTENvbnZlcnRlckZlYXR1cmUiLCJIZWFkaW5nRmVhdHVyZSIsIkhvcml6b250YWxSdWxlRmVhdHVyZSIsIklTX0FMTF9GT1JNQVRUSU5HIiwiSW5kZW50RmVhdHVyZSIsIklubGluZUNvZGVUZXh0RmVhdHVyZSIsIkl0YWxpY1RleHRGZWF0dXJlIiwiTFRSX1JFR0VYIiwiTGV4aWNhbFBsdWdpblRvTGV4aWNhbEZlYXR1cmUiLCJMaW5lYnJlYWtIVE1MQ29udmVydGVyIiwiTGlua0ZlYXR1cmUiLCJMaW5rTm9kZSIsIk5PTl9CUkVBS0lOR19TUEFDRSIsIk5vZGVGb3JtYXQiLCJPcmRlcmVkTGlzdEZlYXR1cmUiLCJQYXJhZ3JhcGhGZWF0dXJlIiwiUGFyYWdyYXBoSFRNTENvbnZlcnRlciIsIlBvaW50IiwiUlRMX1JFR0VYIiwiUmF3VXBsb2FkUGF5bG9hZCIsIlJlY3QiLCJSZWxhdGlvbnNoaXBGZWF0dXJlIiwiUmVsYXRpb25zaGlwTm9kZSIsIlNsYXNoTWVudUdyb3VwIiwiU2xhc2hNZW51T3B0aW9uIiwiU2xhdGVCbG9ja3F1b3RlQ29udmVydGVyIiwiU2xhdGVIZWFkaW5nQ29udmVydGVyIiwiU2xhdGVJbmRlbnRDb252ZXJ0ZXIiLCJTbGF0ZUxpbmtDb252ZXJ0ZXIiLCJTbGF0ZUxpc3RJdGVtQ29udmVydGVyIiwiU2xhdGVPcmRlcmVkTGlzdENvbnZlcnRlciIsIlNsYXRlUmVsYXRpb25zaGlwQ29udmVydGVyIiwiU2xhdGVUb0xleGljYWxGZWF0dXJlIiwiU2xhdGVVbmtub3duQ29udmVydGVyIiwiU2xhdGVVbm9yZGVyZWRMaXN0Q29udmVydGVyIiwiU2xhdGVVcGxvYWRDb252ZXJ0ZXIiLCJTdHJpa2V0aHJvdWdoVGV4dEZlYXR1cmUiLCJTdWJzY3JpcHRUZXh0RmVhdHVyZSIsIlN1cGVyc2NyaXB0VGV4dEZlYXR1cmUiLCJURVhUX01PREVfVE9fVFlQRSIsIlRFWFRfVFlQRV9UT19GT1JNQVQiLCJURVhUX1RZUEVfVE9fTU9ERSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJUZXN0UmVjb3JkZXJGZWF0dXJlIiwiVGV4dERyb3Bkb3duU2VjdGlvbldpdGhFbnRyaWVzIiwiVGV4dEhUTUxDb252ZXJ0ZXIiLCJUcmVlVmlld0ZlYXR1cmUiLCJVbmRlcmxpbmVUZXh0RmVhdHVyZSIsIlVub3JkZXJlZExpc3RGZWF0dXJlIiwiVXBsb2FkRmVhdHVyZSIsIlVwbG9hZE5vZGUiLCJhZGRTd2lwZURvd25MaXN0ZW5lciIsImFkZFN3aXBlTGVmdExpc3RlbmVyIiwiYWRkU3dpcGVSaWdodExpc3RlbmVyIiwiYWRkU3dpcGVVcExpc3RlbmVyIiwiY2xvbmVEZWVwIiwiY29uc29saWRhdGVIVE1MQ29udmVydGVycyIsImNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwiLCJjb252ZXJ0TGV4aWNhbFRvSFRNTCIsImNvbnZlcnRTbGF0ZU5vZGVzVG9MZXhpY2FsIiwiY29udmVydFNsYXRlVG9MZXhpY2FsIiwiY3JlYXRlQmxvY2tOb2RlIiwiZGVmYXVsdEVkaXRvckNvbmZpZyIsImRlZmF1bHRFZGl0b3JGZWF0dXJlcyIsImRlZmF1bHRIVE1MQ29udmVydGVycyIsImRlZmF1bHRSaWNoVGV4dFZhbHVlIiwiZGVmYXVsdFNhbml0aXplZEVkaXRvckNvbmZpZyIsImRlZmF1bHRTbGF0ZUNvbnZlcnRlcnMiLCJnZXRET01SYW5nZVJlY3QiLCJnZXRFbmFibGVkTm9kZXMiLCJnZXRTZWxlY3RlZE5vZGUiLCJpbnZhcmlhbnQiLCJpc0hUTUxFbGVtZW50IiwiaXNQb2ludCIsImpvaW5DbGFzc2VzIiwibGV4aWNhbEVkaXRvciIsImxleGljYWxIVE1MIiwibG9hZEZlYXR1cmVzIiwic2FuaXRpemVFZGl0b3JDb25maWciLCJzYW5pdGl6ZUZlYXR1cmVzIiwic2FuaXRpemVVcmwiLCJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbiIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciIsInNvcnRGZWF0dXJlc0Zvck9wdGltYWxMb2FkaW5nIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsInZhbGlkYXRlVXJsIiwicHJvcHMiLCJmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyIsImZlYXR1cmVzIiwibGV4aWNhbCIsImRlZmF1bHRGZWF0dXJlcyIsIlByb21pc2UiLCJyZXNvbHZlIiwiTGF6eUNlbGxDb21wb25lbnQiLCJ0aGVuIiwibW9kdWxlIiwiUmljaFRleHRDZWxsIiwibW9kdWxlMiIsIndpdGhNZXJnZWRQcm9wcyIsIkNvbXBvbmVudCIsInRvTWVyZ2VJbnRvUHJvcHMiLCJlZGl0b3JDb25maWciLCJMYXp5RmllbGRDb21wb25lbnQiLCJSaWNoVGV4dEZpZWxkIiwiYWZ0ZXJSZWFkUHJvbWlzZSIsImZpZWxkIiwiaW5jb21pbmdFZGl0b3JTdGF0ZSIsInNpYmxpbmdEb2MiLCJyZWplY3QiLCJwcm9taXNlcyIsImhvb2tzIiwiYWZ0ZXJSZWFkUHJvbWlzZXMiLCJsZW5ndGgiLCJwcm9taXNlIiwicHVzaCIsImFsbCIsImNhdGNoIiwiZXJyb3IiLCJvdXRwdXRTY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiY29uZmlnIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwiaXNSZXF1aXJlZCIsInBheWxvYWQiLCJ0eXBlIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJwcm9wZXJ0aWVzIiwicm9vdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiY2hpbGRyZW4iLCJpdGVtcyIsInZlcnNpb24iLCJyZXF1aXJlZCIsImRpcmVjdGlvbiIsIm9uZU9mIiwiZW51bSIsImZvcm1hdCIsImluZGVudCIsIm1vZGlmeU91dHB1dFNjaGVtYSIsImdlbmVyYXRlZFR5cGVzIiwibW9kaWZ5T3V0cHV0U2NoZW1hcyIsImN1cnJlbnRTY2hlbWEiLCJwb3B1bGF0aW9uUHJvbWlzZSIsImNvbnRleHQiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRyYWZ0IiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpemUiLCJyaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UiLCJlZGl0b3JQb3B1bGF0aW9uUHJvbWlzZXMiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGVIT0MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBMk9FQSxtQkFBbUI7ZUFBbkJBLGlDQUFtQjs7SUFYbkJDLGdCQUFnQjtlQUFoQkEsNEJBQWdCOztJQWlCaEJDLGVBQWU7ZUFBZkEseUJBQWU7O0lBWWZDLHVCQUF1QjtlQUF2QkEseUNBQXVCOztJQVN2QkMsaUJBQWlCO2VBQWpCQSw2QkFB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
@@ -6,13 +6,14 @@ type Arguments = {
6
6
  currentDepth?: number;
7
7
  data: unknown;
8
8
  depth: number;
9
+ draft: boolean;
9
10
  field: RichTextField<SerializedEditorState, AdapterProps>;
10
11
  key: number | string;
11
12
  overrideAccess?: boolean;
12
13
  req: PayloadRequest;
13
14
  showHiddenFields: boolean;
14
15
  };
15
- export declare const populate: ({ id, collection, currentDepth, data, depth, key, overrideAccess, req, showHiddenFields, }: Omit<Arguments, 'field'> & {
16
+ export declare const populate: ({ id, collection, currentDepth, data, depth, draft, key, overrideAccess, req, showHiddenFields, }: Omit<Arguments, "field"> & {
16
17
  collection: Collection;
17
18
  field: Field;
18
19
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populate/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,KAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;IACzD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,QAAQ,+FAUlB,KAAK,SAAS,EAAE,OAAO,CAAC,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,KAAG,QAAQ,IAAI,CAsBf,CAAA"}
1
+ {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populate/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,KAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;IACzD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,QAAQ;gBAYP,UAAU;WACf,KAAK;QACR,MAAM;MACR,QAAQ,IAAI,CAuBf,CAAA"}