@mnaoumov/obsidian-lib 0.0.0 → 1.0.1
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/@types/dataview/api/data-array/package.json +4 -0
- package/@types/dataview/api/extensions/package.json +4 -0
- package/@types/dataview/api/inline-api/package.json +4 -0
- package/@types/dataview/api/plugin-api/package.json +4 -0
- package/@types/dataview/api/result/package.json +4 -0
- package/@types/dataview/data-import/common/package.json +4 -0
- package/@types/dataview/data-import/csv/package.json +4 -0
- package/@types/dataview/data-import/inline-field/package.json +4 -0
- package/@types/dataview/data-import/markdown-file/package.json +4 -0
- package/@types/dataview/data-import/persister/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-entry/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-impl/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-manager/package.json +4 -0
- package/@types/dataview/data-index/index/package.json +4 -0
- package/@types/dataview/data-index/package.json +4 -0
- package/@types/dataview/data-index/resolver/package.json +4 -0
- package/@types/dataview/data-index/source/package.json +4 -0
- package/@types/dataview/data-model/markdown/package.json +4 -0
- package/@types/dataview/data-model/serialized/markdown/package.json +4 -0
- package/@types/dataview/data-model/transferable/package.json +4 -0
- package/@types/dataview/data-model/value/package.json +4 -0
- package/@types/dataview/expression/binaryop/package.json +4 -0
- package/@types/dataview/expression/context/package.json +4 -0
- package/@types/dataview/expression/field/package.json +4 -0
- package/@types/dataview/expression/functions/package.json +4 -0
- package/@types/dataview/expression/parse/package.json +4 -0
- package/@types/dataview/index/package.json +4 -0
- package/@types/dataview/main/package.json +4 -0
- package/@types/dataview/package.json +4 -0
- package/@types/dataview/query/engine/package.json +4 -0
- package/@types/dataview/query/parse/package.json +4 -0
- package/@types/dataview/query/query/package.json +4 -0
- package/@types/dataview/settings/package.json +4 -0
- package/@types/dataview/typings/obsidian-ex/package.json +4 -0
- package/@types/dataview/typings/workers/package.json +4 -0
- package/@types/dataview/ui/export/markdown/package.json +4 -0
- package/@types/dataview/ui/lp-render/package.json +4 -0
- package/@types/dataview/ui/markdown/package.json +4 -0
- package/@types/dataview/ui/refreshable-view/package.json +4 -0
- package/@types/dataview/ui/render/package.json +4 -0
- package/@types/dataview/ui/views/calendar-view/package.json +4 -0
- package/@types/dataview/ui/views/inline-field-live-preview/package.json +4 -0
- package/@types/dataview/ui/views/inline-view/package.json +4 -0
- package/@types/dataview/ui/views/js-view/package.json +4 -0
- package/@types/dataview/ui/views/list-view/package.json +4 -0
- package/@types/dataview/ui/views/table-view/package.json +4 -0
- package/@types/dataview/ui/views/task-view/package.json +4 -0
- package/@types/dataview/util/hash/package.json +4 -0
- package/@types/dataview/util/locale/package.json +4 -0
- package/@types/dataview/util/media/package.json +4 -0
- package/@types/dataview/util/normalize/package.json +4 -0
- package/@types/i18next/package.json +4 -0
- package/@types/obsidian-integration-testing/package.json +4 -0
- package/@types/original-fs/package.json +4 -0
- package/LICENSE +21 -0
- package/README.md +15 -1
- package/codemirror/index/package.json +6 -0
- package/codemirror/package.json +6 -0
- package/codemirror/state-field-spec/package.json +6 -0
- package/command-handlers/abstract-file-command-handler/package.json +6 -0
- package/command-handlers/command-handler/package.json +6 -0
- package/command-handlers/command-handler-component/package.json +6 -0
- package/command-handlers/editor-command-handler/package.json +6 -0
- package/command-handlers/file-command-handler/package.json +6 -0
- package/command-handlers/folder-command-handler/package.json +6 -0
- package/command-handlers/global-command-handler/package.json +6 -0
- package/command-handlers/index/package.json +6 -0
- package/command-handlers/open-demo-vault-command-handler/package.json +6 -0
- package/command-handlers/open-settings-command-handler/package.json +6 -0
- package/command-handlers/package.json +6 -0
- package/command-handlers/unlock-active-note-command-handler/package.json +6 -0
- package/components/abort-signal-component/package.json +6 -0
- package/components/all-windows-event-component/package.json +6 -0
- package/components/async-error-handler-component/package.json +6 -0
- package/components/async-events-component/package.json +6 -0
- package/components/case-insensitive-file-index-component/package.json +6 -0
- package/components/component-ex/package.json +6 -0
- package/components/console-debug-component/package.json +6 -0
- package/components/core-plugin-toggle-component/package.json +6 -0
- package/components/disposable-component/package.json +6 -0
- package/components/embed-extensions-component/package.json +6 -0
- package/components/generate-markdown-link-default-params-component/package.json +6 -0
- package/components/index/package.json +6 -0
- package/components/layout-ready-component/package.json +6 -0
- package/components/menu-event-registrar-component/package.json +6 -0
- package/components/monkey-around-component/package.json +6 -0
- package/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/components/package.json +6 -0
- package/components/plugin-context-component/package.json +6 -0
- package/components/plugin-gate-component/package.json +6 -0
- package/components/plugin-notice-component/package.json +6 -0
- package/components/plugin-settings-component/package.json +6 -0
- package/components/plugin-settings-tab-component/package.json +6 -0
- package/components/plugin-suggestion-component/package.json +6 -0
- package/components/pointer-position-component/package.json +6 -0
- package/components/registry-component/package.json +6 -0
- package/components/release-notes-component/package.json +6 -0
- package/components/rename-delete-handler-component/package.json +6 -0
- package/components/rmdir-guard-component/package.json +6 -0
- package/components/settings-migration-component/package.json +6 -0
- package/components/syntax-highlighting-component/package.json +6 -0
- package/components/templates-language-component/package.json +6 -0
- package/constructors/get-dom-events-handlers-constructor/package.json +6 -0
- package/constructors/index/package.json +6 -0
- package/constructors/package.json +6 -0
- package/dist/lib/cjs/@types/dataview/api/data-array.d.cts +137 -0
- package/dist/lib/cjs/@types/dataview/api/extensions.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/api/inline-api.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/api/plugin-api.d.cts +210 -0
- package/dist/lib/cjs/@types/dataview/api/result.d.cts +39 -0
- package/dist/lib/cjs/@types/dataview/data-import/common.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/csv.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/inline-field.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/data-import/markdown-file.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/data-import/persister.d.cts +33 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-entry.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-impl.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-manager.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/data-index/index.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/data-index/resolver.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/data-index/source.d.cts +72 -0
- package/dist/lib/cjs/@types/dataview/data-model/markdown.d.cts +116 -0
- package/dist/lib/cjs/@types/dataview/data-model/serialized/markdown.d.cts +107 -0
- package/dist/lib/cjs/@types/dataview/data-model/transferable.d.cts +8 -0
- package/dist/lib/cjs/@types/dataview/data-model/value.d.cts +176 -0
- package/dist/lib/cjs/@types/dataview/expression/binaryop.d.cts +44 -0
- package/dist/lib/cjs/@types/dataview/expression/context.d.cts +50 -0
- package/dist/lib/cjs/@types/dataview/expression/field.d.cts +83 -0
- package/dist/lib/cjs/@types/dataview/expression/functions.d.cts +150 -0
- package/dist/lib/cjs/@types/dataview/expression/parse.d.cts +164 -0
- package/dist/lib/cjs/@types/dataview/index.d.cts +56 -0
- package/dist/lib/cjs/@types/dataview/main.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/query/engine.d.cts +104 -0
- package/dist/lib/cjs/@types/dataview/query/parse.d.cts +45 -0
- package/dist/lib/cjs/@types/dataview/query/query.d.cts +96 -0
- package/dist/lib/cjs/@types/dataview/settings.d.cts +61 -0
- package/dist/lib/cjs/@types/dataview/typings/obsidian-ex.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/typings/workers.d.cts +5 -0
- package/dist/lib/cjs/@types/dataview/ui/export/markdown.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/ui/lp-render.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/ui/markdown.d.cts +87 -0
- package/dist/lib/cjs/@types/dataview/ui/refreshable-view.d.cts +19 -0
- package/dist/lib/cjs/@types/dataview/ui/render.d.cts +34 -0
- package/dist/lib/cjs/@types/dataview/ui/views/calendar-view.d.cts +18 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-field-live-preview.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/js-view.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/ui/views/list-view.d.cts +26 -0
- package/dist/lib/cjs/@types/dataview/ui/views/table-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/task-view.d.cts +52 -0
- package/dist/lib/cjs/@types/dataview/util/hash.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/util/locale.d.cts +3 -0
- package/dist/lib/cjs/@types/dataview/util/media.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/util/normalize.d.cts +45 -0
- package/dist/lib/cjs/@types/i18next.d.cts +14 -0
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +29 -0
- package/dist/lib/cjs/@types/original-fs.d.cts +15 -0
- package/dist/lib/cjs/__merged.cjs +1656 -0
- package/dist/lib/cjs/__merged.d.cts +205 -0
- package/dist/lib/cjs/active-file-provider.cjs +161 -0
- package/dist/lib/cjs/active-file-provider.d.cts +36 -0
- package/dist/lib/cjs/app.cjs +153 -0
- package/dist/lib/cjs/app.d.cts +17 -0
- package/dist/lib/cjs/async-with-notice.cjs +235 -0
- package/dist/lib/cjs/async-with-notice.d.cts +113 -0
- package/dist/lib/cjs/attachment-path.cjs +379 -0
- package/dist/lib/cjs/attachment-path.d.cts +341 -0
- package/dist/lib/cjs/attachment-unit-folder.cjs +168 -0
- package/dist/lib/cjs/attachment-unit-folder.d.cts +103 -0
- package/dist/lib/cjs/backlink-index.cjs +249 -0
- package/dist/lib/cjs/backlink-index.d.cts +51 -0
- package/dist/lib/cjs/backlink.cjs +217 -0
- package/dist/lib/cjs/backlink.d.cts +66 -0
- package/dist/lib/cjs/bases-view-registrar.cjs +162 -0
- package/dist/lib/cjs/bases-view-registrar.d.cts +52 -0
- package/dist/lib/cjs/callout.cjs +220 -0
- package/dist/lib/cjs/callout.d.cts +76 -0
- package/dist/lib/cjs/canvas.cjs +215 -0
- package/dist/lib/cjs/canvas.d.cts +28 -0
- package/dist/lib/cjs/case-insensitive-file-index.cjs +244 -0
- package/dist/lib/cjs/case-insensitive-file-index.d.cts +92 -0
- package/dist/lib/cjs/code-block-markdown-information.cjs +131 -0
- package/dist/lib/cjs/code-block-markdown-information.d.cts +48 -0
- package/dist/lib/cjs/code-block-reg-exp.cjs +145 -0
- package/dist/lib/cjs/code-block-reg-exp.d.cts +39 -0
- package/dist/lib/cjs/codemirror/index.cjs +153 -0
- package/dist/lib/cjs/codemirror/index.d.cts +2 -0
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +131 -0
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +72 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +416 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +274 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +278 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +146 -0
- package/dist/lib/cjs/command-handlers/command-handler.cjs +200 -0
- package/dist/lib/cjs/command-handlers/command-handler.d.cts +107 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +348 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +208 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +285 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +143 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +293 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +149 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +185 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +40 -0
- package/dist/lib/cjs/command-handlers/index.cjs +180 -0
- package/dist/lib/cjs/command-handlers/index.d.cts +11 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +209 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +73 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +174 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +44 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +187 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +54 -0
- package/dist/lib/cjs/command-registrar.cjs +169 -0
- package/dist/lib/cjs/command-registrar.d.cts +48 -0
- package/dist/lib/cjs/community-plugins.cjs +322 -0
- package/dist/lib/cjs/community-plugins.d.cts +270 -0
- package/dist/lib/cjs/components/abort-signal-component.cjs +172 -0
- package/dist/lib/cjs/components/abort-signal-component.d.cts +30 -0
- package/dist/lib/cjs/components/all-windows-event-component.cjs +214 -0
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +84 -0
- package/dist/lib/cjs/components/async-error-handler-component.cjs +176 -0
- package/dist/lib/cjs/components/async-error-handler-component.d.cts +30 -0
- package/dist/lib/cjs/components/async-events-component.cjs +148 -0
- package/dist/lib/cjs/components/async-events-component.d.cts +15 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +186 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +36 -0
- package/dist/lib/cjs/components/component-ex.cjs +504 -0
- package/dist/lib/cjs/components/component-ex.d.cts +229 -0
- package/dist/lib/cjs/components/console-debug-component.cjs +170 -0
- package/dist/lib/cjs/components/console-debug-component.d.cts +30 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +202 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +102 -0
- package/dist/lib/cjs/components/disposable-component.cjs +154 -0
- package/dist/lib/cjs/components/disposable-component.d.cts +24 -0
- package/dist/lib/cjs/components/embed-extensions-component.cjs +174 -0
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +38 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +170 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +42 -0
- package/dist/lib/cjs/components/index.cjs +237 -0
- package/dist/lib/cjs/components/index.d.cts +30 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +211 -0
- package/dist/lib/cjs/components/layout-ready-component.d.cts +48 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +196 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +52 -0
- package/dist/lib/cjs/components/monkey-around-component.cjs +245 -0
- package/dist/lib/cjs/components/monkey-around-component.d.cts +241 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +321 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +150 -0
- package/dist/lib/cjs/components/plugin-context-component.cjs +180 -0
- package/dist/lib/cjs/components/plugin-context-component.d.cts +36 -0
- package/dist/lib/cjs/components/plugin-gate-component.cjs +548 -0
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +332 -0
- package/dist/lib/cjs/components/plugin-notice-component.cjs +629 -0
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-component.cjs +644 -0
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +170 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +39 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +278 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +162 -0
- package/dist/lib/cjs/components/pointer-position-component.cjs +166 -0
- package/dist/lib/cjs/components/pointer-position-component.d.cts +29 -0
- package/dist/lib/cjs/components/registry-component.cjs +187 -0
- package/dist/lib/cjs/components/registry-component.d.cts +37 -0
- package/dist/lib/cjs/components/release-notes-component.cjs +225 -0
- package/dist/lib/cjs/components/release-notes-component.d.cts +129 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +1275 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +165 -0
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +190 -0
- package/dist/lib/cjs/components/rmdir-guard-component.d.cts +76 -0
- package/dist/lib/cjs/components/settings-migration-component.cjs +222 -0
- package/dist/lib/cjs/components/settings-migration-component.d.cts +120 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +248 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +149 -0
- package/dist/lib/cjs/components/templates-language-component.cjs +276 -0
- package/dist/lib/cjs/components/templates-language-component.d.cts +124 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +246 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +22 -0
- package/dist/lib/cjs/constructors/index.cjs +153 -0
- package/dist/lib/cjs/constructors/index.d.cts +2 -0
- package/dist/lib/cjs/css-class.cjs +208 -0
- package/dist/lib/cjs/css-class.d.cts +278 -0
- package/dist/lib/cjs/data-handler.cjs +170 -0
- package/dist/lib/cjs/data-handler.d.cts +49 -0
- package/dist/lib/cjs/dataview-link.cjs +160 -0
- package/dist/lib/cjs/dataview-link.d.cts +42 -0
- package/dist/lib/cjs/dataview.cjs +379 -0
- package/dist/lib/cjs/dataview.d.cts +249 -0
- package/dist/lib/cjs/debug.cjs +148 -0
- package/dist/lib/cjs/debug.d.cts +19 -0
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +131 -0
- package/dist/lib/cjs/demo-vault-helper-settings.d.cts +29 -0
- package/dist/lib/cjs/demo-vault-helper.cjs +232 -0
- package/dist/lib/cjs/demo-vault-helper.d.cts +61 -0
- package/dist/lib/cjs/demo-vault-naming.cjs +157 -0
- package/dist/lib/cjs/demo-vault-naming.d.cts +54 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +348 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +76 -0
- package/dist/lib/cjs/desktop-trusted-input.cjs +301 -0
- package/dist/lib/cjs/desktop-trusted-input.d.cts +288 -0
- package/dist/lib/cjs/editor-extension-registrar.cjs +162 -0
- package/dist/lib/cjs/editor-extension-registrar.d.cts +37 -0
- package/dist/lib/cjs/editor-suggest-registrar.cjs +162 -0
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +36 -0
- package/dist/lib/cjs/editor.cjs +200 -0
- package/dist/lib/cjs/editor.d.cts +45 -0
- package/dist/lib/cjs/events.cjs +172 -0
- package/dist/lib/cjs/events.d.cts +98 -0
- package/dist/lib/cjs/extensions-registrar.cjs +162 -0
- package/dist/lib/cjs/extensions-registrar.d.cts +51 -0
- package/dist/lib/cjs/file-change.cjs +558 -0
- package/dist/lib/cjs/file-change.d.cts +156 -0
- package/dist/lib/cjs/file-explorer.cjs +157 -0
- package/dist/lib/cjs/file-explorer.d.cts +34 -0
- package/dist/lib/cjs/file-manager.cjs +251 -0
- package/dist/lib/cjs/file-manager.d.cts +123 -0
- package/dist/lib/cjs/file-system.cjs +571 -0
- package/dist/lib/cjs/file-system.d.cts +554 -0
- package/dist/lib/cjs/folder-note.cjs +261 -0
- package/dist/lib/cjs/folder-note.d.cts +166 -0
- package/dist/lib/cjs/frontmatter-formatting.cjs +448 -0
- package/dist/lib/cjs/frontmatter-formatting.d.cts +44 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +159 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +34 -0
- package/dist/lib/cjs/frontmatter.cjs +271 -0
- package/dist/lib/cjs/frontmatter.d.cts +145 -0
- package/dist/lib/cjs/generated-during-build.cjs +146 -0
- package/dist/lib/cjs/generated-during-build.d.cts +25 -0
- package/dist/lib/cjs/hover-link-source-registrar.cjs +162 -0
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +52 -0
- package/dist/lib/cjs/html-element.cjs +183 -0
- package/dist/lib/cjs/html-element.d.cts +98 -0
- package/dist/lib/cjs/i18n/custom-type-options.cjs +132 -0
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +38 -0
- package/dist/lib/cjs/i18n/default-translations.cjs +132 -0
- package/dist/lib/cjs/i18n/default-translations.d.cts +15 -0
- package/dist/lib/cjs/i18n/i18n.cjs +192 -0
- package/dist/lib/cjs/i18n/i18n.d.cts +38 -0
- package/dist/lib/cjs/i18n/index.cjs +162 -0
- package/dist/lib/cjs/i18n/index.d.cts +5 -0
- package/dist/lib/cjs/i18n/locales/en.cjs +224 -0
- package/dist/lib/cjs/i18n/locales/en.d.cts +91 -0
- package/dist/lib/cjs/i18n/locales/index.cjs +156 -0
- package/dist/lib/cjs/i18n/locales/index.d.cts +3 -0
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +150 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +100 -0
- package/dist/lib/cjs/index.cjs +435 -0
- package/dist/lib/cjs/index.d.cts +96 -0
- package/dist/lib/cjs/is-in-obsidian.cjs +154 -0
- package/dist/lib/cjs/is-in-obsidian.d.cts +12 -0
- package/dist/lib/cjs/library-styles.cjs +173 -0
- package/dist/lib/cjs/library-styles.d.cts +56 -0
- package/dist/lib/cjs/library.cjs +181 -0
- package/dist/lib/cjs/library.d.cts +57 -0
- package/dist/lib/cjs/link-name.cjs +145 -0
- package/dist/lib/cjs/link-name.d.cts +23 -0
- package/dist/lib/cjs/link-update-progress.cjs +131 -0
- package/dist/lib/cjs/link-update-progress.d.cts +32 -0
- package/dist/lib/cjs/link.cjs +1053 -0
- package/dist/lib/cjs/link.d.cts +1369 -0
- package/dist/lib/cjs/logger.cjs +212 -0
- package/dist/lib/cjs/logger.d.cts +37 -0
- package/dist/lib/cjs/loop.cjs +243 -0
- package/dist/lib/cjs/loop.d.cts +104 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +166 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +62 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +444 -0
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +137 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +163 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +59 -0
- package/dist/lib/cjs/markdown-view.cjs +151 -0
- package/dist/lib/cjs/markdown-view.d.cts +14 -0
- package/dist/lib/cjs/markdown.cjs +470 -0
- package/dist/lib/cjs/markdown.d.cts +226 -0
- package/dist/lib/cjs/menu-event-registrar.cjs +131 -0
- package/dist/lib/cjs/menu-event-registrar.d.cts +84 -0
- package/dist/lib/cjs/metadata-cache.cjs +544 -0
- package/dist/lib/cjs/metadata-cache.d.cts +359 -0
- package/dist/lib/cjs/mobile-trusted-input.cjs +185 -0
- package/dist/lib/cjs/mobile-trusted-input.d.cts +98 -0
- package/dist/lib/cjs/modals/alert.cjs +178 -0
- package/dist/lib/cjs/modals/alert.d.cts +35 -0
- package/dist/lib/cjs/modals/confirm.cjs +188 -0
- package/dist/lib/cjs/modals/confirm.d.cts +39 -0
- package/dist/lib/cjs/modals/index.cjs +177 -0
- package/dist/lib/cjs/modals/index.d.cts +10 -0
- package/dist/lib/cjs/modals/minimizable-modal.cjs +441 -0
- package/dist/lib/cjs/modals/minimizable-modal.d.cts +129 -0
- package/dist/lib/cjs/modals/modal-command-builder.cjs +458 -0
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +285 -0
- package/dist/lib/cjs/modals/modal.cjs +176 -0
- package/dist/lib/cjs/modals/modal.d.cts +64 -0
- package/dist/lib/cjs/modals/prompt.cjs +256 -0
- package/dist/lib/cjs/modals/prompt.d.cts +83 -0
- package/dist/lib/cjs/modals/select-item.cjs +201 -0
- package/dist/lib/cjs/modals/select-item.d.cts +55 -0
- package/dist/lib/cjs/modals/select-option.cjs +189 -0
- package/dist/lib/cjs/modals/select-option.d.cts +65 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +144 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +35 -0
- package/dist/lib/cjs/note-priority.cjs +234 -0
- package/dist/lib/cjs/note-priority.d.cts +154 -0
- package/dist/lib/cjs/notebook-navigator.cjs +163 -0
- package/dist/lib/cjs/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +175 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +42 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +165 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +55 -0
- package/dist/lib/cjs/obsidian-settings.cjs +182 -0
- package/dist/lib/cjs/obsidian-settings.d.cts +62 -0
- package/dist/lib/cjs/parse-link.cjs +538 -0
- package/dist/lib/cjs/parse-link.d.cts +288 -0
- package/dist/lib/cjs/path-settings.cjs +269 -0
- package/dist/lib/cjs/path-settings.d.cts +56 -0
- package/dist/lib/cjs/pdf.cjs +173 -0
- package/dist/lib/cjs/pdf.d.cts +26 -0
- package/dist/lib/cjs/plugin/index.cjs +174 -0
- package/dist/lib/cjs/plugin/index.d.cts +9 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +519 -0
- package/dist/lib/cjs/plugin/plugin-api.d.cts +413 -0
- package/dist/lib/cjs/plugin/plugin-context.cjs +191 -0
- package/dist/lib/cjs/plugin/plugin-context.d.cts +27 -0
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +226 -0
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +97 -0
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +195 -0
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +113 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +151 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +127 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +611 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +368 -0
- package/dist/lib/cjs/plugin/plugin.cjs +706 -0
- package/dist/lib/cjs/plugin/plugin.d.cts +363 -0
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +131 -0
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +91 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +163 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +64 -0
- package/dist/lib/cjs/popovers/field-popover.cjs +182 -0
- package/dist/lib/cjs/popovers/field-popover.d.cts +75 -0
- package/dist/lib/cjs/popovers/index.cjs +159 -0
- package/dist/lib/cjs/popovers/index.d.cts +4 -0
- package/dist/lib/cjs/popovers/popover-anchor.cjs +182 -0
- package/dist/lib/cjs/popovers/popover-anchor.d.cts +67 -0
- package/dist/lib/cjs/popovers/popover.cjs +229 -0
- package/dist/lib/cjs/popovers/popover.d.cts +78 -0
- package/dist/lib/cjs/property-entry.cjs +172 -0
- package/dist/lib/cjs/property-entry.d.cts +43 -0
- package/dist/lib/cjs/queue.cjs +212 -0
- package/dist/lib/cjs/queue.d.cts +93 -0
- package/dist/lib/cjs/react/app-context.cjs +151 -0
- package/dist/lib/cjs/react/app-context.d.cts +24 -0
- package/dist/lib/cjs/react/index.cjs +153 -0
- package/dist/lib/cjs/react/index.d.cts +2 -0
- package/dist/lib/cjs/reference.cjs +186 -0
- package/dist/lib/cjs/reference.d.cts +116 -0
- package/dist/lib/cjs/resource-lock.cjs +1096 -0
- package/dist/lib/cjs/resource-lock.d.cts +318 -0
- package/dist/lib/cjs/resource-url.cjs +156 -0
- package/dist/lib/cjs/resource-url.d.cts +31 -0
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +163 -0
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +60 -0
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +216 -0
- package/dist/lib/cjs/setting-components/checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +378 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +132 -0
- package/dist/lib/cjs/setting-components/date-component.cjs +180 -0
- package/dist/lib/cjs/setting-components/date-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/date-time-component.cjs +180 -0
- package/dist/lib/cjs/setting-components/date-time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/email-component.cjs +191 -0
- package/dist/lib/cjs/setting-components/email-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/file-component.cjs +183 -0
- package/dist/lib/cjs/setting-components/file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/index.cjs +228 -0
- package/dist/lib/cjs/setting-components/index.d.cts +27 -0
- package/dist/lib/cjs/setting-components/month-component.cjs +188 -0
- package/dist/lib/cjs/setting-components/month-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +253 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +92 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +177 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +185 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +272 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +109 -0
- package/dist/lib/cjs/setting-components/number-component.cjs +201 -0
- package/dist/lib/cjs/setting-components/number-component.d.cts +56 -0
- package/dist/lib/cjs/setting-components/password-component.cjs +177 -0
- package/dist/lib/cjs/setting-components/password-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +160 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +13 -0
- package/dist/lib/cjs/setting-components/telephone-component.cjs +191 -0
- package/dist/lib/cjs/setting-components/telephone-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/text-based-component.cjs +170 -0
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/time-component.cjs +185 -0
- package/dist/lib/cjs/setting-components/time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +217 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +262 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +97 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +264 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +99 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +175 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +35 -0
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +232 -0
- package/dist/lib/cjs/setting-components/typed-text-component.d.cts +100 -0
- package/dist/lib/cjs/setting-components/url-component.cjs +191 -0
- package/dist/lib/cjs/setting-components/url-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/validator-component.cjs +230 -0
- package/dist/lib/cjs/setting-components/validator-component.d.cts +23 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +131 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +20 -0
- package/dist/lib/cjs/setting-components/week-component.cjs +188 -0
- package/dist/lib/cjs/setting-components/week-component.d.cts +51 -0
- package/dist/lib/cjs/setting-ex.cjs +372 -0
- package/dist/lib/cjs/setting-ex.d.cts +198 -0
- package/dist/lib/cjs/setting-group-ex.cjs +165 -0
- package/dist/lib/cjs/setting-group-ex.d.cts +26 -0
- package/dist/lib/cjs/status-bar-item-registrar.cjs +162 -0
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +36 -0
- package/dist/lib/cjs/templater.cjs +279 -0
- package/dist/lib/cjs/templater.d.cts +284 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +182 -0
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +39 -0
- package/dist/lib/cjs/transformers/index.cjs +153 -0
- package/dist/lib/cjs/transformers/index.d.cts +2 -0
- package/dist/lib/cjs/trusted-input.cjs +196 -0
- package/dist/lib/cjs/trusted-input.d.cts +131 -0
- package/dist/lib/cjs/validation.cjs +189 -0
- package/dist/lib/cjs/validation.d.cts +87 -0
- package/dist/lib/cjs/vault-delete.cjs +222 -0
- package/dist/lib/cjs/vault-delete.d.cts +82 -0
- package/dist/lib/cjs/vault-transaction.cjs +412 -0
- package/dist/lib/cjs/vault-transaction.d.cts +163 -0
- package/dist/lib/cjs/vault.cjs +701 -0
- package/dist/lib/cjs/vault.d.cts +506 -0
- package/dist/lib/cjs/view-registrar.cjs +162 -0
- package/dist/lib/cjs/view-registrar.d.cts +52 -0
- package/dist/lib/cjs/workspace.cjs +186 -0
- package/dist/lib/cjs/workspace.d.cts +81 -0
- package/dist/lib/esm/@types/dataview/api/data-array.d.mts +137 -0
- package/dist/lib/esm/@types/dataview/api/extensions.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/api/inline-api.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/api/plugin-api.d.mts +210 -0
- package/dist/lib/esm/@types/dataview/api/result.d.mts +39 -0
- package/dist/lib/esm/@types/dataview/data-import/common.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/csv.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/inline-field.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/data-import/markdown-file.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/data-import/persister.d.mts +33 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-entry.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-impl.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-manager.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/data-index/index.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/data-index/resolver.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/data-index/source.d.mts +72 -0
- package/dist/lib/esm/@types/dataview/data-model/markdown.d.mts +116 -0
- package/dist/lib/esm/@types/dataview/data-model/serialized/markdown.d.mts +107 -0
- package/dist/lib/esm/@types/dataview/data-model/transferable.d.mts +8 -0
- package/dist/lib/esm/@types/dataview/data-model/value.d.mts +176 -0
- package/dist/lib/esm/@types/dataview/expression/binaryop.d.mts +44 -0
- package/dist/lib/esm/@types/dataview/expression/context.d.mts +50 -0
- package/dist/lib/esm/@types/dataview/expression/field.d.mts +83 -0
- package/dist/lib/esm/@types/dataview/expression/functions.d.mts +150 -0
- package/dist/lib/esm/@types/dataview/expression/parse.d.mts +164 -0
- package/dist/lib/esm/@types/dataview/index.d.mts +56 -0
- package/dist/lib/esm/@types/dataview/main.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/query/engine.d.mts +104 -0
- package/dist/lib/esm/@types/dataview/query/parse.d.mts +45 -0
- package/dist/lib/esm/@types/dataview/query/query.d.mts +96 -0
- package/dist/lib/esm/@types/dataview/settings.d.mts +61 -0
- package/dist/lib/esm/@types/dataview/typings/obsidian-ex.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/typings/workers.d.mts +5 -0
- package/dist/lib/esm/@types/dataview/ui/export/markdown.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/ui/lp-render.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/ui/markdown.d.mts +87 -0
- package/dist/lib/esm/@types/dataview/ui/refreshable-view.d.mts +19 -0
- package/dist/lib/esm/@types/dataview/ui/render.d.mts +34 -0
- package/dist/lib/esm/@types/dataview/ui/views/calendar-view.d.mts +18 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-field-live-preview.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/js-view.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/ui/views/list-view.d.mts +26 -0
- package/dist/lib/esm/@types/dataview/ui/views/table-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/task-view.d.mts +52 -0
- package/dist/lib/esm/@types/dataview/util/hash.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/util/locale.d.mts +3 -0
- package/dist/lib/esm/@types/dataview/util/media.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/util/normalize.d.mts +45 -0
- package/dist/lib/esm/@types/i18next.d.mts +14 -0
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +29 -0
- package/dist/lib/esm/@types/original-fs.d.mts +15 -0
- package/dist/lib/esm/__merged.d.mts +205 -0
- package/dist/lib/esm/__merged.mjs +1524 -0
- package/dist/lib/esm/active-file-provider.d.mts +36 -0
- package/dist/lib/esm/active-file-provider.mjs +64 -0
- package/dist/lib/esm/app.d.mts +17 -0
- package/dist/lib/esm/app.mjs +56 -0
- package/dist/lib/esm/async-with-notice.d.mts +113 -0
- package/dist/lib/esm/async-with-notice.mjs +141 -0
- package/dist/lib/esm/attachment-path.d.mts +341 -0
- package/dist/lib/esm/attachment-path.mjs +294 -0
- package/dist/lib/esm/attachment-unit-folder.d.mts +103 -0
- package/dist/lib/esm/attachment-unit-folder.mjs +70 -0
- package/dist/lib/esm/backlink-index.d.mts +51 -0
- package/dist/lib/esm/backlink-index.mjs +152 -0
- package/dist/lib/esm/backlink.d.mts +66 -0
- package/dist/lib/esm/backlink.mjs +123 -0
- package/dist/lib/esm/bases-view-registrar.d.mts +52 -0
- package/dist/lib/esm/bases-view-registrar.mjs +65 -0
- package/dist/lib/esm/callout.d.mts +76 -0
- package/dist/lib/esm/callout.mjs +124 -0
- package/dist/lib/esm/canvas.d.mts +28 -0
- package/dist/lib/esm/canvas.mjs +121 -0
- package/dist/lib/esm/case-insensitive-file-index.d.mts +92 -0
- package/dist/lib/esm/case-insensitive-file-index.mjs +144 -0
- package/dist/lib/esm/code-block-markdown-information.d.mts +48 -0
- package/dist/lib/esm/code-block-markdown-information.mjs +42 -0
- package/dist/lib/esm/code-block-reg-exp.d.mts +39 -0
- package/dist/lib/esm/code-block-reg-exp.mjs +48 -0
- package/dist/lib/esm/codemirror/index.d.mts +2 -0
- package/dist/lib/esm/codemirror/index.mjs +46 -0
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +72 -0
- package/dist/lib/esm/codemirror/state-field-spec.mjs +42 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +274 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +322 -0
- package/dist/lib/esm/command-handlers/command-handler-component.d.mts +146 -0
- package/dist/lib/esm/command-handlers/command-handler-component.mjs +185 -0
- package/dist/lib/esm/command-handlers/command-handler.d.mts +107 -0
- package/dist/lib/esm/command-handlers/command-handler.mjs +103 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +208 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +254 -0
- package/dist/lib/esm/command-handlers/file-command-handler.d.mts +143 -0
- package/dist/lib/esm/command-handlers/file-command-handler.mjs +192 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +149 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.mjs +200 -0
- package/dist/lib/esm/command-handlers/global-command-handler.d.mts +40 -0
- package/dist/lib/esm/command-handlers/global-command-handler.mjs +88 -0
- package/dist/lib/esm/command-handlers/index.d.mts +11 -0
- package/dist/lib/esm/command-handlers/index.mjs +64 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +73 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +102 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +44 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +77 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +54 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +90 -0
- package/dist/lib/esm/command-registrar.d.mts +48 -0
- package/dist/lib/esm/command-registrar.mjs +72 -0
- package/dist/lib/esm/community-plugins.d.mts +270 -0
- package/dist/lib/esm/community-plugins.mjs +214 -0
- package/dist/lib/esm/components/abort-signal-component.d.mts +30 -0
- package/dist/lib/esm/components/abort-signal-component.mjs +75 -0
- package/dist/lib/esm/components/all-windows-event-component.d.mts +84 -0
- package/dist/lib/esm/components/all-windows-event-component.mjs +117 -0
- package/dist/lib/esm/components/async-error-handler-component.d.mts +30 -0
- package/dist/lib/esm/components/async-error-handler-component.mjs +79 -0
- package/dist/lib/esm/components/async-events-component.d.mts +15 -0
- package/dist/lib/esm/components/async-events-component.mjs +51 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +36 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +93 -0
- package/dist/lib/esm/components/component-ex.d.mts +229 -0
- package/dist/lib/esm/components/component-ex.mjs +413 -0
- package/dist/lib/esm/components/console-debug-component.d.mts +30 -0
- package/dist/lib/esm/components/console-debug-component.mjs +73 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +102 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.mjs +105 -0
- package/dist/lib/esm/components/disposable-component.d.mts +24 -0
- package/dist/lib/esm/components/disposable-component.mjs +57 -0
- package/dist/lib/esm/components/embed-extensions-component.d.mts +38 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +77 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +42 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +73 -0
- package/dist/lib/esm/components/index.d.mts +30 -0
- package/dist/lib/esm/components/index.mjs +102 -0
- package/dist/lib/esm/components/layout-ready-component.d.mts +48 -0
- package/dist/lib/esm/components/layout-ready-component.mjs +113 -0
- package/dist/lib/esm/components/menu-event-registrar-component.d.mts +52 -0
- package/dist/lib/esm/components/menu-event-registrar-component.mjs +99 -0
- package/dist/lib/esm/components/monkey-around-component.d.mts +241 -0
- package/dist/lib/esm/components/monkey-around-component.mjs +146 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +150 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +227 -0
- package/dist/lib/esm/components/plugin-context-component.d.mts +36 -0
- package/dist/lib/esm/components/plugin-context-component.mjs +86 -0
- package/dist/lib/esm/components/plugin-gate-component.d.mts +332 -0
- package/dist/lib/esm/components/plugin-gate-component.mjs +464 -0
- package/dist/lib/esm/components/plugin-notice-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-notice-component.mjs +535 -0
- package/dist/lib/esm/components/plugin-settings-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-settings-component.mjs +554 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +39 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.mjs +73 -0
- package/dist/lib/esm/components/plugin-suggestion-component.d.mts +162 -0
- package/dist/lib/esm/components/plugin-suggestion-component.mjs +184 -0
- package/dist/lib/esm/components/pointer-position-component.d.mts +29 -0
- package/dist/lib/esm/components/pointer-position-component.mjs +69 -0
- package/dist/lib/esm/components/registry-component.d.mts +37 -0
- package/dist/lib/esm/components/registry-component.mjs +90 -0
- package/dist/lib/esm/components/release-notes-component.d.mts +129 -0
- package/dist/lib/esm/components/release-notes-component.mjs +128 -0
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +165 -0
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +1230 -0
- package/dist/lib/esm/components/rmdir-guard-component.d.mts +76 -0
- package/dist/lib/esm/components/rmdir-guard-component.mjs +92 -0
- package/dist/lib/esm/components/settings-migration-component.d.mts +120 -0
- package/dist/lib/esm/components/settings-migration-component.mjs +125 -0
- package/dist/lib/esm/components/syntax-highlighting-component.d.mts +149 -0
- package/dist/lib/esm/components/syntax-highlighting-component.mjs +151 -0
- package/dist/lib/esm/components/templates-language-component.d.mts +124 -0
- package/dist/lib/esm/components/templates-language-component.mjs +179 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +22 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +149 -0
- package/dist/lib/esm/constructors/index.d.mts +2 -0
- package/dist/lib/esm/constructors/index.mjs +46 -0
- package/dist/lib/esm/css-class.d.mts +278 -0
- package/dist/lib/esm/css-class.mjs +111 -0
- package/dist/lib/esm/data-handler.d.mts +49 -0
- package/dist/lib/esm/data-handler.mjs +73 -0
- package/dist/lib/esm/dataview-link.d.mts +42 -0
- package/dist/lib/esm/dataview-link.mjs +66 -0
- package/dist/lib/esm/dataview.d.mts +249 -0
- package/dist/lib/esm/dataview.mjs +280 -0
- package/dist/lib/esm/debug.d.mts +19 -0
- package/dist/lib/esm/debug.mjs +51 -0
- package/dist/lib/esm/demo-vault-helper-settings.d.mts +29 -0
- package/dist/lib/esm/demo-vault-helper-settings.mjs +42 -0
- package/dist/lib/esm/demo-vault-helper.d.mts +61 -0
- package/dist/lib/esm/demo-vault-helper.mjs +142 -0
- package/dist/lib/esm/demo-vault-naming.d.mts +54 -0
- package/dist/lib/esm/demo-vault-naming.mjs +59 -0
- package/dist/lib/esm/desktop-demo-vault-opener.d.mts +76 -0
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +266 -0
- package/dist/lib/esm/desktop-trusted-input.d.mts +288 -0
- package/dist/lib/esm/desktop-trusted-input.mjs +198 -0
- package/dist/lib/esm/editor-extension-registrar.d.mts +37 -0
- package/dist/lib/esm/editor-extension-registrar.mjs +65 -0
- package/dist/lib/esm/editor-suggest-registrar.d.mts +36 -0
- package/dist/lib/esm/editor-suggest-registrar.mjs +68 -0
- package/dist/lib/esm/editor.d.mts +45 -0
- package/dist/lib/esm/editor.mjs +107 -0
- package/dist/lib/esm/events.d.mts +98 -0
- package/dist/lib/esm/events.mjs +73 -0
- package/dist/lib/esm/extensions-registrar.d.mts +51 -0
- package/dist/lib/esm/extensions-registrar.mjs +65 -0
- package/dist/lib/esm/file-change.d.mts +156 -0
- package/dist/lib/esm/file-change.mjs +473 -0
- package/dist/lib/esm/file-explorer.d.mts +34 -0
- package/dist/lib/esm/file-explorer.mjs +60 -0
- package/dist/lib/esm/file-manager.d.mts +123 -0
- package/dist/lib/esm/file-manager.mjs +161 -0
- package/dist/lib/esm/file-system.d.mts +554 -0
- package/dist/lib/esm/file-system.mjs +458 -0
- package/dist/lib/esm/folder-note.d.mts +166 -0
- package/dist/lib/esm/folder-note.mjs +161 -0
- package/dist/lib/esm/frontmatter-formatting.d.mts +44 -0
- package/dist/lib/esm/frontmatter-formatting.mjs +368 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +34 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +61 -0
- package/dist/lib/esm/frontmatter.d.mts +145 -0
- package/dist/lib/esm/frontmatter.mjs +174 -0
- package/dist/lib/esm/generated-during-build.d.mts +25 -0
- package/dist/lib/esm/generated-during-build.mjs +48 -0
- package/dist/lib/esm/hover-link-source-registrar.d.mts +52 -0
- package/dist/lib/esm/hover-link-source-registrar.mjs +65 -0
- package/dist/lib/esm/html-element.d.mts +98 -0
- package/dist/lib/esm/html-element.mjs +86 -0
- package/dist/lib/esm/i18n/custom-type-options.d.mts +38 -0
- package/dist/lib/esm/i18n/custom-type-options.mjs +43 -0
- package/dist/lib/esm/i18n/default-translations.d.mts +15 -0
- package/dist/lib/esm/i18n/default-translations.mjs +43 -0
- package/dist/lib/esm/i18n/i18n.d.mts +38 -0
- package/dist/lib/esm/i18n/i18n.mjs +89 -0
- package/dist/lib/esm/i18n/index.d.mts +5 -0
- package/dist/lib/esm/i18n/index.mjs +52 -0
- package/dist/lib/esm/i18n/locales/en.d.mts +91 -0
- package/dist/lib/esm/i18n/locales/en.mjs +127 -0
- package/dist/lib/esm/i18n/locales/index.d.mts +3 -0
- package/dist/lib/esm/i18n/locales/index.mjs +48 -0
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +100 -0
- package/dist/lib/esm/i18n/locales/translations-map.mjs +52 -0
- package/dist/lib/esm/index.d.mts +96 -0
- package/dist/lib/esm/index.mjs +234 -0
- package/dist/lib/esm/is-in-obsidian.d.mts +12 -0
- package/dist/lib/esm/is-in-obsidian.mjs +59 -0
- package/dist/lib/esm/library-styles.d.mts +56 -0
- package/dist/lib/esm/library-styles.mjs +72 -0
- package/dist/lib/esm/library.d.mts +57 -0
- package/dist/lib/esm/library.mjs +83 -0
- package/dist/lib/esm/link-name.d.mts +23 -0
- package/dist/lib/esm/link-name.mjs +48 -0
- package/dist/lib/esm/link-update-progress.d.mts +32 -0
- package/dist/lib/esm/link-update-progress.mjs +42 -0
- package/dist/lib/esm/link.d.mts +1369 -0
- package/dist/lib/esm/link.mjs +988 -0
- package/dist/lib/esm/logger.d.mts +37 -0
- package/dist/lib/esm/logger.mjs +115 -0
- package/dist/lib/esm/loop.d.mts +104 -0
- package/dist/lib/esm/loop.mjs +151 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +62 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +69 -0
- package/dist/lib/esm/markdown-code-block-processor.d.mts +137 -0
- package/dist/lib/esm/markdown-code-block-processor.mjs +356 -0
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +59 -0
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +66 -0
- package/dist/lib/esm/markdown-view.d.mts +14 -0
- package/dist/lib/esm/markdown-view.mjs +54 -0
- package/dist/lib/esm/markdown.d.mts +226 -0
- package/dist/lib/esm/markdown.mjs +391 -0
- package/dist/lib/esm/menu-event-registrar.d.mts +84 -0
- package/dist/lib/esm/menu-event-registrar.mjs +42 -0
- package/dist/lib/esm/metadata-cache.d.mts +359 -0
- package/dist/lib/esm/metadata-cache.mjs +454 -0
- package/dist/lib/esm/mobile-trusted-input.d.mts +98 -0
- package/dist/lib/esm/mobile-trusted-input.mjs +82 -0
- package/dist/lib/esm/modals/alert.d.mts +35 -0
- package/dist/lib/esm/modals/alert.mjs +84 -0
- package/dist/lib/esm/modals/confirm.d.mts +39 -0
- package/dist/lib/esm/modals/confirm.mjs +94 -0
- package/dist/lib/esm/modals/index.d.mts +10 -0
- package/dist/lib/esm/modals/index.mjs +62 -0
- package/dist/lib/esm/modals/minimizable-modal.d.mts +129 -0
- package/dist/lib/esm/modals/minimizable-modal.mjs +348 -0
- package/dist/lib/esm/modals/modal-command-builder.d.mts +285 -0
- package/dist/lib/esm/modals/modal-command-builder.mjs +363 -0
- package/dist/lib/esm/modals/modal.d.mts +64 -0
- package/dist/lib/esm/modals/modal.mjs +78 -0
- package/dist/lib/esm/modals/prompt.d.mts +83 -0
- package/dist/lib/esm/modals/prompt.mjs +168 -0
- package/dist/lib/esm/modals/select-item.d.mts +55 -0
- package/dist/lib/esm/modals/select-item.mjs +104 -0
- package/dist/lib/esm/modals/select-option.d.mts +65 -0
- package/dist/lib/esm/modals/select-option.mjs +95 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +35 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +47 -0
- package/dist/lib/esm/note-priority.d.mts +154 -0
- package/dist/lib/esm/note-priority.mjs +135 -0
- package/dist/lib/esm/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/notebook-navigator.mjs +64 -0
- package/dist/lib/esm/obsidian-dev-utils-state.d.mts +42 -0
- package/dist/lib/esm/obsidian-dev-utils-state.mjs +76 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +55 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +68 -0
- package/dist/lib/esm/obsidian-settings.d.mts +62 -0
- package/dist/lib/esm/obsidian-settings.mjs +81 -0
- package/dist/lib/esm/parse-link.d.mts +288 -0
- package/dist/lib/esm/parse-link.mjs +428 -0
- package/dist/lib/esm/path-settings.d.mts +56 -0
- package/dist/lib/esm/path-settings.mjs +176 -0
- package/dist/lib/esm/pdf.d.mts +26 -0
- package/dist/lib/esm/pdf.mjs +76 -0
- package/dist/lib/esm/plugin/index.d.mts +9 -0
- package/dist/lib/esm/plugin/index.mjs +60 -0
- package/dist/lib/esm/plugin/plugin-api.d.mts +413 -0
- package/dist/lib/esm/plugin/plugin-api.mjs +422 -0
- package/dist/lib/esm/plugin/plugin-context.d.mts +27 -0
- package/dist/lib/esm/plugin/plugin-context.mjs +101 -0
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +97 -0
- package/dist/lib/esm/plugin/plugin-event-source.mjs +129 -0
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +113 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +101 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +127 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +52 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +368 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +527 -0
- package/dist/lib/esm/plugin/plugin.d.mts +363 -0
- package/dist/lib/esm/plugin/plugin.mjs +611 -0
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +91 -0
- package/dist/lib/esm/plugin/settings-migration-api.mjs +42 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +64 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +66 -0
- package/dist/lib/esm/popovers/field-popover.d.mts +75 -0
- package/dist/lib/esm/popovers/field-popover.mjs +88 -0
- package/dist/lib/esm/popovers/index.d.mts +4 -0
- package/dist/lib/esm/popovers/index.mjs +50 -0
- package/dist/lib/esm/popovers/popover-anchor.d.mts +67 -0
- package/dist/lib/esm/popovers/popover-anchor.mjs +82 -0
- package/dist/lib/esm/popovers/popover.d.mts +78 -0
- package/dist/lib/esm/popovers/popover.mjs +132 -0
- package/dist/lib/esm/property-entry.d.mts +43 -0
- package/dist/lib/esm/property-entry.mjs +73 -0
- package/dist/lib/esm/queue.d.mts +93 -0
- package/dist/lib/esm/queue.mjs +122 -0
- package/dist/lib/esm/react/app-context.d.mts +24 -0
- package/dist/lib/esm/react/app-context.mjs +56 -0
- package/dist/lib/esm/react/index.d.mts +2 -0
- package/dist/lib/esm/react/index.mjs +46 -0
- package/dist/lib/esm/reference.d.mts +116 -0
- package/dist/lib/esm/reference.mjs +87 -0
- package/dist/lib/esm/resource-lock.d.mts +318 -0
- package/dist/lib/esm/resource-lock.mjs +1006 -0
- package/dist/lib/esm/resource-url.d.mts +31 -0
- package/dist/lib/esm/resource-url.mjs +59 -0
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +60 -0
- package/dist/lib/esm/ribbon-icon-registrar.mjs +66 -0
- package/dist/lib/esm/setting-components/checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/checkbox-component.mjs +119 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +132 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.mjs +287 -0
- package/dist/lib/esm/setting-components/date-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-component.mjs +83 -0
- package/dist/lib/esm/setting-components/date-time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-time-component.mjs +83 -0
- package/dist/lib/esm/setting-components/email-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/email-component.mjs +94 -0
- package/dist/lib/esm/setting-components/file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/file-component.mjs +86 -0
- package/dist/lib/esm/setting-components/index.d.mts +27 -0
- package/dist/lib/esm/setting-components/index.mjs +96 -0
- package/dist/lib/esm/setting-components/month-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/month-component.mjs +91 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +92 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +159 -0
- package/dist/lib/esm/setting-components/multiple-email-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/multiple-email-component.mjs +80 -0
- package/dist/lib/esm/setting-components/multiple-file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/multiple-file-component.mjs +88 -0
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +109 -0
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +178 -0
- package/dist/lib/esm/setting-components/number-component.d.mts +56 -0
- package/dist/lib/esm/setting-components/number-component.mjs +104 -0
- package/dist/lib/esm/setting-components/password-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/password-component.mjs +80 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +13 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +63 -0
- package/dist/lib/esm/setting-components/telephone-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/telephone-component.mjs +94 -0
- package/dist/lib/esm/setting-components/text-based-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/text-based-component.mjs +73 -0
- package/dist/lib/esm/setting-components/time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/time-component.mjs +88 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +120 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +97 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +168 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +99 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +167 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +35 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.mjs +78 -0
- package/dist/lib/esm/setting-components/typed-text-component.d.mts +100 -0
- package/dist/lib/esm/setting-components/typed-text-component.mjs +138 -0
- package/dist/lib/esm/setting-components/url-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/url-component.mjs +94 -0
- package/dist/lib/esm/setting-components/validator-component.d.mts +23 -0
- package/dist/lib/esm/setting-components/validator-component.mjs +142 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +20 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +42 -0
- package/dist/lib/esm/setting-components/week-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/week-component.mjs +91 -0
- package/dist/lib/esm/setting-ex.d.mts +198 -0
- package/dist/lib/esm/setting-ex.mjs +274 -0
- package/dist/lib/esm/setting-group-ex.d.mts +26 -0
- package/dist/lib/esm/setting-group-ex.mjs +68 -0
- package/dist/lib/esm/status-bar-item-registrar.d.mts +36 -0
- package/dist/lib/esm/status-bar-item-registrar.mjs +65 -0
- package/dist/lib/esm/templater.d.mts +284 -0
- package/dist/lib/esm/templater.mjs +173 -0
- package/dist/lib/esm/transformers/duration-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/duration-transformer.mjs +85 -0
- package/dist/lib/esm/transformers/index.d.mts +2 -0
- package/dist/lib/esm/transformers/index.mjs +46 -0
- package/dist/lib/esm/trusted-input.d.mts +131 -0
- package/dist/lib/esm/trusted-input.mjs +83 -0
- package/dist/lib/esm/validation.d.mts +87 -0
- package/dist/lib/esm/validation.mjs +87 -0
- package/dist/lib/esm/vault-delete.d.mts +82 -0
- package/dist/lib/esm/vault-delete.mjs +132 -0
- package/dist/lib/esm/vault-transaction.d.mts +163 -0
- package/dist/lib/esm/vault-transaction.mjs +325 -0
- package/dist/lib/esm/vault.d.mts +506 -0
- package/dist/lib/esm/vault.mjs +604 -0
- package/dist/lib/esm/view-registrar.d.mts +52 -0
- package/dist/lib/esm/view-registrar.mjs +65 -0
- package/dist/lib/esm/workspace.d.mts +81 -0
- package/dist/lib/esm/workspace.mjs +84 -0
- package/dist/styles.css +497 -0
- package/i18n/custom-type-options/package.json +6 -0
- package/i18n/default-translations/package.json +6 -0
- package/i18n/i18n/package.json +6 -0
- package/i18n/index/package.json +6 -0
- package/i18n/locales/en/package.json +6 -0
- package/i18n/locales/index/package.json +6 -0
- package/i18n/locales/package.json +6 -0
- package/i18n/locales/translations-map/package.json +6 -0
- package/i18n/package.json +6 -0
- package/modals/alert/package.json +6 -0
- package/modals/confirm/package.json +6 -0
- package/modals/index/package.json +6 -0
- package/modals/minimizable-modal/package.json +6 -0
- package/modals/modal/package.json +6 -0
- package/modals/modal-command-builder/package.json +6 -0
- package/modals/package.json +6 -0
- package/modals/prompt/package.json +6 -0
- package/modals/select-item/package.json +6 -0
- package/modals/select-option/package.json +6 -0
- package/modals/suggest-modal-command-builder/package.json +6 -0
- package/package.json +533 -13
- package/plugin/index/package.json +6 -0
- package/plugin/package.json +6 -0
- package/plugin/plugin/package.json +6 -0
- package/plugin/plugin-api/package.json +6 -0
- package/plugin/plugin-context/package.json +6 -0
- package/plugin/plugin-event-source/package.json +6 -0
- package/plugin/plugin-install-state/package.json +6 -0
- package/plugin/plugin-lifecycle-events/package.json +6 -0
- package/plugin/plugin-settings-tab/package.json +6 -0
- package/plugin/settings-migration-api/package.json +6 -0
- package/popovers/field-popover/package.json +6 -0
- package/popovers/index/package.json +6 -0
- package/popovers/package.json +6 -0
- package/popovers/popover/package.json +6 -0
- package/popovers/popover-anchor/package.json +6 -0
- package/react/app-context/package.json +6 -0
- package/react/index/package.json +6 -0
- package/react/package.json +6 -0
- package/setting-components/checkbox-component/package.json +6 -0
- package/setting-components/code-highlighter-component/package.json +6 -0
- package/setting-components/date-component/package.json +6 -0
- package/setting-components/date-time-component/package.json +6 -0
- package/setting-components/email-component/package.json +6 -0
- package/setting-components/file-component/package.json +6 -0
- package/setting-components/index/package.json +6 -0
- package/setting-components/month-component/package.json +6 -0
- package/setting-components/multiple-dropdown-component/package.json +6 -0
- package/setting-components/multiple-email-component/package.json +6 -0
- package/setting-components/multiple-file-component/package.json +6 -0
- package/setting-components/multiple-text-component/package.json +6 -0
- package/setting-components/number-component/package.json +6 -0
- package/setting-components/package.json +6 -0
- package/setting-components/password-component/package.json +6 -0
- package/setting-components/setting-component-wrapper/package.json +6 -0
- package/setting-components/telephone-component/package.json +6 -0
- package/setting-components/text-based-component/package.json +6 -0
- package/setting-components/time-component/package.json +6 -0
- package/setting-components/tri-state-checkbox-component/package.json +6 -0
- package/setting-components/typed-dropdown-component/package.json +6 -0
- package/setting-components/typed-multiple-dropdown-component/package.json +6 -0
- package/setting-components/typed-range-text-component/package.json +6 -0
- package/setting-components/typed-text-component/package.json +6 -0
- package/setting-components/url-component/package.json +6 -0
- package/setting-components/validator-component/package.json +6 -0
- package/setting-components/value-component-with-change-tracking/package.json +6 -0
- package/setting-components/week-component/package.json +6 -0
- package/transformers/duration-transformer/package.json +6 -0
- package/transformers/index/package.json +6 -0
- package/transformers/package.json +6 -0
|
@@ -0,0 +1,458 @@
|
|
|
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
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return "/";
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: "android"
|
|
20
|
+
};
|
|
21
|
+
const existingProcess = globalThis.process;
|
|
22
|
+
if (!existingProcess) {
|
|
23
|
+
globalThis.process = browserProcess;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (existingProcess.versions?.node) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const existingProcessRecord = existingProcess;
|
|
30
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
31
|
+
existingProcessRecord[key] ??= value;
|
|
32
|
+
}
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
(function initEsm() {
|
|
37
|
+
ensureDisposeSymbols();
|
|
38
|
+
ensureBrowserProcess();
|
|
39
|
+
})();
|
|
40
|
+
})();
|
|
41
|
+
|
|
42
|
+
import { normalizeOptionalProperties } from "@mnaoumov/typescript-lib/object-utils";
|
|
43
|
+
import {
|
|
44
|
+
basename,
|
|
45
|
+
extname,
|
|
46
|
+
resolve
|
|
47
|
+
} from "@mnaoumov/typescript-lib/path";
|
|
48
|
+
import { trimEnd } from "@mnaoumov/typescript-lib/string";
|
|
49
|
+
import { ensureNonNullable } from "@mnaoumov/typescript-lib/type-guards";
|
|
50
|
+
import {
|
|
51
|
+
createTFileInstance,
|
|
52
|
+
createTFolderInstance,
|
|
53
|
+
getDataAdapterEx,
|
|
54
|
+
parentFolderPath
|
|
55
|
+
} from "@obsidian-typings/obsidian-public-latest/implementations";
|
|
56
|
+
import {
|
|
57
|
+
normalizePath,
|
|
58
|
+
TAbstractFile,
|
|
59
|
+
TFile,
|
|
60
|
+
TFolder,
|
|
61
|
+
Vault
|
|
62
|
+
} from "obsidian";
|
|
63
|
+
import { getCaseInsensitiveFileIndex } from "./case-insensitive-file-index.mjs";
|
|
64
|
+
import {
|
|
65
|
+
checkPropertyEntryMatches,
|
|
66
|
+
isPropertyEntry
|
|
67
|
+
} from "./property-entry.mjs";
|
|
68
|
+
const BASE_FILE_EXTENSION = "base";
|
|
69
|
+
const CANVAS_FILE_EXTENSION = "canvas";
|
|
70
|
+
const MARKDOWN_FILE_EXTENSION = "md";
|
|
71
|
+
var FileSystemType = /* @__PURE__ */ ((FileSystemType2) => {
|
|
72
|
+
FileSystemType2["File"] = "file";
|
|
73
|
+
FileSystemType2["Folder"] = "folder";
|
|
74
|
+
return FileSystemType2;
|
|
75
|
+
})(FileSystemType || {});
|
|
76
|
+
var MissingPathTreatment = /* @__PURE__ */ ((MissingPathTreatment2) => {
|
|
77
|
+
MissingPathTreatment2["File"] = "file";
|
|
78
|
+
MissingPathTreatment2["Folder"] = "folder";
|
|
79
|
+
MissingPathTreatment2["Throw"] = "throw";
|
|
80
|
+
return MissingPathTreatment2;
|
|
81
|
+
})(MissingPathTreatment || {});
|
|
82
|
+
function asArrayOfFiles(abstractFiles) {
|
|
83
|
+
return abstractFiles.map((abstractFile) => asFile(abstractFile));
|
|
84
|
+
}
|
|
85
|
+
function asArrayOfFolders(abstractFiles) {
|
|
86
|
+
return abstractFiles.map((abstractFile) => asFolder(abstractFile));
|
|
87
|
+
}
|
|
88
|
+
function asFile(abstractFile) {
|
|
89
|
+
return ensureNonNullable(asFileOrNull(abstractFile), "Abstract file is not a file");
|
|
90
|
+
}
|
|
91
|
+
function asFileOrNull(abstractFile) {
|
|
92
|
+
if (abstractFile === null) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
if (abstractFile instanceof TFile) {
|
|
96
|
+
return abstractFile;
|
|
97
|
+
}
|
|
98
|
+
throw new Error("Abstract file is not a file");
|
|
99
|
+
}
|
|
100
|
+
function asFolder(abstractFile) {
|
|
101
|
+
return ensureNonNullable(asFolderOrNull(abstractFile), "Abstract file is not a folder");
|
|
102
|
+
}
|
|
103
|
+
function asFolderOrNull(abstractFile) {
|
|
104
|
+
if (abstractFile === null) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
if (abstractFile instanceof TFolder) {
|
|
108
|
+
return abstractFile;
|
|
109
|
+
}
|
|
110
|
+
throw new Error("Abstract file is not a folder");
|
|
111
|
+
}
|
|
112
|
+
function checkExtension(pathOrFile, extension) {
|
|
113
|
+
return isFile(pathOrFile) ? pathOrFile.extension === extension : typeof pathOrFile === "string" && extname(pathOrFile).slice(1).toLowerCase() === extension;
|
|
114
|
+
}
|
|
115
|
+
function doesExist(params) {
|
|
116
|
+
const {
|
|
117
|
+
app,
|
|
118
|
+
isCaseInsensitive,
|
|
119
|
+
path,
|
|
120
|
+
type
|
|
121
|
+
} = params;
|
|
122
|
+
const abstractFile = getAbstractFileOrNull(normalizeOptionalProperties({
|
|
123
|
+
app,
|
|
124
|
+
isCaseInsensitive,
|
|
125
|
+
pathOrFile: path
|
|
126
|
+
}));
|
|
127
|
+
return abstractFile !== null && (type === void 0 || getFileSystemType(abstractFile) === type);
|
|
128
|
+
}
|
|
129
|
+
function getAbstractFile(params) {
|
|
130
|
+
const {
|
|
131
|
+
app,
|
|
132
|
+
isCaseInsensitive,
|
|
133
|
+
pathOrFile
|
|
134
|
+
} = params;
|
|
135
|
+
return ensureNonNullable(
|
|
136
|
+
getAbstractFileOrNull(normalizeOptionalProperties({
|
|
137
|
+
app,
|
|
138
|
+
isCaseInsensitive,
|
|
139
|
+
pathOrFile
|
|
140
|
+
})),
|
|
141
|
+
`Abstract file not found: ${pathOrFile}`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
function getAbstractFileOrNull(params) {
|
|
145
|
+
const {
|
|
146
|
+
app,
|
|
147
|
+
isCaseInsensitive,
|
|
148
|
+
pathOrFile
|
|
149
|
+
} = params;
|
|
150
|
+
if (pathOrFile === null) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
if (isAbstractFile(pathOrFile)) {
|
|
154
|
+
if (isFile(pathOrFile)) {
|
|
155
|
+
return app.vault.getFileByPath(pathOrFile.path) ?? pathOrFile;
|
|
156
|
+
}
|
|
157
|
+
return isFolder(pathOrFile) ? app.vault.getFolderByPath(pathOrFile.path) ?? pathOrFile : app.vault.getAbstractFileByPath(pathOrFile.path) ?? pathOrFile;
|
|
158
|
+
}
|
|
159
|
+
const file = getFileInternal(normalizeOptionalProperties({
|
|
160
|
+
app,
|
|
161
|
+
isCaseInsensitive,
|
|
162
|
+
path: pathOrFile
|
|
163
|
+
}));
|
|
164
|
+
if (file) {
|
|
165
|
+
return file;
|
|
166
|
+
}
|
|
167
|
+
const resolvedPath = getResolvedPath(pathOrFile);
|
|
168
|
+
return resolvedPath === pathOrFile ? null : getFileInternal(normalizeOptionalProperties({
|
|
169
|
+
app,
|
|
170
|
+
isCaseInsensitive,
|
|
171
|
+
path: resolvedPath
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
function getBasename(params) {
|
|
175
|
+
const {
|
|
176
|
+
app,
|
|
177
|
+
pathOrFile,
|
|
178
|
+
whenMissingTreatAs
|
|
179
|
+
} = params;
|
|
180
|
+
const abstractFile = getAbstractFileOrNull({
|
|
181
|
+
app,
|
|
182
|
+
pathOrFile
|
|
183
|
+
});
|
|
184
|
+
if (isFile(abstractFile)) {
|
|
185
|
+
return abstractFile.basename;
|
|
186
|
+
}
|
|
187
|
+
if (isFolder(abstractFile)) {
|
|
188
|
+
return abstractFile.name;
|
|
189
|
+
}
|
|
190
|
+
const path = getPath(app, pathOrFile);
|
|
191
|
+
const treatment = whenMissingTreatAs ?? "throw" /* Throw */;
|
|
192
|
+
if (treatment === "throw" /* Throw */) {
|
|
193
|
+
throw new Error(`Abstract file not found: ${path}`);
|
|
194
|
+
}
|
|
195
|
+
return treatment === "folder" /* Folder */ ? basename(path) : basename(path, extname(path));
|
|
196
|
+
}
|
|
197
|
+
function getExtension(params) {
|
|
198
|
+
const {
|
|
199
|
+
app,
|
|
200
|
+
pathOrFile,
|
|
201
|
+
whenMissingTreatAs
|
|
202
|
+
} = params;
|
|
203
|
+
const abstractFile = getAbstractFileOrNull({
|
|
204
|
+
app,
|
|
205
|
+
pathOrFile
|
|
206
|
+
});
|
|
207
|
+
if (isFile(abstractFile)) {
|
|
208
|
+
return abstractFile.extension;
|
|
209
|
+
}
|
|
210
|
+
if (isFolder(abstractFile)) {
|
|
211
|
+
return "";
|
|
212
|
+
}
|
|
213
|
+
const path = getPath(app, pathOrFile);
|
|
214
|
+
const treatment = whenMissingTreatAs ?? "throw" /* Throw */;
|
|
215
|
+
if (treatment === "throw" /* Throw */) {
|
|
216
|
+
throw new Error(`Abstract file not found: ${path}`);
|
|
217
|
+
}
|
|
218
|
+
return treatment === "folder" /* Folder */ ? "" : extname(path).slice(1).toLowerCase();
|
|
219
|
+
}
|
|
220
|
+
function getFile(params) {
|
|
221
|
+
const {
|
|
222
|
+
app,
|
|
223
|
+
isCaseInsensitive,
|
|
224
|
+
pathOrFile,
|
|
225
|
+
shouldIncludeNonExisting
|
|
226
|
+
} = params;
|
|
227
|
+
let file = getFileOrNull(normalizeOptionalProperties({
|
|
228
|
+
app,
|
|
229
|
+
isCaseInsensitive,
|
|
230
|
+
pathOrFile
|
|
231
|
+
}));
|
|
232
|
+
if (!file) {
|
|
233
|
+
if (shouldIncludeNonExisting) {
|
|
234
|
+
file = createTFileInstance(app, pathOrFile);
|
|
235
|
+
} else {
|
|
236
|
+
throw new Error(`File not found: ${pathOrFile}`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return file;
|
|
240
|
+
}
|
|
241
|
+
function getFileOrNull(params) {
|
|
242
|
+
const {
|
|
243
|
+
app,
|
|
244
|
+
isCaseInsensitive,
|
|
245
|
+
pathOrFile
|
|
246
|
+
} = params;
|
|
247
|
+
const file = getAbstractFileOrNull(normalizeOptionalProperties({
|
|
248
|
+
app,
|
|
249
|
+
isCaseInsensitive,
|
|
250
|
+
pathOrFile
|
|
251
|
+
}));
|
|
252
|
+
return isFile(file) ? file : null;
|
|
253
|
+
}
|
|
254
|
+
function getFileSystemType(abstractFile) {
|
|
255
|
+
if (isFile(abstractFile)) {
|
|
256
|
+
return "file" /* File */;
|
|
257
|
+
}
|
|
258
|
+
if (isFolder(abstractFile)) {
|
|
259
|
+
return "folder" /* Folder */;
|
|
260
|
+
}
|
|
261
|
+
throw new Error("Abstract file is not a file or a folder");
|
|
262
|
+
}
|
|
263
|
+
function getFolder(params) {
|
|
264
|
+
const {
|
|
265
|
+
app,
|
|
266
|
+
isCaseInsensitive,
|
|
267
|
+
pathOrFolder,
|
|
268
|
+
shouldIncludeNonExisting
|
|
269
|
+
} = params;
|
|
270
|
+
let folder = getFolderOrNull(normalizeOptionalProperties({
|
|
271
|
+
app,
|
|
272
|
+
isCaseInsensitive,
|
|
273
|
+
pathOrFolder
|
|
274
|
+
}));
|
|
275
|
+
if (!folder) {
|
|
276
|
+
if (shouldIncludeNonExisting) {
|
|
277
|
+
folder = createTFolderInstance(app, pathOrFolder);
|
|
278
|
+
} else {
|
|
279
|
+
throw new Error(`Folder not found: ${pathOrFolder}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return folder;
|
|
283
|
+
}
|
|
284
|
+
function getFolderOrNull(params) {
|
|
285
|
+
const {
|
|
286
|
+
app,
|
|
287
|
+
isCaseInsensitive,
|
|
288
|
+
pathOrFolder
|
|
289
|
+
} = params;
|
|
290
|
+
const folder = getAbstractFileOrNull(normalizeOptionalProperties({
|
|
291
|
+
app,
|
|
292
|
+
isCaseInsensitive,
|
|
293
|
+
pathOrFile: pathOrFolder
|
|
294
|
+
}));
|
|
295
|
+
return isFolder(folder) ? folder : null;
|
|
296
|
+
}
|
|
297
|
+
function getMarkdownFiles(params) {
|
|
298
|
+
const {
|
|
299
|
+
app,
|
|
300
|
+
isRecursive,
|
|
301
|
+
pathOrFolder
|
|
302
|
+
} = params;
|
|
303
|
+
const folder = getFolder({
|
|
304
|
+
app,
|
|
305
|
+
pathOrFolder
|
|
306
|
+
});
|
|
307
|
+
let markdownFiles = [];
|
|
308
|
+
if (isRecursive) {
|
|
309
|
+
Vault.recurseChildren(folder, (abstractFile) => {
|
|
310
|
+
if (isMarkdownFile(abstractFile) && abstractFile instanceof TFile) {
|
|
311
|
+
markdownFiles.push(abstractFile);
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
} else {
|
|
315
|
+
markdownFiles = folder.children.filter((file) => isMarkdownFile(file));
|
|
316
|
+
}
|
|
317
|
+
markdownFiles = markdownFiles.sort((a, b) => a.path.localeCompare(b.path));
|
|
318
|
+
return markdownFiles;
|
|
319
|
+
}
|
|
320
|
+
async function getOrCreateFile(app, path) {
|
|
321
|
+
const file = getFileOrNull({
|
|
322
|
+
app,
|
|
323
|
+
pathOrFile: path
|
|
324
|
+
});
|
|
325
|
+
if (file) {
|
|
326
|
+
return file;
|
|
327
|
+
}
|
|
328
|
+
const folderPath = parentFolderPath(path);
|
|
329
|
+
await getOrCreateFolder(app, folderPath);
|
|
330
|
+
return await app.vault.create(path, "");
|
|
331
|
+
}
|
|
332
|
+
async function getOrCreateFolder(app, path) {
|
|
333
|
+
const folder = getFolderOrNull({
|
|
334
|
+
app,
|
|
335
|
+
pathOrFolder: path
|
|
336
|
+
});
|
|
337
|
+
return folder ?? await app.vault.createFolder(path);
|
|
338
|
+
}
|
|
339
|
+
function getPath(app, pathOrFile) {
|
|
340
|
+
if (isAbstractFile(pathOrFile)) {
|
|
341
|
+
return pathOrFile.path;
|
|
342
|
+
}
|
|
343
|
+
const file = getAbstractFileOrNull({
|
|
344
|
+
app,
|
|
345
|
+
pathOrFile
|
|
346
|
+
});
|
|
347
|
+
return file ? file.path : getResolvedPath(pathOrFile);
|
|
348
|
+
}
|
|
349
|
+
function isAbstractFile(file) {
|
|
350
|
+
return file instanceof TAbstractFile;
|
|
351
|
+
}
|
|
352
|
+
function isBaseFile(pathOrFile) {
|
|
353
|
+
return checkExtension(pathOrFile, BASE_FILE_EXTENSION);
|
|
354
|
+
}
|
|
355
|
+
function isCanvasFile(pathOrFile) {
|
|
356
|
+
return checkExtension(pathOrFile, CANVAS_FILE_EXTENSION);
|
|
357
|
+
}
|
|
358
|
+
function isFile(file) {
|
|
359
|
+
return file instanceof TFile;
|
|
360
|
+
}
|
|
361
|
+
function isFolder(file) {
|
|
362
|
+
return file instanceof TFolder;
|
|
363
|
+
}
|
|
364
|
+
function isMarkdownFile(pathOrFile) {
|
|
365
|
+
return checkExtension(pathOrFile, MARKDOWN_FILE_EXTENSION);
|
|
366
|
+
}
|
|
367
|
+
function isNote(pathOrFile) {
|
|
368
|
+
return isMarkdownFile(pathOrFile) || isCanvasFile(pathOrFile) || isBaseFile(pathOrFile);
|
|
369
|
+
}
|
|
370
|
+
function isTreatedAsAttachment(params) {
|
|
371
|
+
const {
|
|
372
|
+
app,
|
|
373
|
+
attachmentExtensions,
|
|
374
|
+
pathOrFile
|
|
375
|
+
} = params;
|
|
376
|
+
if (pathOrFile === null || isFolder(pathOrFile)) {
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
const lowerCaseName = getName(pathOrFile).toLowerCase();
|
|
380
|
+
return attachmentExtensions.some((extension) => {
|
|
381
|
+
const trimmedEntry = extension.trim();
|
|
382
|
+
if (isPropertyEntry(trimmedEntry)) {
|
|
383
|
+
return !!app && isMarkdownFile(pathOrFile) && checkPropertyEntryMatches({
|
|
384
|
+
entry: trimmedEntry,
|
|
385
|
+
frontmatter: getCachedFrontmatter({ app, pathOrFile })
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
const normalizedExtension = extension.trim().replace(/^\.+/, "").toLowerCase();
|
|
389
|
+
return normalizedExtension !== "" && lowerCaseName.endsWith(`.${normalizedExtension}`);
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
function trimMarkdownExtension(file) {
|
|
393
|
+
return isMarkdownFile(file) ? trimEnd({
|
|
394
|
+
$string: file.path,
|
|
395
|
+
suffix: `.${MARKDOWN_FILE_EXTENSION}`
|
|
396
|
+
}) : file.path;
|
|
397
|
+
}
|
|
398
|
+
function getCachedFrontmatter(params) {
|
|
399
|
+
const file = getAbstractFileOrNull(params);
|
|
400
|
+
return isFile(file) ? params.app.metadataCache.getFileCache(file)?.frontmatter ?? null : null;
|
|
401
|
+
}
|
|
402
|
+
function getFileInternal(params) {
|
|
403
|
+
const {
|
|
404
|
+
app,
|
|
405
|
+
path
|
|
406
|
+
} = params;
|
|
407
|
+
let { isCaseInsensitive } = params;
|
|
408
|
+
isCaseInsensitive ??= getDataAdapterEx(app).insensitive;
|
|
409
|
+
if (isCaseInsensitive) {
|
|
410
|
+
const caseInsensitiveFileIndex = getCaseInsensitiveFileIndex(app);
|
|
411
|
+
return caseInsensitiveFileIndex ? caseInsensitiveFileIndex.get(path) : app.vault.getAbstractFileByPathInsensitive(path);
|
|
412
|
+
}
|
|
413
|
+
return app.vault.getAbstractFileByPath(path);
|
|
414
|
+
}
|
|
415
|
+
function getName(pathOrFile) {
|
|
416
|
+
return isAbstractFile(pathOrFile) ? pathOrFile.name : basename(pathOrFile);
|
|
417
|
+
}
|
|
418
|
+
function getResolvedPath(path) {
|
|
419
|
+
return normalizePath(resolve("/", path));
|
|
420
|
+
}
|
|
421
|
+
export {
|
|
422
|
+
BASE_FILE_EXTENSION,
|
|
423
|
+
CANVAS_FILE_EXTENSION,
|
|
424
|
+
FileSystemType,
|
|
425
|
+
MARKDOWN_FILE_EXTENSION,
|
|
426
|
+
MissingPathTreatment,
|
|
427
|
+
asArrayOfFiles,
|
|
428
|
+
asArrayOfFolders,
|
|
429
|
+
asFile,
|
|
430
|
+
asFileOrNull,
|
|
431
|
+
asFolder,
|
|
432
|
+
asFolderOrNull,
|
|
433
|
+
checkExtension,
|
|
434
|
+
doesExist,
|
|
435
|
+
getAbstractFile,
|
|
436
|
+
getAbstractFileOrNull,
|
|
437
|
+
getBasename,
|
|
438
|
+
getExtension,
|
|
439
|
+
getFile,
|
|
440
|
+
getFileOrNull,
|
|
441
|
+
getFileSystemType,
|
|
442
|
+
getFolder,
|
|
443
|
+
getFolderOrNull,
|
|
444
|
+
getMarkdownFiles,
|
|
445
|
+
getOrCreateFile,
|
|
446
|
+
getOrCreateFolder,
|
|
447
|
+
getPath,
|
|
448
|
+
isAbstractFile,
|
|
449
|
+
isBaseFile,
|
|
450
|
+
isCanvasFile,
|
|
451
|
+
isFile,
|
|
452
|
+
isFolder,
|
|
453
|
+
isMarkdownFile,
|
|
454
|
+
isNote,
|
|
455
|
+
isTreatedAsAttachment,
|
|
456
|
+
trimMarkdownExtension
|
|
457
|
+
};
|
|
458
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2ZpbGUtc3lzdGVtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB7QGxpbmsgVEFic3RyYWN0RmlsZX0sIHtAbGluayBURmlsZX0sIGFuZCB7QGxpbmsgVEZvbGRlcn0gaW5zdGFuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBleHRuYW1lLFxuICByZXNvbHZlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IHRyaW1FbmQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRGaWxlSW5zdGFuY2UsXG4gIGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSxcbiAgZ2V0RGF0YUFkYXB0ZXJFeCxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZSxcbiAgVEZvbGRlcixcbiAgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBnZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXggfSBmcm9tICcuL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC50cyc7XG5pbXBvcnQge1xuICBjaGVja1Byb3BlcnR5RW50cnlNYXRjaGVzLFxuICBpc1Byb3BlcnR5RW50cnlcbn0gZnJvbSAnLi9wcm9wZXJ0eS1lbnRyeS50cyc7XG5cbi8qKlxuICogQSBmaWxlIGV4dGVuc2lvbiBmb3IgYGJhc2VgIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgQkFTRV9GSUxFX0VYVEVOU0lPTiA9ICdiYXNlJztcblxuLyoqXG4gKiBBIGZpbGUgZXh0ZW5zaW9uIGZvciBgY2FudmFzYCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IENBTlZBU19GSUxFX0VYVEVOU0lPTiA9ICdjYW52YXMnO1xuXG4vKipcbiAqIEEgZmlsZSBleHRlbnNpb24gZm9yIGBtYXJrZG93bmAgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiA9ICdtZCc7XG5cbi8qKlxuICogQSB0eXBlIG9mIGZpbGUgc3lzdGVtIG9iamVjdC5cbiAqL1xuZXhwb3J0IGVudW0gRmlsZVN5c3RlbVR5cGUge1xuICAvKipcbiAgICogQSBmaWxlLlxuICAgKi9cbiAgRmlsZSA9ICdmaWxlJyxcbiAgLyoqXG4gICAqIEEgZm9sZGVyLlxuICAgKi9cbiAgRm9sZGVyID0gJ2ZvbGRlcidcbn1cbi8qKlxuICogSG93IHtAbGluayBnZXRCYXNlbmFtZX0gYW5kIHtAbGluayBnZXRFeHRlbnNpb259IHNob3VsZCBhbnN3ZXIgZm9yIGEgcGF0aCB0aGF0IHJlc29sdmVzIHRvIG5vdGhpbmcgaW4gdGhlIHZhdWx0LlxuICpcbiAqIE5vdGhpbmcgaW4gdGhlIHZhdWx0IHNheXMgd2hldGhlciBhbiB1bnJlc29sdmVkIGBhbHBoYS5icmF2b2AgbmFtZXMgYSBkb3R0ZWQgZm9sZGVyIG9yIGEgYC5icmF2b2AgZmlsZSwgc28gdGhlIGNhbGxlciBkZWNpZGVzLlxuICovXG5leHBvcnQgZW51bSBNaXNzaW5nUGF0aFRyZWF0bWVudCB7XG4gIC8qKlxuICAgKiBSZWFkIHRoZSBwYXRoIGFzIGEgZmlsZSBwYXRoOiBgYWxwaGEuYnJhdm9gIGlzIGJhc2VuYW1lIGBhbHBoYWAgcGx1cyBleHRlbnNpb24gYGJyYXZvYC5cbiAgICovXG4gIEZpbGUgPSAnZmlsZScsXG4gIC8qKlxuICAgKiBSZWFkIHRoZSBwYXRoIGFzIGEgZm9sZGVyIHBhdGg6IGBhbHBoYS5icmF2b2AgaXMgYmFzZW5hbWUgYGFscGhhLmJyYXZvYCB3aXRoIG5vIGV4dGVuc2lvbi5cbiAgICovXG4gIEZvbGRlciA9ICdmb2xkZXInLFxuICAvKipcbiAgICogVGhyb3cgaW5zdGVhZCBvZiBndWVzc2luZy4gVGhpcyBpcyB0aGUgZGVmYXVsdC5cbiAgICovXG4gIFRocm93ID0gJ3Rocm93J1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBkb2VzRXhpc3R9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvZXNFeGlzdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gV2hlbiBgdW5kZWZpbmVkYCBvciBub3Qgc3BlY2lmaWVkLCB0aGUgYmVoYXZpb3IgaXMgZGV0ZXJtaW5lZCBieSB0aGUgYWN0dWFsIGZpbGUgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byBjaGVjay5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGZpbGUgc3lzdGVtIG9iamVjdCB0byBjaGVjay4gRGVmYXVsdCBpcyBgdW5kZWZpbmVkYC5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBGaWxlU3lzdGVtVHlwZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRBYnN0cmFjdEZpbGVPck51bGxQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIFdoZW4gYHVuZGVmaW5lZGAgb3Igbm90IHNwZWNpZmllZCwgdGhlIGJlaGF2aW9yIGlzIGRldGVybWluZWQgYnkgdGhlIGFjdHVhbCBmaWxlIHN5c3RlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZXRyaWV2ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGU7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldEFic3RyYWN0RmlsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QWJzdHJhY3RGaWxlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBXaGVuIGB1bmRlZmluZWRgIG9yIG5vdCBzcGVjaWZpZWQsIHRoZSBiZWhhdmlvciBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBhY3R1YWwgZmlsZSBzeXN0ZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gcmV0cmlldmUgdGhlIGFic3RyYWN0IGZpbGUgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRCYXNlbmFtZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QmFzZW5hbWVQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIGdldCB0aGUgYmFzZSBuYW1lIG9mLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlO1xuXG4gIC8qKlxuICAgKiBIb3cgdG8gYW5zd2VyIHdoZW4gdGhlIHBhdGggcmVzb2x2ZXMgdG8gbm90aGluZyBpbiB0aGUgdmF1bHQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvd2BcbiAgICovXG4gIHJlYWRvbmx5IHdoZW5NaXNzaW5nVHJlYXRBcz86IE1pc3NpbmdQYXRoVHJlYXRtZW50O1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRFeHRlbnNpb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEV4dGVuc2lvblBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gZ2V0IHRoZSBleHRlbnNpb24gb2YuXG4gICAqL1xuICByZWFkb25seSBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGU7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBhbnN3ZXIgd2hlbiB0aGUgcGF0aCByZXNvbHZlcyB0byBub3RoaW5nIGluIHRoZSB2YXVsdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYE1pc3NpbmdQYXRoVHJlYXRtZW50LlRocm93YFxuICAgKi9cbiAgcmVhZG9ubHkgd2hlbk1pc3NpbmdUcmVhdEFzPzogTWlzc2luZ1BhdGhUcmVhdG1lbnQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldEZpbGVPck51bGx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEZpbGVPck51bGxQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIFdoZW4gYHVuZGVmaW5lZGAgb3Igbm90IHNwZWNpZmllZCwgdGhlIGJlaGF2aW9yIGlzIGRldGVybWluZWQgYnkgdGhlIGFjdHVhbCBmaWxlIHN5c3RlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRGaWxlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRGaWxlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBXaGVuIGB1bmRlZmluZWRgIG9yIG5vdCBzcGVjaWZpZWQsIHRoZSBiZWhhdmlvciBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBhY3R1YWwgZmlsZSBzeXN0ZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmV0cmlldmUgdGhlIGZpbGUgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gICAqICBJZiBgdHJ1ZWAsIGEgbmV3IGZpbGUgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gICAqICBJZiBgZmFsc2VgLCBhbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIGZpbGUgaXMgbm90IGZvdW5kLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRJbmNsdWRlTm9uRXhpc3Rpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRGb2xkZXJPck51bGx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEZvbGRlck9yTnVsbFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gV2hlbiBgdW5kZWZpbmVkYCBvciBub3Qgc3BlY2lmaWVkLCB0aGUgYmVoYXZpb3IgaXMgZGV0ZXJtaW5lZCBieSB0aGUgYWN0dWFsIGZpbGUgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBmb2xkZXIgdG8gcmV0cmlldmUgdGhlIGZvbGRlciBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRm9sZGVyOiBudWxsIHwgUGF0aE9yRm9sZGVyO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRGb2xkZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEZvbGRlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gV2hlbiBgdW5kZWZpbmVkYCBvciBub3Qgc3BlY2lmaWVkLCB0aGUgYmVoYXZpb3IgaXMgZGV0ZXJtaW5lZCBieSB0aGUgYWN0dWFsIGZpbGUgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBmb2xkZXIgaWRlbnRpZmllci5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBmb2xkZXIgdG8gbm90IGV4aXN0LlxuICAgKiAgSWYgYHRydWVgLCBhIG5ldyBmb2xkZXIgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gICAqICBJZiBgZmFsc2VgLCBhbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIGZvbGRlciBpcyBub3QgZm91bmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldE1hcmtkb3duRmlsZXN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldE1hcmtkb3duRmlsZXNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byByZWN1cnNpdmVseSBzZWFyY2ggZm9yIG1hcmtkb3duIGZpbGVzIHdpdGhpbiBzdWJmb2xkZXJzLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IGlzUmVjdXJzaXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgZm9sZGVyIHRvIHJldHJpZXZlIHRoZSBtYXJrZG93biBmaWxlcyBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXI7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGlzVHJlYXRlZEFzQXR0YWNobWVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXNUcmVhdGVkQXNBdHRhY2htZW50UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UsIHdoaWNoIGxldHMgYSBgcHJvcGVydHk6YCBlbnRyeSBvZiB7QGxpbmsgYXR0YWNobWVudEV4dGVuc2lvbnN9IHJlYWQgdGhlIGZpbGUncyBmcm9udG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZS5cbiAgICogV2l0aG91dCBpdCwgYHByb3BlcnR5OmAgZW50cmllcyBtYXRjaCBub3RoaW5nIGFuZCBvbmx5IHRoZSBleHRlbnNpb24gZW50cmllcyBhcmUgZXZhbHVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwPzogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZW50cmllcyB0aGF0IG1hcmsgYSBmaWxlIGFzIGFuIGF0dGFjaG1lbnQsIGUuZy4gYFsnLmV4Y2FsaWRyYXcubWQnLCAncHJvcGVydHk6ZXhjYWxpZHJhdy1wbHVnaW4nXWAuXG4gICAqXG4gICAqIEFuIGV4dGVuc2lvbiBlbnRyeSBpcyBub3JtYWxpemVkIGJlZm9yZSBtYXRjaGluZzogc3Vycm91bmRpbmcgd2hpdGVzcGFjZSBpcyB0cmltbWVkLCBhIHNpbmdsZSBsZWFkaW5nIGRvdCBpcyBlbmZvcmNlZCwgYW5kIHRoZSBjb21wYXJpc29uIGlzXG4gICAqIGNhc2UtaW5zZW5zaXRpdmUuIEVtcHR5IGVudHJpZXMgYXJlIGlnbm9yZWQuXG4gICAqXG4gICAqIEEgYHByb3BlcnR5Om5hbWVgIGVudHJ5IG1hdGNoZXMgYSBtYXJrZG93biBmaWxlIHdob3NlIGZyb250bWF0dGVyIGhhcyBgbmFtZWAsIGFuZCBgcHJvcGVydHk6bmFtZT12YWx1ZWAgb25lIHdob3NlIGBuYW1lYCByZW5kZXJzIGFzIGB2YWx1ZWAgXHUyMDE0IHRoZVxuICAgKiBzYW1lIHN5bnRheCBub3RlIHByaW9yaXRpZXMgdXNlLiBJdCBpcyBldmFsdWF0ZWQgb25seSB3aGVuIHtAbGluayBhcHB9IGlzIGdpdmVuLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0YWNobWVudEV4dGVuc2lvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBmaWxlIHRvIGNsYXNzaWZ5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZTtcbn1cblxuLyoqXG4gKiBBIHBhdGggb3IgYW4gYWJzdHJhY3QgZmlsZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yQWJzdHJhY3RGaWxlID0gc3RyaW5nIHwgVEFic3RyYWN0RmlsZTtcblxuLyoqXG4gKiBBIHBhdGggb3IgYSBmaWxlLlxuICovXG5leHBvcnQgdHlwZSBQYXRoT3JGaWxlID0gc3RyaW5nIHwgVEZpbGU7XG5cbi8qKlxuICogQSBwYXRoIG9yIGEgZm9sZGVyLlxuICovXG5leHBvcnQgdHlwZSBQYXRoT3JGb2xkZXIgPSBzdHJpbmcgfCBURm9sZGVyO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXRDYWNoZWRGcm9udG1hdHRlcn0uXG4gKi9cbmludGVyZmFjZSBHZXRDYWNoZWRGcm9udG1hdHRlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9yIGZpbGUgd2hvc2UgZnJvbnRtYXR0ZXIgdG8gcmVhZC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0RmlsZUludGVybmFsfS5cbiAqL1xuaW50ZXJmYWNlIEdldEZpbGVJbnRlcm5hbFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gV2hlbiBgdW5kZWZpbmVkYCBvciBub3Qgc3BlY2lmaWVkLCB0aGUgYmVoYXZpb3IgaXMgZGV0ZXJtaW5lZCBieSB0aGUgYWN0dWFsIGZpbGUgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byByZXRyaWV2ZSB0aGUgYWJzdHJhY3QgZmlsZSBmb3IuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgb2YgYWJzdHJhY3QgZmlsZXMgdG8gYW4gYXJyYXkgb2YgZmlsZXMuXG4gKlxuICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgYWJzdHJhY3QgZmlsZXMgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBhcnJheSBvZiBmaWxlcy5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgYW55IG9mIHRoZSBhYnN0cmFjdCBmaWxlcyBhcmUgbm90IGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNBcnJheU9mRmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogVEZpbGVbXSB7XG4gIHJldHVybiBhYnN0cmFjdEZpbGVzLm1hcCgoYWJzdHJhY3RGaWxlKSA9PiBhc0ZpbGUoYWJzdHJhY3RGaWxlKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgb2YgYWJzdHJhY3QgZmlsZXMgdG8gYW4gYXJyYXkgb2YgZm9sZGVycy5cbiAqXG4gKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGFycmF5IG9mIGZvbGRlcnMuXG4gKiBAdGhyb3dzIEVycm9yIGlmIGFueSBvZiB0aGUgYWJzdHJhY3QgZmlsZXMgYXJlIG5vdCBmb2xkZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBURm9sZGVyW10ge1xuICByZXR1cm4gYWJzdHJhY3RGaWxlcy5tYXAoKGFic3RyYWN0RmlsZSkgPT4gYXNGb2xkZXIoYWJzdHJhY3RGaWxlKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYWJzdHJhY3QgZmlsZSB0byBhIGZpbGUuXG4gKlxuICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgZmlsZS5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGFic3RyYWN0IGZpbGUgaXMgbm90IGEgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzRmlsZShhYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlKTogVEZpbGUge1xuICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUoYXNGaWxlT3JOdWxsKGFic3RyYWN0RmlsZSksICdBYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZpbGUnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhYnN0cmFjdCBmaWxlIHRvIGEgZmlsZSBvciBgbnVsbGAuXG4gKlxuICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBvciBgbnVsbGAuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0ZpbGVPck51bGwoYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZSk6IG51bGwgfCBURmlsZSB7XG4gIGlmIChhYnN0cmFjdEZpbGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAoYWJzdHJhY3RGaWxlIGluc3RhbmNlb2YgVEZpbGUpIHtcbiAgICByZXR1cm4gYWJzdHJhY3RGaWxlO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3QgZmlsZSBpcyBub3QgYSBmaWxlJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYWJzdHJhY3QgZmlsZSB0byBhIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBmb2xkZXIuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzRm9sZGVyKGFic3RyYWN0RmlsZTogbnVsbCB8IFRBYnN0cmFjdEZpbGUpOiBURm9sZGVyIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKGFzRm9sZGVyT3JOdWxsKGFic3RyYWN0RmlsZSksICdBYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlcicpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIGFic3RyYWN0IGZpbGUgdG8gYSBmb2xkZXIgb3IgYG51bGxgLlxuICpcbiAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGZvbGRlciBvciBgbnVsbGAuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzRm9sZGVyT3JOdWxsKGFic3RyYWN0RmlsZTogbnVsbCB8IFRBYnN0cmFjdEZpbGUpOiBudWxsIHwgVEZvbGRlciB7XG4gIGlmIChhYnN0cmFjdEZpbGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAoYWJzdHJhY3RGaWxlIGluc3RhbmNlb2YgVEZvbGRlcikge1xuICAgIHJldHVybiBhYnN0cmFjdEZpbGU7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdBYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlcicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gcGF0aCBvciBmaWxlIGhhcyB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gVGhlIGV4dGVuc2lvbiB0byBjb21wYXJlIGFnYWluc3QuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgcGF0aCBvciBmaWxlIGhhcyB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0V4dGVuc2lvbihwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yQWJzdHJhY3RGaWxlLCBleHRlbnNpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBGb3IgYSBzdHJpbmcgcGF0aCwgY29tcGFyZSB0aGUgcGF0aCdzIG93biBleHRlbnNpb24gaW5zdGVhZCBvZiByZXNvbHZpbmcgdGhlIGZpbGUuXG4gIC8vIFJlc29sdmluZyBhIHN0cmluZyBwYXRoIGlzIE8odmF1bHQpIG9uIGEgbWlzcyBvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbS5cbiAgLy8gVGhhdCBtaXNzIGlzIHRoZSBob3QgcGF0aCBkdXJpbmcgZGVsZXRpb24gY2FzY2FkZXMuXG4gIC8vIE9ic2lkaWFuIGxvd2VyY2FzZXMgYSBmaWxlJ3MgY2Fub25pY2FsIGV4dGVuc2lvbiwgc28gY29tcGFyZSBjYXNlLWluc2Vuc2l0aXZlbHkuXG4gIHJldHVybiBpc0ZpbGUocGF0aE9yRmlsZSkgPyBwYXRoT3JGaWxlLmV4dGVuc2lvbiA9PT0gZXh0ZW5zaW9uIDogdHlwZW9mIHBhdGhPckZpbGUgPT09ICdzdHJpbmcnICYmIGV4dG5hbWUocGF0aE9yRmlsZSkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSA9PT0gZXh0ZW5zaW9uO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gcGF0aCBleGlzdHMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggZXhpc3RzLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRvZXNFeGlzdChwYXJhbXM6IERvZXNFeGlzdFBhcmFtcyk6IGJvb2xlYW4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIGlzQ2FzZUluc2Vuc2l0aXZlLFxuICAgIHBhdGgsXG4gICAgdHlwZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdldEFic3RyYWN0RmlsZU9yTnVsbFBhcmFtcz4oe1xuICAgIGFwcCxcbiAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICBwYXRoT3JGaWxlOiBwYXRoXG4gIH0pKTtcbiAgcmV0dXJuIGFic3RyYWN0RmlsZSAhPT0gbnVsbCAmJiAodHlwZSA9PT0gdW5kZWZpbmVkIHx8IGdldEZpbGVTeXN0ZW1UeXBlKGFic3RyYWN0RmlsZSkgPT09IHR5cGUpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEFic3RyYWN0RmlsZSBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmV0cmlldmFsLlxuICogQHJldHVybnMgVGhlIGFic3RyYWN0IGZpbGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZShwYXJhbXM6IEdldEFic3RyYWN0RmlsZVBhcmFtcyk6IFRBYnN0cmFjdEZpbGUge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIGlzQ2FzZUluc2Vuc2l0aXZlLFxuICAgIHBhdGhPckZpbGVcbiAgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIGdldEFic3RyYWN0RmlsZU9yTnVsbChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8R2V0QWJzdHJhY3RGaWxlT3JOdWxsUGFyYW1zPih7XG4gICAgICBhcHAsXG4gICAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICAgIHBhdGhPckZpbGVcbiAgICB9KSksXG4gICAgYEFic3RyYWN0IGZpbGUgbm90IGZvdW5kOiAke3BhdGhPckZpbGUgYXMgc3RyaW5nfWBcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYWJzdHJhY3QgZmlsZSBvciBgbnVsbGAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgYWJzdHJhY3QgZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXRyaWV2YWwuXG4gKiBAcmV0dXJucyBUaGUgYWJzdHJhY3QgZmlsZSBpZiBmb3VuZCwgb3RoZXJ3aXNlIGBudWxsYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZU9yTnVsbChwYXJhbXM6IEdldEFic3RyYWN0RmlsZU9yTnVsbFBhcmFtcyk6IG51bGwgfCBUQWJzdHJhY3RGaWxlIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICBwYXRoT3JGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGlmIChwYXRoT3JGaWxlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoaXNBYnN0cmFjdEZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICBpZiAoaXNGaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgICByZXR1cm4gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgocGF0aE9yRmlsZS5wYXRoKSA/PyBwYXRoT3JGaWxlO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgZGVmZW5zaXZlIGZhbGxiYWNrLiAqL1xuICAgIHJldHVybiBpc0ZvbGRlcihwYXRoT3JGaWxlKSA/IChhcHAudmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKHBhdGhPckZpbGUucGF0aCkgPz8gcGF0aE9yRmlsZSkgOiAoYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChwYXRoT3JGaWxlLnBhdGgpID8/IHBhdGhPckZpbGUpO1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0RmlsZUludGVybmFsKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxHZXRGaWxlSW50ZXJuYWxQYXJhbXM+KHtcbiAgICBhcHAsXG4gICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgcGF0aDogcGF0aE9yRmlsZVxuICB9KSk7XG5cbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IGdldFJlc29sdmVkUGF0aChwYXRoT3JGaWxlKTtcblxuICByZXR1cm4gcmVzb2x2ZWRQYXRoID09PSBwYXRoT3JGaWxlXG4gICAgPyBudWxsXG4gICAgOiBnZXRGaWxlSW50ZXJuYWwobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdldEZpbGVJbnRlcm5hbFBhcmFtcz4oe1xuICAgICAgYXBwLFxuICAgICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgICBwYXRoOiByZXNvbHZlZFBhdGhcbiAgICB9KSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSBuYW1lIG9mIHRoZSBnaXZlbiBgcGF0aE9yRmlsZWA6IGEgZmlsZSdzIG5hbWUgd2l0aG91dCBpdHMgZXh0ZW5zaW9uLCBhIGZvbGRlcidzIGZ1bGwgbmFtZS5cbiAqXG4gKiBVbmxpa2UgYGJhc2VuYW1lYCBmcm9tIGBwYXRoLnRzYCwgd2hpY2ggaXMgYSBwdXJlIHN0cmluZyBmdW5jdGlvbiwgdGhpcyByZXNvbHZlcyB0aGUgYXJndW1lbnQgYWdhaW5zdCB0aGUgdmF1bHQgZmlyc3QuIFRoYXQgaXMgd2hhdCBsZXRzIGEgZm9sZGVyIHdob3NlIG5hbWVcbiAqIGNvbnRhaW5zIGEgZG90IGFuc3dlciB3aXRoIGl0cyB3aG9sZSBuYW1lIGluc3RlYWQgb2YgYSBib2d1cyBleHRlbnNpb24gc3BsaXQsIGFuZCBpdCBpcyB3aHkgYSBjYWxsZXIgaGFuZGxpbmcgYm90aCBraW5kcyBubyBsb25nZXIgaGFzIHRvIGJyYW5jaCBvblxuICoge0BsaW5rIGlzRmlsZX0gaXRzZWxmIFx1MjAxNCBhIGZvbGRlciBoYXMgbm8gYGJhc2VuYW1lYCBvZiBpdHMgb3duLlxuICpcbiAqIEEgcGF0aCB0aGF0IHJlc29sdmVzIHRvIG5vdGhpbmcgaGFzIG5vIGFuc3dlciB0byBsb29rIHVwLCBzbyB7QGxpbmsgR2V0QmFzZW5hbWVQYXJhbXMud2hlbk1pc3NpbmdUcmVhdEFzfSBkZWNpZGVzIHdoYXQgaGFwcGVucy4gSXQgZGVmYXVsdHMgdG9cbiAqIHtAbGluayBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvd30gcmF0aGVyIHRoYW4gdG8gYSBndWVzczogYGFscGhhLmJyYXZvYCBtYXkgbmFtZSBhIGRvdHRlZCBmb2xkZXIgb3IgYSBgLmJyYXZvYCBmaWxlLCBhbmQgbm90aGluZyBpbiB0aGUgdmF1bHQgc2F5c1xuICogd2hpY2gsIHNvIGEgc2lsZW50bHkgd3JvbmcgYW5zd2VyIGlzIHdvcnNlIHRoYW4gYW4gZXJyb3IuIFBhc3Mge0BsaW5rIE1pc3NpbmdQYXRoVHJlYXRtZW50LkZpbGV9IGZvciB0aGUgYGNoZWNrRXh0ZW5zaW9uYCByZWFkaW5nIG9mIGEgYmFyZSBzdHJpbmcsIG9yXG4gKiB7QGxpbmsgTWlzc2luZ1BhdGhUcmVhdG1lbnQuRm9sZGVyfSBmb3IgdGhlIG90aGVyIG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXRyaWV2YWwuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBgcGF0aE9yRmlsZWAuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBwYXRoIHJlc29sdmVzIHRvIG5vdGhpbmcgYW5kIGB3aGVuTWlzc2luZ1RyZWF0QXNgIGlzIHtAbGluayBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvd30gKHRoZSBkZWZhdWx0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VuYW1lKHBhcmFtczogR2V0QmFzZW5hbWVQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGUsXG4gICAgd2hlbk1pc3NpbmdUcmVhdEFzXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgYWJzdHJhY3RGaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZVxuICB9KTtcblxuICBpZiAoaXNGaWxlKGFic3RyYWN0RmlsZSkpIHtcbiAgICByZXR1cm4gYWJzdHJhY3RGaWxlLmJhc2VuYW1lO1xuICB9XG5cbiAgaWYgKGlzRm9sZGVyKGFic3RyYWN0RmlsZSkpIHtcbiAgICByZXR1cm4gYWJzdHJhY3RGaWxlLm5hbWU7XG4gIH1cblxuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGNvbnN0IHRyZWF0bWVudCA9IHdoZW5NaXNzaW5nVHJlYXRBcyA/PyBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvdztcblxuICBpZiAodHJlYXRtZW50ID09PSBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvdykge1xuICAgIHRocm93IG5ldyBFcnJvcihgQWJzdHJhY3QgZmlsZSBub3QgZm91bmQ6ICR7cGF0aH1gKTtcbiAgfVxuXG4gIHJldHVybiB0cmVhdG1lbnQgPT09IE1pc3NpbmdQYXRoVHJlYXRtZW50LkZvbGRlciA/IGJhc2VuYW1lKHBhdGgpIDogYmFzZW5hbWUocGF0aCwgZXh0bmFtZShwYXRoKSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBnaXZlbiBgcGF0aE9yRmlsZWA6IGEgZmlsZSdzIGV4dGVuc2lvbiB3aXRob3V0IHRoZSBsZWFkaW5nIGRvdCwgYW5kIGFuIGVtcHR5IHN0cmluZyBmb3IgYSBmb2xkZXIuXG4gKlxuICogVW5saWtlIGBleHRuYW1lYCBmcm9tIGBwYXRoLnRzYCwgd2hpY2ggaXMgYSBwdXJlIHN0cmluZyBmdW5jdGlvbiwgdGhpcyByZXNvbHZlcyB0aGUgYXJndW1lbnQgYWdhaW5zdCB0aGUgdmF1bHQgZmlyc3QsIHNvIGEgZm9sZGVyIHdob3NlIG5hbWUgY29udGFpbnMgYSBkb3RcbiAqIGFuc3dlcnMgd2l0aCBhbiBlbXB0eSBzdHJpbmcgcmF0aGVyIHRoYW4gYSBib2d1cyBleHRlbnNpb24uIEEgZm9sZGVyIGhhcyBubyBgZXh0ZW5zaW9uYCBvZiBpdHMgb3duLCB3aGljaCBpcyB3aHkgYSBjYWxsZXIgaGFuZGxpbmcgYm90aCBraW5kcyB3b3VsZFxuICogb3RoZXJ3aXNlIGJyYW5jaCBvbiB7QGxpbmsgaXNGaWxlfSBpdHNlbGYuXG4gKlxuICogQSBwYXRoIHRoYXQgcmVzb2x2ZXMgdG8gbm90aGluZyBoYXMgbm8gYW5zd2VyIHRvIGxvb2sgdXAsIHNvIHtAbGluayBHZXRFeHRlbnNpb25QYXJhbXMud2hlbk1pc3NpbmdUcmVhdEFzfSBkZWNpZGVzIHdoYXQgaGFwcGVucy4gSXQgZGVmYXVsdHMgdG9cbiAqIHtAbGluayBNaXNzaW5nUGF0aFRyZWF0bWVudC5UaHJvd30gcmF0aGVyIHRoYW4gdG8gYSBndWVzczogYGFscGhhLmJyYXZvYCBtYXkgbmFtZSBhIGRvdHRlZCBmb2xkZXIgb3IgYSBgLmJyYXZvYCBmaWxlLCBhbmQgbm90aGluZyBpbiB0aGUgdmF1bHQgc2F5c1xuICogd2hpY2gsIHNvIGEgc2lsZW50bHkgd3JvbmcgYW5zd2VyIGlzIHdvcnNlIHRoYW4gYW4gZXJyb3IuIFBhc3Mge0BsaW5rIE1pc3NpbmdQYXRoVHJlYXRtZW50LkZpbGV9IGZvciB0aGUgYGNoZWNrRXh0ZW5zaW9uYCByZWFkaW5nIG9mIGEgYmFyZSBzdHJpbmcsIG9yXG4gKiB7QGxpbmsgTWlzc2luZ1BhdGhUcmVhdG1lbnQuRm9sZGVyfSBmb3IgdGhlIG90aGVyIG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXRyaWV2YWwuXG4gKiBAcmV0dXJucyBUaGUgZXh0ZW5zaW9uIG9mIHRoZSBgcGF0aE9yRmlsZWAsIG9yIGFuIGVtcHR5IHN0cmluZyBpZiBpdCBoYXMgbm9uZS5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHBhdGggcmVzb2x2ZXMgdG8gbm90aGluZyBhbmQgYHdoZW5NaXNzaW5nVHJlYXRBc2AgaXMge0BsaW5rIE1pc3NpbmdQYXRoVHJlYXRtZW50LlRocm93fSAodGhlIGRlZmF1bHQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uKHBhcmFtczogR2V0RXh0ZW5zaW9uUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIHdoZW5NaXNzaW5nVHJlYXRBc1xuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbCh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGVcbiAgfSk7XG5cbiAgaWYgKGlzRmlsZShhYnN0cmFjdEZpbGUpKSB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZS5leHRlbnNpb247XG4gIH1cblxuICBpZiAoaXNGb2xkZXIoYWJzdHJhY3RGaWxlKSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgY29uc3QgdHJlYXRtZW50ID0gd2hlbk1pc3NpbmdUcmVhdEFzID8/IE1pc3NpbmdQYXRoVHJlYXRtZW50LlRocm93O1xuXG4gIGlmICh0cmVhdG1lbnQgPT09IE1pc3NpbmdQYXRoVHJlYXRtZW50LlRocm93KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBYnN0cmFjdCBmaWxlIG5vdCBmb3VuZDogJHtwYXRofWApO1xuICB9XG5cbiAgLy8gT2JzaWRpYW4gbG93ZXJjYXNlcyBhIGZpbGUncyBjYW5vbmljYWwgZXh0ZW5zaW9uLCBzbyBhIHBhdGggcmVhZCBhcyBhIGZpbGUgaGFzIHRvIGFuc3dlciBpbiB0aGUgc2FtZSBjYXNlLlxuICByZXR1cm4gdHJlYXRtZW50ID09PSBNaXNzaW5nUGF0aFRyZWF0bWVudC5Gb2xkZXIgPyAnJyA6IGV4dG5hbWUocGF0aCkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBmaWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmV0cmlldmFsLlxuICogQHJldHVybnMgVGhlIGZpbGUgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgcGF0aCBvciBmaWxlLlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgZmlsZSBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlKHBhcmFtczogR2V0RmlsZVBhcmFtcyk6IFRGaWxlIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICBwYXRoT3JGaWxlLFxuICAgIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZ1xuICB9ID0gcGFyYW1zO1xuICBsZXQgZmlsZSA9IGdldEZpbGVPck51bGwobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdldEZpbGVPck51bGxQYXJhbXM+KHtcbiAgICBhcHAsXG4gICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgcGF0aE9yRmlsZVxuICB9KSk7XG4gIGlmICghZmlsZSkge1xuICAgIGlmIChzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcpIHtcbiAgICAgIGZpbGUgPSBjcmVhdGVURmlsZUluc3RhbmNlKGFwcCwgcGF0aE9yRmlsZSBhcyBzdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbGUgbm90IGZvdW5kOiAke3BhdGhPckZpbGUgYXMgc3RyaW5nfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaWxlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIGZpbGUgb3IgYG51bGxgIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKiBJZiB0aGUgcHJvdmlkZWQgYXJndW1lbnQgaXMgYWxyZWFkeSBhIGZpbGUsIGl0IGlzIHJldHVybmVkIGFzIGlzLlxuICogT3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb24gdXNlcyB0aGUgYXBwJ3MgdmF1bHQgdG8gcmV0cmlldmUgdGhlIGZpbGUgYnkgaXRzIHBhdGguXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmV0cmlldmFsLlxuICogQHJldHVybnMgVGhlIGZpbGUgaWYgZm91bmQsIG90aGVyd2lzZSBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlT3JOdWxsKHBhcmFtczogR2V0RmlsZU9yTnVsbFBhcmFtcyk6IG51bGwgfCBURmlsZSB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgcGF0aE9yRmlsZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxHZXRBYnN0cmFjdEZpbGVPck51bGxQYXJhbXM+KHtcbiAgICBhcHAsXG4gICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgcGF0aE9yRmlsZVxuICB9KSk7XG4gIHJldHVybiBpc0ZpbGUoZmlsZSkgPyBmaWxlIDogbnVsbDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB0eXBlIG9mIGEgZmlsZSBzeXN0ZW0gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBnZXQgdGhlIHR5cGUgb2YuXG4gKiBAcmV0dXJucyBUaGUgdHlwZSBvZiB0aGUgYWJzdHJhY3QgZmlsZS5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGFic3RyYWN0IGZpbGUgaXMgbm90IGEgZmlsZSBvciBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVTeXN0ZW1UeXBlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IEZpbGVTeXN0ZW1UeXBlIHtcbiAgaWYgKGlzRmlsZShhYnN0cmFjdEZpbGUpKSB7XG4gICAgcmV0dXJuIEZpbGVTeXN0ZW1UeXBlLkZpbGU7XG4gIH1cbiAgaWYgKGlzRm9sZGVyKGFic3RyYWN0RmlsZSkpIHtcbiAgICByZXR1cm4gRmlsZVN5c3RlbVR5cGUuRm9sZGVyO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3QgZmlsZSBpcyBub3QgYSBmaWxlIG9yIGEgZm9sZGVyJyk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgZm9sZGVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHAgYW5kIHBhdGhPckZvbGRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXRyaWV2YWwuXG4gKiBAcmV0dXJucyBUaGUgcmV0cmlldmVkIGZvbGRlci5cbiAqIEB0aHJvd3MgSWYgdGhlIGZvbGRlciBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXIocGFyYW1zOiBHZXRGb2xkZXJQYXJhbXMpOiBURm9sZGVyIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICBwYXRoT3JGb2xkZXIsXG4gICAgc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nXG4gIH0gPSBwYXJhbXM7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdldEZvbGRlck9yTnVsbFBhcmFtcz4oe1xuICAgIGFwcCxcbiAgICBpc0Nhc2VJbnNlbnNpdGl2ZSxcbiAgICBwYXRoT3JGb2xkZXJcbiAgfSkpO1xuICBpZiAoIWZvbGRlcikge1xuICAgIGlmIChzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcpIHtcbiAgICAgIGZvbGRlciA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZShhcHAsIHBhdGhPckZvbGRlciBhcyBzdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvbGRlciBub3QgZm91bmQ6ICR7cGF0aE9yRm9sZGVyIGFzIHN0cmluZ31gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZm9sZGVyO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIGZvbGRlciBvciBgbnVsbGAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHJldHJpZXZhbC5cbiAqIEByZXR1cm5zIFRoZSBmb2xkZXIgaWYgZm91bmQsIG90aGVyd2lzZSBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJPck51bGwocGFyYW1zOiBHZXRGb2xkZXJPck51bGxQYXJhbXMpOiBudWxsIHwgVEZvbGRlciB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgaXNDYXNlSW5zZW5zaXRpdmUsXG4gICAgcGF0aE9yRm9sZGVyXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGZvbGRlciA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8R2V0QWJzdHJhY3RGaWxlT3JOdWxsUGFyYW1zPih7XG4gICAgYXBwLFxuICAgIGlzQ2FzZUluc2Vuc2l0aXZlLFxuICAgIHBhdGhPckZpbGU6IHBhdGhPckZvbGRlclxuICB9KSk7XG4gIHJldHVybiBpc0ZvbGRlcihmb2xkZXIpID8gZm9sZGVyIDogbnVsbDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYXJyYXkgb2YgZmlsZXMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcyB3aXRoaW4gYSBzcGVjaWZpZWQgZm9sZGVyIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmV0cmlldmFsLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgZmlsZXMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hcmtkb3duRmlsZXMocGFyYW1zOiBHZXRNYXJrZG93bkZpbGVzUGFyYW1zKTogVEZpbGVbXSB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgaXNSZWN1cnNpdmUsXG4gICAgcGF0aE9yRm9sZGVyXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlcih7XG4gICAgYXBwLFxuICAgIHBhdGhPckZvbGRlclxuICB9KTtcblxuICBsZXQgbWFya2Rvd25GaWxlczogVEZpbGVbXSA9IFtdO1xuXG4gIGlmIChpc1JlY3Vyc2l2ZSkge1xuICAgIFZhdWx0LnJlY3Vyc2VDaGlsZHJlbihmb2xkZXIsIChhYnN0cmFjdEZpbGUpID0+IHtcbiAgICAgIGlmIChpc01hcmtkb3duRmlsZShhYnN0cmFjdEZpbGUpICYmIGFic3RyYWN0RmlsZSBpbnN0YW5jZW9mIFRGaWxlKSB7XG4gICAgICAgIG1hcmtkb3duRmlsZXMucHVzaChhYnN0cmFjdEZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG1hcmtkb3duRmlsZXMgPSBmb2xkZXIuY2hpbGRyZW4uZmlsdGVyKChmaWxlKSA9PiBpc01hcmtkb3duRmlsZShmaWxlKSkgYXMgVEZpbGVbXTtcbiAgfVxuXG4gIG1hcmtkb3duRmlsZXMgPSBtYXJrZG93bkZpbGVzLnNvcnQoKGEsIGIpID0+IGEucGF0aC5sb2NhbGVDb21wYXJlKGIucGF0aCkpO1xuICByZXR1cm4gbWFya2Rvd25GaWxlcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZpbGUgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byByZXRyaWV2ZSBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSByZXByZXNlbnRpbmcgdGhlIGZpbGVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlRmlsZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbCh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGU6IHBhdGhcbiAgfSk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBjb25zdCBmb2xkZXJQYXRoID0gcGFyZW50Rm9sZGVyUGF0aChwYXRoKTtcbiAgYXdhaXQgZ2V0T3JDcmVhdGVGb2xkZXIoYXBwLCBmb2xkZXJQYXRoKTtcblxuICByZXR1cm4gYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZShwYXRoLCAnJyk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBmb2xkZXIgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIHJldHJpZXZlIG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIFRoZSBmb2xkZXIgcmVwcmVzZW50aW5nIHRoZSBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUZvbGRlcihhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURm9sZGVyPiB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlck9yTnVsbCh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZvbGRlcjogcGF0aFxuICB9KTtcbiAgcmV0dXJuIGZvbGRlciA/PyAoYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZUZvbGRlcihwYXRoKSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGF0aCBvZiB0aGUgZ2l2ZW4gYHBhdGhPckZpbGVgLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICogQHJldHVybnMgVGhlIHBhdGggb2YgdGhlIGBwYXRoT3JGaWxlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGgoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IHN0cmluZyB7XG4gIGlmIChpc0Fic3RyYWN0RmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlLnBhdGg7XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZVxuICB9KTtcbiAgcmV0dXJuIGZpbGUgPyBmaWxlLnBhdGggOiBnZXRSZXNvbHZlZFBhdGgocGF0aE9yRmlsZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGFuIGluc3RhbmNlIG9mIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgYWJzdHJhY3QgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzdHJhY3RGaWxlKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRBYnN0cmFjdEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRBYnN0cmFjdEZpbGU7XG59XG5cbi8qKlxuICogICBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBiYXNlIGZpbGUuXG4gKlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIGJhc2UgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmFzZUZpbGUocGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24ocGF0aE9yRmlsZSwgQkFTRV9GSUxFX0VYVEVOU0lPTik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgY2FudmFzIGZpbGUuXG4gKlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIGNhbnZhcyBmaWxlIG9yIG5vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FudmFzRmlsZShwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yQWJzdHJhY3RGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBjaGVja0V4dGVuc2lvbihwYXRoT3JGaWxlLCBDQU5WQVNfRklMRV9FWFRFTlNJT04pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhbiBpbnN0YW5jZSBvZiBmaWxlLlxuICpcbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGFuIGluc3RhbmNlIG9mIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGaWxlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBmaWxlIGlzIGEgZm9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRGb2xkZXIge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGb2xkZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKHBhdGhPckZpbGUsIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBub3RlLlxuICpcbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBub3RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOb3RlKHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpIHx8IGlzQ2FudmFzRmlsZShwYXRoT3JGaWxlKSB8fCBpc0Jhc2VGaWxlKHBhdGhPckZpbGUpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBhbiBhdHRhY2htZW50IGJlY2F1c2Ugb2YgaXRzIGV4dGVuc2lvbi5cbiAqXG4gKiBTb21lIHBsdWdpbnMgc3RvcmUgdGhlaXIgZGF0YSBpbiBmaWxlcyB0aGF0IGFyZSBtYXJrZG93biBvbiBkaXNrIGJ1dCBhcmUgbm90IHByb3NlIFx1MjAxNCBFeGNhbGlkcmF3LCBmb3IgZXhhbXBsZSwgc2F2ZXMgZWFjaCBkcmF3aW5nIGFzIGBza2V0Y2guZXhjYWxpZHJhdy5tZGAuXG4gKiBPYnNpZGlhbiByZXBvcnRzIHN1Y2ggYSBmaWxlJ3MgZXh0ZW5zaW9uIGFzIGBtZGAsIHNvIGEgY2FsbGVyIHRoYXQgd2FudHMgdG8gdGVsbCBhIGRyYXdpbmcgYXBhcnQgZnJvbSBhIG5vdGUgaGFzIHRvIG1hdGNoIHRoZSBmdWxsIG11bHRpLXBhcnQgZXh0ZW5zaW9uXG4gKiAoYC5leGNhbGlkcmF3Lm1kYCkgYWdhaW5zdCB0aGUgZmlsZSBuYW1lLiBXaGljaCBleHRlbnNpb25zIGNvdW50IGlzIHRoZSBjYWxsZXIncyBjb25maWd1cmF0aW9uLCBub3QgdGhpcyBsaWJyYXJ5J3MgXHUyMDE0IG9ubHkgdGhlIG1hdGNoaW5nIHJ1bGUgaXMgc2hhcmVkLlxuICpcbiAqIEEgZHJhd2luZyBjYW4gYWxzbyBiZSByZWNvZ25pemVkIGJ5IGl0cyBmcm9udG1hdHRlciwgdGhlIHdheSBFeGNhbGlkcmF3IGl0c2VsZiByZWNvZ25pemVzIG9uZSAoYGV4Y2FsaWRyYXctcGx1Z2luOiBwYXJzZWRgKSwgdGhyb3VnaCBhXG4gKiBgcHJvcGVydHk6bmFtZVs9dmFsdWVdYCBlbnRyeS4gVGhhdCBhbnN3ZXIgY29tZXMgZnJvbSB0aGUgbWV0YWRhdGEgY2FjaGUsIHdoaWNoIGNhbiBiZSBjb2xkIGF0IHN0YXJ0dXAgb3IgcmlnaHQgYWZ0ZXIgdGhlIGZpbGUgaXMgY3JlYXRlZCwgc28gYW5cbiAqIHVuY2FjaGVkIGZpbGUgYW5zd2VycyBcIm5vIG1hdGNoXCIgYW5kIGlzIHRyZWF0ZWQgYXMgYSBub3RlLiBUaGF0IGlzIHRoZSBjb25zZXJ2YXRpdmUgc2lkZSBmb3IgZXZlcnkgY3VycmVudCBjYWxsZXI6IGEgbm90ZSBpcyBub3QgbW92ZWQgYXMgYW5cbiAqIGF0dGFjaG1lbnQsIGFuZCBpdCBzcGFyZXMgaXRzIGZvbGRlciBmcm9tIGEgZGVsZXRlIHN3ZWVwLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGNsYXNzaWZ5IGFuZCB0aGUgY29uZmlndXJlZCBhdHRhY2htZW50IGV4dGVuc2lvbnMuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIHNob3VsZCBiZSB0cmVhdGVkIGFzIGFuIGF0dGFjaG1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1RyZWF0ZWRBc0F0dGFjaG1lbnQocGFyYW1zOiBJc1RyZWF0ZWRBc0F0dGFjaG1lbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBhdHRhY2htZW50RXh0ZW5zaW9ucyxcbiAgICBwYXRoT3JGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGlmIChwYXRoT3JGaWxlID09PSBudWxsIHx8IGlzRm9sZGVyKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbG93ZXJDYXNlTmFtZSA9IGdldE5hbWUocGF0aE9yRmlsZSkudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIGF0dGFjaG1lbnRFeHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbikgPT4ge1xuICAgIGNvbnN0IHRyaW1tZWRFbnRyeSA9IGV4dGVuc2lvbi50cmltKCk7XG4gICAgaWYgKGlzUHJvcGVydHlFbnRyeSh0cmltbWVkRW50cnkpKSB7XG4gICAgICByZXR1cm4gISFhcHAgJiYgaXNNYXJrZG93bkZpbGUocGF0aE9yRmlsZSkgJiYgY2hlY2tQcm9wZXJ0eUVudHJ5TWF0Y2hlcyh7XG4gICAgICAgIGVudHJ5OiB0cmltbWVkRW50cnksXG4gICAgICAgIGZyb250bWF0dGVyOiBnZXRDYWNoZWRGcm9udG1hdHRlcih7IGFwcCwgcGF0aE9yRmlsZSB9KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gRW5mb3JjaW5nIGEgc2luZ2xlIGxlYWRpbmcgZG90IGlzIHdoYXQga2VlcHMgdGhlIG1hdGNoIG9uIGFuIGV4dGVuc2lvbiBib3VuZGFyeS5cbiAgICAvLyBBIGJhcmUgYHJhdy5tZGAgd291bGQgb3RoZXJ3aXNlIG1hdGNoIGBza2V0Y2guZXhjYWxpZHJhdy5tZGAsIHdoaWNoIGlzIG5ldmVyIHdoYXQgYSBjYWxsZXIgbWVhbnMuXG4gICAgY29uc3Qgbm9ybWFsaXplZEV4dGVuc2lvbiA9IGV4dGVuc2lvbi50cmltKCkucmVwbGFjZSgvXlxcLisvLCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZEV4dGVuc2lvbiAhPT0gJycgJiYgbG93ZXJDYXNlTmFtZS5lbmRzV2l0aChgLiR7bm9ybWFsaXplZEV4dGVuc2lvbn1gKTtcbiAgfSk7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tIHRoZSBmaWxlIHBhdGggaWYgdGhlIGZpbGUgaXMgYSBtYXJrZG93biBmaWxlLlxuICogSWYgdGhlIGZpbGUgaXMgbm90IGEgbWFya2Rvd24gZmlsZSwgdGhlIG9yaWdpbmFsIGZpbGUgcGF0aCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRyaW0gdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgcGF0aCB3aXRoIHRoZSBtYXJrZG93biBleHRlbnNpb24gdHJpbW1lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW1NYXJrZG93bkV4dGVuc2lvbihmaWxlOiBUQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlzTWFya2Rvd25GaWxlKGZpbGUpXG4gICAgPyB0cmltRW5kKHtcbiAgICAgICRzdHJpbmc6IGZpbGUucGF0aCxcbiAgICAgIHN1ZmZpeDogYC4ke01BUktET1dOX0ZJTEVfRVhURU5TSU9OfWBcbiAgICB9KVxuICAgIDogZmlsZS5wYXRoO1xufVxuXG5mdW5jdGlvbiBnZXRDYWNoZWRGcm9udG1hdHRlcihwYXJhbXM6IEdldENhY2hlZEZyb250bWF0dGVyUGFyYW1zKTogbnVsbCB8IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwocGFyYW1zKTtcbiAgcmV0dXJuIGlzRmlsZShmaWxlKSA/IHBhcmFtcy5hcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk/LmZyb250bWF0dGVyID8/IG51bGwgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRGaWxlSW50ZXJuYWwocGFyYW1zOiBHZXRGaWxlSW50ZXJuYWxQYXJhbXMpOiBudWxsIHwgVEFic3RyYWN0RmlsZSB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGF0aFxuICB9ID0gcGFyYW1zO1xuICBsZXQgeyBpc0Nhc2VJbnNlbnNpdGl2ZSB9ID0gcGFyYW1zO1xuICBpc0Nhc2VJbnNlbnNpdGl2ZSA/Pz0gZ2V0RGF0YUFkYXB0ZXJFeChhcHApLmluc2Vuc2l0aXZlO1xuICBpZiAoaXNDYXNlSW5zZW5zaXRpdmUpIHtcbiAgICBjb25zdCBjYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXggPSBnZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgoYXBwKTtcbiAgICByZXR1cm4gY2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4ID8gY2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LmdldChwYXRoKSA6IGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGhJbnNlbnNpdGl2ZShwYXRoKTtcbiAgfVxuXG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHBhdGgpO1xufVxuXG5mdW5jdGlvbiBnZXROYW1lKHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IHN0cmluZyB7XG4gIHJldHVybiBpc0Fic3RyYWN0RmlsZShwYXRoT3JGaWxlKSA/IHBhdGhPckZpbGUubmFtZSA6IGJhc2VuYW1lKHBhdGhPckZpbGUpO1xufVxuXG5mdW5jdGlvbiBnZXRSZXNvbHZlZFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVBhdGgocmVzb2x2ZSgnLycsIHBhdGgpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxtQ0FBbUM7QUFDNUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxlQUFlO0FBQ3hCLFNBQVMseUJBQXlCO0FBQ2xDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLFNBQVMsbUNBQW1DO0FBQzVDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS0EsTUFBTSxzQkFBc0I7QUFLNUIsTUFBTSx3QkFBd0I7QUFLOUIsTUFBTSwwQkFBMEI7QUFLaEMsSUFBSyxpQkFBTCxrQkFBS0Esb0JBQUw7QUFJTCxFQUFBQSxnQkFBQSxVQUFPO0FBSVAsRUFBQUEsZ0JBQUEsWUFBUztBQVJDLFNBQUFBO0FBQUEsR0FBQTtBQWVMLElBQUssdUJBQUwsa0JBQUtDLDBCQUFMO0FBSUwsRUFBQUEsc0JBQUEsVUFBTztBQUlQLEVBQUFBLHNCQUFBLFlBQVM7QUFJVCxFQUFBQSxzQkFBQSxXQUFRO0FBWkUsU0FBQUE7QUFBQSxHQUFBO0FBd1ZMLFNBQVMsZUFBZSxlQUF5QztBQUN0RSxTQUFPLGNBQWMsSUFBSSxDQUFDLGlCQUFpQixPQUFPLFlBQVksQ0FBQztBQUNqRTtBQVNPLFNBQVMsaUJBQWlCLGVBQTJDO0FBQzFFLFNBQU8sY0FB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
|