@mnaoumov/obsidian-lib 10.8.0 → 10.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.
- package/README.md +4 -0
- package/codemirror/editor-mode-extension/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +42 -1
- package/dist/lib/cjs/__merged.d.cts +7 -2
- package/dist/lib/cjs/code-block-render-handoff.cjs +2 -5
- package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +180 -0
- package/dist/lib/cjs/codemirror/editor-mode-extension.d.cts +50 -0
- package/dist/lib/cjs/codemirror/index.cjs +4 -1
- package/dist/lib/cjs/codemirror/index.d.cts +1 -0
- package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +4 -7
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +2 -2
- package/dist/lib/cjs/community-plugins.cjs +2 -2
- package/dist/lib/cjs/components/all-windows-event-component.cjs +86 -14
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +54 -3
- package/dist/lib/cjs/components/monkey-around-component.cjs +1 -1
- package/dist/lib/cjs/components/plugin-notice-component.cjs +2 -6
- package/dist/lib/cjs/components/plugin-settings-component.cjs +4 -3
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +2 -1
- package/dist/lib/cjs/components/style-sheet-component.cjs +1 -4
- package/dist/lib/cjs/css-class.cjs +7 -1
- package/dist/lib/cjs/css-class.d.cts +24 -0
- package/dist/lib/cjs/data-stores/shared-data-store.cjs +15 -4
- package/dist/lib/cjs/desktop-bulk-operation-git.cjs +5 -5
- package/dist/lib/cjs/folder-note.cjs +5 -5
- package/dist/lib/cjs/formula-function.cjs +152 -0
- package/dist/lib/cjs/formula-function.d.cts +98 -0
- package/dist/lib/cjs/frontmatter-formatting.cjs +2 -2
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/i18n/i18n.cjs +38 -10
- package/dist/lib/cjs/i18n/i18n.d.cts +29 -2
- package/dist/lib/cjs/i18n/locales/en.cjs +13 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +12 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +12 -0
- package/dist/lib/cjs/index.cjs +7 -1
- package/dist/lib/cjs/index.d.cts +2 -0
- package/dist/lib/cjs/link.cjs +12 -12
- package/dist/lib/cjs/markdown.cjs +7 -7
- package/dist/lib/cjs/modals/code-block-builder.cjs +486 -0
- package/dist/lib/cjs/modals/code-block-builder.d.cts +321 -0
- package/dist/lib/cjs/modals/index.cjs +4 -1
- package/dist/lib/cjs/modals/index.d.cts +1 -0
- package/dist/lib/cjs/plugin/index.cjs +4 -1
- package/dist/lib/cjs/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +189 -0
- package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +111 -0
- package/dist/lib/cjs/plugin/plugin.cjs +47 -2
- package/dist/lib/cjs/plugin/plugin.d.cts +25 -1
- package/dist/lib/cjs/vault.cjs +2 -2
- package/dist/lib/cjs/virtual-file.cjs +340 -0
- package/dist/lib/cjs/virtual-file.d.cts +48 -0
- package/dist/lib/esm/__merged.d.mts +7 -2
- package/dist/lib/esm/__merged.mjs +48 -2
- package/dist/lib/esm/code-block-render-handoff.mjs +2 -5
- package/dist/lib/esm/codemirror/editor-mode-extension.d.mts +50 -0
- package/dist/lib/esm/codemirror/editor-mode-extension.mjs +93 -0
- package/dist/lib/esm/codemirror/index.d.mts +1 -0
- package/dist/lib/esm/codemirror/index.mjs +3 -1
- package/dist/lib/esm/codemirror/inline-token-widgets.mjs +3 -9
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +2 -2
- package/dist/lib/esm/community-plugins.mjs +2 -2
- package/dist/lib/esm/components/all-windows-event-component.d.mts +54 -3
- package/dist/lib/esm/components/all-windows-event-component.mjs +87 -14
- package/dist/lib/esm/components/monkey-around-component.mjs +1 -1
- package/dist/lib/esm/components/plugin-notice-component.mjs +2 -6
- package/dist/lib/esm/components/plugin-settings-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-settings-component.mjs +4 -3
- package/dist/lib/esm/components/style-sheet-component.mjs +1 -4
- package/dist/lib/esm/css-class.d.mts +24 -0
- package/dist/lib/esm/css-class.mjs +7 -1
- package/dist/lib/esm/data-stores/shared-data-store.mjs +15 -4
- package/dist/lib/esm/desktop-bulk-operation-git.mjs +5 -5
- package/dist/lib/esm/folder-note.mjs +5 -5
- package/dist/lib/esm/formula-function.d.mts +98 -0
- package/dist/lib/esm/formula-function.mjs +62 -0
- package/dist/lib/esm/frontmatter-formatting.mjs +2 -2
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/i18n/i18n.d.mts +29 -2
- package/dist/lib/esm/i18n/i18n.mjs +40 -10
- package/dist/lib/esm/i18n/locales/en.d.mts +12 -0
- package/dist/lib/esm/i18n/locales/en.mjs +13 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +12 -0
- package/dist/lib/esm/index.d.mts +2 -0
- package/dist/lib/esm/index.mjs +5 -1
- package/dist/lib/esm/link.mjs +12 -12
- package/dist/lib/esm/markdown.mjs +7 -7
- package/dist/lib/esm/modals/code-block-builder.d.mts +321 -0
- package/dist/lib/esm/modals/code-block-builder.mjs +408 -0
- package/dist/lib/esm/modals/index.d.mts +1 -0
- package/dist/lib/esm/modals/index.mjs +3 -1
- package/dist/lib/esm/plugin/index.d.mts +1 -0
- package/dist/lib/esm/plugin/index.mjs +3 -1
- package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +111 -0
- package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +96 -0
- package/dist/lib/esm/plugin/plugin.d.mts +25 -1
- package/dist/lib/esm/plugin/plugin.mjs +52 -2
- package/dist/lib/esm/vault.mjs +2 -2
- package/dist/lib/esm/virtual-file.d.mts +48 -0
- package/dist/lib/esm/virtual-file.mjs +264 -0
- package/dist/styles.css +31 -1
- package/modals/code-block-builder/package.json +6 -0
- package/package.json +5 -5
- package/plugin/plugin-async-cleanup/package.json +6 -0
|
@@ -232,10 +232,7 @@ function getLanguageFromElement(element) {
|
|
|
232
232
|
return [...element.classList].find((cls) => cls.startsWith(BLOCK_LANGUAGE_PREFIX))?.slice(BLOCK_LANGUAGE_PREFIX.length) ?? "";
|
|
233
233
|
}
|
|
234
234
|
function getTextSelection(element) {
|
|
235
|
-
if (!isTextSelectionElement(element)) {
|
|
236
|
-
return null;
|
|
237
|
-
}
|
|
238
|
-
if (element.selectionStart === null || element.selectionEnd === null) {
|
|
235
|
+
if (!isTextSelectionElement(element) || element.selectionStart === null || element.selectionEnd === null) {
|
|
239
236
|
return null;
|
|
240
237
|
}
|
|
241
238
|
return {
|
|
@@ -269,4 +266,4 @@ function pruneExpiredEntries(entries) {
|
|
|
269
266
|
recordCodeBlockRenderHandoff,
|
|
270
267
|
restoreCodeBlockFocus
|
|
271
268
|
});
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLWJsb2NrLXJlbmRlci1oYW5kb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDYXJyaWVzIGZvY3VzIGFuZCBwbHVnaW4gc3RhdGUgZnJvbSBhIGNvZGUgYmxvY2sgdG8gaXRzIG5leHQgcmVuZGVyLlxuICpcbiAqIE9ic2lkaWFuIHJlbmRlcnMgYSBjb2RlIGJsb2NrIGFnYWluIHdoZW5ldmVyIGl0cyBzb3VyY2UgdGV4dCBjaGFuZ2VzOiBSZWFkaW5nIHZpZXcgcmUtcmVuZGVycyB0aGUgc2VjdGlvbiBhbmQgTGl2ZVxuICogUHJldmlldyByZXBsYWNlcyB0aGUgd2lkZ2V0LiBTbyBhIGJsb2NrIHRoYXQgZWRpdHMgaXRzIG93biBzb3VyY2UgKGEgY291bnRlciwgYSBjaGVja2JveCwgYSBzZXR0aW5ncyBmb3JtKSBsb3NlcyB0aGVcbiAqIGVsZW1lbnQgdGhlIHVzZXIgd2FzIGludGVyYWN0aW5nIHdpdGgsIGl0cyBmb2N1cyBhbmQgd2hhdGV2ZXIgdGhlIHBsdWdpbiBrZXB0IG9uIGl0LiBUaGUgZWxlbWVudCBpdHNlbGYgY2Fubm90IGJlXG4gKiBrZXB0IHdpdGhvdXQgcGF0Y2hpbmcgT2JzaWRpYW4ncyByZW5kZXJlcnMsIHNvIHRoZSB3cml0ZSByZWNvcmRzIGEgaGFuZG9mZiBpbnN0ZWFkLCBhbmQgdGhlIHByb2Nlc3NvciByZW5kZXJpbmcgdGhlXG4gKiBuZXcgc291cmNlIGNsYWltcyBpdDogaXQgZ2V0cyBiYWNrIHRoZSBzdGF0ZSB0aGUgd3JpdGUgcGFzc2VkIGFuZCBjYW4gcHV0IHRoZSBmb2N1cyBiYWNrIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG4gKlxuICogVGhlIGhhbmRvZmYgaXMgbWF0Y2hlZCBieSBzb3VyY2UgcGF0aCwgbGFuZ3VhZ2UgYW5kIHRoZSBuZXcgYmxvY2sgY29udGVudCwgYW5kIGl0IGxpdmVzIGZvclxuICoge0BsaW5rIENPREVfQkxPQ0tfUkVOREVSX0hBTkRPRkZfTElGRVRJTUVfSU5fTUlMTElTRUNPTkRTfS4gVGhlIGZpcnN0IHJlbmRlciB0byBjbGFpbSBpdCBjb25zdW1lcyBpdCwgc28gd2hlbiB0aGVcbiAqIG5vdGUgaXMgb3BlbiBpbiB0d28gcGFuZXMgb25seSBvbmUgb2YgdGhlIG5ldyByZW5kZXJzIGdldHMgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwLFxuICBnZXRPcHRpb25hbE5hbWVkR3JvdXBcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgZW5zdXJlTGZFbmRpbmdzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuTGliU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogSG93IGxvbmcgYSByZWNvcmRlZCBoYW5kb2ZmIHdhaXRzIGZvciB0aGUgcmVuZGVyIHRoYXQgY2xhaW1zIGl0LlxuICovXG5leHBvcnQgY29uc3QgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMgPSAxMF8wMDA7XG5cbmNvbnN0IEhBTkRPRkZfU1RBVEVfS0VZID0gJ2NvZGVCbG9ja1JlbmRlckhhbmRvZmZWMSc7XG5jb25zdCBNQVhfRlJBTUVTX1RPX1dBSVRfRk9SX0NPTk5FQ1RJT04gPSA2MDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSB0aGUgcHJvY2Vzc29yIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhlIHByb2Nlc3NvciByZW5kZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgdGhlIHByb2Nlc3NvciByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoZXJlIHRoZSBmb2N1cyB3YXMgaW5zaWRlIGEgcmVuZGVyZWQgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQmxvY2tGb2N1c1NuYXBzaG90IHtcbiAgLyoqXG4gICAqIFRoZSBjaGlsZCBpbmRpY2VzIGxlYWRpbmcgZnJvbSB0aGUgY29kZSBibG9jayBlbGVtZW50IHRvIHRoZSBmb2N1c2VkIGVsZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBjaGlsZEluZGV4UGF0aDogcmVhZG9ubHkgbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHNlbGVjdGlvbiBvZiBhIGZvY3VzZWQgaW5wdXQgb3IgdGV4dCBhcmVhLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0aW9uOiBudWxsIHwgVGV4dFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIGhhbmRvZmYgY2xhaW1lZCBieSB0aGUgcmVuZGVyIG9mIGEgY29kZSBibG9jayB3aG9zZSBzb3VyY2UgYSB3cml0ZSBqdXN0IGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJsb2NrUmVuZGVySGFuZG9mZiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cml0ZSByZWNvcmRlZCBhIGZvY3VzZWQgZWxlbWVudCB0byByZXN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzRm9jdXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW5zaWRlIHRoZSBuZXcgcmVuZGVyLCB3aXRoIHRoZSBzYW1lIHRleHQgc2VsZWN0aW9uLlxuICAgKlxuICAgKiBDYWxsIGl0IG9uY2UgdGhlIHByb2Nlc3NvciBoYXMgcmVuZGVyZWQgdGhlIGJsb2NrLiBJdCB3YWl0cyBmb3IgdGhlIGVsZW1lbnQgdG8gYmUgYXR0YWNoZWQgdG8gYSBkb2N1bWVudC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciBhbiBlbGVtZW50IHdhcyBmb2N1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdG9yZUZvY3VzOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgcGFzc2VkIHRvIHRoZSB3cml0ZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBub25lIHdhcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2N1cyBjYXB0dXJlZCBmcm9tIHRoZSBvbGQgcmVuZGVyIHdpdGgge0BsaW5rIGNhcHR1cmVDb2RlQmxvY2tGb2N1c30uXG4gICAqL1xuICByZWFkb25seSBmb2N1czogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2RlIGJsb2NrIHdyaXR0ZW4gdG8gdGhlIG5vdGUsIGZlbmNlcyBpbmNsdWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ld0NvZGVCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGUgY29kZSBibG9jayBpcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHBhc3MgdG8gdGhlIG5leHQgcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU6IHVua25vd247XG59XG5cbmludGVyZmFjZSBIYW5kb2ZmRW50cnkge1xuICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgZm9jdXM6IENvZGVCbG9ja0ZvY3VzU25hcHNob3QgfCBudWxsO1xuICByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFRleHRTZWxlY3Rpb24ge1xuICByZWFkb25seSBkaXJlY3Rpb246ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZSc7XG4gIHJlYWRvbmx5IGVuZDogbnVtYmVyO1xuICByZWFkb25seSBzdGFydDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVGV4dFNlbGVjdGlvbkVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkRpcmVjdGlvbjogJ2JhY2t3YXJkJyB8ICdmb3J3YXJkJyB8ICdub25lJyB8IG51bGw7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkVuZDogbnVsbCB8IG51bWJlcjtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU3RhcnQ6IG51bGwgfCBudW1iZXI7XG4gIHJlYWRvbmx5IHNldFNlbGVjdGlvblJhbmdlOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIGRpcmVjdGlvbj86ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZScpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2FwdHVyZXMgd2hlcmUgdGhlIGZvY3VzIGlzIGluc2lkZSBhIHJlbmRlcmVkIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGNvZGUgYmxvY2sgZWxlbWVudC5cbiAqIEByZXR1cm5zIFRoZSBzbmFwc2hvdCwgb3IgYG51bGxgIHdoZW4gdGhlIGZvY3VzIGlzIG5vdCBpbnNpZGUgdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlQ29kZUJsb2NrRm9jdXMoZWw6IEhUTUxFbGVtZW50KTogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGwge1xuICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZWwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgYWN0aXZlRWxlbWVudCA9PT0gZWwgfHwgIWVsLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZEluZGV4UGF0aDogbnVtYmVyW10gPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IEVsZW1lbnQgfCBudWxsID0gYWN0aXZlRWxlbWVudDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gZWwpIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAobGV0IHNpYmxpbmcgPSBjdXJyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIGNoaWxkSW5kZXhQYXRoLnVuc2hpZnQoaW5kZXgpO1xuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudEVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkSW5kZXhQYXRoLFxuICAgIHNlbGVjdGlvbjogZ2V0VGV4dFNlbGVjdGlvbihhY3RpdmVFbGVtZW50KVxuICB9O1xufVxuXG4vKipcbiAqIENsYWltcyB0aGUgaGFuZG9mZiBhIHdyaXRlIHJlY29yZGVkIGZvciB0aGUgY29kZSBibG9jayBiZWluZyByZW5kZXJlZC5cbiAqXG4gKiBDYWxsIGl0IGZyb20gYSBjb2RlIGJsb2NrIHByb2Nlc3Nvci4gSXQgcmV0dXJucyBgbnVsbGAgd2hlbiBubyB3cml0ZSBpcyB3YWl0aW5nIGZvciB0aGlzIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBoYW5kb2ZmLCBvciBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmYocGFyYW1zOiBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmIHwgbnVsbCB7XG4gIGNvbnN0IHsgY29udGV4dCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuICBjb25zdCBlbnRyaWVzID0gZ2V0SGFuZG9mZkVudHJpZXMoKTtcbiAgcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzKTtcblxuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KGNvbnRleHQuc291cmNlUGF0aCwgZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbCksIGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpKTtcbiAgY29uc3QgcXVldWUgPSBlbnRyaWVzLmdldChrZXkpO1xuICBjb25zdCBlbnRyeSA9IHF1ZXVlPy5zaGlmdCgpO1xuICBpZiAoIXF1ZXVlIHx8ICFlbnRyeSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhhc0ZvY3VzOiBlbnRyeS5mb2N1cyAhPT0gbnVsbCxcbiAgICBhc3luYyByZXN0b3JlRm9jdXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gZW50cnkuZm9jdXMgPyAoYXdhaXQgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzKGVsLCBlbnRyeS5mb2N1cykpIDogZmFsc2U7XG4gICAgfSxcbiAgICBzdGF0ZTogZW50cnkuc3RhdGVcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWNvcmRzIGEgaGFuZG9mZiBmb3IgdGhlIG5leHQgcmVuZGVyIG9mIGEgY29kZSBibG9jayBhIHdyaXRlIGlzIGFib3V0IHRvIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFdoZXRoZXIgYSBoYW5kb2ZmIHdhcyByZWNvcmRlZDogYGZhbHNlYCB3aGVuIHRoZSBuZXcgdGV4dCBpcyBub3QgZXhhY3RseSBvbmUgY29kZSBibG9jay5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vY29uc2lzdGVudC1ib29sZWFuLW5hbWUgLS0gQSB2ZXJiIG5hbWVzIHRoZSBhY3Rpb247IHRoZSBib29sZWFuIG9ubHkgcmVwb3J0cyB3aGV0aGVyIGl0IHRvb2sgcGxhY2UuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZihwYXJhbXM6IFJlY29yZENvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBmb2N1cywgbmV3Q29kZUJsb2NrLCBzb3VyY2VQYXRoLCBzdGF0ZSB9ID0gcGFyYW1zO1xuICBjb25zdCBtYXRjaGVzID0gWy4uLmVuc3VyZUxmRW5kaW5ncyhuZXdDb2RlQmxvY2spLm1hdGNoQWxsKGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCgpKV07XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlc1swXTtcbiAgaWYgKG1hdGNoZXMubGVuZ3RoICE9PSAxIHx8ICFtYXRjaCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnTGluZVByZWZpeCcpO1xuICBjb25zdCBsYW5ndWFnZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tMYW5ndWFnZScpO1xuICBjb25zdCBjb250ZW50ID0gKGdldE9wdGlvbmFsTmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0NvbnRlbnQnKSA/PyAnJykuc3BsaXQoJ1xcbicpLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShsaW5lUHJlZml4Lmxlbmd0aCkpLmpvaW4oJ1xcbicpO1xuXG4gIGNvbnN0IGVudHJpZXMgPSBnZXRIYW5kb2ZmRW50cmllcygpO1xuICBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXMpO1xuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KHNvdXJjZVBhdGgsIGxhbmd1YWdlLCBjb250ZW50KTtcbiAgbGV0IHF1ZXVlID0gZW50cmllcy5nZXQoa2V5KTtcbiAgaWYgKCFxdWV1ZSkge1xuICAgIHF1ZXVlID0gW107XG4gICAgZW50cmllcy5zZXQoa2V5LCBxdWV1ZSk7XG4gIH1cbiAgcXVldWUucHVzaCh7XG4gICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMsXG4gICAgZm9jdXMsXG4gICAgc3RhdGVcbiAgfSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYSB7QGxpbmsgQ29kZUJsb2NrRm9jdXNTbmFwc2hvdH0gZGVzY3JpYmVzLlxuICpcbiAqIEBwYXJhbSBlbCAtIFRoZSBuZXcgY29kZSBibG9jayBlbGVtZW50LlxuICogQHBhcmFtIGZvY3VzIC0gVGhlIHNuYXBzaG90IGNhcHR1cmVkIGZyb20gdGhlIG9sZCByZW5kZXIuXG4gKiBAcmV0dXJucyBXaGV0aGVyIGFuIGVsZW1lbnQgd2FzIGZvY3VzZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2NvbnNpc3RlbnQtYm9vbGVhbi1uYW1lIC0tIEEgdmVyYiBuYW1lcyB0aGUgYWN0aW9uOyB0aGUgYm9vbGVhbiBvbmx5IHJlcG9ydHMgd2hldGhlciBpdCB0b29rIHBsYWNlLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc3RvcmVDb2RlQmxvY2tGb2N1cyhlbDogSFRNTEVsZW1lbnQsIGZvY3VzOiBDb2RlQmxvY2tGb2N1c1NuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGZvciAobGV0IGZyYW1lID0gMDsgIWVsLmlzQ29ubmVjdGVkICYmIGZyYW1lIDwgTUFYX0ZSQU1FU19UT19XQUlUX0ZPUl9DT05ORUNUSU9OOyBmcmFtZSsrKSB7XG4gICAgYXdhaXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMoKTtcbiAgfVxuXG4gIGlmICghZWwuaXNDb25uZWN0ZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgdGFyZ2V0OiBFbGVtZW50IHwgdW5kZWZpbmVkID0gZWw7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgZm9jdXMuY2hpbGRJbmRleFBhdGgpIHtcbiAgICB0YXJnZXQgPSB0YXJnZXQuY2hpbGRyZW5baW5kZXhdO1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc0hUTUxFbGVtZW50TGlrZSh0YXJnZXQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdGFyZ2V0LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgaWYgKGVsLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGFyZ2V0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzLnNlbGVjdGlvbiAmJiBpc1RleHRTZWxlY3Rpb25FbGVtZW50KHRhcmdldCkpIHtcbiAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2UoZm9jdXMuc2VsZWN0aW9uLnN0YXJ0LCBmb2N1cy5zZWxlY3Rpb24uZW5kLCBmb2N1cy5zZWxlY3Rpb24uZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBnZXRIYW5kb2ZmRW50cmllcygpOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5MaWJTdGF0ZShIQU5ET0ZGX1NUQVRFX0tFWSwgbmV3IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPigpKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SGFuZG9mZktleShzb3VyY2VQYXRoOiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShbc291cmNlUGF0aCwgbGFuZ3VhZ2UsIGNvbnRlbnRdKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IEJMT0NLX0xBTkdVQUdFX1BSRUZJWCA9ICdibG9jay1sYW5ndWFnZS0nO1xuICByZXR1cm4gWy4uLmVsZW1lbnQuY2xhc3NMaXN0XS5maW5kKChjbHMpID0+IGNscy5zdGFydHNXaXRoKEJMT0NLX0xBTkdVQUdFX1BSRUZJWCkpPy5zbGljZShCTE9DS19MQU5HVUFHRV9QUkVGSVgubGVuZ3RoKSA/PyAnJztcbn1cblxuZnVuY3Rpb24gZ2V0VGV4dFNlbGVjdGlvbihlbGVtZW50OiBFbGVtZW50KTogbnVsbCB8IFRleHRTZWxlY3Rpb24ge1xuICBpZiAoIWlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIEFuIGlucHV0IHR5cGUgd2l0aG91dCBhIHRleHQgc2VsZWN0aW9uIChhIGNoZWNrYm94LCBhIG51bWJlciBmaWVsZCkgcmVhZHMgYG51bGxgIGhlcmUuXG4gIGlmIChlbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSBudWxsIHx8IGVsZW1lbnQuc2VsZWN0aW9uRW5kID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRpcmVjdGlvbjogZWxlbWVudC5zZWxlY3Rpb25EaXJlY3Rpb24gPz8gJ25vbmUnLFxuICAgIGVuZDogZWxlbWVudC5zZWxlY3Rpb25FbmQsXG4gICAgc3RhcnQ6IGVsZW1lbnQuc2VsZWN0aW9uU3RhcnRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNIVE1MRWxlbWVudExpa2UoZWxlbWVudDogRWxlbWVudCk6IGVsZW1lbnQgaXMgSFRNTEVsZW1lbnQge1xuICByZXR1cm4gdHlwZW9mIChlbGVtZW50IGFzIFBhcnRpYWw8SFRNTEVsZW1lbnQ+KS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gaXNUZXh0U2VsZWN0aW9uRWxlbWVudChlbGVtZW50OiBFbGVtZW50KTogZWxlbWVudCBpcyBUZXh0U2VsZWN0aW9uRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50LnRhZ05hbWUgPT09ICdJTlBVVCcgfHwgZWxlbWVudC50YWdOYW1lID09PSAnVEVYVEFSRUEnO1xufVxuXG5mdW5jdGlvbiBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXM6IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPik6IHZvaWQge1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBmb3IgKGNvbnN0IFtrZXksIHF1ZXVlXSBvZiBlbnRyaWVzKSB7XG4gICAgY29uc3QgbGl2ZUVudHJpZXMgPSBxdWV1ZS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5leHBpcmVzQXQgPiBub3cpO1xuICAgIGlmIChsaXZlRW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gICAgfSBlbHNlIGlmIChsaXZlRW50cmllcy5sZW5ndGggIT09IHF1ZXVlLmxlbmd0aCkge1xuICAgICAgZW50cmllcy5zZXQoa2V5LCBsaXZlRW50cmllcyk7XG4gICAgfVxuICB9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
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLWJsb2NrLXJlbmRlci1oYW5kb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDYXJyaWVzIGZvY3VzIGFuZCBwbHVnaW4gc3RhdGUgZnJvbSBhIGNvZGUgYmxvY2sgdG8gaXRzIG5leHQgcmVuZGVyLlxuICpcbiAqIE9ic2lkaWFuIHJlbmRlcnMgYSBjb2RlIGJsb2NrIGFnYWluIHdoZW5ldmVyIGl0cyBzb3VyY2UgdGV4dCBjaGFuZ2VzOiBSZWFkaW5nIHZpZXcgcmUtcmVuZGVycyB0aGUgc2VjdGlvbiBhbmQgTGl2ZVxuICogUHJldmlldyByZXBsYWNlcyB0aGUgd2lkZ2V0LiBTbyBhIGJsb2NrIHRoYXQgZWRpdHMgaXRzIG93biBzb3VyY2UgKGEgY291bnRlciwgYSBjaGVja2JveCwgYSBzZXR0aW5ncyBmb3JtKSBsb3NlcyB0aGVcbiAqIGVsZW1lbnQgdGhlIHVzZXIgd2FzIGludGVyYWN0aW5nIHdpdGgsIGl0cyBmb2N1cyBhbmQgd2hhdGV2ZXIgdGhlIHBsdWdpbiBrZXB0IG9uIGl0LiBUaGUgZWxlbWVudCBpdHNlbGYgY2Fubm90IGJlXG4gKiBrZXB0IHdpdGhvdXQgcGF0Y2hpbmcgT2JzaWRpYW4ncyByZW5kZXJlcnMsIHNvIHRoZSB3cml0ZSByZWNvcmRzIGEgaGFuZG9mZiBpbnN0ZWFkLCBhbmQgdGhlIHByb2Nlc3NvciByZW5kZXJpbmcgdGhlXG4gKiBuZXcgc291cmNlIGNsYWltcyBpdDogaXQgZ2V0cyBiYWNrIHRoZSBzdGF0ZSB0aGUgd3JpdGUgcGFzc2VkIGFuZCBjYW4gcHV0IHRoZSBmb2N1cyBiYWNrIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG4gKlxuICogVGhlIGhhbmRvZmYgaXMgbWF0Y2hlZCBieSBzb3VyY2UgcGF0aCwgbGFuZ3VhZ2UgYW5kIHRoZSBuZXcgYmxvY2sgY29udGVudCwgYW5kIGl0IGxpdmVzIGZvclxuICoge0BsaW5rIENPREVfQkxPQ0tfUkVOREVSX0hBTkRPRkZfTElGRVRJTUVfSU5fTUlMTElTRUNPTkRTfS4gVGhlIGZpcnN0IHJlbmRlciB0byBjbGFpbSBpdCBjb25zdW1lcyBpdCwgc28gd2hlbiB0aGVcbiAqIG5vdGUgaXMgb3BlbiBpbiB0d28gcGFuZXMgb25seSBvbmUgb2YgdGhlIG5ldyByZW5kZXJzIGdldHMgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwLFxuICBnZXRPcHRpb25hbE5hbWVkR3JvdXBcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgZW5zdXJlTGZFbmRpbmdzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuTGliU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogSG93IGxvbmcgYSByZWNvcmRlZCBoYW5kb2ZmIHdhaXRzIGZvciB0aGUgcmVuZGVyIHRoYXQgY2xhaW1zIGl0LlxuICovXG5leHBvcnQgY29uc3QgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMgPSAxMF8wMDA7XG5cbmNvbnN0IEhBTkRPRkZfU1RBVEVfS0VZID0gJ2NvZGVCbG9ja1JlbmRlckhhbmRvZmZWMSc7XG5jb25zdCBNQVhfRlJBTUVTX1RPX1dBSVRfRk9SX0NPTk5FQ1RJT04gPSA2MDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSB0aGUgcHJvY2Vzc29yIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhlIHByb2Nlc3NvciByZW5kZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgdGhlIHByb2Nlc3NvciByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoZXJlIHRoZSBmb2N1cyB3YXMgaW5zaWRlIGEgcmVuZGVyZWQgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQmxvY2tGb2N1c1NuYXBzaG90IHtcbiAgLyoqXG4gICAqIFRoZSBjaGlsZCBpbmRpY2VzIGxlYWRpbmcgZnJvbSB0aGUgY29kZSBibG9jayBlbGVtZW50IHRvIHRoZSBmb2N1c2VkIGVsZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBjaGlsZEluZGV4UGF0aDogcmVhZG9ubHkgbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHNlbGVjdGlvbiBvZiBhIGZvY3VzZWQgaW5wdXQgb3IgdGV4dCBhcmVhLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0aW9uOiBudWxsIHwgVGV4dFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIGhhbmRvZmYgY2xhaW1lZCBieSB0aGUgcmVuZGVyIG9mIGEgY29kZSBibG9jayB3aG9zZSBzb3VyY2UgYSB3cml0ZSBqdXN0IGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJsb2NrUmVuZGVySGFuZG9mZiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cml0ZSByZWNvcmRlZCBhIGZvY3VzZWQgZWxlbWVudCB0byByZXN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzRm9jdXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW5zaWRlIHRoZSBuZXcgcmVuZGVyLCB3aXRoIHRoZSBzYW1lIHRleHQgc2VsZWN0aW9uLlxuICAgKlxuICAgKiBDYWxsIGl0IG9uY2UgdGhlIHByb2Nlc3NvciBoYXMgcmVuZGVyZWQgdGhlIGJsb2NrLiBJdCB3YWl0cyBmb3IgdGhlIGVsZW1lbnQgdG8gYmUgYXR0YWNoZWQgdG8gYSBkb2N1bWVudC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciBhbiBlbGVtZW50IHdhcyBmb2N1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdG9yZUZvY3VzOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgcGFzc2VkIHRvIHRoZSB3cml0ZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBub25lIHdhcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2N1cyBjYXB0dXJlZCBmcm9tIHRoZSBvbGQgcmVuZGVyIHdpdGgge0BsaW5rIGNhcHR1cmVDb2RlQmxvY2tGb2N1c30uXG4gICAqL1xuICByZWFkb25seSBmb2N1czogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2RlIGJsb2NrIHdyaXR0ZW4gdG8gdGhlIG5vdGUsIGZlbmNlcyBpbmNsdWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ld0NvZGVCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGUgY29kZSBibG9jayBpcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHBhc3MgdG8gdGhlIG5leHQgcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU6IHVua25vd247XG59XG5cbmludGVyZmFjZSBIYW5kb2ZmRW50cnkge1xuICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgZm9jdXM6IENvZGVCbG9ja0ZvY3VzU25hcHNob3QgfCBudWxsO1xuICByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFRleHRTZWxlY3Rpb24ge1xuICByZWFkb25seSBkaXJlY3Rpb246ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZSc7XG4gIHJlYWRvbmx5IGVuZDogbnVtYmVyO1xuICByZWFkb25seSBzdGFydDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVGV4dFNlbGVjdGlvbkVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkRpcmVjdGlvbjogJ2JhY2t3YXJkJyB8ICdmb3J3YXJkJyB8ICdub25lJyB8IG51bGw7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkVuZDogbnVsbCB8IG51bWJlcjtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU3RhcnQ6IG51bGwgfCBudW1iZXI7XG4gIHJlYWRvbmx5IHNldFNlbGVjdGlvblJhbmdlOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIGRpcmVjdGlvbj86ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZScpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2FwdHVyZXMgd2hlcmUgdGhlIGZvY3VzIGlzIGluc2lkZSBhIHJlbmRlcmVkIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGNvZGUgYmxvY2sgZWxlbWVudC5cbiAqIEByZXR1cm5zIFRoZSBzbmFwc2hvdCwgb3IgYG51bGxgIHdoZW4gdGhlIGZvY3VzIGlzIG5vdCBpbnNpZGUgdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlQ29kZUJsb2NrRm9jdXMoZWw6IEhUTUxFbGVtZW50KTogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGwge1xuICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZWwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgYWN0aXZlRWxlbWVudCA9PT0gZWwgfHwgIWVsLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZEluZGV4UGF0aDogbnVtYmVyW10gPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IEVsZW1lbnQgfCBudWxsID0gYWN0aXZlRWxlbWVudDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gZWwpIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAobGV0IHNpYmxpbmcgPSBjdXJyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIGNoaWxkSW5kZXhQYXRoLnVuc2hpZnQoaW5kZXgpO1xuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudEVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkSW5kZXhQYXRoLFxuICAgIHNlbGVjdGlvbjogZ2V0VGV4dFNlbGVjdGlvbihhY3RpdmVFbGVtZW50KVxuICB9O1xufVxuXG4vKipcbiAqIENsYWltcyB0aGUgaGFuZG9mZiBhIHdyaXRlIHJlY29yZGVkIGZvciB0aGUgY29kZSBibG9jayBiZWluZyByZW5kZXJlZC5cbiAqXG4gKiBDYWxsIGl0IGZyb20gYSBjb2RlIGJsb2NrIHByb2Nlc3Nvci4gSXQgcmV0dXJucyBgbnVsbGAgd2hlbiBubyB3cml0ZSBpcyB3YWl0aW5nIGZvciB0aGlzIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBoYW5kb2ZmLCBvciBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmYocGFyYW1zOiBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmIHwgbnVsbCB7XG4gIGNvbnN0IHsgY29udGV4dCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuICBjb25zdCBlbnRyaWVzID0gZ2V0SGFuZG9mZkVudHJpZXMoKTtcbiAgcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzKTtcblxuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KGNvbnRleHQuc291cmNlUGF0aCwgZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbCksIGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpKTtcbiAgY29uc3QgcXVldWUgPSBlbnRyaWVzLmdldChrZXkpO1xuICBjb25zdCBlbnRyeSA9IHF1ZXVlPy5zaGlmdCgpO1xuICBpZiAoIXF1ZXVlIHx8ICFlbnRyeSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhhc0ZvY3VzOiBlbnRyeS5mb2N1cyAhPT0gbnVsbCxcbiAgICBhc3luYyByZXN0b3JlRm9jdXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gZW50cnkuZm9jdXMgPyAoYXdhaXQgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzKGVsLCBlbnRyeS5mb2N1cykpIDogZmFsc2U7XG4gICAgfSxcbiAgICBzdGF0ZTogZW50cnkuc3RhdGVcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWNvcmRzIGEgaGFuZG9mZiBmb3IgdGhlIG5leHQgcmVuZGVyIG9mIGEgY29kZSBibG9jayBhIHdyaXRlIGlzIGFib3V0IHRvIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFdoZXRoZXIgYSBoYW5kb2ZmIHdhcyByZWNvcmRlZDogYGZhbHNlYCB3aGVuIHRoZSBuZXcgdGV4dCBpcyBub3QgZXhhY3RseSBvbmUgY29kZSBibG9jay5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vY29uc2lzdGVudC1ib29sZWFuLW5hbWUgLS0gQSB2ZXJiIG5hbWVzIHRoZSBhY3Rpb247IHRoZSBib29sZWFuIG9ubHkgcmVwb3J0cyB3aGV0aGVyIGl0IHRvb2sgcGxhY2UuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZihwYXJhbXM6IFJlY29yZENvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBmb2N1cywgbmV3Q29kZUJsb2NrLCBzb3VyY2VQYXRoLCBzdGF0ZSB9ID0gcGFyYW1zO1xuICBjb25zdCBtYXRjaGVzID0gWy4uLmVuc3VyZUxmRW5kaW5ncyhuZXdDb2RlQmxvY2spLm1hdGNoQWxsKGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCgpKV07XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlc1swXTtcbiAgaWYgKG1hdGNoZXMubGVuZ3RoICE9PSAxIHx8ICFtYXRjaCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnTGluZVByZWZpeCcpO1xuICBjb25zdCBsYW5ndWFnZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tMYW5ndWFnZScpO1xuICBjb25zdCBjb250ZW50ID0gKGdldE9wdGlvbmFsTmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0NvbnRlbnQnKSA/PyAnJykuc3BsaXQoJ1xcbicpLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShsaW5lUHJlZml4Lmxlbmd0aCkpLmpvaW4oJ1xcbicpO1xuXG4gIGNvbnN0IGVudHJpZXMgPSBnZXRIYW5kb2ZmRW50cmllcygpO1xuICBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXMpO1xuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KHNvdXJjZVBhdGgsIGxhbmd1YWdlLCBjb250ZW50KTtcbiAgbGV0IHF1ZXVlID0gZW50cmllcy5nZXQoa2V5KTtcbiAgaWYgKCFxdWV1ZSkge1xuICAgIHF1ZXVlID0gW107XG4gICAgZW50cmllcy5zZXQoa2V5LCBxdWV1ZSk7XG4gIH1cbiAgcXVldWUucHVzaCh7XG4gICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMsXG4gICAgZm9jdXMsXG4gICAgc3RhdGVcbiAgfSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYSB7QGxpbmsgQ29kZUJsb2NrRm9jdXNTbmFwc2hvdH0gZGVzY3JpYmVzLlxuICpcbiAqIEBwYXJhbSBlbCAtIFRoZSBuZXcgY29kZSBibG9jayBlbGVtZW50LlxuICogQHBhcmFtIGZvY3VzIC0gVGhlIHNuYXBzaG90IGNhcHR1cmVkIGZyb20gdGhlIG9sZCByZW5kZXIuXG4gKiBAcmV0dXJucyBXaGV0aGVyIGFuIGVsZW1lbnQgd2FzIGZvY3VzZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2NvbnNpc3RlbnQtYm9vbGVhbi1uYW1lIC0tIEEgdmVyYiBuYW1lcyB0aGUgYWN0aW9uOyB0aGUgYm9vbGVhbiBvbmx5IHJlcG9ydHMgd2hldGhlciBpdCB0b29rIHBsYWNlLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc3RvcmVDb2RlQmxvY2tGb2N1cyhlbDogSFRNTEVsZW1lbnQsIGZvY3VzOiBDb2RlQmxvY2tGb2N1c1NuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGZvciAobGV0IGZyYW1lID0gMDsgIWVsLmlzQ29ubmVjdGVkICYmIGZyYW1lIDwgTUFYX0ZSQU1FU19UT19XQUlUX0ZPUl9DT05ORUNUSU9OOyBmcmFtZSsrKSB7XG4gICAgYXdhaXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMoKTtcbiAgfVxuXG4gIGlmICghZWwuaXNDb25uZWN0ZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgdGFyZ2V0OiBFbGVtZW50IHwgdW5kZWZpbmVkID0gZWw7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgZm9jdXMuY2hpbGRJbmRleFBhdGgpIHtcbiAgICB0YXJnZXQgPSB0YXJnZXQuY2hpbGRyZW5baW5kZXhdO1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc0hUTUxFbGVtZW50TGlrZSh0YXJnZXQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdGFyZ2V0LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgaWYgKGVsLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGFyZ2V0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzLnNlbGVjdGlvbiAmJiBpc1RleHRTZWxlY3Rpb25FbGVtZW50KHRhcmdldCkpIHtcbiAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2UoZm9jdXMuc2VsZWN0aW9uLnN0YXJ0LCBmb2N1cy5zZWxlY3Rpb24uZW5kLCBmb2N1cy5zZWxlY3Rpb24uZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBnZXRIYW5kb2ZmRW50cmllcygpOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5MaWJTdGF0ZShIQU5ET0ZGX1NUQVRFX0tFWSwgbmV3IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPigpKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SGFuZG9mZktleShzb3VyY2VQYXRoOiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShbc291cmNlUGF0aCwgbGFuZ3VhZ2UsIGNvbnRlbnRdKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IEJMT0NLX0xBTkdVQUdFX1BSRUZJWCA9ICdibG9jay1sYW5ndWFnZS0nO1xuICByZXR1cm4gWy4uLmVsZW1lbnQuY2xhc3NMaXN0XS5maW5kKChjbHMpID0+IGNscy5zdGFydHNXaXRoKEJMT0NLX0xBTkdVQUdFX1BSRUZJWCkpPy5zbGljZShCTE9DS19MQU5HVUFHRV9QUkVGSVgubGVuZ3RoKSA/PyAnJztcbn1cblxuZnVuY3Rpb24gZ2V0VGV4dFNlbGVjdGlvbihlbGVtZW50OiBFbGVtZW50KTogbnVsbCB8IFRleHRTZWxlY3Rpb24ge1xuICAvLyBBbiBpbnB1dCB0eXBlIHdpdGhvdXQgYSB0ZXh0IHNlbGVjdGlvbiAoYSBjaGVja2JveCwgYSBudW1iZXIgZmllbGQpIHJlYWRzIGBudWxsYCBoZXJlLlxuICBpZiAoIWlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudCkgfHwgZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gbnVsbCB8fCBlbGVtZW50LnNlbGVjdGlvbkVuZCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkaXJlY3Rpb246IGVsZW1lbnQuc2VsZWN0aW9uRGlyZWN0aW9uID8/ICdub25lJyxcbiAgICBlbmQ6IGVsZW1lbnQuc2VsZWN0aW9uRW5kLFxuICAgIHN0YXJ0OiBlbGVtZW50LnNlbGVjdGlvblN0YXJ0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSFRNTEVsZW1lbnRMaWtlKGVsZW1lbnQ6IEVsZW1lbnQpOiBlbGVtZW50IGlzIEhUTUxFbGVtZW50IHtcbiAgcmV0dXJuIHR5cGVvZiAoZWxlbWVudCBhcyBQYXJ0aWFsPEhUTUxFbGVtZW50PikuZm9jdXMgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudDogRWxlbWVudCk6IGVsZW1lbnQgaXMgVGV4dFNlbGVjdGlvbkVsZW1lbnQge1xuICByZXR1cm4gZWxlbWVudC50YWdOYW1lID09PSAnSU5QVVQnIHx8IGVsZW1lbnQudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJztcbn1cblxuZnVuY3Rpb24gcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4pOiB2b2lkIHtcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBba2V5LCBxdWV1ZV0gb2YgZW50cmllcykge1xuICAgIGNvbnN0IGxpdmVFbnRyaWVzID0gcXVldWUuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuZXhwaXJlc0F0ID4gbm93KTtcbiAgICBpZiAobGl2ZUVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBlbnRyaWVzLmRlbGV0ZShrZXkpO1xuICAgIH0gZWxzZSBpZiAobGl2ZUVudHJpZXMubGVuZ3RoICE9PSBxdWV1ZS5sZW5ndGgpIHtcbiAgICAgIGVudHJpZXMuc2V0KGtleSwgbGl2ZUVudHJpZXMpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
32
|
+
(function patchObsidianRequire() {
|
|
33
|
+
const originalRequire = require;
|
|
34
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
require = Object.assign(
|
|
38
|
+
(id) => requirePatched(id),
|
|
39
|
+
originalRequire,
|
|
40
|
+
{
|
|
41
|
+
__isPatched: true
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
function extractDefault($module) {
|
|
45
|
+
return $module && $module.__esModule && "default" in $module ? $module.default : $module;
|
|
46
|
+
}
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
48
|
+
"@codemirror/autocomplete",
|
|
49
|
+
"@codemirror/collab",
|
|
50
|
+
"@codemirror/commands",
|
|
51
|
+
"@codemirror/language",
|
|
52
|
+
"@codemirror/lint",
|
|
53
|
+
"@codemirror/search",
|
|
54
|
+
"@codemirror/state",
|
|
55
|
+
"@codemirror/text",
|
|
56
|
+
"@codemirror/view",
|
|
57
|
+
"@lezer/common",
|
|
58
|
+
"@lezer/highlight",
|
|
59
|
+
"@lezer/lr",
|
|
60
|
+
"obsidian"
|
|
61
|
+
]);
|
|
62
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
63
|
+
"@codemirror/closebrackets",
|
|
64
|
+
"@codemirror/comment",
|
|
65
|
+
"@codemirror/fold",
|
|
66
|
+
"@codemirror/gutter",
|
|
67
|
+
"@codemirror/highlight",
|
|
68
|
+
"@codemirror/history",
|
|
69
|
+
"@codemirror/matchbrackets",
|
|
70
|
+
"@codemirror/panel",
|
|
71
|
+
"@codemirror/rangeset",
|
|
72
|
+
"@codemirror/rectangular-selection",
|
|
73
|
+
"@codemirror/stream-parser",
|
|
74
|
+
"@codemirror/tooltip"
|
|
75
|
+
]);
|
|
76
|
+
function requirePatched(id) {
|
|
77
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
78
|
+
return originalRequire?.(id);
|
|
79
|
+
}
|
|
80
|
+
const app = globalThis.app;
|
|
81
|
+
if (app?.isMobile) {
|
|
82
|
+
if (id === "process" || id === "node:process") {
|
|
83
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
84
|
+
return process;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
const $module = originalRequire?.(id);
|
|
88
|
+
if ($module) {
|
|
89
|
+
return extractDefault($module);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
|
|
97
|
+
"use strict";
|
|
98
|
+
var __defProp = Object.defineProperty;
|
|
99
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
100
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
101
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
102
|
+
var __export = (target, all) => {
|
|
103
|
+
for (var name in all)
|
|
104
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
105
|
+
};
|
|
106
|
+
var __copyProps = (to, from, except, desc) => {
|
|
107
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
108
|
+
for (let key of __getOwnPropNames(from))
|
|
109
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
110
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
111
|
+
}
|
|
112
|
+
return to;
|
|
113
|
+
};
|
|
114
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
115
|
+
var editor_mode_extension_exports = {};
|
|
116
|
+
__export(editor_mode_extension_exports, {
|
|
117
|
+
createLivePreviewOnlyExtension: () => createLivePreviewOnlyExtension,
|
|
118
|
+
createSourceModeOnlyExtension: () => createSourceModeOnlyExtension,
|
|
119
|
+
isLivePreview: () => isLivePreview
|
|
120
|
+
});
|
|
121
|
+
module.exports = __toCommonJS(editor_mode_extension_exports);
|
|
122
|
+
var import_state = require('@codemirror/state');
|
|
123
|
+
var import_view = require('@codemirror/view');
|
|
124
|
+
var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
|
|
125
|
+
var import_obsidian = require('obsidian');
|
|
126
|
+
const editorLivePreviewStateField = (0, import_object_utils.castTo)(import_obsidian.editorLivePreviewField);
|
|
127
|
+
function createLivePreviewOnlyExtension(extension) {
|
|
128
|
+
return createModeScopedExtension(extension, true);
|
|
129
|
+
}
|
|
130
|
+
function createSourceModeOnlyExtension(extension) {
|
|
131
|
+
return createModeScopedExtension(extension, false);
|
|
132
|
+
}
|
|
133
|
+
function isLivePreview(state) {
|
|
134
|
+
return state.field(editorLivePreviewStateField, false) ?? true;
|
|
135
|
+
}
|
|
136
|
+
function createModeScopedExtension(extension, isActiveInLivePreview) {
|
|
137
|
+
const compartment = new import_state.Compartment();
|
|
138
|
+
const emptyExtension = [];
|
|
139
|
+
return [
|
|
140
|
+
compartment.of(isActiveInLivePreview ? extension : emptyExtension),
|
|
141
|
+
import_state.EditorState.transactionExtender.of((transaction) => {
|
|
142
|
+
if (transaction.effects.length === 0) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
const content = getChangedContent(transaction.state);
|
|
146
|
+
return content === null ? null : { effects: compartment.reconfigure(content) };
|
|
147
|
+
}),
|
|
148
|
+
import_view.ViewPlugin.define((view) => createInitialContentCorrector(view))
|
|
149
|
+
];
|
|
150
|
+
function getChangedContent(state) {
|
|
151
|
+
const content = isLivePreview(state) === isActiveInLivePreview ? extension : emptyExtension;
|
|
152
|
+
return compartment.get(state) === content ? null : content;
|
|
153
|
+
}
|
|
154
|
+
function createInitialContentCorrector(view) {
|
|
155
|
+
let isDestroyed = false;
|
|
156
|
+
if (getChangedContent(view.state) !== null) {
|
|
157
|
+
queueMicrotask(() => {
|
|
158
|
+
if (isDestroyed) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const content = getChangedContent(view.state);
|
|
162
|
+
if (content !== null) {
|
|
163
|
+
view.dispatch({ effects: compartment.reconfigure(content) });
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
destroy() {
|
|
169
|
+
isDestroyed = true;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
175
|
+
0 && (module.exports = {
|
|
176
|
+
createLivePreviewOnlyExtension,
|
|
177
|
+
createSourceModeOnlyExtension,
|
|
178
|
+
isLivePreview
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlbWlycm9yL2VkaXRvci1tb2RlLWV4dGVuc2lvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogU2NvcGVzIGFuIGVkaXRvciBleHRlbnNpb24gdG8gb25lIGVkaXRvciBtb2RlOiB7QGxpbmsgY3JlYXRlTGl2ZVByZXZpZXdPbmx5RXh0ZW5zaW9ufSBrZWVwcyBpdCBpbiBMaXZlIFByZXZpZXcgb25seSxcbiAqIGFuZCB7QGxpbmsgY3JlYXRlU291cmNlTW9kZU9ubHlFeHRlbnNpb259IGluIFNvdXJjZSBtb2RlIG9ubHkuIFRoZSBleHRlbnNpb24gaXMgc3dpdGNoZWQgb24gYW5kIG9mZiBhcyBhIHdob2xlLCBzbyBpdHNcbiAqIGRlY29yYXRpb25zLCB2aWV3IHBsdWdpbnMgYW5kIHN0YXRlIGZpZWxkcyBuZWVkIG5vIG1vZGUgY2hlY2sgb2YgdGhlaXIgb3duLlxuICpcbiAqIFRoZSBtb2RlIGlzIE9ic2lkaWFuJ3MgYGVkaXRvckxpdmVQcmV2aWV3RmllbGRgLiBSZWFkIGZyb20gT2JzaWRpYW4gYDEuMTUuMWAsIGEgTWFya2Rvd24gZWRpdG9yIGdldHMgdGhlIGZpZWxkIGZyb21cbiAqIGBlZGl0b3JMaXZlUHJldmlld0ZpZWxkLmluaXQoKWAgd2hlbmV2ZXIgaXRzIHN0YXRlIGlzIGJ1aWx0LCBhbmQgYSBtb2RlIHN3aXRjaCBkaXNwYXRjaGVzIG9uZSB0cmFuc2FjdGlvbiBjYXJyeWluZyBhXG4gKiBwcml2YXRlIGVmZmVjdCB0aGF0IHNldHMgdGhlIGZpZWxkLCBiZXNpZGUgdGhlIHJlY29uZmlndXJlIG9mIGl0cyBkeW5hbWljIGV4dGVuc2lvbnMuIFNvIHRoZSBmaWVsZCBjaGFuZ2VzIG9ubHkgaW4gYVxuICogdHJhbnNhY3Rpb24gd2l0aCBlZmZlY3RzLCBvciB3aXRoIGEgbmV3IHN0YXRlLlxuICpcbiAqIEVhY2ggY2FsbCB3cmFwcyB0aGUgZXh0ZW5zaW9uIGluIGEge0BsaW5rIENvbXBhcnRtZW50fSBvZiBpdHMgb3duLCB3aGljaCBob2xkcyB0aGUgZXh0ZW5zaW9uIG9yIG5vdGhpbmcgaW4gZXZlcnlcbiAqIGVkaXRvciBzZXBhcmF0ZWx5LiBBIHRyYW5zYWN0aW9uIGV4dGVuZGVyIHJlY29uZmlndXJlcyBpdCBpbiB0aGUgc2FtZSB0cmFuc2FjdGlvbiB0aGF0IGNoYW5nZXMgdGhlIG1vZGUsIHNvIG5vIHVwZGF0ZVxuICogZXZlciByZW5kZXJzIHdpdGggdGhlIHdyb25nIGNvbnRlbnQuIEEgbmV3IHN0YXRlIGNhbm5vdCBiZSByZWFkIGJlZm9yZSBpdCBleGlzdHMsIHNvIGl0IHN0YXJ0cyB3aXRoIHRoZSBjb250ZW50IHRoZVxuICogTGl2ZSBQcmV2aWV3IGRlZmF1bHQgY2FsbHMgZm9yLCBhbmQgYSB2aWV3IHBsdWdpbiBjb3JyZWN0cyBpdCBpbiBhIG1pY3JvdGFzaywgd2hpY2ggcnVucyBiZWZvcmUgdGhlIGJyb3dzZXIgcGFpbnRzLlxuICpcbiAqIE91dHNpZGUgYW4gT2JzaWRpYW4gTWFya2Rvd24gZWRpdG9yIHRoZXJlIGlzIG5vIGBlZGl0b3JMaXZlUHJldmlld0ZpZWxkYCwgYW5kIHRoZSBlZGl0b3IgY291bnRzIGFzIExpdmUgUHJldmlldy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEV4dGVuc2lvbixcbiAgU3RhdGVGaWVsZFxufSBmcm9tICdAY29kZW1pcnJvci9zdGF0ZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEVkaXRvclZpZXcsXG4gIFBsdWdpblZhbHVlXG59IGZyb20gJ0Bjb2RlbWlycm9yL3ZpZXcnO1xuXG5pbXBvcnQge1xuICBDb21wYXJ0bWVudCxcbiAgRWRpdG9yU3RhdGVcbn0gZnJvbSAnQGNvZGVtaXJyb3Ivc3RhdGUnO1xuaW1wb3J0IHsgVmlld1BsdWdpbiB9IGZyb20gJ0Bjb2RlbWlycm9yL3ZpZXcnO1xuaW1wb3J0IHsgY2FzdFRvIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5pbXBvcnQgeyBlZGl0b3JMaXZlUHJldmlld0ZpZWxkIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vLyBPYnNpZGlhbi5kLnRzIHJlYWNoZXMgQGNvZGVtaXJyb3Ivc3RhdGUgdGhyb3VnaCBpdHMgQ29tbW9uSlMgZGVjbGFyYXRpb25zIGFuZCB0aGlzIG1vZHVsZSB0aHJvdWdoIHRoZSBFUyBvbmVzLCBhbmRcbi8vIFN0YXRlRmllbGQgaGFzIHByaXZhdGUgbWVtYmVycywgc28gdGhlIHR3byBkZWNsYXJhdGlvbnMgb2Ygb25lIHJ1bnRpbWUgY2xhc3MgZG8gbm90IHR5cGUtY2hlY2sgYWdhaW5zdCBlYWNoIG90aGVyLlxuY29uc3QgZWRpdG9yTGl2ZVByZXZpZXdTdGF0ZUZpZWxkID0gY2FzdFRvPFN0YXRlRmllbGQ8Ym9vbGVhbj4+KGVkaXRvckxpdmVQcmV2aWV3RmllbGQpO1xuXG4vKipcbiAqIFdyYXBzIGFuIGV4dGVuc2lvbiBzbyBpdCBpcyBhY3RpdmUgb25seSB3aGlsZSB0aGUgZWRpdG9yIGlzIGluIExpdmUgUHJldmlldywgYW5kIHN3aXRjaGVkIG9mZiBpbiBTb3VyY2UgbW9kZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHRoaXMucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oY3JlYXRlTGl2ZVByZXZpZXdPbmx5RXh0ZW5zaW9uKG15RGVjb3JhdGlvbnNQbHVnaW4pKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIHNjb3BlLlxuICogQHJldHVybnMgVGhlIHNjb3BlZCBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXZlUHJldmlld09ubHlFeHRlbnNpb24oZXh0ZW5zaW9uOiBFeHRlbnNpb24pOiBFeHRlbnNpb24ge1xuICByZXR1cm4gY3JlYXRlTW9kZVNjb3BlZEV4dGVuc2lvbihleHRlbnNpb24sIHRydWUpO1xufVxuXG4vKipcbiAqIFdyYXBzIGFuIGV4dGVuc2lvbiBzbyBpdCBpcyBhY3RpdmUgb25seSB3aGlsZSB0aGUgZWRpdG9yIGlzIGluIFNvdXJjZSBtb2RlLCBhbmQgc3dpdGNoZWQgb2ZmIGluIExpdmUgUHJldmlldy5cbiAqXG4gKiBPdXRzaWRlIGFuIE9ic2lkaWFuIE1hcmtkb3duIGVkaXRvciB0aGUgZWRpdG9yIGNvdW50cyBhcyBMaXZlIFByZXZpZXcsIHNvIHRoZSBleHRlbnNpb24gc3RheXMgb2ZmIHRoZXJlLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIHNjb3BlLlxuICogQHJldHVybnMgVGhlIHNjb3BlZCBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTb3VyY2VNb2RlT25seUV4dGVuc2lvbihleHRlbnNpb246IEV4dGVuc2lvbik6IEV4dGVuc2lvbiB7XG4gIHJldHVybiBjcmVhdGVNb2RlU2NvcGVkRXh0ZW5zaW9uKGV4dGVuc2lvbiwgZmFsc2UpO1xufVxuXG4vKipcbiAqIFRlbGxzIHdoZXRoZXIgYW4gZWRpdG9yIHN0YXRlIGlzIGluIExpdmUgUHJldmlldy5cbiAqXG4gKiBAcGFyYW0gc3RhdGUgLSBUaGUgZWRpdG9yIHN0YXRlLlxuICogQHJldHVybnMgYHRydWVgIGluIExpdmUgUHJldmlldyBhbmQgb3V0c2lkZSBhbiBPYnNpZGlhbiBNYXJrZG93biBlZGl0b3IsIGBmYWxzZWAgaW4gU291cmNlIG1vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0xpdmVQcmV2aWV3KHN0YXRlOiBFZGl0b3JTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGUuZmllbGQoZWRpdG9yTGl2ZVByZXZpZXdTdGF0ZUZpZWxkLCBmYWxzZSkgPz8gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kZVNjb3BlZEV4dGVuc2lvbihleHRlbnNpb246IEV4dGVuc2lvbiwgaXNBY3RpdmVJbkxpdmVQcmV2aWV3OiBib29sZWFuKTogRXh0ZW5zaW9uIHtcbiAgY29uc3QgY29tcGFydG1lbnQgPSBuZXcgQ29tcGFydG1lbnQoKTtcbiAgY29uc3QgZW1wdHlFeHRlbnNpb246IEV4dGVuc2lvbiA9IFtdO1xuXG4gIHJldHVybiBbXG4gICAgY29tcGFydG1lbnQub2YoaXNBY3RpdmVJbkxpdmVQcmV2aWV3ID8gZXh0ZW5zaW9uIDogZW1wdHlFeHRlbnNpb24pLFxuICAgIEVkaXRvclN0YXRlLnRyYW5zYWN0aW9uRXh0ZW5kZXIub2YoKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBpZiAodHJhbnNhY3Rpb24uZWZmZWN0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBjb250ZW50ID0gZ2V0Q2hhbmdlZENvbnRlbnQodHJhbnNhY3Rpb24uc3RhdGUpO1xuICAgICAgcmV0dXJuIGNvbnRlbnQgPT09IG51bGwgPyBudWxsIDogeyBlZmZlY3RzOiBjb21wYXJ0bWVudC5yZWNvbmZpZ3VyZShjb250ZW50KSB9O1xuICAgIH0pLFxuICAgIFZpZXdQbHVnaW4uZGVmaW5lKCh2aWV3KSA9PiBjcmVhdGVJbml0aWFsQ29udGVudENvcnJlY3Rvcih2aWV3KSlcbiAgXTtcblxuICBmdW5jdGlvbiBnZXRDaGFuZ2VkQ29udGVudChzdGF0ZTogRWRpdG9yU3RhdGUpOiBFeHRlbnNpb24gfCBudWxsIHtcbiAgICBjb25zdCBjb250ZW50ID0gaXNMaXZlUHJldmlldyhzdGF0ZSkgPT09IGlzQWN0aXZlSW5MaXZlUHJldmlldyA/IGV4dGVuc2lvbiA6IGVtcHR5RXh0ZW5zaW9uO1xuICAgIHJldHVybiBjb21wYXJ0bWVudC5nZXQoc3RhdGUpID09PSBjb250ZW50ID8gbnVsbCA6IGNvbnRlbnQ7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVJbml0aWFsQ29udGVudENvcnJlY3Rvcih2aWV3OiBFZGl0b3JWaWV3KTogUGx1Z2luVmFsdWUge1xuICAgIGxldCBpc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICAgIGlmIChnZXRDaGFuZ2VkQ29udGVudCh2aWV3LnN0YXRlKSAhPT0gbnVsbCkge1xuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICBpZiAoaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29udGVudCA9IGdldENoYW5nZWRDb250ZW50KHZpZXcuc3RhdGUpO1xuICAgICAgICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIHZpZXcuZGlzcGF0Y2goeyBlZmZlY3RzOiBjb21wYXJ0bWVudC5yZWNvbmZpZ3VyZShjb250ZW50KSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZCQSxtQkFHTztBQUNQLGtCQUEyQjtBQUMzQiwwQkFBdUI7QUFDdkIsc0JBQXVDO0FBSXZDLE1BQU0sa0NBQThCLDRCQUE0QixzQ0FBc0I7QUFhL0UsU0FBUywrQkFBK0IsV0FBaUM7QUFDOUUsU0FBTywwQkFBMEIsV0FBVyxJQUFJO0FBQ2xEO0FBVU8sU0FBUyw4QkFBOEIsV0FBaUM7QUFDN0UsU0FBTywwQkFBMEIsV0FBVyxLQUFLO0FBQ25EO0FBUU8sU0FBUyxjQUFjLE9BQTZCO0FBQ3pELFNBQU8sTUFBTSxNQUFNLDZCQUE2QixLQUFLLEtBQUs7QUFDNUQ7QUFFQSxTQUFTLDBCQUEwQixXQUFzQix1QkFBMkM7QUFDbEcsUUFBTSxjQUFjLElBQUkseUJBQVk7QUFDcEMsUUFBTSxpQkFBNEIsQ0FBQztBQUVuQyxTQUFPO0FBQUEsSUFDTCxZQUFZLEdBQUcsd0JBQXdCLFlBQVksY0FBYztBQUFBLElBQ2pFLHlCQUFZLG9CQUFvQixHQUFHLENBQUMsZ0JBQWdCO0FBQ2xELFVBQUksWUFBWSxRQUFRLFdBQVcsR0FBRztBQUNwQyxlQUFPO0FBQUEsTUFDVDtBQUNBLFlBQU0sVUFBVSxrQkFBa0IsWUFBWSxLQUFLO0FBQ25ELGFBQU8sWUFBWSxPQUFPLE9BQU8sRUFBRSxTQUFTLFlBQVksWUFBWSxPQUFPLEVBQUU7QUFBQSxJQUMvRSxDQUFDO0FBQUEsSUFDRCx1QkFBVyxPQUFPLENBQUMsU0FBUyw4QkFBOEIsSUFBSSxDQUFDO0FBQUEsRUFDakU7QUFFQSxXQUFTLGtCQUFrQixPQUFzQztBQUMvRCxVQUFNLFVBQVUsY0FBYyxLQUFLLE1BQU0sd0JBQXdCLFlBQVk7QUFDN0UsV0FBTyxZQUFZLElBQUksS0FBSyxNQUFNLFVBQVUsT0FBTztBQUFBLEVBQ3JEO0FBRUEsV0FBUyw4QkFBOEIsTUFBK0I7QUFDcEUsUUFBSSxjQUFjO0FBQ2xCLFFBQUksa0JBQWtCLEtBQUssS0FBSyxNQUFNLE1BQU07QUFDMUMscUJBQWUsTUFBTTtBQUNuQixZQUFJLGFBQWE7QUFDZjtBQUFBLFFBQ0Y7QUFDQSxjQUFNLFVBQVUsa0JBQWtCLEtBQUssS0FBSztBQUM1QyxZQUFJLFlBQVksTUFBTTtBQUNwQixlQUFLLFNBQVMsRUFBRSxTQUFTLFlBQVksWUFBWSxPQUFPLEVBQUUsQ0FBQztBQUFBLFFBQzdEO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUNBLFdBQU87QUFBQSxNQUNMLFVBQWdCO0FBQ2Qsc0JBQWM7QUFBQSxNQUNoQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7IiwibmFtZXMiOltdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Scopes an editor extension to one editor mode: {@link createLivePreviewOnlyExtension} keeps it in Live Preview only,
|
|
6
|
+
* and {@link createSourceModeOnlyExtension} in Source mode only. The extension is switched on and off as a whole, so its
|
|
7
|
+
* decorations, view plugins and state fields need no mode check of their own.
|
|
8
|
+
*
|
|
9
|
+
* The mode is Obsidian's `editorLivePreviewField`. Read from Obsidian `1.15.1`, a Markdown editor gets the field from
|
|
10
|
+
* `editorLivePreviewField.init()` whenever its state is built, and a mode switch dispatches one transaction carrying a
|
|
11
|
+
* private effect that sets the field, beside the reconfigure of its dynamic extensions. So the field changes only in a
|
|
12
|
+
* transaction with effects, or with a new state.
|
|
13
|
+
*
|
|
14
|
+
* Each call wraps the extension in a {@link Compartment} of its own, which holds the extension or nothing in every
|
|
15
|
+
* editor separately. A transaction extender reconfigures it in the same transaction that changes the mode, so no update
|
|
16
|
+
* ever renders with the wrong content. A new state cannot be read before it exists, so it starts with the content the
|
|
17
|
+
* Live Preview default calls for, and a view plugin corrects it in a microtask, which runs before the browser paints.
|
|
18
|
+
*
|
|
19
|
+
* Outside an Obsidian Markdown editor there is no `editorLivePreviewField`, and the editor counts as Live Preview.
|
|
20
|
+
*/
|
|
21
|
+
import type { Extension } from '@codemirror/state' with { 'resolution-mode': 'import' };
|
|
22
|
+
import { EditorState } from '@codemirror/state';
|
|
23
|
+
/**
|
|
24
|
+
* Wraps an extension so it is active only while the editor is in Live Preview, and switched off in Source mode.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* this.registerEditorExtension(createLivePreviewOnlyExtension(myDecorationsPlugin));
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @param extension - The extension to scope.
|
|
32
|
+
* @returns The scoped extension.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createLivePreviewOnlyExtension(extension: Extension): Extension;
|
|
35
|
+
/**
|
|
36
|
+
* Wraps an extension so it is active only while the editor is in Source mode, and switched off in Live Preview.
|
|
37
|
+
*
|
|
38
|
+
* Outside an Obsidian Markdown editor the editor counts as Live Preview, so the extension stays off there.
|
|
39
|
+
*
|
|
40
|
+
* @param extension - The extension to scope.
|
|
41
|
+
* @returns The scoped extension.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createSourceModeOnlyExtension(extension: Extension): Extension;
|
|
44
|
+
/**
|
|
45
|
+
* Tells whether an editor state is in Live Preview.
|
|
46
|
+
*
|
|
47
|
+
* @param state - The editor state.
|
|
48
|
+
* @returns `true` in Live Preview and outside an Obsidian Markdown editor, `false` in Source mode.
|
|
49
|
+
*/
|
|
50
|
+
export declare function isLivePreview(state: EditorState): boolean;
|
|
@@ -97,6 +97,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
97
97
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
98
98
|
var codemirror_exports = {};
|
|
99
99
|
__export(codemirror_exports, {
|
|
100
|
+
"editor-mode-extension": () => editor_mode_extension,
|
|
100
101
|
"incremental-parse-state-field": () => incremental_parse_state_field,
|
|
101
102
|
"inline-token-widgets": () => inline_token_widgets,
|
|
102
103
|
"markdown-editor-views": () => markdown_editor_views,
|
|
@@ -105,6 +106,7 @@ __export(codemirror_exports, {
|
|
|
105
106
|
"state-field-spec": () => state_field_spec
|
|
106
107
|
});
|
|
107
108
|
module.exports = __toCommonJS(codemirror_exports);
|
|
109
|
+
var editor_mode_extension = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./editor-mode-extension.cjs')), 1);
|
|
108
110
|
var incremental_parse_state_field = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./incremental-parse-state-field.cjs')), 1);
|
|
109
111
|
var inline_token_widgets = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./inline-token-widgets.cjs')), 1);
|
|
110
112
|
var markdown_editor_views = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./markdown-editor-views.cjs')), 1);
|
|
@@ -113,6 +115,7 @@ var settings_facet = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
113
115
|
var state_field_spec = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./state-field-spec.cjs')), 1);
|
|
114
116
|
// Annotate the CommonJS export names for ESM import in node:
|
|
115
117
|
0 && (module.exports = {
|
|
118
|
+
"editor-mode-extension": null,
|
|
116
119
|
"incremental-parse-state-field": null,
|
|
117
120
|
"inline-token-widgets": null,
|
|
118
121
|
"markdown-editor-views": null,
|
|
@@ -120,4 +123,4 @@ var state_field_spec = __toESM(((module) => module && module.__esModule && 'defa
|
|
|
120
123
|
"settings-facet": null,
|
|
121
124
|
"state-field-spec": null
|
|
122
125
|
});
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlbWlycm9yL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnZWRpdG9yLW1vZGUtZXh0ZW5zaW9uJyBmcm9tICcuL2VkaXRvci1tb2RlLWV4dGVuc2lvbi50cyc7XG5leHBvcnQgKiBhcyAnaW5jcmVtZW50YWwtcGFyc2Utc3RhdGUtZmllbGQnIGZyb20gJy4vaW5jcmVtZW50YWwtcGFyc2Utc3RhdGUtZmllbGQudHMnO1xuZXhwb3J0ICogYXMgJ2lubGluZS10b2tlbi13aWRnZXRzJyBmcm9tICcuL2lubGluZS10b2tlbi13aWRnZXRzLnRzJztcbmV4cG9ydCAqIGFzICdtYXJrZG93bi1lZGl0b3Itdmlld3MnIGZyb20gJy4vbWFya2Rvd24tZWRpdG9yLXZpZXdzLnRzJztcbmV4cG9ydCAqIGFzICdyYW5nZS1zZXQnIGZyb20gJy4vcmFuZ2Utc2V0LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5ncy1mYWNldCcgZnJvbSAnLi9zZXR0aW5ncy1mYWNldC50cyc7XG5leHBvcnQgKiBhcyAnc3RhdGUtZmllbGQtc3BlYycgZnJvbSAnLi9zdGF0ZS1maWVsZC1zcGVjLnRzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQSxpQ0FBQUE7QUFBQSxFQUFBLHVDQUFBQztBQUFBLEVBQUEsOEJBQUFDO0FBQUEsRUFBQSwrQkFBQUM7QUFBQSxFQUFBLG1CQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSwwQkFBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQU4sd0JBQXlDO0FBQ3pDLElBQUFDLGdDQUFpRDtBQUNqRCxJQUFBQyx1QkFBd0M7QUFDeEMsSUFBQUMsd0JBQXlDO0FBQ3pDLElBQUFDLFlBQTZCO0FBQzdCLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxtQkFBb0M7IiwibmFtZXMiOlsiZWRpdG9yLW1vZGUtZXh0ZW5zaW9uIiwiaW5jcmVtZW50YWwtcGFyc2Utc3RhdGUtZmllbGQiLCJpbmxpbmUtdG9rZW4td2lkZ2V0cyIsIm1hcmtkb3duLWVkaXRvci12aWV3cyIsInJhbmdlLXNldCIsInNldHRpbmdzLWZhY2V0Iiwic3RhdGUtZmllbGQtc3BlYyJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
export * as 'editor-mode-extension' from './editor-mode-extension.cjs';
|
|
2
3
|
export * as 'incremental-parse-state-field' from './incremental-parse-state-field.cjs';
|
|
3
4
|
export * as 'inline-token-widgets' from './inline-token-widgets.cjs';
|
|
4
5
|
export * as 'markdown-editor-views' from './markdown-editor-views.cjs';
|
|
@@ -123,8 +123,8 @@ var import_view = require('@codemirror/view');
|
|
|
123
123
|
var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
|
|
124
124
|
var import_obsidian = require('obsidian');
|
|
125
125
|
var import_css_class = require('../css-class.cjs');
|
|
126
|
+
var import_editor_mode_extension = require('./editor-mode-extension.cjs');
|
|
126
127
|
const editorInfoStateField = (0, import_object_utils.castTo)(import_obsidian.editorInfoField);
|
|
127
|
-
const editorLivePreviewStateField = (0, import_object_utils.castTo)(import_obsidian.editorLivePreviewField);
|
|
128
128
|
class InlineTokenWidget extends import_view.WidgetType {
|
|
129
129
|
configVersion;
|
|
130
130
|
match;
|
|
@@ -178,13 +178,13 @@ function createInlineTokenWidgetsExtension(params) {
|
|
|
178
178
|
if (isReconfigured) {
|
|
179
179
|
this.configVersion++;
|
|
180
180
|
}
|
|
181
|
-
if (update.docChanged || update.viewportChanged || update.selectionSet || isReconfigured || isLivePreview(update.startState) !== isLivePreview(update.state)) {
|
|
181
|
+
if (update.docChanged || update.viewportChanged || update.selectionSet || isReconfigured || (0, import_editor_mode_extension.isLivePreview)(update.startState) !== (0, import_editor_mode_extension.isLivePreview)(update.state)) {
|
|
182
182
|
this.decorations = this.buildDecorations(update.view);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
buildDecorations(view) {
|
|
186
186
|
const state = view.state;
|
|
187
|
-
if (!isLivePreview(state)) {
|
|
187
|
+
if (!(0, import_editor_mode_extension.isLivePreview)(state)) {
|
|
188
188
|
return import_view.Decoration.none;
|
|
189
189
|
}
|
|
190
190
|
const sourcePath = state.field(editorInfoStateField, false)?.file?.path ?? "";
|
|
@@ -238,13 +238,10 @@ function toGlobalRegExp(regExp) {
|
|
|
238
238
|
function areMatchesEqual(a, b) {
|
|
239
239
|
return a.length === b.length && a.every((value, index) => value === b[index]);
|
|
240
240
|
}
|
|
241
|
-
function isLivePreview(state) {
|
|
242
|
-
return state.field(editorLivePreviewStateField, false) ?? true;
|
|
243
|
-
}
|
|
244
241
|
// Annotate the CommonJS export names for ESM import in node:
|
|
245
242
|
0 && (module.exports = {
|
|
246
243
|
createInlineTokenWidgetsExtension,
|
|
247
244
|
execAll,
|
|
248
245
|
toGlobalRegExp
|
|
249
246
|
});
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlbWlycm9yL2lubGluZS10b2tlbi13aWRnZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDcmVhdGVzIGFuIGVkaXRvciBleHRlbnNpb24gdGhhdCByZXBsYWNlcyBldmVyeSBtYXRjaCBvZiBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIGEgd2lkZ2V0IGluIExpdmUgUHJldmlldywgYW5kXG4gKiBzaG93cyB0aGUgc291cmNlIGFnYWluIHdoaWxlIGEgc2VsZWN0aW9uIHRvdWNoZXMgaXQsIHRoZSB3YXkgT2JzaWRpYW4gdHJlYXRzIGl0cyBvd24gbGlua3MgYW5kIGZvcm1hdHRpbmcuXG4gKlxuICogT25seSB0aGUgdmlzaWJsZSByYW5nZXMgYXJlIG1hdGNoZWQsIGxpbmUgYnkgbGluZSwgc28gYSB0b2tlbiBuZXZlciBzcGFucyB0d28gbGluZXMuIFRoZSBkZWNvcmF0aW9ucyBhcmUgcmVidWlsdFxuICogd2hlbiB0aGUgZG9jdW1lbnQsIHRoZSB2aWV3cG9ydCwgdGhlIHNlbGVjdGlvbiwgdGhlIExpdmUgUHJldmlldyBtb2RlIG9yIHRoZSBjb25maWd1cmF0aW9uIGNoYW5nZXM7IGFcbiAqIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIHdoYXQgYSBgU2V0dGluZ3NGYWNldENvbXBvbmVudGAgZGlzcGF0Y2hlcywgc28gYSByZW5kZXIgdGhhdCByZWFkcyBhIHNldHRpbmdzIGZhY2V0XG4gKiByZS1ydW5zIHdoZW4gdGhlIHNldHRpbmdzIGRvLlxuICpcbiAqIE91dHNpZGUgYW4gT2JzaWRpYW4gTWFya2Rvd24gZWRpdG9yIHRoZXJlIGlzIG5vIGBlZGl0b3JMaXZlUHJldmlld0ZpZWxkYCwgYW5kIHRoZSB3aWRnZXRzIGFyZSBzaG93bi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEVkaXRvclN0YXRlLFxuICBFeHRlbnNpb24sXG4gIFJhbmdlLFxuICBTdGF0ZUZpZWxkXG59IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcbmltcG9ydCB0eXBlIHtcbiAgRGVjb3JhdGlvblNldCxcbiAgRWRpdG9yVmlldyxcbiAgUGx1Z2luVmFsdWUsXG4gIFZpZXdVcGRhdGVcbn0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duRmlsZUluZm8gfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIERlY29yYXRpb24sXG4gIFZpZXdQbHVnaW4sXG4gIFdpZGdldFR5cGVcbn0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGVkaXRvckluZm9GaWVsZCxcbiAgZWRpdG9yTGl2ZVByZXZpZXdGaWVsZFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcblxuLy8gT2JzaWRpYW4uZC50cyByZWFjaGVzIEBjb2RlbWlycm9yL3N0YXRlIHRocm91Z2ggaXRzIENvbW1vbkpTIGRlY2xhcmF0aW9ucyBhbmQgdGhpcyBtb2R1bGUgdGhyb3VnaCB0aGUgRVMgb25lcywgYW5kXG4vLyBTdGF0ZUZpZWxkIGhhcyBwcml2YXRlIG1lbWJlcnMsIHNvIHRoZSB0d28gZGVjbGFyYXRpb25zIG9mIG9uZSBydW50aW1lIGNsYXNzIGRvIG5vdCB0eXBlLWNoZWNrIGFnYWluc3QgZWFjaCBvdGhlci5cbmNvbnN0IGVkaXRvckluZm9TdGF0ZUZpZWxkID0gY2FzdFRvPFN0YXRlRmllbGQ8TWFya2Rvd25GaWxlSW5mbz4+KGVkaXRvckluZm9GaWVsZCk7XG5jb25zdCBlZGl0b3JMaXZlUHJldmlld1N0YXRlRmllbGQgPSBjYXN0VG88U3RhdGVGaWVsZDxib29sZWFuPj4oZWRpdG9yTGl2ZVByZXZpZXdGaWVsZCk7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSW5saW5lVG9rZW5XaWRnZXRzRXh0ZW5zaW9uUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSByZWd1bGFyIGV4cHJlc3Npb24gYSB0b2tlbiBtYXRjaGVzLiBUaGUgYGdgIGZsYWcgaXMgYWRkZWQgd2hlbiBtaXNzaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnRXhwOiBSZWdFeHA7XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgYSB0b2tlbiBpbnRvIHRoZSB3aWRnZXQncyBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVuZGVyOiBJbmxpbmVUb2tlblJlbmRlckZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWNpZGVzIHdoZXRoZXIgYSBtYXRjaCBiZWNvbWVzIGEgd2lkZ2V0LCBzdWNoIGFzIHRvIHNraXAgYSBtYXRjaCBpbnNpZGUgY29kZS4gRXZlcnkgbWF0Y2ggZG9lcyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRGVjb3JhdGU/OiAocGFyYW1zOiBJbmxpbmVUb2tlblNob3VsZERlY29yYXRlUGFyYW1zKSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdG9rZW4gc2hvd3MgaXRzIHNvdXJjZSB3aGlsZSBhIHNlbGVjdGlvbiwgdGhlIGN1cnNvciBpbmNsdWRlZCwgdG91Y2hlcyBpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXZlYWxPblNlbGVjdGlvbj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBpbmxpbmUgdG9rZW4gaW50byBpdHMgY29udGFpbmVyIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSByZW5kZXIgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgSW5saW5lVG9rZW5SZW5kZXJGdW5jdGlvbiA9IChwYXJhbXM6IElubGluZVRva2VuUmVuZGVyUGFyYW1zKSA9PiB2b2lkO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgaGFuZGVkIHRvIGFuIGlubGluZSB0b2tlbiByZW5kZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lVG9rZW5SZW5kZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdG8gcmVuZGVyIHRoZSB0b2tlbiBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF0Y2ggb2YgdGhlIHRva2VuJ3MgcmVndWxhciBleHByZXNzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheTtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIG5vdGUgdGhlIHRva2VuIGlzIGluLCBvciBhbiBlbXB0eSBzdHJpbmcgd2hlbiBpdCBpcyBub3Qga25vd24uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlZGl0b3Igc3RhdGUsIHdoZW4gdGhlIHRva2VuIHJlbmRlcnMgaW4gYW4gZWRpdG9yLiBBYnNlbnQgaW4gUmVhZGluZyB2aWV3LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU/OiBFZGl0b3JTdGF0ZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGhhbmRlZCB0byB7QGxpbmsgQ3JlYXRlSW5saW5lVG9rZW5XaWRnZXRzRXh0ZW5zaW9uUGFyYW1zLnNob3VsZERlY29yYXRlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVUb2tlblNob3VsZERlY29yYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudCBwb3NpdGlvbiB0aGUgbWF0Y2ggc3RhcnRzIGF0LlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF0Y2ggb2YgdGhlIHRva2VuJ3MgcmVndWxhciBleHByZXNzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheTtcblxuICAvKipcbiAgICogVGhlIGVkaXRvciBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiBFZGl0b3JTdGF0ZTtcblxuICAvKipcbiAgICogVGhlIGRvY3VtZW50IHBvc2l0aW9uIHRoZSBtYXRjaCBlbmRzIGF0LlxuICAgKi9cbiAgcmVhZG9ubHkgdG86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElubGluZVRva2VuV2lkZ2V0UGFyYW1zIHtcbiAgcmVhZG9ubHkgY29uZmlnVmVyc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICByZWFkb25seSByZW5kZXI6IElubGluZVRva2VuUmVuZGVyRnVuY3Rpb247XG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhdGU6IEVkaXRvclN0YXRlO1xufVxuXG5jbGFzcyBJbmxpbmVUb2tlbldpZGdldCBleHRlbmRzIFdpZGdldFR5cGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1ZlcnNpb246IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcjogSW5saW5lVG9rZW5SZW5kZXJGdW5jdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGU6IEVkaXRvclN0YXRlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IElubGluZVRva2VuV2lkZ2V0UGFyYW1zKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZ1ZlcnNpb24gPSBwYXJhbXMuY29uZmlnVmVyc2lvbjtcbiAgICB0aGlzLm1hdGNoID0gcGFyYW1zLm1hdGNoO1xuICAgIHRoaXMucmVuZGVyID0gcGFyYW1zLnJlbmRlcjtcbiAgICB0aGlzLnNvdXJjZVBhdGggPSBwYXJhbXMuc291cmNlUGF0aDtcbiAgICB0aGlzLnN0YXRlID0gcGFyYW1zLnN0YXRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGVxKG90aGVyOiBXaWRnZXRUeXBlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG90aGVyIGluc3RhbmNlb2YgSW5saW5lVG9rZW5XaWRnZXRcbiAgICAgICYmIG90aGVyLmNvbmZpZ1ZlcnNpb24gPT09IHRoaXMuY29uZmlnVmVyc2lvblxuICAgICAgJiYgb3RoZXIucmVuZGVyID09PSB0aGlzLnJlbmRlclxuICAgICAgJiYgb3RoZXIuc291cmNlUGF0aCA9PT0gdGhpcy5zb3VyY2VQYXRoXG4gICAgICAmJiBhcmVNYXRjaGVzRXF1YWwob3RoZXIubWF0Y2gsIHRoaXMubWF0Y2gpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvRE9NKHZpZXc6IEVkaXRvclZpZXcpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgY29udGFpbmVyRWwgPSB2aWV3LmRvbS5vd25lckRvY3VtZW50Lndpbi5jcmVhdGVTcGFuKCk7XG4gICAgY29udGFpbmVyRWwuY2xhc3NMaXN0LmFkZChDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgQ3NzQ2xhc3MuSW5saW5lVG9rZW4pO1xuICAgIHRoaXMucmVuZGVyKHtcbiAgICAgIGNvbnRhaW5lckVsLFxuICAgICAgbWF0Y2g6IHRoaXMubWF0Y2gsXG4gICAgICBzb3VyY2VQYXRoOiB0aGlzLnNvdXJjZVBhdGgsXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZVxuICAgIH0pO1xuICAgIHJldHVybiBjb250YWluZXJFbDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZWRpdG9yIGV4dGVuc2lvbiB0aGF0IHJlcGxhY2VzIGV2ZXJ5IG1hdGNoIG9mIGEgcmVndWxhciBleHByZXNzaW9uIHdpdGggYSB3aWRnZXQgaW4gTGl2ZSBQcmV2aWV3LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZXh0ZW5zaW9uIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBUaGUgZWRpdG9yIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvbihwYXJhbXM6IENyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvblBhcmFtcyk6IEV4dGVuc2lvbiB7XG4gIGNvbnN0IHJlZ0V4cCA9IHRvR2xvYmFsUmVnRXhwKHBhcmFtcy5yZWdFeHApO1xuICBjb25zdCBzaG91bGRSZXZlYWxPblNlbGVjdGlvbiA9IHBhcmFtcy5zaG91bGRSZXZlYWxPblNlbGVjdGlvbiA/PyB0cnVlO1xuXG4gIGNsYXNzIElubGluZVRva2VuV2lkZ2V0c1BsdWdpblZhbHVlIGltcGxlbWVudHMgUGx1Z2luVmFsdWUge1xuICAgIHB1YmxpYyBkZWNvcmF0aW9uczogRGVjb3JhdGlvblNldDtcbiAgICBwcml2YXRlIGNvbmZpZ1ZlcnNpb24gPSAwO1xuXG4gICAgLyoqXG4gICAgICogQnVpbGRzIHRoZSBkZWNvcmF0aW9ucyBvZiBhIG5ldyBlZGl0b3IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmlldyAtIFRoZSBlZGl0b3Igdmlldy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodmlldzogRWRpdG9yVmlldykge1xuICAgICAgdGhpcy5kZWNvcmF0aW9ucyA9IHRoaXMuYnVpbGREZWNvcmF0aW9ucyh2aWV3KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWJ1aWxkcyB0aGUgZGVjb3JhdGlvbnMgd2hlbiB3aGF0IHRoZXkgZGVwZW5kIG9uIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXBkYXRlIC0gVGhlIHZpZXcgdXBkYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGUodXBkYXRlOiBWaWV3VXBkYXRlKTogdm9pZCB7XG4gICAgICBjb25zdCBpc1JlY29uZmlndXJlZCA9IHVwZGF0ZS50cmFuc2FjdGlvbnMuc29tZSgodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLnJlY29uZmlndXJlZCk7XG4gICAgICBpZiAoaXNSZWNvbmZpZ3VyZWQpIHtcbiAgICAgICAgdGhpcy5jb25maWdWZXJzaW9uKys7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHVwZGF0ZS5kb2NDaGFuZ2VkXG4gICAgICAgIHx8IHVwZGF0ZS52aWV3cG9ydENoYW5nZWRcbiAgICAgICAgfHwgdXBkYXRlLnNlbGVjdGlvblNldFxuICAgICAgICB8fCBpc1JlY29uZmlndXJlZFxuICAgICAgICB8fCBpc0xpdmVQcmV2aWV3KHVwZGF0ZS5zdGFydFN0YXRlKSAhPT0gaXNMaXZlUHJldmlldyh1cGRhdGUuc3RhdGUpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0aW9ucyA9IHRoaXMuYnVpbGREZWNvcmF0aW9ucyh1cGRhdGUudmlldyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZERlY29yYXRpb25zKHZpZXc6IEVkaXRvclZpZXcpOiBEZWNvcmF0aW9uU2V0IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gdmlldy5zdGF0ZTtcbiAgICAgIGlmICghaXNMaXZlUHJldmlldyhzdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIERlY29yYXRpb24ubm9uZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlUGF0aCA9IHN0YXRlLmZpZWxkKGVkaXRvckluZm9TdGF0ZUZpZWxkLCBmYWxzZSk/LmZpbGU/LnBhdGggPz8gJyc7XG4gICAgICBjb25zdCByYW5nZXM6IFJhbmdlPERlY29yYXRpb24+W10gPSBbXTtcbiAgICAgIGxldCBsYXN0TGluZU51bWJlciA9IDA7XG5cbiAgICAgIGZvciAoY29uc3QgdmlzaWJsZVJhbmdlIG9mIHZpZXcudmlzaWJsZVJhbmdlcykge1xuICAgICAgICBjb25zdCBmaXJzdExpbmVOdW1iZXIgPSBNYXRoLm1heChzdGF0ZS5kb2MubGluZUF0KHZpc2libGVSYW5nZS5mcm9tKS5udW1iZXIsIGxhc3RMaW5lTnVtYmVyICsgMSk7XG4gICAgICAgIGNvbnN0IGVuZExpbmVOdW1iZXIgPSBzdGF0ZS5kb2MubGluZUF0KHZpc2libGVSYW5nZS50bykubnVtYmVyO1xuICAgICAgICBmb3IgKGxldCBsaW5lTnVtYmVyID0gZmlyc3RMaW5lTnVtYmVyOyBsaW5lTnVtYmVyIDw9IGVuZExpbmVOdW1iZXI7IGxpbmVOdW1iZXIrKykge1xuICAgICAgICAgIGNvbnN0IGxpbmUgPSBzdGF0ZS5kb2MubGluZShsaW5lTnVtYmVyKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGV4ZWNBbGwocmVnRXhwLCBsaW5lLnRleHQpKSB7XG4gICAgICAgICAgICBjb25zdCBmcm9tID0gbGluZS5mcm9tICsgbWF0Y2guaW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IGZyb20gKyBtYXRjaFswXS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoc2hvdWxkUmV2ZWFsT25TZWxlY3Rpb24gJiYgc3RhdGUuc2VsZWN0aW9uLnJhbmdlcy5zb21lKChyYW5nZSkgPT4gcmFuZ2UuZnJvbSA8PSB0byAmJiByYW5nZS50byA+PSBmcm9tKSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJhbXMuc2hvdWxkRGVjb3JhdGUgJiYgIXBhcmFtcy5zaG91bGREZWNvcmF0ZSh7IGZyb20sIG1hdGNoLCBzdGF0ZSwgdG8gfSkpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByYW5nZXMucHVzaChcbiAgICAgICAgICAgICAgRGVjb3JhdGlvbi5yZXBsYWNlKHtcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IG5ldyBJbmxpbmVUb2tlbldpZGdldCh7IGNvbmZpZ1ZlcnNpb246IHRoaXMuY29uZmlnVmVyc2lvbiwgbWF0Y2gsIHJlbmRlcjogcGFyYW1zLnJlbmRlciwgc291cmNlUGF0aCwgc3RhdGUgfSlcbiAgICAgICAgICAgICAgfSkucmFuZ2UoZnJvbSwgdG8pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYXN0TGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBEZWNvcmF0aW9uLnNldChyYW5nZXMpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBWaWV3UGx1Z2luLmZyb21DbGFzcyhJbmxpbmVUb2tlbldpZGdldHNQbHVnaW5WYWx1ZSwge1xuICAgIGRlY29yYXRpb25zOiAodmFsdWUpID0+IHZhbHVlLmRlY29yYXRpb25zXG4gIH0pO1xufVxuXG4vKipcbiAqIExpc3RzIGV2ZXJ5IG5vbi1lbXB0eSBtYXRjaCBvZiBhIGdsb2JhbCByZWd1bGFyIGV4cHJlc3Npb24gaW4gYSB0ZXh0LlxuICpcbiAqIEBwYXJhbSByZWdFeHAgLSBUaGUgZ2xvYmFsIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBwYXJhbSB0ZXh0IC0gVGhlIHRleHQgdG8gbWF0Y2guXG4gKiBAcmV0dXJucyBUaGUgbWF0Y2hlcywgaW4gb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjQWxsKHJlZ0V4cDogUmVnRXhwLCB0ZXh0OiBzdHJpbmcpOiBSZWdFeHBFeGVjQXJyYXlbXSB7XG4gIGNvbnN0IG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gIHJlZ0V4cC5sYXN0SW5kZXggPSAwO1xuICBmb3IgKGxldCBtYXRjaCA9IHJlZ0V4cC5leGVjKHRleHQpOyBtYXRjaCAhPT0gbnVsbDsgbWF0Y2ggPSByZWdFeHAuZXhlYyh0ZXh0KSkge1xuICAgIGlmIChtYXRjaFswXSA9PT0gJycpIHtcbiAgICAgIHJlZ0V4cC5sYXN0SW5kZXgrKztcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBtYXRjaGVzLnB1c2gobWF0Y2gpO1xuICB9XG4gIHJldHVybiBtYXRjaGVzO1xufVxuXG4vKipcbiAqIENvcGllcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIHRoZSBgZ2AgZmxhZyBzZXQsIHNvIG1hdGNoaW5nIG5ldmVyIG1vdmVzIHRoZSBjYWxsZXIncyBgbGFzdEluZGV4YC5cbiAqXG4gKiBAcGFyYW0gcmVnRXhwIC0gVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEByZXR1cm5zIEEgZ2xvYmFsIGNvcHkgb2YgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvR2xvYmFsUmVnRXhwKHJlZ0V4cDogUmVnRXhwKTogUmVnRXhwIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAocmVnRXhwLnNvdXJjZSwgcmVnRXhwLmdsb2JhbCA/IHJlZ0V4cC5mbGFncyA6IGAke3JlZ0V4cC5mbGFnc31nYCk7XG59XG5cbmZ1bmN0aW9uIGFyZU1hdGNoZXNFcXVhbChhOiBSZWdFeHBFeGVjQXJyYXksIGI6IFJlZ0V4cEV4ZWNBcnJheSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09IGJbaW5kZXhdKTtcbn1cblxuZnVuY3Rpb24gaXNMaXZlUHJldmlldyhzdGF0ZTogRWRpdG9yU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmZpZWxkKGVkaXRvckxpdmVQcmV2aWV3U3RhdGVGaWVsZCwgZmFsc2UpID8/IHRydWU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNEJBLGtCQUlPO0FBQ1AsMEJBQXVCO0FBQ3ZCLHNCQUdPO0FBRVAsdUJBQXlCO0FBSXpCLE1BQU0sMkJBQXVCLDRCQUFxQywrQkFBZTtBQUNqRixNQUFNLGtDQUE4Qiw0QkFBNEIs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
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlbWlycm9yL2lubGluZS10b2tlbi13aWRnZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDcmVhdGVzIGFuIGVkaXRvciBleHRlbnNpb24gdGhhdCByZXBsYWNlcyBldmVyeSBtYXRjaCBvZiBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIGEgd2lkZ2V0IGluIExpdmUgUHJldmlldywgYW5kXG4gKiBzaG93cyB0aGUgc291cmNlIGFnYWluIHdoaWxlIGEgc2VsZWN0aW9uIHRvdWNoZXMgaXQsIHRoZSB3YXkgT2JzaWRpYW4gdHJlYXRzIGl0cyBvd24gbGlua3MgYW5kIGZvcm1hdHRpbmcuXG4gKlxuICogT25seSB0aGUgdmlzaWJsZSByYW5nZXMgYXJlIG1hdGNoZWQsIGxpbmUgYnkgbGluZSwgc28gYSB0b2tlbiBuZXZlciBzcGFucyB0d28gbGluZXMuIFRoZSBkZWNvcmF0aW9ucyBhcmUgcmVidWlsdFxuICogd2hlbiB0aGUgZG9jdW1lbnQsIHRoZSB2aWV3cG9ydCwgdGhlIHNlbGVjdGlvbiwgdGhlIExpdmUgUHJldmlldyBtb2RlIG9yIHRoZSBjb25maWd1cmF0aW9uIGNoYW5nZXM7IGFcbiAqIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIHdoYXQgYSBgU2V0dGluZ3NGYWNldENvbXBvbmVudGAgZGlzcGF0Y2hlcywgc28gYSByZW5kZXIgdGhhdCByZWFkcyBhIHNldHRpbmdzIGZhY2V0XG4gKiByZS1ydW5zIHdoZW4gdGhlIHNldHRpbmdzIGRvLlxuICpcbiAqIE91dHNpZGUgYW4gT2JzaWRpYW4gTWFya2Rvd24gZWRpdG9yIHRoZXJlIGlzIG5vIGBlZGl0b3JMaXZlUHJldmlld0ZpZWxkYCwgYW5kIHRoZSB3aWRnZXRzIGFyZSBzaG93bi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEVkaXRvclN0YXRlLFxuICBFeHRlbnNpb24sXG4gIFJhbmdlLFxuICBTdGF0ZUZpZWxkXG59IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcbmltcG9ydCB0eXBlIHtcbiAgRGVjb3JhdGlvblNldCxcbiAgRWRpdG9yVmlldyxcbiAgUGx1Z2luVmFsdWUsXG4gIFZpZXdVcGRhdGVcbn0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duRmlsZUluZm8gfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIERlY29yYXRpb24sXG4gIFZpZXdQbHVnaW4sXG4gIFdpZGdldFR5cGVcbn0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGVkaXRvckluZm9GaWVsZCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgaXNMaXZlUHJldmlldyB9IGZyb20gJy4vZWRpdG9yLW1vZGUtZXh0ZW5zaW9uLnRzJztcblxuLy8gT2JzaWRpYW4uZC50cyByZWFjaGVzIEBjb2RlbWlycm9yL3N0YXRlIHRocm91Z2ggaXRzIENvbW1vbkpTIGRlY2xhcmF0aW9ucyBhbmQgdGhpcyBtb2R1bGUgdGhyb3VnaCB0aGUgRVMgb25lcywgYW5kXG4vLyBTdGF0ZUZpZWxkIGhhcyBwcml2YXRlIG1lbWJlcnMsIHNvIHRoZSB0d28gZGVjbGFyYXRpb25zIG9mIG9uZSBydW50aW1lIGNsYXNzIGRvIG5vdCB0eXBlLWNoZWNrIGFnYWluc3QgZWFjaCBvdGhlci5cbmNvbnN0IGVkaXRvckluZm9TdGF0ZUZpZWxkID0gY2FzdFRvPFN0YXRlRmllbGQ8TWFya2Rvd25GaWxlSW5mbz4+KGVkaXRvckluZm9GaWVsZCk7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSW5saW5lVG9rZW5XaWRnZXRzRXh0ZW5zaW9uUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSByZWd1bGFyIGV4cHJlc3Npb24gYSB0b2tlbiBtYXRjaGVzLiBUaGUgYGdgIGZsYWcgaXMgYWRkZWQgd2hlbiBtaXNzaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnRXhwOiBSZWdFeHA7XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgYSB0b2tlbiBpbnRvIHRoZSB3aWRnZXQncyBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVuZGVyOiBJbmxpbmVUb2tlblJlbmRlckZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWNpZGVzIHdoZXRoZXIgYSBtYXRjaCBiZWNvbWVzIGEgd2lkZ2V0LCBzdWNoIGFzIHRvIHNraXAgYSBtYXRjaCBpbnNpZGUgY29kZS4gRXZlcnkgbWF0Y2ggZG9lcyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRGVjb3JhdGU/OiAocGFyYW1zOiBJbmxpbmVUb2tlblNob3VsZERlY29yYXRlUGFyYW1zKSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdG9rZW4gc2hvd3MgaXRzIHNvdXJjZSB3aGlsZSBhIHNlbGVjdGlvbiwgdGhlIGN1cnNvciBpbmNsdWRlZCwgdG91Y2hlcyBpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXZlYWxPblNlbGVjdGlvbj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBpbmxpbmUgdG9rZW4gaW50byBpdHMgY29udGFpbmVyIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSByZW5kZXIgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgSW5saW5lVG9rZW5SZW5kZXJGdW5jdGlvbiA9IChwYXJhbXM6IElubGluZVRva2VuUmVuZGVyUGFyYW1zKSA9PiB2b2lkO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgaGFuZGVkIHRvIGFuIGlubGluZSB0b2tlbiByZW5kZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lVG9rZW5SZW5kZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdG8gcmVuZGVyIHRoZSB0b2tlbiBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF0Y2ggb2YgdGhlIHRva2VuJ3MgcmVndWxhciBleHByZXNzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheTtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIG5vdGUgdGhlIHRva2VuIGlzIGluLCBvciBhbiBlbXB0eSBzdHJpbmcgd2hlbiBpdCBpcyBub3Qga25vd24uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlZGl0b3Igc3RhdGUsIHdoZW4gdGhlIHRva2VuIHJlbmRlcnMgaW4gYW4gZWRpdG9yLiBBYnNlbnQgaW4gUmVhZGluZyB2aWV3LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU/OiBFZGl0b3JTdGF0ZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGhhbmRlZCB0byB7QGxpbmsgQ3JlYXRlSW5saW5lVG9rZW5XaWRnZXRzRXh0ZW5zaW9uUGFyYW1zLnNob3VsZERlY29yYXRlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVUb2tlblNob3VsZERlY29yYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudCBwb3NpdGlvbiB0aGUgbWF0Y2ggc3RhcnRzIGF0LlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF0Y2ggb2YgdGhlIHRva2VuJ3MgcmVndWxhciBleHByZXNzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheTtcblxuICAvKipcbiAgICogVGhlIGVkaXRvciBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiBFZGl0b3JTdGF0ZTtcblxuICAvKipcbiAgICogVGhlIGRvY3VtZW50IHBvc2l0aW9uIHRoZSBtYXRjaCBlbmRzIGF0LlxuICAgKi9cbiAgcmVhZG9ubHkgdG86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElubGluZVRva2VuV2lkZ2V0UGFyYW1zIHtcbiAgcmVhZG9ubHkgY29uZmlnVmVyc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICByZWFkb25seSByZW5kZXI6IElubGluZVRva2VuUmVuZGVyRnVuY3Rpb247XG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhdGU6IEVkaXRvclN0YXRlO1xufVxuXG5jbGFzcyBJbmxpbmVUb2tlbldpZGdldCBleHRlbmRzIFdpZGdldFR5cGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1ZlcnNpb246IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcjogSW5saW5lVG9rZW5SZW5kZXJGdW5jdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGU6IEVkaXRvclN0YXRlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IElubGluZVRva2VuV2lkZ2V0UGFyYW1zKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZ1ZlcnNpb24gPSBwYXJhbXMuY29uZmlnVmVyc2lvbjtcbiAgICB0aGlzLm1hdGNoID0gcGFyYW1zLm1hdGNoO1xuICAgIHRoaXMucmVuZGVyID0gcGFyYW1zLnJlbmRlcjtcbiAgICB0aGlzLnNvdXJjZVBhdGggPSBwYXJhbXMuc291cmNlUGF0aDtcbiAgICB0aGlzLnN0YXRlID0gcGFyYW1zLnN0YXRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGVxKG90aGVyOiBXaWRnZXRUeXBlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG90aGVyIGluc3RhbmNlb2YgSW5saW5lVG9rZW5XaWRnZXRcbiAgICAgICYmIG90aGVyLmNvbmZpZ1ZlcnNpb24gPT09IHRoaXMuY29uZmlnVmVyc2lvblxuICAgICAgJiYgb3RoZXIucmVuZGVyID09PSB0aGlzLnJlbmRlclxuICAgICAgJiYgb3RoZXIuc291cmNlUGF0aCA9PT0gdGhpcy5zb3VyY2VQYXRoXG4gICAgICAmJiBhcmVNYXRjaGVzRXF1YWwob3RoZXIubWF0Y2gsIHRoaXMubWF0Y2gpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvRE9NKHZpZXc6IEVkaXRvclZpZXcpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgY29udGFpbmVyRWwgPSB2aWV3LmRvbS5vd25lckRvY3VtZW50Lndpbi5jcmVhdGVTcGFuKCk7XG4gICAgY29udGFpbmVyRWwuY2xhc3NMaXN0LmFkZChDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgQ3NzQ2xhc3MuSW5saW5lVG9rZW4pO1xuICAgIHRoaXMucmVuZGVyKHtcbiAgICAgIGNvbnRhaW5lckVsLFxuICAgICAgbWF0Y2g6IHRoaXMubWF0Y2gsXG4gICAgICBzb3VyY2VQYXRoOiB0aGlzLnNvdXJjZVBhdGgsXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZVxuICAgIH0pO1xuICAgIHJldHVybiBjb250YWluZXJFbDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZWRpdG9yIGV4dGVuc2lvbiB0aGF0IHJlcGxhY2VzIGV2ZXJ5IG1hdGNoIG9mIGEgcmVndWxhciBleHByZXNzaW9uIHdpdGggYSB3aWRnZXQgaW4gTGl2ZSBQcmV2aWV3LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZXh0ZW5zaW9uIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBUaGUgZWRpdG9yIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvbihwYXJhbXM6IENyZWF0ZUlubGluZVRva2VuV2lkZ2V0c0V4dGVuc2lvblBhcmFtcyk6IEV4dGVuc2lvbiB7XG4gIGNvbnN0IHJlZ0V4cCA9IHRvR2xvYmFsUmVnRXhwKHBhcmFtcy5yZWdFeHApO1xuICBjb25zdCBzaG91bGRSZXZlYWxPblNlbGVjdGlvbiA9IHBhcmFtcy5zaG91bGRSZXZlYWxPblNlbGVjdGlvbiA/PyB0cnVlO1xuXG4gIGNsYXNzIElubGluZVRva2VuV2lkZ2V0c1BsdWdpblZhbHVlIGltcGxlbWVudHMgUGx1Z2luVmFsdWUge1xuICAgIHB1YmxpYyBkZWNvcmF0aW9uczogRGVjb3JhdGlvblNldDtcbiAgICBwcml2YXRlIGNvbmZpZ1ZlcnNpb24gPSAwO1xuXG4gICAgLyoqXG4gICAgICogQnVpbGRzIHRoZSBkZWNvcmF0aW9ucyBvZiBhIG5ldyBlZGl0b3IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmlldyAtIFRoZSBlZGl0b3Igdmlldy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodmlldzogRWRpdG9yVmlldykge1xuICAgICAgdGhpcy5kZWNvcmF0aW9ucyA9IHRoaXMuYnVpbGREZWNvcmF0aW9ucyh2aWV3KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWJ1aWxkcyB0aGUgZGVjb3JhdGlvbnMgd2hlbiB3aGF0IHRoZXkgZGVwZW5kIG9uIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXBkYXRlIC0gVGhlIHZpZXcgdXBkYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGUodXBkYXRlOiBWaWV3VXBkYXRlKTogdm9pZCB7XG4gICAgICBjb25zdCBpc1JlY29uZmlndXJlZCA9IHVwZGF0ZS50cmFuc2FjdGlvbnMuc29tZSgodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLnJlY29uZmlndXJlZCk7XG4gICAgICBpZiAoaXNSZWNvbmZpZ3VyZWQpIHtcbiAgICAgICAgdGhpcy5jb25maWdWZXJzaW9uKys7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHVwZGF0ZS5kb2NDaGFuZ2VkXG4gICAgICAgIHx8IHVwZGF0ZS52aWV3cG9ydENoYW5nZWRcbiAgICAgICAgfHwgdXBkYXRlLnNlbGVjdGlvblNldFxuICAgICAgICB8fCBpc1JlY29uZmlndXJlZFxuICAgICAgICB8fCBpc0xpdmVQcmV2aWV3KHVwZGF0ZS5zdGFydFN0YXRlKSAhPT0gaXNMaXZlUHJldmlldyh1cGRhdGUuc3RhdGUpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0aW9ucyA9IHRoaXMuYnVpbGREZWNvcmF0aW9ucyh1cGRhdGUudmlldyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZERlY29yYXRpb25zKHZpZXc6IEVkaXRvclZpZXcpOiBEZWNvcmF0aW9uU2V0IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gdmlldy5zdGF0ZTtcbiAgICAgIGlmICghaXNMaXZlUHJldmlldyhzdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIERlY29yYXRpb24ubm9uZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlUGF0aCA9IHN0YXRlLmZpZWxkKGVkaXRvckluZm9TdGF0ZUZpZWxkLCBmYWxzZSk/LmZpbGU/LnBhdGggPz8gJyc7XG4gICAgICBjb25zdCByYW5nZXM6IFJhbmdlPERlY29yYXRpb24+W10gPSBbXTtcbiAgICAgIGxldCBsYXN0TGluZU51bWJlciA9IDA7XG5cbiAgICAgIGZvciAoY29uc3QgdmlzaWJsZVJhbmdlIG9mIHZpZXcudmlzaWJsZVJhbmdlcykge1xuICAgICAgICBjb25zdCBmaXJzdExpbmVOdW1iZXIgPSBNYXRoLm1heChzdGF0ZS5kb2MubGluZUF0KHZpc2libGVSYW5nZS5mcm9tKS5udW1iZXIsIGxhc3RMaW5lTnVtYmVyICsgMSk7XG4gICAgICAgIGNvbnN0IGVuZExpbmVOdW1iZXIgPSBzdGF0ZS5kb2MubGluZUF0KHZpc2libGVSYW5nZS50bykubnVtYmVyO1xuICAgICAgICBmb3IgKGxldCBsaW5lTnVtYmVyID0gZmlyc3RMaW5lTnVtYmVyOyBsaW5lTnVtYmVyIDw9IGVuZExpbmVOdW1iZXI7IGxpbmVOdW1iZXIrKykge1xuICAgICAgICAgIGNvbnN0IGxpbmUgPSBzdGF0ZS5kb2MubGluZShsaW5lTnVtYmVyKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGV4ZWNBbGwocmVnRXhwLCBsaW5lLnRleHQpKSB7XG4gICAgICAgICAgICBjb25zdCBmcm9tID0gbGluZS5mcm9tICsgbWF0Y2guaW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IGZyb20gKyBtYXRjaFswXS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoc2hvdWxkUmV2ZWFsT25TZWxlY3Rpb24gJiYgc3RhdGUuc2VsZWN0aW9uLnJhbmdlcy5zb21lKChyYW5nZSkgPT4gcmFuZ2UuZnJvbSA8PSB0byAmJiByYW5nZS50byA+PSBmcm9tKSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJhbXMuc2hvdWxkRGVjb3JhdGUgJiYgIXBhcmFtcy5zaG91bGREZWNvcmF0ZSh7IGZyb20sIG1hdGNoLCBzdGF0ZSwgdG8gfSkpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByYW5nZXMucHVzaChcbiAgICAgICAgICAgICAgRGVjb3JhdGlvbi5yZXBsYWNlKHtcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IG5ldyBJbmxpbmVUb2tlbldpZGdldCh7IGNvbmZpZ1ZlcnNpb246IHRoaXMuY29uZmlnVmVyc2lvbiwgbWF0Y2gsIHJlbmRlcjogcGFyYW1zLnJlbmRlciwgc291cmNlUGF0aCwgc3RhdGUgfSlcbiAgICAgICAgICAgICAgfSkucmFuZ2UoZnJvbSwgdG8pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYXN0TGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBEZWNvcmF0aW9uLnNldChyYW5nZXMpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBWaWV3UGx1Z2luLmZyb21DbGFzcyhJbmxpbmVUb2tlbldpZGdldHNQbHVnaW5WYWx1ZSwge1xuICAgIGRlY29yYXRpb25zOiAodmFsdWUpID0+IHZhbHVlLmRlY29yYXRpb25zXG4gIH0pO1xufVxuXG4vKipcbiAqIExpc3RzIGV2ZXJ5IG5vbi1lbXB0eSBtYXRjaCBvZiBhIGdsb2JhbCByZWd1bGFyIGV4cHJlc3Npb24gaW4gYSB0ZXh0LlxuICpcbiAqIEBwYXJhbSByZWdFeHAgLSBUaGUgZ2xvYmFsIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBwYXJhbSB0ZXh0IC0gVGhlIHRleHQgdG8gbWF0Y2guXG4gKiBAcmV0dXJucyBUaGUgbWF0Y2hlcywgaW4gb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjQWxsKHJlZ0V4cDogUmVnRXhwLCB0ZXh0OiBzdHJpbmcpOiBSZWdFeHBFeGVjQXJyYXlbXSB7XG4gIGNvbnN0IG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gIHJlZ0V4cC5sYXN0SW5kZXggPSAwO1xuICBmb3IgKGxldCBtYXRjaCA9IHJlZ0V4cC5leGVjKHRleHQpOyBtYXRjaCAhPT0gbnVsbDsgbWF0Y2ggPSByZWdFeHAuZXhlYyh0ZXh0KSkge1xuICAgIGlmIChtYXRjaFswXSA9PT0gJycpIHtcbiAgICAgIHJlZ0V4cC5sYXN0SW5kZXgrKztcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBtYXRjaGVzLnB1c2gobWF0Y2gpO1xuICB9XG4gIHJldHVybiBtYXRjaGVzO1xufVxuXG4vKipcbiAqIENvcGllcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIHRoZSBgZ2AgZmxhZyBzZXQsIHNvIG1hdGNoaW5nIG5ldmVyIG1vdmVzIHRoZSBjYWxsZXIncyBgbGFzdEluZGV4YC5cbiAqXG4gKiBAcGFyYW0gcmVnRXhwIC0gVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEByZXR1cm5zIEEgZ2xvYmFsIGNvcHkgb2YgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvR2xvYmFsUmVnRXhwKHJlZ0V4cDogUmVnRXhwKTogUmVnRXhwIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAocmVnRXhwLnNvdXJjZSwgcmVnRXhwLmdsb2JhbCA/IHJlZ0V4cC5mbGFncyA6IGAke3JlZ0V4cC5mbGFnc31nYCk7XG59XG5cbmZ1bmN0aW9uIGFyZU1hdGNoZXNFcXVhbChhOiBSZWdFeHBFeGVjQXJyYXksIGI6IFJlZ0V4cEV4ZWNBcnJheSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09IGJbaW5kZXhdKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0QkEsa0JBSU87QUFDUCwwQkFBdUI7QUFDdkIsc0JBQWdDO0FBRWhDLHVCQUF5QjtBQUN6QixtQ0FBOEI7QUFJOUIsTUFBTSwyQkFBdUIsNEJBQXFDLCtCQUFlO0FBOEZqRixNQUFNLDBCQUEwQix1QkFBVztBQUFBLEVBQ3hCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBRVYsWUFBWSxRQUFpQztBQUNsRCxVQUFNO0FBQ04sU0FBSyxnQkFBZ0IsT0FBTztBQUM1QixTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLFNBQVMsT0FBTztBQUNyQixTQUFLLGFBQWEsT0FBTztBQUN6QixTQUFLLFFBQVEsT0FBTztBQUFBLEVBQ3RCO0FBQUEsRUFFZ0IsR0FBRyxPQUE0QjtBQUM3QyxXQUFPLGlCQUFpQixxQkFDbkIsTUFBTSxrQkFBa0IsS0FBSyxpQkFDN0IsTUFBTSxXQUFXLEtBQUssVUFDdEIsTUFBTSxlQUFlLEtBQUssY0FDMUIsZ0JBQWdCLE1BQU0sT0FBTyxLQUFLLEtBQUs7QUFBQSxFQUM5QztBQUFBLEVBRWdCLE1BQU0sTUFBK0I7QUFDbkQsVUFBTSxjQUFjLEtBQUssSUFBSSxjQUFjLElBQUksV0FBVztBQUMxRCxnQkFBWSxVQUFVLElBQUksMEJBQVMsYUFBYSwwQkFBUyxXQUFXO0FBQ3BFLFNBQUssT0FBTztBQUFBLE1BQ1Y7QUFBQSxNQUNBLE9BQU8sS0FBSztBQUFBLE1BQ1osWUFBWSxLQUFLO0FBQUEsTUFDakIsT0FBTyxLQUFLO0FBQUEsSUFDZCxDQUFDO0FBQ0QsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQVFPLFNBQVMsa0NBQWtDLFFBQTREO0FBQzVHLFFBQU0sU0FBUyxlQUFlLE9BQU8sTUFBTTtBQUMzQyxRQUFNLDBCQUEwQixPQUFPLDJCQUEyQjtBQUFBLEVBRWxFLE1BQU0sOEJBQXFEO0FBQUEsSUFDbEQ7QUFBQSxJQUNDLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9qQixZQUFZLE1BQWtCO0FBQ25DLFdBQUssY0FBYyxLQUFLLGlCQUFpQixJQUFJO0FBQUEsSUFDL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPTyxPQUFPLFFBQTBCO0FBQ3RDLFlBQU0saUJBQWlCLE9BQU8sYUFBYSxLQUFLLENBQUMsZ0JBQWdCLFlBQVksWUFBWTtBQUN6RixVQUFJLGdCQUFnQjtBQUNsQixhQUFLO0FBQUEsTUFDUDtBQUNBLFVBQ0UsT0FBTyxjQUNKLE9BQU8sbUJBQ1AsT0FBTyxnQkFDUCxzQkFDQSw0Q0FBYyxPQUFPLFVBQVUsVUFBTSw0Q0FBYyxPQUFPLEtBQUssR0FDbEU7QUFDQSxhQUFLLGNBQWMsS0FBSyxpQkFBaUIsT0FBTyxJQUFJO0FBQUEsTUFDdEQ7QUFBQSxJQUNGO0FBQUEsSUFFUSxpQkFBaUIsTUFBaUM7QUFDeEQsWUFBTSxRQUFRLEtBQUs7QUFDbkIsVUFBSSxLQUFDLDRDQUFjLEtBQUssR0FBRztBQUN6QixlQUFPLHVCQUFXO0FBQUEsTUFDcEI7QUFFQSxZQUFNLGFBQWEsTUFBTSxNQUFNLHNCQUFzQixLQUFLLEdBQUcsTUFBTSxRQUFRO0FBQzNFLFlBQU0sU0FBOEIsQ0FBQztBQUNyQyxVQUFJLGlCQUFpQjtBQUVyQixpQkFBVyxnQkFBZ0IsS0FBSyxlQUFlO0FBQzdDLGNBQU0sa0JBQWtCLEtBQUssSUFBSSxNQUFNLElBQUksT0FBTyxhQUFhLElBQUksRUFBRSxRQUFRLGlCQUFpQixDQUFDO0FBQy9GLGNBQU0sZ0JBQWdCLE1BQU0sSUFBSSxPQUFPLGFBQWEsRUFBRSxFQUFFO0FBQ3hELGlCQUFTLGFBQWEsaUJBQWlCLGNBQWMsZUFBZSxjQUFjO0FBQ2hGLGdCQUFNLE9BQU8sTUFBTSxJQUFJLEtBQUssVUFBVTtBQUN0QyxxQkFBVyxTQUFTLFFBQVEsUUFBUSxLQUFLLElBQUksR0FBRztBQUM5QyxrQkFBTSxPQUFPLEtBQUssT0FBTyxNQUFNO0FBQy9CLGtCQUFNLEtBQUssT0FBTyxNQUFNLENBQUMsRUFBRTtBQUMzQixnQkFBSSwyQkFBMkIsTUFBTSxVQUFVLE9BQU8sS0FBSyxDQUFDLFVBQVUsTUFBTSxRQUFRLE1BQU0sTUFBTSxNQUFNLElBQUksR0FBRztBQUMzRztBQUFBLFlBQ0Y7QUFDQSxnQkFBSSxPQUFPLGtCQUFrQixDQUFDLE9BQU8sZUFBZSxFQUFFLE1BQU0sT0FBTyxPQUFPLEdBQUcsQ0FBQyxHQUFHO0FBQy9FO0FBQUEsWUFDRjtBQUNBLG1CQUFPO0FBQUEsY0FDTCx1QkFBVyxRQUFRO0FBQUEsZ0JBQ2pCLFFBQVEsSUFBSSxrQkFBa0IsRUFBRSxlQUFlLEtBQUssZUFBZSxPQUFPLFFBQVEsT0FBTyxRQUFRLFlBQVksTUFBTSxDQUFDO0FBQUEsY0FDdEgsQ0FBQyxFQUFFLE1BQU0sTUFBTSxFQUFFO0FBQUEsWUFDbkI7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUNBLHlCQUFpQjtBQUFBLE1BQ25CO0FBRUEsYUFBTyx1QkFBVyxJQUFJLE1BQU07QUFBQSxJQUM5QjtBQUFBLEVBQ0Y7QUFFQSxTQUFPLHVCQUFXLFVBQVUsK0JBQStCO0FBQUEsSUFDekQsYUFBYSxDQUFDLFVBQVUsTUFBTTtBQUFBLEVBQ2hDLENBQUM7QUFDSDtBQVNPLFNBQVMsUUFBUSxRQUFnQixNQUFpQztBQUN2RSxRQUFNLFVBQTZCLENBQUM7QUFDcEMsU0FBTyxZQUFZO0FBQ25CLFdBQVMsUUFBUSxPQUFPLEtBQUssSUFBSSxHQUFHLFVBQVUsTUFBTSxRQUFRLE9BQU8sS0FBSyxJQUFJLEdBQUc7QUFDN0UsUUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJO0FBQ25CLGFBQU87QUFDUDtBQUFBLElBQ0Y7QUFDQSxZQUFRLEtBQUssS0FBSztBQUFBLEVBQ3BCO0FBQ0EsU0FBTztBQUNUO0FBUU8sU0FBUyxlQUFlLFFBQXdCO0FBQ3JELFNBQU8sSUFBSSxPQUFPLE9BQU8sUUFBUSxPQUFPLFNBQVMsT0FBTyxRQUFRLEdBQUcsT0FBTyxLQUFLLEdBQUc7QUFDcEY7QUFFQSxTQUFTLGdCQUFnQixHQUFvQixHQUE2QjtBQUN4RSxTQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxVQUFVLFVBQVUsRUFBRSxLQUFLLENBQUM7QUFDOUU7IiwibmFtZXMiOltdfQ==
|
|
@@ -132,11 +132,11 @@ class UnlockActiveNoteCommandHandler extends import_global_command_handler.Globa
|
|
|
132
132
|
*/
|
|
133
133
|
canExecute() {
|
|
134
134
|
const activeFile = this.app.workspace.getActiveFile();
|
|
135
|
-
return activeFile
|
|
135
|
+
return !!activeFile && this.resourceLockComponent.isLockedByAncestorForPath(activeFile);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
// Annotate the CommonJS export names for ESM import in node:
|
|
139
139
|
0 && (module.exports = {
|
|
140
140
|
UnlockActiveNoteCommandHandler
|
|
141
141
|
});
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kLWhhbmRsZXJzL3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiVW5sb2NrIGFjdGl2ZSBub3RlXCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUxvY2tDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvdXJjZS1sb2NrLnRzJztcblxuaW1wb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlLWxvY2sgY29tcG9uZW50IHdob3NlIGxvY2sgY292ZXJpbmcgdGhlIGFjdGl2ZSBub3RlIHRoZSBjb21tYW5kIHJlbGVhc2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBSZXNvdXJjZUxvY2tDb21wb25lbnQ7XG59XG5cbi8qKlxuICogQSBjb21tYW5kIGhhbmRsZXIgdGhhdCB1bmxvY2tzIHRoZSBhY3RpdmUgbm90ZS4gSXQgY2FuY2VscyB0aGUgb3BlcmF0aW9uIHRoYXQgdG9vayB0aGUgbG9jayBhbmRcbiAqIHJlbGVhc2VzIHRoZSBsb2NrIGNvdmVyaW5nIHRoZSBub3RlIOKAlCB3aGV0aGVyIHRoZSBub3RlIGlzIGxvY2tlZCBkaXJlY3RseSBvciBieSBhIGBzdWJ0cmVlYC1sb2NrZWRcbiAqIGFuY2VzdG9yIGZvbGRlci4gT25seSBhdmFpbGFibGUgd2hpbGUgdGhlIGFjdGl2ZSBub3RlIGlzIGxvY2tlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciBleHRlbmRzIEdsb2JhbENvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZS1sb2NrIGNvbXBvbmVudCB3aG9zZSBsb2NrIGNvdmVyaW5nIHRoZSBhY3RpdmUgbm90ZSB0aGUgY29tbWFuZCByZWxlYXNlcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZUxvY2tDb21wb25lbnQ6IFJlc291cmNlTG9ja0NvbXBvbmVudDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKHtcbiAgICAgIGljb246ICd1bmxvY2snLFxuICAgICAgaWQ6ICd1bmxvY2stYWN0aXZlLW5vdGUnLFxuICAgICAgbmFtZTogJ1VubG9jayBhY3RpdmUgbm90ZSdcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLnJlc291cmNlTG9ja0NvbXBvbmVudCA9IHBhcmFtcy5yZXNvdXJjZUxvY2tDb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQsIHVubG9ja2luZyB0aGUgYWN0aXZlIG5vdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZXhlY3V0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICBpZiAoIWFjdGl2ZUZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNvdXJjZUxvY2tDb21wb25lbnQucmVxdWVzdFVubG9ja0ZvclBhdGgoYWN0aXZlRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGN1cnJlbnRseSBleGVjdXRlOiBvbmx5IHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIG5vdGUgY292ZXJlZCBieSBhXG4gICAqIGxvY2sgKGRpcmVjdGx5IG9yIGJ5IGEgYHN1YnRyZWVgLWxvY2tlZCBhbmNlc3RvciBmb2xkZXIpLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBhY3RpdmUgbm90ZSBpcyBsb2NrZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICByZXR1cm4gISFhY3RpdmVGaWxlICYmIHRoaXMucmVzb3VyY2VMb2NrQ29tcG9uZW50LmlzTG9ja2VkQnlBbmNlc3RvckZvclBhdGgoYWN0aXZlRmlsZSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLG9DQUFxQztBQXNCOUIsTUFBTSx1Q0FBdUMsbURBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJcEQ7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1osWUFBWSxRQUF5RDtBQUMxRSxVQUFNO0FBQUEsTUFDSixNQUFNO0FBQUEsTUFDTixJQUFJO0FBQUEsTUFDSixNQUFNO0FBQUEsSUFDUixDQUFDO0FBRUQsU0FBSyxNQUFNLE9BQU87QUFDbEIsU0FBSyx3QkFBd0IsT0FBTztBQUFBLEVBQ3RDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsVUFBZ0I7QUFDOUIsVUFBTSxhQUFhLEtBQUssSUFBSSxVQUFVLGNBQWM7QUFDcEQsUUFBSSxDQUFDLFlBQVk7QUFDZjtBQUFBLElBQ0Y7QUFDQSxTQUFLLHNCQUFzQixxQkFBcUIsVUFBVTtBQUFBLEVBQzVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbUIsYUFBc0I7QUFDdkMsVUFBTSxhQUFhLEtBQUssSUFBSSxVQUFVLGNBQWM7QUFDcEQsV0FBTyxDQUFDLENBQUMsY0FBYyxLQUFLLHNCQUFzQiwwQkFBMEIsVUFBVTtBQUFBLEVBQ3hGO0FBQ0Y7IiwibmFtZXMiOltdfQ==
|