obsidian-dev-utils 43.2.2 → 43.2.4
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/CHANGELOG.md +10 -0
- package/dist/lib/cjs/AbortController.cjs +7 -4
- package/dist/lib/cjs/Array.cjs +7 -4
- package/dist/lib/cjs/Async.cjs +7 -4
- package/dist/lib/cjs/AsyncEvents.cjs +7 -4
- package/dist/lib/cjs/Blob.cjs +7 -4
- package/dist/lib/cjs/CssClass.cjs +7 -4
- package/dist/lib/cjs/Debug.cjs +7 -4
- package/dist/lib/cjs/DebugController.cjs +7 -4
- package/dist/lib/cjs/Enum.cjs +7 -4
- package/dist/lib/cjs/Error.cjs +7 -4
- package/dist/lib/cjs/Function.cjs +7 -4
- package/dist/lib/cjs/HTMLElement.cjs +7 -4
- package/dist/lib/cjs/Library.cjs +8 -5
- package/dist/lib/cjs/ObjectUtils.cjs +7 -4
- package/dist/lib/cjs/Path.cjs +7 -4
- package/dist/lib/cjs/RegExp.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +10 -5
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/ESLint/index.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/Exec.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/Fs.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/JSON.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/Npm.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/Root.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/build.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/cli.cjs +10 -5
- package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +10 -5
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/index.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +13 -8
- package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/format.cjs +10 -5
- package/dist/lib/cjs/ScriptUtils/index.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/markdownlint/index.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.cjs +10 -5
- package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +7 -4
- package/dist/lib/cjs/ScriptUtils/version.cjs +7 -4
- package/dist/lib/cjs/String.cjs +7 -4
- package/dist/lib/cjs/Transformers/DateTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/DurationTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/GroupTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/MapTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/SetTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/Transformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/TwoWayMapTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/TypedTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/index.cjs +7 -4
- package/dist/lib/cjs/TwoWayMap.cjs +7 -4
- package/dist/lib/cjs/Type.cjs +7 -4
- package/dist/lib/cjs/ValueProvider.cjs +7 -4
- package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +7 -4
- package/dist/lib/cjs/codemirror/index.cjs +7 -4
- package/dist/lib/cjs/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/App.cjs +7 -4
- package/dist/lib/cjs/obsidian/AttachmentPath.cjs +7 -4
- package/dist/lib/cjs/obsidian/Backlink.cjs +7 -4
- package/dist/lib/cjs/obsidian/Callout.cjs +7 -4
- package/dist/lib/cjs/obsidian/CodeBlockMarkdownInformation.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Commands/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/SettingComponentWrapper.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/Components/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/Dataview.cjs +7 -4
- package/dist/lib/cjs/obsidian/DataviewLink.cjs +7 -4
- package/dist/lib/cjs/obsidian/FileChange.cjs +7 -4
- package/dist/lib/cjs/obsidian/FileManager.cjs +7 -4
- package/dist/lib/cjs/obsidian/FileSystem.cjs +7 -4
- package/dist/lib/cjs/obsidian/Frontmatter.cjs +7 -4
- package/dist/lib/cjs/obsidian/FrontmatterLinkCacheWithOffsets.cjs +7 -4
- package/dist/lib/cjs/obsidian/Link.cjs +7 -4
- package/dist/lib/cjs/obsidian/Logger.cjs +7 -4
- package/dist/lib/cjs/obsidian/Loop.cjs +7 -4
- package/dist/lib/cjs/obsidian/Markdown.cjs +7 -4
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +7 -4
- package/dist/lib/cjs/obsidian/MarkdownView.cjs +7 -4
- package/dist/lib/cjs/obsidian/MetadataCache.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/Alert.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +7 -4
- package/dist/lib/cjs/obsidian/Modals/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/MonkeyAround.cjs +7 -4
- package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +7 -4
- package/dist/lib/cjs/obsidian/Pdf.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/Plugin/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/Queue.cjs +7 -4
- package/dist/lib/cjs/obsidian/React/AppContext.cjs +7 -4
- package/dist/lib/cjs/obsidian/React/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/Reference.cjs +7 -4
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +7 -4
- package/dist/lib/cjs/obsidian/ResourceUrl.cjs +7 -4
- package/dist/lib/cjs/obsidian/SettingEx.cjs +7 -4
- package/dist/lib/cjs/obsidian/Validation.cjs +7 -4
- package/dist/lib/cjs/obsidian/Vault.cjs +7 -4
- package/dist/lib/cjs/obsidian/VaultEx.cjs +7 -4
- package/dist/lib/cjs/obsidian/Workspace.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +7 -4
- package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +7 -4
- package/dist/lib/cjs/obsidian/index.cjs +7 -4
- package/dist/lib/cjs/url.cjs +7 -4
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +7 -5
- package/package.json +4 -4
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -102,4 +105,4 @@ function makeLinkWithPath(link) {
|
|
|
102
105
|
fixTitle,
|
|
103
106
|
makeLinkWithPath
|
|
104
107
|
});
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0RhdGF2aWV3TGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIERhdGF2aWV3IGxpbmtzIGluIE9ic2lkaWFuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBEYXRhdmlld0lubGluZUFwaSxcbiAgTGlua1xufSBmcm9tICcuL0RhdGF2aWV3LnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgZ2V0UGF0aCB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbi8qKlxuICogRml4ZXMgdGhlIHRpdGxlIG9mIGEgZmlsZSBvciBmb2xkZXIgbm90ZSBieSBnZW5lcmF0aW5nIGEge0BsaW5rIExpbmt9IG9iamVjdCB3aXRoIGEgcHJvcGVyIHRpdGxlLlxuICpcbiAqIEBwYXJhbSBkdiAtIFRoZSBEYXRhdmlld0lubGluZUFwaSBpbnN0YW5jZSB1c2VkIHRvIGNyZWF0ZSB0aGUgZmlsZSBsaW5rLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgZmlsZSBwYXRoIGZvciB3aGljaCB0aGUgdGl0bGUgaXMgdG8gYmUgZml4ZWQuXG4gKiBAcGFyYW0gaXNGb2xkZXJOb3RlIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIGZvbGRlciBub3RlLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICogSWYgdHJ1ZSwgdGhlIHRpdGxlIGlzIGRlcml2ZWQgZnJvbSB0aGUgZm9sZGVyIG5hbWUuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBBIExpbmsgb2JqZWN0IHdpdGggdGhlIGNvcnJlY3RlZCB0aXRsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpeFRpdGxlKGR2OiBEYXRhdmlld0lubGluZUFwaSwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgaXNGb2xkZXJOb3RlPzogYm9vbGVhbik6IExpbmsge1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChkdi5hcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBleHQgPSBleHRuYW1lKHBhdGgpO1xuICBjb25zdCB0aXRsZSA9IGlzRm9sZGVyTm90ZSA/
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0RhdGF2aWV3TGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIERhdGF2aWV3IGxpbmtzIGluIE9ic2lkaWFuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBEYXRhdmlld0lubGluZUFwaSxcbiAgTGlua1xufSBmcm9tICcuL0RhdGF2aWV3LnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgZ2V0UGF0aCB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbi8qKlxuICogRml4ZXMgdGhlIHRpdGxlIG9mIGEgZmlsZSBvciBmb2xkZXIgbm90ZSBieSBnZW5lcmF0aW5nIGEge0BsaW5rIExpbmt9IG9iamVjdCB3aXRoIGEgcHJvcGVyIHRpdGxlLlxuICpcbiAqIEBwYXJhbSBkdiAtIFRoZSBEYXRhdmlld0lubGluZUFwaSBpbnN0YW5jZSB1c2VkIHRvIGNyZWF0ZSB0aGUgZmlsZSBsaW5rLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgZmlsZSBwYXRoIGZvciB3aGljaCB0aGUgdGl0bGUgaXMgdG8gYmUgZml4ZWQuXG4gKiBAcGFyYW0gaXNGb2xkZXJOb3RlIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIGZvbGRlciBub3RlLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICogSWYgdHJ1ZSwgdGhlIHRpdGxlIGlzIGRlcml2ZWQgZnJvbSB0aGUgZm9sZGVyIG5hbWUuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBBIExpbmsgb2JqZWN0IHdpdGggdGhlIGNvcnJlY3RlZCB0aXRsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpeFRpdGxlKGR2OiBEYXRhdmlld0lubGluZUFwaSwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgaXNGb2xkZXJOb3RlPzogYm9vbGVhbik6IExpbmsge1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChkdi5hcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBleHQgPSBleHRuYW1lKHBhdGgpO1xuICBjb25zdCB0aXRsZSA9IGlzRm9sZGVyTm90ZSA/IGJhc2VuYW1lKGRpcm5hbWUocGF0aCkpIDogYmFzZW5hbWUocGF0aCwgZXh0KTtcbiAgcmV0dXJuIGR2LmZpbGVMaW5rKHBhdGgsIGZhbHNlLCB0aXRsZSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEge0BsaW5rIExpbmt9IG9iamVjdCB0aGF0IGluY2x1ZGVzIGJvdGggdGhlIGxpbmsgdGV4dCBhbmQgdGhlIGZpbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIFRoZSBMaW5rIG9iamVjdCB0byBiZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcgd2l0aCBpdHMgcGF0aC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgbGluayBpbiB0aGUgZm9ybWF0OiBcImxpbmtUZXh0IChsaW5rUGF0aClcIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VMaW5rV2l0aFBhdGgobGluazogTGluayk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtTdHJpbmcobGluayl9ICgke2xpbmsucGF0aH0pYDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxrQkFJTztBQUNQLHdCQUF3QjtBQVdqQixTQUFTLFNBQVMsSUFBdUIsWUFBd0IsY0FBOEI7QUFDcEcsUUFBTSxXQUFPLDJCQUFRLEdBQUcsS0FBSyxVQUFVO0FBQ3ZDLFFBQU0sVUFBTSxxQkFBUSxJQUFJO0FBQ3hCLFFBQU0sUUFBUSxtQkFBZSwwQkFBUyxxQkFBUSxJQUFJLENBQUMsUUFBSSxzQkFBUyxNQUFNLEdBQUc7QUFDekUsU0FBTyxHQUFHLFNBQVMsTUFBTSxPQUFPLEtBQUs7QUFDdkM7QUFRTyxTQUFTLGlCQUFpQixNQUFvQjtBQUNuRCxTQUFPLEdBQUcsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUk7QUFDdEM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -427,4 +430,4 @@ function validateChanges(changes, content, frontmatter, path) {
|
|
|
427
430
|
isFrontmatterChangeWithOffsets,
|
|
428
431
|
toFrontmatterChangeWithOffsets
|
|
429
432
|
});
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBSZWZlcmVuY2UsXG4gIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL0NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gZnJvbSAnLi9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIENhbnZhc1JlZmVyZW5jZSxcbiAgQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2Vcbn0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzT3B0aW9ucyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQge1xuICBkZWVwRXF1YWwsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIHNldE5lc3RlZFByb3BlcnR5VmFsdWVcbn0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc0NhbnZhc0ZpbGVcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnRzJztcbmltcG9ydCB7XG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2Vcbn0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIEEgZmlsZSBjaGFuZ2UgaW4gdGhlIHZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDaGFuZ2Uge1xuICAvKipcbiAgICogQSBuZXcgY29udGVudCB0byByZXBsYWNlIHRoZSBvbGQgY29udGVudC5cbiAgICovXG4gIG5ld0NvbnRlbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogQW4gb2xkIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgKi9cbiAgb2xkQ29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSB0aGF0IGNhdXNlZCB0aGUgY2hhbmdlLlxuICAgKi9cbiAgcmVmZXJlbmNlOiBSZWZlcmVuY2U7XG59XG50eXBlIENhbnZhc0NoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNSZWZlcmVuY2UgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIENhbnZhc0ZpbGVOb2RlQ2hhbmdlID0geyByZWZlcmVuY2U6IENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlIH0gJiBGaWxlQ2hhbmdlO1xudHlwZSBDYW52YXNUZXh0Tm9kZUNoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgQ29udGVudENoYW5nZSA9IHsgcmVmZXJlbmNlOiBSZWZlcmVuY2VDYWNoZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgRnJvbnRtYXR0ZXJDaGFuZ2UgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGUgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyB9ICYgRmlsZUNoYW5nZTtcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2VyaWVzIG9mIGNvbnRlbnQgY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBjb250cm9sIHRoZSBleGVjdXRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gd2hpY2ggdGhlIGNoYW5nZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gY2hhbmdlc1Byb3ZpZGVyIC0gQSBwcm92aWRlciB0aGF0IHJldHVybnMgYW4gYXJyYXkgb2YgY29udGVudCBjaGFuZ2VzIHRvIGFwcGx5LlxuICogQHBhcmFtIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyAtIFdoZXRoZXIgdG8gcmV0cnkgdGhlIG9wZXJhdGlvbiBpZiB0aGUgY2hhbmdlcyBhcmUgaW52YWxpZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHVwZGF0ZWQgY29udGVudCBvciB0byBgbnVsbGAgaWYgdXBkYXRlIGRpZG4ndCBzdWNjZWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlDb250ZW50Q2hhbmdlcyhcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLFxuICBjb250ZW50OiBzdHJpbmcsXG4gIHBhdGg6IHN0cmluZyxcbiAgY2hhbmdlc1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPEZpbGVDaGFuZ2VbXSB8IG51bGwsIFtjb250ZW50OiBzdHJpbmddPixcbiAgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID0gdHJ1ZVxuKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gIGxldCBjaGFuZ2VzID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNoYW5nZXNQcm92aWRlciwgYWJvcnRTaWduYWwsIGNvbnRlbnQpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAoY2hhbmdlcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgeyBmcm9udG1hdHRlciwgaGFzRnJvbnRtYXR0ZXJFcnJvciB9ID0gcGFyc2VGcm9udG1hdHRlclNhZmVseShjb250ZW50LCBwYXRoKTtcblxuICBpZiAoIXZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzLCBjb250ZW50LCBmcm9udG1hdHRlciwgcGF0aCkpIHtcbiAgICByZXR1cm4gc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID8gbnVsbCA6IGNvbnRlbnQ7XG4gIH1cblxuICBjaGFuZ2VzID0gc29ydEFuZEZpbHRlckNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgaWYgKCF2YWxpZGF0ZUNoYW5nZU92ZXJsYXBzKGNoYW5nZXMpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGZyb250bWF0dGVyQ2hhbmdlZCwgbmV3Q29udGVudCB9ID0gYXBwbHlDb250ZW50Q2hhbmdlc1RvVGV4dChjaGFuZ2VzLCBjb250ZW50LCBoYXNGcm9udG1hdHRlckVycm9yLCBwYXRoKTtcblxuICBhd2FpdCBhcHBseUZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKGFib3J0U2lnbmFsLCBmcm9udG1hdHRlciwgZnJvbnRtYXR0ZXJDaGFuZ2VkLCBwYXRoKTtcbiAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICByZXR1cm4gYnVpbGRGaW5hbENvbnRlbnQobmV3Q29udGVudCwgZnJvbnRtYXR0ZXIsIGZyb250bWF0dGVyQ2hhbmdlZCk7XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHNlcmllcyBvZiBmaWxlIGNoYW5nZXMgdG8gdGhlIHNwZWNpZmllZCBmaWxlIG9yIHBhdGggd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlIHdoZXJlIHRoZSBmaWxlIGNoYW5nZXMgd2lsbCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHdoaWNoIHRoZSBjaGFuZ2VzIHNob3VsZCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIGNoYW5nZXNQcm92aWRlciAtIEEgcHJvdmlkZXIgdGhhdCByZXR1cm5zIGFuIGFycmF5IG9mIGZpbGUgY2hhbmdlcyB0byBhcHBseS5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcvcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEBwYXJhbSBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgLSBXaGV0aGVyIHRvIHJldHJ5IHRoZSBvcGVyYXRpb24gaWYgdGhlIGNoYW5nZXMgYXJlIGludmFsaWQuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGNoYW5nZXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBhcHBsaWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlGaWxlQ2hhbmdlcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10gfCBudWxsLCBbY29udGVudDogc3RyaW5nXT4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9LFxuICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgPSB0cnVlXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcHJvY2VzcyhhcHAsIHBhdGhPckZpbGUsIGFzeW5jIChhYm9ydFNpZ25hbCwgY29udGVudCkgPT4ge1xuICAgIGlmIChpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgICAgcmV0dXJuIGF3YWl0IGFwcGx5Q2FudmFzQ2hhbmdlcyhhYm9ydFNpZ25hbCwgY29udGVudCwgZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLCBjaGFuZ2VzUHJvdmlkZXIsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMoYWJvcnRTaWduYWwsIGNvbnRlbnQsIGdldFBhdGgoYXBwLCBwYXRoT3JGaWxlKSwgY2hhbmdlc1Byb3ZpZGVyLCBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMpO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBjaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0NoYW5nZShjaGFuZ2U6IEZpbGVDaGFuZ2UpOiBjaGFuZ2UgaXMgQ2FudmFzQ2hhbmdlIHtcbiAgcmV0dXJuIGlzQ2FudmFzUmVmZXJlbmNlKGNoYW5nZS5yZWZlcmVuY2UpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGZpbGUgbm9kZSBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGZpbGUgbm9kZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlKGNoYW5nZTogRmlsZUNoYW5nZSk6IGNoYW5nZSBpcyBDYW52YXNGaWxlTm9kZUNoYW5nZSB7XG4gIHJldHVybiBpc0NhbnZhc0NoYW5nZShjaGFuZ2UpICYmIGNoYW5nZS5yZWZlcmVuY2UudHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIHRleHQgbm9kZSBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIHRleHQgbm9kZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1RleHROb2RlQ2hhbmdlKGNoYW5nZTogRmlsZUNoYW5nZSk6IGNoYW5nZSBpcyBDYW52YXNUZXh0Tm9kZUNoYW5nZSB7XG4gIHJldHVybiBpc0NhbnZhc0NoYW5nZShjaGFuZ2UpICYmIGNoYW5nZS5yZWZlcmVuY2UudHlwZSA9PT0gJ3RleHQnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY29udGVudCBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNvbnRlbnQgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb250ZW50Q2hhbmdlKGZpbGVDaGFuZ2U6IEZpbGVDaGFuZ2UpOiBmaWxlQ2hhbmdlIGlzIENvbnRlbnRDaGFuZ2Uge1xuICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShmaWxlQ2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJDaGFuZ2UoZmlsZUNoYW5nZTogRmlsZUNoYW5nZSk6IGZpbGVDaGFuZ2UgaXMgRnJvbnRtYXR0ZXJDaGFuZ2Uge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZShmaWxlQ2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2Ugd2l0aCBvZmZzZXRzLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2Ugd2l0aCBvZmZzZXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2U6IEZpbGVDaGFuZ2UpOiBmaWxlQ2hhbmdlIGlzIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2UucmVmZXJlbmNlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGZyb250bWF0dGVyIGNoYW5nZSB0byBhIGZyb250bWF0dGVyIGNoYW5nZSB3aXRoIG9mZnNldHMuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgZmlsZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoZmlsZUNoYW5nZTogRnJvbnRtYXR0ZXJDaGFuZ2UpOiBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzIHtcbiAgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhmaWxlQ2hhbmdlKSkge1xuICAgIHJldHVybiBmaWxlQ2hhbmdlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5maWxlQ2hhbmdlLFxuICAgIHJlZmVyZW5jZTogdG9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2UucmVmZXJlbmNlKVxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUNhbnZhc0NoYW5nZXMoXG4gIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCxcbiAgY29udGVudDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10gfCBudWxsLCBbY29udGVudDogc3RyaW5nXT4sXG4gIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyA9IHRydWVcbik6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2VzID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNoYW5nZXNQcm92aWRlciwgYWJvcnRTaWduYWwsIGNvbnRlbnQpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAoY2hhbmdlcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY2FudmFzRGF0YSA9IHBhcnNlSnNvblNhZmUoY29udGVudCkgYXMgQ2FudmFzRGF0YTtcblxuICBjb25zdCBjYW52YXNUZXh0Q2hhbmdlcyA9IG5ldyBNYXA8bnVtYmVyLCBDYW52YXNUZXh0Tm9kZUNoYW5nZVtdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoIWlzQ2FudmFzQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnT25seSBjYW52YXMgY2hhbmdlcyBhcmUgc3VwcG9ydGVkIGZvciBjYW52YXMgZmlsZXMnO1xuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCB7XG4gICAgICAgIGNoYW5nZSxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IGNhbnZhc0RhdGEubm9kZXNbY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXhdO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIG5vdCBmb3VuZCc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHtcbiAgICAgICAgbm9kZUluZGV4OiBjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgaWYgKG5vZGUuZmlsZSAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgZ2V0TGliRGVidWdnZXIoJ0ZpbGVDaGFuZ2U6YXBwbHlDYW52YXNDaGFuZ2VzJykoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudDogbm9kZS5maWxlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgIG5vZGVJbmRleDogY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXgsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICB0eXBlOiAnZmlsZSdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBub2RlLmZpbGUgPSBjaGFuZ2UubmV3Q29udGVudDtcbiAgICB9IGVsc2UgaWYgKGlzQ2FudmFzVGV4dE5vZGVDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgbGV0IGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSA9IGNhbnZhc1RleHRDaGFuZ2VzLmdldChjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCk7XG4gICAgICBpZiAoIWNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSkge1xuICAgICAgICBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUgPSBbXTtcbiAgICAgICAgY2FudmFzVGV4dENoYW5nZXMuc2V0KGNoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4LCBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUpO1xuICAgICAgfVxuXG4gICAgICBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUucHVzaChjaGFuZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgW25vZGVJbmRleCwgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlXSBvZiBjYW52YXNUZXh0Q2hhbmdlcy5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBub2RlID0gY2FudmFzRGF0YS5ub2Rlc1tub2RlSW5kZXhdO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIG5vdCBmb3VuZCc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHtcbiAgICAgICAgbm9kZUluZGV4LFxuICAgICAgICBwYXRoXG4gICAgICB9KTtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygbm9kZS50ZXh0ICE9PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIHRleHQgaXMgbm90IGEgc3RyaW5nJztcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSwge1xuICAgICAgICBub2RlSW5kZXgsXG4gICAgICAgIHBhdGhcbiAgICAgIH0pO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudENoYW5nZXMgPSBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUubWFwKChjaGFuZ2UpID0+IHJlZmVyZW5jZVRvRmlsZUNoYW5nZShjaGFuZ2UucmVmZXJlbmNlLm9yaWdpbmFsUmVmZXJlbmNlLCBjaGFuZ2UubmV3Q29udGVudCkpO1xuICAgIG5vZGUudGV4dCA9IGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMoXG4gICAgICBhYm9ydFNpZ25hbCxcbiAgICAgIG5vZGUudGV4dCxcbiAgICAgIGAke3BhdGh9Lm5vZGUke1N0cmluZyhub2RlSW5kZXgpfS5WSVJUVUFMX0ZJTEUubWRgLFxuICAgICAgY29udGVudENoYW5nZXMsXG4gICAgICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXNcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNhbnZhc0RhdGEsIG51bGwsICdcXHQnKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlDb250ZW50Q2hhbmdlc1RvVGV4dChcbiAgY2hhbmdlczogRmlsZUNoYW5nZVtdLFxuICBjb250ZW50OiBzdHJpbmcsXG4gIGhhc0Zyb250bWF0dGVyRXJyb3I6IGJvb2xlYW4sXG4gIHBhdGg6IHN0cmluZ1xuKTogeyBmcm9udG1hdHRlckNoYW5nZWQ6IE1hcDxzdHJpbmcsIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHNbXT47IG5ld0NvbnRlbnQ6IHN0cmluZyB9IHtcbiAgbGV0IG5ld0NvbnRlbnQgPSAnJztcbiAgbGV0IGxhc3RJbmRleCA9IDA7XG4gIGNvbnN0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRNYXAgPSBuZXcgTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgsIGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY2hhbmdlLm5ld0NvbnRlbnQ7XG4gICAgICBsYXN0SW5kZXggPSBjaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQ7XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGlmIChoYXNGcm9udG1hdHRlckVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYENhbm5vdCBhcHBseSBmcm9udG1hdHRlciBjaGFuZ2UgaW4gJHtwYXRofSwgYmVjYXVzZSBmcm9udG1hdHRlciBwYXJzaW5nIGZhaWxlZGAsIHsgY2hhbmdlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcC5nZXQoY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgICBpZiAoIWZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKSB7XG4gICAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMgPSBbXTtcbiAgICAgICAgICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLnNldChjaGFuZ2UucmVmZXJlbmNlLmtleSwgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMpO1xuICAgICAgICB9XG4gICAgICAgIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzLnB1c2godG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGNoYW5nZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgpO1xuXG4gIHJldHVybiB7IGZyb250bWF0dGVyQ2hhbmdlZDogZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcCwgbmV3Q29udGVudCB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKFxuICBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsXG4gIGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+LFxuICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwOiBNYXA8c3RyaW5nLCBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzW10+LFxuICBwYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IFtrZXksIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzXSBvZiBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBrZXkpO1xuICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50Q2hhbmdlczogQ29udGVudENoYW5nZVtdID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMubWFwKChjaGFuZ2UpID0+ICh7XG4gICAgICBuZXdDb250ZW50OiBjaGFuZ2UubmV3Q29udGVudCxcbiAgICAgIG9sZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgIGxpbms6ICcnLFxuICAgICAgICBvcmlnaW5hbDogJycsXG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgZW5kOiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2UuZW5kT2Zmc2V0LFxuICAgICAgICAgICAgbGluZTogMCxcbiAgICAgICAgICAgIG9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2Uuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgICBsaW5lOiAwLFxuICAgICAgICAgICAgb2Zmc2V0OiBjaGFuZ2UucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBhcyBDb250ZW50Q2hhbmdlKSk7XG5cbiAgICBjb25zdCBuZXdQcm9wZXJ0eVZhbHVlID0gYXdhaXQgYXBwbHlDb250ZW50Q2hhbmdlcyhhYm9ydFNpZ25hbCwgcHJvcGVydHlWYWx1ZSwgYCR7cGF0aH0uZnJvbnRtYXR0ZXIuJHtrZXl9LlZJUlRVQUxfRklMRS5tZGAsIGNvbnRlbnRDaGFuZ2VzKTtcbiAgICBpZiAobmV3UHJvcGVydHlWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGtleSwgbmV3UHJvcGVydHlWYWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYnVpbGRGaW5hbENvbnRlbnQoXG4gIG5ld0NvbnRlbnQ6IHN0cmluZyxcbiAgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4sXG4gIGZyb250bWF0dGVyQ2hhbmdlZDogTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPlxuKTogc3RyaW5nIHtcbiAgaWYgKGZyb250bWF0dGVyQ2hhbmdlZC5zaXplID4gMCkge1xuICAgIHJldHVybiBzZXRGcm9udG1hdHRlcihuZXdDb250ZW50LCBmcm9udG1hdHRlcik7XG4gIH1cbiAgcmV0dXJuIG5ld0NvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRnJvbnRtYXR0ZXJTYWZlbHkoY29udGVudDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiB7IGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+OyBoYXNGcm9udG1hdHRlckVycm9yOiBib29sZWFuIH0ge1xuICBsZXQgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4gPSB7fTtcbiAgbGV0IGhhc0Zyb250bWF0dGVyRXJyb3IgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIGZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRnJvbnRtYXR0ZXIgcGFyc2luZyBmYWlsZWQgaW4gJHtwYXRofWAsIHsgY2F1c2U6IGVycm9yIH0pKTtcbiAgICBoYXNGcm9udG1hdHRlckVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7IGZyb250bWF0dGVyLCBoYXNGcm9udG1hdHRlckVycm9yIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlSnNvblNhZmUoY29udGVudDogc3RyaW5nKTogR2VuZXJpY09iamVjdCB7XG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgfSBjYXRjaCB7XG4gICAgcGFyc2VkID0gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJzZWQgPT09IG51bGwgfHwgdHlwZW9mIHBhcnNlZCAhPT0gJ29iamVjdCcpIHtcbiAgICBwYXJzZWQgPSB7fTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWQgYXMgR2VuZXJpY09iamVjdDtcbn1cblxuZnVuY3Rpb24gc29ydEFuZEZpbHRlckNoYW5nZXMoY2hhbmdlczogRmlsZUNoYW5nZVtdKTogRmlsZUNoYW5nZVtdIHtcbiAgLy8gU29ydCBjaGFuZ2VzIGJ5IHR5cGUgYW5kIHBvc2l0aW9uXG4gIGNoYW5nZXMuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoYSkgJiYgaXNDb250ZW50Q2hhbmdlKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0IC0gYi5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoYSkgJiYgaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2Uua2V5LmxvY2FsZUNvbXBhcmUoYi5yZWZlcmVuY2Uua2V5KSB8fCBhLnJlZmVyZW5jZS5zdGFydE9mZnNldCAtIGIucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGEpICYmIGlzRnJvbnRtYXR0ZXJDaGFuZ2UoYikpIHtcbiAgICAgIHJldHVybiBhLnJlZmVyZW5jZS5rZXkubG9jYWxlQ29tcGFyZShiLnJlZmVyZW5jZS5rZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBpc0NvbnRlbnRDaGFuZ2UoYSkgPyAtMSA6IDE7XG4gIH0pO1xuXG4gIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlIGFuZCBuby1vcCBjaGFuZ2VzXG4gIHJldHVybiBjaGFuZ2VzLmZpbHRlcigoY2hhbmdlLCBpbmRleCkgPT4ge1xuICAgIGlmIChjaGFuZ2Uub2xkQ29udGVudCA9PT0gY2hhbmdlLm5ld0NvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICFkZWVwRXF1YWwoY2hhbmdlLCBjaGFuZ2VzW2luZGV4IC0gMV0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDaGFuZ2VPdmVybGFwcyhjaGFuZ2VzOiBGaWxlQ2hhbmdlW10pOiBib29sZWFuIHtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICBpZiAoIWNoYW5nZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNDaGFuZ2UgPSBjaGFuZ2VzW2kgLSAxXTtcbiAgICBpZiAoIXByZXZpb3VzQ2hhbmdlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpc0NvbnRlbnRDaGFuZ2UocHJldmlvdXNDaGFuZ2UpXG4gICAgICAmJiBpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKVxuICAgICAgJiYgcHJldmlvdXNDaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICYmIHByZXZpb3VzQ2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0ID4gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXRcbiAgICApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnT3ZlcmxhcHBpbmcgY2hhbmdlcyc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHsgY2hhbmdlLCBwcmV2aW91c0NoYW5nZSB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzOiBGaWxlQ2hhbmdlW10sIGNvbnRlbnQ6IHN0cmluZywgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4sIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB2YWxpZGF0ZUNoYW5nZXNEZWJ1Z2dlciA9IGdldExpYkRlYnVnZ2VyKCdGaWxlQ2hhbmdlOnZhbGlkYXRlQ2hhbmdlcycpO1xuICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgaWYgKGlzQ29udGVudENoYW5nZShjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBzdGFydE9mZnNldCA9IGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgICAgY29uc3QgZW5kT2Zmc2V0ID0gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0O1xuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgdmFsaWRhdGVDaGFuZ2VzRGVidWdnZXIoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICBlbmRPZmZzZXQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHN0YXJ0T2Zmc2V0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVZhbHVlID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0eVZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB2YWxpZGF0ZUNoYW5nZXNEZWJ1Z2dlcignUHJvcGVydHkgdmFsdWUgaXMgbm90IGEgc3RyaW5nJywge1xuICAgICAgICAgIGZyb250bWF0dGVyS2V5OiBjaGFuZ2UucmVmZXJlbmNlLmtleSxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHByb3BlcnR5VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IHByb3BlcnR5VmFsdWUuc2xpY2UoY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldCwgY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXQpO1xuICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIHZhbGlkYXRlQ2hhbmdlc0RlYnVnZ2VyKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLnJlZmVyZW5jZS5rZXksXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGFydE9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IGFjdHVhbENvbnRlbnQgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UucmVmZXJlbmNlLmtleSk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgdmFsaWRhdGVDaGFuZ2VzRGVidWdnZXIoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgIGZyb250bWF0dGVyS2V5OiBjaGFuZ2UucmVmZXJlbmNlLmtleSxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLDZCQUdPO0FBY1AsbUJBQStCO0FBQy9CLG1CQUEyQjtBQUMzQix5QkFJTztBQUNQLDJCQUE2QjtBQUM3Qix3QkFHTztBQUNQLHlCQUdPO0FBQ1AsNkNBR087QUFDUCx1QkFHTztBQUNQLG1CQUF3QjtBQXNDeEIsZUFBc0Isb0JBQ3BCLGFBQ0EsU0FDQSxNQUNBLGlCQUNBLDhCQUE4QixNQUNOO0FBQ3hCLGNBQVksZUFBZTtBQUMzQixNQUFJLFVBQVUsVUFBTSxtQ0FBYSxpQkFBaUIsYUFBYSxPQUFPO0FBQ3RFLGNBQVksZUFBZTtBQUMzQixNQUFJLFlBQVksTUFB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
|
|
433
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBSZWZlcmVuY2UsXG4gIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL0NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gZnJvbSAnLi9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIENhbnZhc1JlZmVyZW5jZSxcbiAgQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2Vcbn0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzT3B0aW9ucyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQge1xuICBkZWVwRXF1YWwsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIHNldE5lc3RlZFByb3BlcnR5VmFsdWVcbn0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc0NhbnZhc0ZpbGVcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnRzJztcbmltcG9ydCB7XG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2Vcbn0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIEEgZmlsZSBjaGFuZ2UgaW4gdGhlIHZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDaGFuZ2Uge1xuICAvKipcbiAgICogQSBuZXcgY29udGVudCB0byByZXBsYWNlIHRoZSBvbGQgY29udGVudC5cbiAgICovXG4gIG5ld0NvbnRlbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogQW4gb2xkIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgKi9cbiAgb2xkQ29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSB0aGF0IGNhdXNlZCB0aGUgY2hhbmdlLlxuICAgKi9cbiAgcmVmZXJlbmNlOiBSZWZlcmVuY2U7XG59XG50eXBlIENhbnZhc0NoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNSZWZlcmVuY2UgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIENhbnZhc0ZpbGVOb2RlQ2hhbmdlID0geyByZWZlcmVuY2U6IENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlIH0gJiBGaWxlQ2hhbmdlO1xudHlwZSBDYW52YXNUZXh0Tm9kZUNoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgQ29udGVudENoYW5nZSA9IHsgcmVmZXJlbmNlOiBSZWZlcmVuY2VDYWNoZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgRnJvbnRtYXR0ZXJDaGFuZ2UgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGUgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyB9ICYgRmlsZUNoYW5nZTtcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2VyaWVzIG9mIGNvbnRlbnQgY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBjb250cm9sIHRoZSBleGVjdXRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gd2hpY2ggdGhlIGNoYW5nZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gY2hhbmdlc1Byb3ZpZGVyIC0gQSBwcm92aWRlciB0aGF0IHJldHVybnMgYW4gYXJyYXkgb2YgY29udGVudCBjaGFuZ2VzIHRvIGFwcGx5LlxuICogQHBhcmFtIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyAtIFdoZXRoZXIgdG8gcmV0cnkgdGhlIG9wZXJhdGlvbiBpZiB0aGUgY2hhbmdlcyBhcmUgaW52YWxpZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHVwZGF0ZWQgY29udGVudCBvciB0byBgbnVsbGAgaWYgdXBkYXRlIGRpZG4ndCBzdWNjZWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlDb250ZW50Q2hhbmdlcyhcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLFxuICBjb250ZW50OiBzdHJpbmcsXG4gIHBhdGg6IHN0cmluZyxcbiAgY2hhbmdlc1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPEZpbGVDaGFuZ2VbXSB8IG51bGwsIFtjb250ZW50OiBzdHJpbmddPixcbiAgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID0gdHJ1ZVxuKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gIGxldCBjaGFuZ2VzID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNoYW5nZXNQcm92aWRlciwgYWJvcnRTaWduYWwsIGNvbnRlbnQpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAoY2hhbmdlcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgeyBmcm9udG1hdHRlciwgaGFzRnJvbnRtYXR0ZXJFcnJvciB9ID0gcGFyc2VGcm9udG1hdHRlclNhZmVseShjb250ZW50LCBwYXRoKTtcblxuICBpZiAoIXZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzLCBjb250ZW50LCBmcm9udG1hdHRlciwgcGF0aCkpIHtcbiAgICByZXR1cm4gc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID8gbnVsbCA6IGNvbnRlbnQ7XG4gIH1cblxuICBjaGFuZ2VzID0gc29ydEFuZEZpbHRlckNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgaWYgKCF2YWxpZGF0ZUNoYW5nZU92ZXJsYXBzKGNoYW5nZXMpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGZyb250bWF0dGVyQ2hhbmdlZCwgbmV3Q29udGVudCB9ID0gYXBwbHlDb250ZW50Q2hhbmdlc1RvVGV4dChjaGFuZ2VzLCBjb250ZW50LCBoYXNGcm9udG1hdHRlckVycm9yLCBwYXRoKTtcblxuICBhd2FpdCBhcHBseUZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKGFib3J0U2lnbmFsLCBmcm9udG1hdHRlciwgZnJvbnRtYXR0ZXJDaGFuZ2VkLCBwYXRoKTtcbiAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICByZXR1cm4gYnVpbGRGaW5hbENvbnRlbnQobmV3Q29udGVudCwgZnJvbnRtYXR0ZXIsIGZyb250bWF0dGVyQ2hhbmdlZCk7XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHNlcmllcyBvZiBmaWxlIGNoYW5nZXMgdG8gdGhlIHNwZWNpZmllZCBmaWxlIG9yIHBhdGggd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlIHdoZXJlIHRoZSBmaWxlIGNoYW5nZXMgd2lsbCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHdoaWNoIHRoZSBjaGFuZ2VzIHNob3VsZCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIGNoYW5nZXNQcm92aWRlciAtIEEgcHJvdmlkZXIgdGhhdCByZXR1cm5zIGFuIGFycmF5IG9mIGZpbGUgY2hhbmdlcyB0byBhcHBseS5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcvcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEBwYXJhbSBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgLSBXaGV0aGVyIHRvIHJldHJ5IHRoZSBvcGVyYXRpb24gaWYgdGhlIGNoYW5nZXMgYXJlIGludmFsaWQuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGNoYW5nZXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBhcHBsaWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlGaWxlQ2hhbmdlcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10gfCBudWxsLCBbY29udGVudDogc3RyaW5nXT4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9LFxuICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgPSB0cnVlXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcHJvY2VzcyhhcHAsIHBhdGhPckZpbGUsIGFzeW5jIChhYm9ydFNpZ25hbCwgY29udGVudCkgPT4ge1xuICAgIGlmIChpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgICAgcmV0dXJuIGF3YWl0IGFwcGx5Q2FudmFzQ2hhbmdlcyhhYm9ydFNpZ25hbCwgY29udGVudCwgZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLCBjaGFuZ2VzUHJvdmlkZXIsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMoYWJvcnRTaWduYWwsIGNvbnRlbnQsIGdldFBhdGgoYXBwLCBwYXRoT3JGaWxlKSwgY2hhbmdlc1Byb3ZpZGVyLCBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMpO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBjaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0NoYW5nZShjaGFuZ2U6IEZpbGVDaGFuZ2UpOiBjaGFuZ2UgaXMgQ2FudmFzQ2hhbmdlIHtcbiAgcmV0dXJuIGlzQ2FudmFzUmVmZXJlbmNlKGNoYW5nZS5yZWZlcmVuY2UpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGZpbGUgbm9kZSBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGZpbGUgbm9kZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlKGNoYW5nZTogRmlsZUNoYW5nZSk6IGNoYW5nZSBpcyBDYW52YXNGaWxlTm9kZUNoYW5nZSB7XG4gIHJldHVybiBpc0NhbnZhc0NoYW5nZShjaGFuZ2UpICYmIGNoYW5nZS5yZWZlcmVuY2UudHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIHRleHQgbm9kZSBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIHRleHQgbm9kZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1RleHROb2RlQ2hhbmdlKGNoYW5nZTogRmlsZUNoYW5nZSk6IGNoYW5nZSBpcyBDYW52YXNUZXh0Tm9kZUNoYW5nZSB7XG4gIHJldHVybiBpc0NhbnZhc0NoYW5nZShjaGFuZ2UpICYmIGNoYW5nZS5yZWZlcmVuY2UudHlwZSA9PT0gJ3RleHQnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY29udGVudCBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNvbnRlbnQgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb250ZW50Q2hhbmdlKGZpbGVDaGFuZ2U6IEZpbGVDaGFuZ2UpOiBmaWxlQ2hhbmdlIGlzIENvbnRlbnRDaGFuZ2Uge1xuICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShmaWxlQ2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJDaGFuZ2UoZmlsZUNoYW5nZTogRmlsZUNoYW5nZSk6IGZpbGVDaGFuZ2UgaXMgRnJvbnRtYXR0ZXJDaGFuZ2Uge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZShmaWxlQ2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2Ugd2l0aCBvZmZzZXRzLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2Ugd2l0aCBvZmZzZXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2U6IEZpbGVDaGFuZ2UpOiBmaWxlQ2hhbmdlIGlzIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2UucmVmZXJlbmNlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGZyb250bWF0dGVyIGNoYW5nZSB0byBhIGZyb250bWF0dGVyIGNoYW5nZSB3aXRoIG9mZnNldHMuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgZmlsZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoZmlsZUNoYW5nZTogRnJvbnRtYXR0ZXJDaGFuZ2UpOiBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzIHtcbiAgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhmaWxlQ2hhbmdlKSkge1xuICAgIHJldHVybiBmaWxlQ2hhbmdlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5maWxlQ2hhbmdlLFxuICAgIHJlZmVyZW5jZTogdG9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGZpbGVDaGFuZ2UucmVmZXJlbmNlKVxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUNhbnZhc0NoYW5nZXMoXG4gIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCxcbiAgY29udGVudDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10gfCBudWxsLCBbY29udGVudDogc3RyaW5nXT4sXG4gIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyA9IHRydWVcbik6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2VzID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNoYW5nZXNQcm92aWRlciwgYWJvcnRTaWduYWwsIGNvbnRlbnQpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAoY2hhbmdlcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY2FudmFzRGF0YSA9IHBhcnNlSnNvblNhZmUoY29udGVudCkgYXMgQ2FudmFzRGF0YTtcblxuICBjb25zdCBjYW52YXNUZXh0Q2hhbmdlcyA9IG5ldyBNYXA8bnVtYmVyLCBDYW52YXNUZXh0Tm9kZUNoYW5nZVtdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoIWlzQ2FudmFzQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnT25seSBjYW52YXMgY2hhbmdlcyBhcmUgc3VwcG9ydGVkIGZvciBjYW52YXMgZmlsZXMnO1xuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCB7XG4gICAgICAgIGNoYW5nZSxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IGNhbnZhc0RhdGEubm9kZXNbY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXhdO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIG5vdCBmb3VuZCc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHtcbiAgICAgICAgbm9kZUluZGV4OiBjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgaWYgKG5vZGUuZmlsZSAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgZ2V0TGliRGVidWdnZXIoJ0ZpbGVDaGFuZ2U6YXBwbHlDYW52YXNDaGFuZ2VzJykoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudDogbm9kZS5maWxlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgIG5vZGVJbmRleDogY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXgsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICB0eXBlOiAnZmlsZSdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBub2RlLmZpbGUgPSBjaGFuZ2UubmV3Q29udGVudDtcbiAgICB9IGVsc2UgaWYgKGlzQ2FudmFzVGV4dE5vZGVDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgbGV0IGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSA9IGNhbnZhc1RleHRDaGFuZ2VzLmdldChjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCk7XG4gICAgICBpZiAoIWNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSkge1xuICAgICAgICBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUgPSBbXTtcbiAgICAgICAgY2FudmFzVGV4dENoYW5nZXMuc2V0KGNoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4LCBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUpO1xuICAgICAgfVxuXG4gICAgICBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUucHVzaChjaGFuZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgW25vZGVJbmRleCwgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlXSBvZiBjYW52YXNUZXh0Q2hhbmdlcy5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBub2RlID0gY2FudmFzRGF0YS5ub2Rlc1tub2RlSW5kZXhdO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIG5vdCBmb3VuZCc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHtcbiAgICAgICAgbm9kZUluZGV4LFxuICAgICAgICBwYXRoXG4gICAgICB9KTtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygbm9kZS50ZXh0ICE9PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdOb2RlIHRleHQgaXMgbm90IGEgc3RyaW5nJztcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSwge1xuICAgICAgICBub2RlSW5kZXgsXG4gICAgICAgIHBhdGhcbiAgICAgIH0pO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudENoYW5nZXMgPSBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUubWFwKChjaGFuZ2UpID0+IHJlZmVyZW5jZVRvRmlsZUNoYW5nZShjaGFuZ2UucmVmZXJlbmNlLm9yaWdpbmFsUmVmZXJlbmNlLCBjaGFuZ2UubmV3Q29udGVudCkpO1xuICAgIG5vZGUudGV4dCA9IGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMoXG4gICAgICBhYm9ydFNpZ25hbCxcbiAgICAgIG5vZGUudGV4dCxcbiAgICAgIGAke3BhdGh9Lm5vZGUke1N0cmluZyhub2RlSW5kZXgpfS5WSVJUVUFMX0ZJTEUubWRgLFxuICAgICAgY29udGVudENoYW5nZXMsXG4gICAgICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXNcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNhbnZhc0RhdGEsIG51bGwsICdcXHQnKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlDb250ZW50Q2hhbmdlc1RvVGV4dChcbiAgY2hhbmdlczogRmlsZUNoYW5nZVtdLFxuICBjb250ZW50OiBzdHJpbmcsXG4gIGhhc0Zyb250bWF0dGVyRXJyb3I6IGJvb2xlYW4sXG4gIHBhdGg6IHN0cmluZ1xuKTogeyBmcm9udG1hdHRlckNoYW5nZWQ6IE1hcDxzdHJpbmcsIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHNbXT47IG5ld0NvbnRlbnQ6IHN0cmluZyB9IHtcbiAgbGV0IG5ld0NvbnRlbnQgPSAnJztcbiAgbGV0IGxhc3RJbmRleCA9IDA7XG4gIGNvbnN0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRNYXAgPSBuZXcgTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgsIGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY2hhbmdlLm5ld0NvbnRlbnQ7XG4gICAgICBsYXN0SW5kZXggPSBjaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQ7XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGlmIChoYXNGcm9udG1hdHRlckVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYENhbm5vdCBhcHBseSBmcm9udG1hdHRlciBjaGFuZ2UgaW4gJHtwYXRofSwgYmVjYXVzZSBmcm9udG1hdHRlciBwYXJzaW5nIGZhaWxlZGAsIHsgY2hhbmdlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcC5nZXQoY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgICBpZiAoIWZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKSB7XG4gICAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMgPSBbXTtcbiAgICAgICAgICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLnNldChjaGFuZ2UucmVmZXJlbmNlLmtleSwgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMpO1xuICAgICAgICB9XG4gICAgICAgIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzLnB1c2godG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGNoYW5nZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgpO1xuXG4gIHJldHVybiB7IGZyb250bWF0dGVyQ2hhbmdlZDogZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcCwgbmV3Q29udGVudCB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKFxuICBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsXG4gIGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+LFxuICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwOiBNYXA8c3RyaW5nLCBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzW10+LFxuICBwYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IFtrZXksIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzXSBvZiBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBrZXkpO1xuICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50Q2hhbmdlczogQ29udGVudENoYW5nZVtdID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMubWFwKChjaGFuZ2UpID0+ICh7XG4gICAgICBuZXdDb250ZW50OiBjaGFuZ2UubmV3Q29udGVudCxcbiAgICAgIG9sZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgIGxpbms6ICcnLFxuICAgICAgICBvcmlnaW5hbDogJycsXG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgZW5kOiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2UuZW5kT2Zmc2V0LFxuICAgICAgICAgICAgbGluZTogMCxcbiAgICAgICAgICAgIG9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2Uuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgICBsaW5lOiAwLFxuICAgICAgICAgICAgb2Zmc2V0OiBjaGFuZ2UucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBhcyBDb250ZW50Q2hhbmdlKSk7XG5cbiAgICBjb25zdCBuZXdQcm9wZXJ0eVZhbHVlID0gYXdhaXQgYXBwbHlDb250ZW50Q2hhbmdlcyhhYm9ydFNpZ25hbCwgcHJvcGVydHlWYWx1ZSwgYCR7cGF0aH0uZnJvbnRtYXR0ZXIuJHtrZXl9LlZJUlRVQUxfRklMRS5tZGAsIGNvbnRlbnRDaGFuZ2VzKTtcbiAgICBpZiAobmV3UHJvcGVydHlWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGtleSwgbmV3UHJvcGVydHlWYWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYnVpbGRGaW5hbENvbnRlbnQoXG4gIG5ld0NvbnRlbnQ6IHN0cmluZyxcbiAgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4sXG4gIGZyb250bWF0dGVyQ2hhbmdlZDogTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPlxuKTogc3RyaW5nIHtcbiAgaWYgKGZyb250bWF0dGVyQ2hhbmdlZC5zaXplID4gMCkge1xuICAgIHJldHVybiBzZXRGcm9udG1hdHRlcihuZXdDb250ZW50LCBmcm9udG1hdHRlcik7XG4gIH1cbiAgcmV0dXJuIG5ld0NvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRnJvbnRtYXR0ZXJTYWZlbHkoY29udGVudDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiB7IGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+OyBoYXNGcm9udG1hdHRlckVycm9yOiBib29sZWFuIH0ge1xuICBsZXQgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4gPSB7fTtcbiAgbGV0IGhhc0Zyb250bWF0dGVyRXJyb3IgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIGZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRnJvbnRtYXR0ZXIgcGFyc2luZyBmYWlsZWQgaW4gJHtwYXRofWAsIHsgY2F1c2U6IGVycm9yIH0pKTtcbiAgICBoYXNGcm9udG1hdHRlckVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7IGZyb250bWF0dGVyLCBoYXNGcm9udG1hdHRlckVycm9yIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlSnNvblNhZmUoY29udGVudDogc3RyaW5nKTogR2VuZXJpY09iamVjdCB7XG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgfSBjYXRjaCB7XG4gICAgcGFyc2VkID0gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJzZWQgPT09IG51bGwgfHwgdHlwZW9mIHBhcnNlZCAhPT0gJ29iamVjdCcpIHtcbiAgICBwYXJzZWQgPSB7fTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWQgYXMgR2VuZXJpY09iamVjdDtcbn1cblxuZnVuY3Rpb24gc29ydEFuZEZpbHRlckNoYW5nZXMoY2hhbmdlczogRmlsZUNoYW5nZVtdKTogRmlsZUNoYW5nZVtdIHtcbiAgLy8gU29ydCBjaGFuZ2VzIGJ5IHR5cGUgYW5kIHBvc2l0aW9uXG4gIGNoYW5nZXMuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoYSkgJiYgaXNDb250ZW50Q2hhbmdlKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0IC0gYi5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoYSkgJiYgaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2Uua2V5LmxvY2FsZUNvbXBhcmUoYi5yZWZlcmVuY2Uua2V5KSB8fCBhLnJlZmVyZW5jZS5zdGFydE9mZnNldCAtIGIucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGEpICYmIGlzRnJvbnRtYXR0ZXJDaGFuZ2UoYikpIHtcbiAgICAgIHJldHVybiBhLnJlZmVyZW5jZS5rZXkubG9jYWxlQ29tcGFyZShiLnJlZmVyZW5jZS5rZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBpc0NvbnRlbnRDaGFuZ2UoYSkgPyAtMSA6IDE7XG4gIH0pO1xuXG4gIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlIGFuZCBuby1vcCBjaGFuZ2VzXG4gIHJldHVybiBjaGFuZ2VzLmZpbHRlcigoY2hhbmdlLCBpbmRleCkgPT4ge1xuICAgIGlmIChjaGFuZ2Uub2xkQ29udGVudCA9PT0gY2hhbmdlLm5ld0NvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICFkZWVwRXF1YWwoY2hhbmdlLCBjaGFuZ2VzW2luZGV4IC0gMV0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDaGFuZ2VPdmVybGFwcyhjaGFuZ2VzOiBGaWxlQ2hhbmdlW10pOiBib29sZWFuIHtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICBpZiAoIWNoYW5nZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNDaGFuZ2UgPSBjaGFuZ2VzW2kgLSAxXTtcbiAgICBpZiAoIXByZXZpb3VzQ2hhbmdlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpc0NvbnRlbnRDaGFuZ2UocHJldmlvdXNDaGFuZ2UpXG4gICAgICAmJiBpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKVxuICAgICAgJiYgcHJldmlvdXNDaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICYmIHByZXZpb3VzQ2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0ID4gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXRcbiAgICApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnT3ZlcmxhcHBpbmcgY2hhbmdlcyc7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHsgY2hhbmdlLCBwcmV2aW91c0NoYW5nZSB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzOiBGaWxlQ2hhbmdlW10sIGNvbnRlbnQ6IHN0cmluZywgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4sIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB2YWxpZGF0ZUNoYW5nZXNEZWJ1Z2dlciA9IGdldExpYkRlYnVnZ2VyKCdGaWxlQ2hhbmdlOnZhbGlkYXRlQ2hhbmdlcycpO1xuICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgaWYgKGlzQ29udGVudENoYW5nZShjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBzdGFydE9mZnNldCA9IGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgICAgY29uc3QgZW5kT2Zmc2V0ID0gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0O1xuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgdmFsaWRhdGVDaGFuZ2VzRGVidWdnZXIoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICBlbmRPZmZzZXQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHN0YXJ0T2Zmc2V0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVZhbHVlID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0eVZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB2YWxpZGF0ZUNoYW5nZXNEZWJ1Z2dlcignUHJvcGVydHkgdmFsdWUgaXMgbm90IGEgc3RyaW5nJywge1xuICAgICAgICAgIGZyb250bWF0dGVyS2V5OiBjaGFuZ2UucmVmZXJlbmNlLmtleSxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHByb3BlcnR5VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IHByb3BlcnR5VmFsdWUuc2xpY2UoY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldCwgY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXQpO1xuICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIHZhbGlkYXRlQ2hhbmdlc0RlYnVnZ2VyKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLnJlZmVyZW5jZS5rZXksXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGFydE9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IGFjdHVhbENvbnRlbnQgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UucmVmZXJlbmNlLmtleSk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgdmFsaWRhdGVDaGFuZ2VzRGVidWdnZXIoJ0NvbnRlbnQgbWlzbWF0Y2gnLCB7XG4gICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgIGZyb250bWF0dGVyS2V5OiBjaGFuZ2UucmVmZXJlbmNlLmtleSxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLDZCQUdPO0FBY1AsbUJBQStCO0FBQy9CLG1CQUEyQjtBQUMzQix5QkFJTztBQUNQLDJCQUE2QjtBQUM3Qix3QkFHTztBQUNQLHlCQUdPO0FBQ1AsNkNBR087QUFDUCx1QkFHTztBQUNQLG1CQUF3QjtBQXNDeEIsZUFBc0Isb0JBQ3BCLGFBQ0EsU0FDQSxNQUNBLGlCQUNBLDhCQUE4QixNQUNOO0FBQ3hCLGNBQVksZUFBZTtBQUMzQixNQUFJLFVBQVUsVUFBTSxtQ0FBYSxpQkFBaUIsYUFBYSxPQUFPO0FBQ3RFLGNBQVksZUFBZTtBQUMzQixNQUFJLFlBQVks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
|
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -151,4 +154,4 @@ async function processFrontmatter(app, pathOrFile, frontmatterFn, processOptions
|
|
|
151
154
|
deleteAlias,
|
|
152
155
|
processFrontmatter
|
|
153
156
|
});
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBmaWxlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi9UeXBlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHsgZGVlcEVxdWFsIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0UGF0aCxcbiAgaXNNYXJrZG93bkZpbGVcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIEFkZHMgYW4gYWxpYXMgdG8gdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBhZGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGFkZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkQWxpYXMoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGFsaWFzPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYWxpYXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBmaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2ZpbGUucGF0aH0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGlmIChhbGlhcyA9PT0gZmlsZS5iYXNlbmFtZSB8fCBhbGlhcyA9PT0gZmlsZS5uYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250bWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250bWF0dGVyKSA9PiB7XG4gICAgZnJvbnRtYXR0ZXIuYWxpYXNlcyA/Pz0gW107XG5cbiAgICBpZiAoIWZyb250bWF0dGVyLmFsaWFzZXMuaW5jbHVkZXMoYWxpYXMpKSB7XG4gICAgICBmcm9udG1hdHRlci5hbGlhc2VzLnB1c2goYWxpYXMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhbGlhcyBmcm9tIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGRlbGV0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2dldFBhdGgoYXBwLCBwYXRoT3JGaWxlKX0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZyb250bWF0dGVyLmFsaWFzZXMgPSBmcm9udG1hdHRlci5hbGlhc2VzLmZpbHRlcigoYSkgPT4gYSAhPT0gYWxpYXMpO1xuXG4gICAgaWYgKGZyb250bWF0dGVyLmFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZnJvbnRtYXR0ZXIuYWxpYXNlcztcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSwgYWxsb3dpbmcgbW9kaWZpY2F0aW9ucyB2aWEgYSBwcm92aWRlZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIGZyb250bWF0dGVyRm4gLSBBIGZ1bmN0aW9uIHRoYXQgbW9kaWZpZXMgdGhlIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsLiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBwcm9jZXNzLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZyb250IG1hdHRlciBoYXMgYmVlbiBwcm9jZXNzZWQgYW5kIHNhdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0Zyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBmcm9udG1hdHRlckZuOiAoZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+LCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48bnVsbD4+LFxuICBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2dldFBhdGgoYXBwLCBwYXRoT3JGaWxlKX0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3MoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoYWJvcnRTaWduYWwsIGNvbnRlbnQpID0+IHtcbiAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gICAgY29uc3Qgb2xkRnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPihjb250ZW50KTtcbiAgICBjb25zdCBuZXdGcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBmaWxlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi9UeXBlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHsgZGVlcEVxdWFsIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0UGF0aCxcbiAgaXNNYXJrZG93bkZpbGVcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIEFkZHMgYW4gYWxpYXMgdG8gdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBhZGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGFkZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkQWxpYXMoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGFsaWFzPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYWxpYXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBmaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2ZpbGUucGF0aH0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGlmIChhbGlhcyA9PT0gZmlsZS5iYXNlbmFtZSB8fCBhbGlhcyA9PT0gZmlsZS5uYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250bWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250bWF0dGVyKSA9PiB7XG4gICAgZnJvbnRtYXR0ZXIuYWxpYXNlcyA/Pz0gW107XG5cbiAgICBpZiAoIWZyb250bWF0dGVyLmFsaWFzZXMuaW5jbHVkZXMoYWxpYXMpKSB7XG4gICAgICBmcm9udG1hdHRlci5hbGlhc2VzLnB1c2goYWxpYXMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhbGlhcyBmcm9tIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGRlbGV0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2dldFBhdGgoYXBwLCBwYXRoT3JGaWxlKX0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZyb250bWF0dGVyLmFsaWFzZXMgPSBmcm9udG1hdHRlci5hbGlhc2VzLmZpbHRlcigoYSkgPT4gYSAhPT0gYWxpYXMpO1xuXG4gICAgaWYgKGZyb250bWF0dGVyLmFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZnJvbnRtYXR0ZXIuYWxpYXNlcztcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSwgYWxsb3dpbmcgbW9kaWZpY2F0aW9ucyB2aWEgYSBwcm92aWRlZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIGZyb250bWF0dGVyRm4gLSBBIGZ1bmN0aW9uIHRoYXQgbW9kaWZpZXMgdGhlIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsLiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBwcm9jZXNzLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZyb250IG1hdHRlciBoYXMgYmVlbiBwcm9jZXNzZWQgYW5kIHNhdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0Zyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBmcm9udG1hdHRlckZuOiAoZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+LCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48bnVsbD4+LFxuICBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSAke2dldFBhdGgoYXBwLCBwYXRoT3JGaWxlKX0gaXMgbm90IGEgbWFya2Rvd24gZmlsZS5gKTtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3MoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoYWJvcnRTaWduYWwsIGNvbnRlbnQpID0+IHtcbiAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gICAgY29uc3Qgb2xkRnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPihjb250ZW50KTtcbiAgICBjb25zdCBuZXdGcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+KGNvbnRlbnQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZyb250bWF0dGVyRm4obmV3RnJvbnRtYXR0ZXIsIGFib3J0U2lnbmFsKTtcbiAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGRlZXBFcXVhbChvbGRGcm9udG1hdHRlciwgbmV3RnJvbnRtYXR0ZXIpKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2V0RnJvbnRtYXR0ZXIoY29udGVudCwgbmV3RnJvbnRtYXR0ZXIpO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSx5QkFBMEI7QUFDMUIsd0JBSU87QUFDUCx5QkFHTztBQUNQLG1CQUF3QjtBQVV4QixlQUFzQixTQUFTLEtBQVUsWUFBd0IsT0FBK0I7QUFDOUYsTUFBSSxDQUFDLE9BQU87QUFDVjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQU8sMkJBQVEsS0FBSyxVQUFVO0FBRXBDLE1BQUksS0FBQyxrQ0FBZSxLQUFLLElBQUksR0FBRztBQUM5QixVQUFNLElBQUksTUFBTSxRQUFRLEtBQUssSUFBSSwwQkFBMEI7QUFBQSxFQUM3RDtBQUVBLE1BQUksVUFBVSxLQUFLLFlBQVksVUFBVSxLQUFLLE1BQU07QUFDbEQ7QUFBQSxFQUNGO0FBRUEsUUFBTSxtQkFBbUIsS0FBSyxZQUFZLENBQUMsZ0JBQWdCO0FBQ3pELGdCQUFZLFlBQVksQ0FBQztBQUV6QixRQUFJLENBQUMsWUFBWSxRQUFRLFNBQVMsS0FBSyxHQUFHO0FBQ3hDLGtCQUFZLFFBQVEsS0FBSyxLQUFLO0FBQUEsSUFDaEM7QUFBQSxFQUNGLENBQUM7QUFDSDtBQVVBLGVBQXNCLFlBQVksS0FBVSxZQUF3QixPQUErQjtBQUNqRyxNQUFJLENBQUMsT0FBTztBQUNWO0FBQUEsRUFDRjtBQUVBLE1BQUksS0FBQyxrQ0FBZSxLQUFLLFVBQVUsR0FBRztBQUNwQyxVQUFNLElBQUksTUFBTSxZQUFRLDJCQUFRLEtBQUssVUFBVSxDQUFDLDBCQUEwQjtBQUFBLEVBQzVFO0FBRUEsUUFBTSxtQkFBbUIsS0FBSyxZQUFZLENBQUMsZ0JBQWdCO0FBQ3pELFFBQUksQ0FBQyxZQUFZLFNBQVM7QUFDeEI7QUFBQSxJQUNGO0FBRUEsZ0JBQVksVUFBVSxZQUFZLFFBQVEsT0FBTyxDQUFDLE1BQU0sTUFBTSxLQUFLO0FBRW5FLFFBQUksWUFBWSxRQUFRLFdBQVcsR0FBRztBQUNwQyxhQUFPLFlBQVk7QUFBQSxJQUNyQjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBWUEsZUFBc0IsbUJBQ3BCLEtBQ0EsWUFDQSxlQUNBLGlCQUFpQyxDQUFDLEdBQ25CO0FBQ2YsTUFBSSxLQUFDLGtDQUFlLEtBQUssVUFBVSxHQUFHO0FBQ3BDLFVBQU0sSUFBSSxNQUFNLFlBQVEsMkJBQVEsS0FBSyxVQUFVLENBQUMsMEJBQTBCO0FBQUEsRUFDNUU7QUFFQSxZQUFNLHNCQUFRLEtBQUssWUFBWSxPQUFPLGFBQWEsWUFBWTtBQUM3RCxnQkFBWSxlQUFlO0FBRTNCLFVBQU0scUJBQWlCLHFDQUFvQyxPQUFPO0FBQ2xFLFVBQU0scUJBQWlCLHFDQUFvQyxPQUFPO0FBQ2xFLFVBQU0sU0FBUyxNQUFNLGNBQWMsZ0JBQWdCLFdBQVc7QUFDOUQsZ0JBQVksZUFBZTtBQUUzQixRQUFJLFdBQVcsTUFBTTtBQUNuQixhQUFPO0FBQUEsSUFDVDtBQUVBLFlBQUksOEJBQVUsZ0JBQWdCLGNBQWMsR0FBRztBQUM3QyxhQUFPO0FBQUEsSUFDVDtBQUVBLGVBQU8sbUNBQWUsU0FBUyxjQUFjO0FBQUEsRUFDL0MsR0FBRyxjQUFjO0FBQ25COyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -288,4 +291,4 @@ function getResolvedPath(path) {
|
|
|
288
291
|
isNote,
|
|
289
292
|
trimMarkdownExtension
|
|
290
293
|
});
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVTeXN0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBUQWJzdHJhY3RGaWxlLCBURmlsZSwgYW5kIFRGb2xkZXIgaW5zdGFuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZSxcbiAgVEZvbGRlcixcbiAgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgY3JlYXRlVEZpbGVJbnN0YW5jZSxcbiAgY3JlYXRlVEZvbGRlckluc3RhbmNlLFxuICBwYXJlbnRGb2xkZXJQYXRoXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHtcbiAgZXh0bmFtZSxcbiAgcmVzb2x2ZVxufSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHRyaW1FbmQgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuXG4vKipcbiAqIEEgZmlsZSBleHRlbnNpb24gZm9yIGBiYXNlYCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEJBU0VfRklMRV9FWFRFTlNJT04gPSAnYmFzZSc7XG5cbi8qKlxuICogQSBmaWxlIGV4dGVuc2lvbiBmb3IgYGNhbnZhc2AgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDQU5WQVNfRklMRV9FWFRFTlNJT04gPSAnY2FudmFzJztcblxuLyoqXG4gKiBBIGZpbGUgZXh0ZW5zaW9uIGZvciBgbWFya2Rvd25gIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgTUFSS0RPV05fRklMRV9FWFRFTlNJT04gPSAnbWQnO1xuXG4vKipcbiAqIEEgcGF0aCBvciBhbiBpbnN0YW5jZSBvZiB7QGxpbmsgVEFic3RyYWN0RmlsZX0uXG4gKi9cbmV4cG9ydCB0eXBlIFBhdGhPckFic3RyYWN0RmlsZSA9IHN0cmluZyB8IFRBYnN0cmFjdEZpbGU7XG5cbi8qKlxuICogQSBwYXRoIG9yIGEge0BsaW5rIFRGaWxlfS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRmlsZSA9IHN0cmluZyB8IFRGaWxlO1xuXG4vKipcbiAqIEEgcGF0aCBvciBhIHtAbGluayBURm9sZGVyfS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRm9sZGVyID0gc3RyaW5nIHwgVEZvbGRlcjtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIHBhdGggb3IgZmlsZSBoYXMgdGhlIHNwZWNpZmllZCBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gVGhlIGV4dGVuc2lvbiB0byBjb21wYXJlIGFnYWluc3QuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgcGF0aCBvciBmaWxlIGhhcyB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0V4dGVuc2lvbihhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSwgZXh0ZW5zaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKGlzRmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlLmV4dGVuc2lvbiA9PT0gZXh0ZW5zaW9uO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXRoT3JGaWxlID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHJldHVybiBmaWxlLmV4dGVuc2lvbiA9PT0gZXh0ZW5zaW9uO1xuICAgIH1cblxuICAgIHJldHVybiBleHRuYW1lKHBhdGhPckZpbGUpLnNsaWNlKDEpID09PSBleHRlbnNpb247XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBUQWJzdHJhY3RGaWxlIG9iamVjdCBmb3IgdGhlIGdpdmVuIHBhdGggb3IgYWJzdHJhY3QgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZXRyaWV2ZSB0aGUgVEFic3RyYWN0RmlsZSBmb3IuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBUQWJzdHJhY3RGaWxlIG9iamVjdC5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGFic3RyYWN0IGZpbGUgaXMgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWJzdHJhY3RGaWxlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRBYnN0cmFjdEZpbGUge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZpbGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFic3RyYWN0IGZpbGUgbm90IGZvdW5kOiAke3BhdGhPckZpbGUgYXMgc3RyaW5nfWApO1xuICB9XG5cbiAgcmV0dXJuIGZpbGU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUgb3IgbnVsbCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gcmV0cmlldmUuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRBYnN0cmFjdEZpbGUge1xuICBpZiAocGF0aE9yRmlsZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGlzQWJzdHJhY3RGaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIGFwcC52YXVsdC5maWxlTWFwW3BhdGhPckZpbGUucGF0aF0gPz8gcGF0aE9yRmlsZTtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlSW50ZXJuYWwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG5cbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IGdldFJlc29sdmVkUGF0aChwYXRoT3JGaWxlKTtcblxuICBpZiAocmVzb2x2ZWRQYXRoID09PSBwYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0RmlsZUludGVybmFsKGFwcCwgcmVzb2x2ZWRQYXRoLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZpbGUgb2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmV0cmlldmUgdGhlIFRGaWxlIG9iamVjdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nIC0gV2hldGhlciB0byBpbmNsdWRlIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gKiAgSWYgYHRydWVgLCBhIG5ldyBURmlsZSBvYmplY3QgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gKiAgSWYgYGZhbHNlYCwgYW4gZXJyb3IgaXMgdGhyb3duIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW4sIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRGaWxlIHtcbiAgbGV0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZpbGUpIHtcbiAgICBpZiAoc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nKSB7XG4gICAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAsIHBhdGhPckZpbGUgYXMgc3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlIG5vdCBmb3VuZDogJHtwYXRoT3JGaWxlIGFzIHN0cmluZ31gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURmlsZSBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqIElmIHRoZSBwcm92aWRlZCBhcmd1bWVudCBpcyBhbHJlYWR5IGEgVEZpbGUgb2JqZWN0LCBpdCBpcyByZXR1cm5lZCBhcyBpcy5cbiAqIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGFwcCdzIHZhdWx0IHRvIHJldHJpZXZlIHRoZSBURmlsZSBvYmplY3QgYnkgaXRzIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRGaWxlIHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIHJldHVybiBmaWxlO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGb2xkZXIgb2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHAgYW5kIHBhdGhPckZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgaWRlbnRpZmllci5cbiAqIEBwYXJhbSBzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcgLSBXaGV0aGVyIHRvIGFsbG93IHRoZSBmb2xkZXIgdG8gbm90IGV4aXN0LlxuICogIElmIGB0cnVlYCwgYSBuZXcgVEZvbGRlciBvYmplY3QgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gKiAgSWYgYGZhbHNlYCwgYW4gZXJyb3IgaXMgdGhyb3duIGlmIHRoZSBmb2xkZXIgaXMgbm90IGZvdW5kLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgcmV0cmlldmVkIFRGb2xkZXIgb2JqZWN0LlxuICogQHRocm93cyBJZiB0aGUgZm9sZGVyIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlcihhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXIsIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW4sIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRGb2xkZXIge1xuICBsZXQgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aE9yRm9sZGVyLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmICghZm9sZGVyKSB7XG4gICAgaWYgKHNob3VsZEluY2x1ZGVOb25FeGlzdGluZykge1xuICAgICAgZm9sZGVyID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcCwgcGF0aE9yRm9sZGVyIGFzIHN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRm9sZGVyIG5vdCBmb3VuZDogJHtwYXRoT3JGb2xkZXIgYXMgc3RyaW5nfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb2xkZXI7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZvbGRlciBvYmplY3Qgb3IgbnVsbCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gcmV0cmlldmUgdGhlIFRGb2xkZXIgZnJvbS5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGb2xkZXIgb2JqZWN0IGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBudWxsIHwgUGF0aE9yRm9sZGVyLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBudWxsIHwgVEZvbGRlciB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZvbGRlciwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoaXNGb2xkZXIoZm9sZGVyKSkge1xuICAgIHJldHVybiBmb2xkZXI7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIFRGaWxlIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcyB3aXRoaW4gYSBzcGVjaWZpZWQgZm9sZGVyIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIHJldHJpZXZlIHRoZSBtYXJrZG93biBmaWxlcyBmcm9tLlxuICogQHBhcmFtIGlzUmVjdXJzaXZlIC0gT3B0aW9uYWwuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJlY3Vyc2l2ZWx5IHNlYXJjaCBmb3IgbWFya2Rvd24gZmlsZXMgd2l0aGluIHN1YmZvbGRlcnMuIERlZmF1bHQgaXMgZmFsc2UuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiBURmlsZSBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgbWFya2Rvd24gZmlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXJrZG93bkZpbGVzKGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IFBhdGhPckZvbGRlciwgaXNSZWN1cnNpdmU/OiBib29sZWFuKTogVEZpbGVbXSB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlcihhcHAsIHBhdGhPckZvbGRlcik7XG5cbiAgbGV0IG1hcmtkb3duRmlsZXM6IFRGaWxlW10gPSBbXTtcblxuICBpZiAoaXNSZWN1cnNpdmUpIHtcbiAgICBWYXVsdC5yZWN1cnNlQ2hpbGRyZW4oZm9sZGVyLCAoYWJzdHJhY3RGaWxlKSA9PiB7XG4gICAgICBpZiAoaXNNYXJrZG93bkZpbGUoYXBwLCBhYnN0cmFjdEZpbGUpKSB7XG4gICAgICAgIG1hcmtkb3duRmlsZXMucHVzaChhYnN0cmFjdEZpbGUgYXMgVEZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG1hcmtkb3duRmlsZXMgPSBmb2xkZXIuY2hpbGRyZW4uZmlsdGVyKChmaWxlKSA9PiBpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpKSBhcyBURmlsZVtdO1xuICB9XG5cbiAgbWFya2Rvd25GaWxlcyA9IG1hcmtkb3duRmlsZXMuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSk7XG4gIHJldHVybiBtYXJrZG93bkZpbGVzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEZpbGUgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGF0aCBvciBjcmVhdGVzIGEgbmV3IG9uZSBpZiBpdCBkb2VzIG5vdCBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gcmV0cmlldmUgb3IgY3JlYXRlLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGZpbGVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlRmlsZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoZmlsZSkge1xuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgY29uc3QgZm9sZGVyUGF0aCA9IHBhcmVudEZvbGRlclBhdGgocGF0aCk7XG4gIGF3YWl0IGdldE9yQ3JlYXRlRm9sZGVyKGFwcCwgZm9sZGVyUGF0aCk7XG5cbiAgcmV0dXJuIGF3YWl0IGFwcC52YXVsdC5jcmVhdGUocGF0aCwgJycpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEZvbGRlciBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIHJldHJpZXZlIG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIFRoZSBURm9sZGVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGZvbGRlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlRm9sZGVyKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPFRGb2xkZXI+IHtcbiAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aCk7XG4gIGlmIChmb2xkZXIpIHtcbiAgICByZXR1cm4gZm9sZGVyO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGFwcC52YXVsdC5jcmVhdGVGb2xkZXIocGF0aCk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGF0aCBvZiB0aGUgZ2l2ZW4gYHBhdGhPckZpbGVgLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICogQHJldHVybnMgVGhlIHBhdGggb2YgdGhlIGBwYXRoT3JGaWxlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGgoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IHN0cmluZyB7XG4gIGlmIChpc0Fic3RyYWN0RmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlLnBhdGg7XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIGZpbGUucGF0aDtcbiAgfVxuXG4gIHJldHVybiBnZXRSZXNvbHZlZFBhdGgocGF0aE9yRmlsZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGFuIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzdHJhY3RGaWxlKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRBYnN0cmFjdEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRBYnN0cmFjdEZpbGU7XG59XG5cbi8qKlxuICogICBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBiYXNlIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgYmFzZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCYXNlRmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24oYXBwLCBwYXRoT3JGaWxlLCBCQVNFX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBjYW52YXMgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBjYW52YXMgZmlsZSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGaWxlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBmaWxlIGlzIGEgZm9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRGb2xkZXIge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGb2xkZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBNYXJrZG93biBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNYXJrZG93bkZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgTUFSS0RPV05fRklMRV9FWFRFTlNJT04pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIG5vdGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgbm90ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSB8fCBpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKSB8fCBpc0Jhc2VGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tIHRoZSBmaWxlIHBhdGggaWYgdGhlIGZpbGUgaXMgYSBtYXJrZG93biBmaWxlLlxuICogSWYgdGhlIGZpbGUgaXMgbm90IGEgbWFya2Rvd24gZmlsZSwgdGhlIG9yaWdpbmFsIGZpbGUgcGF0aCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gdHJpbSB0aGUgbWFya2Rvd24gZXh0ZW5zaW9uIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBwYXRoIHdpdGggdGhlIG1hcmtkb3duIGV4dGVuc2lvbiB0cmltbWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbU1hcmtkb3duRXh0ZW5zaW9uKGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpKSB7XG4gICAgcmV0dXJuIGZpbGUucGF0aDtcbiAgfVxuXG4gIHJldHVybiB0cmltRW5kKGZpbGUucGF0aCwgYC4ke01BUktET1dOX0ZJTEVfRVhURU5TSU9OfWApO1xufVxuXG5mdW5jdGlvbiBnZXRGaWxlSW50ZXJuYWwoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRBYnN0cmFjdEZpbGUge1xuICBpZiAoaXNDYXNlSW5zZW5zaXRpdmUpIHtcbiAgICByZXR1cm4gYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aEluc2Vuc2l0aXZlKHBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgocGF0aCkgYXMgbnVsbCB8IFRGaWxlO1xufVxuXG5mdW5jdGlvbiBnZXRSZXNvbHZlZFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVBhdGgocmVzb2x2ZSgnLycsIHBhdGgpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBTU87QUFDUCw2QkFJTztBQUVQLGtCQUdPO0FBQ1Asb0JBQXdCO0FBS2pCLE1B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
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVTeXN0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBUQWJzdHJhY3RGaWxlLCBURmlsZSwgYW5kIFRGb2xkZXIgaW5zdGFuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZSxcbiAgVEZvbGRlcixcbiAgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgY3JlYXRlVEZpbGVJbnN0YW5jZSxcbiAgY3JlYXRlVEZvbGRlckluc3RhbmNlLFxuICBwYXJlbnRGb2xkZXJQYXRoXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHtcbiAgZXh0bmFtZSxcbiAgcmVzb2x2ZVxufSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHRyaW1FbmQgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuXG4vKipcbiAqIEEgZmlsZSBleHRlbnNpb24gZm9yIGBiYXNlYCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEJBU0VfRklMRV9FWFRFTlNJT04gPSAnYmFzZSc7XG5cbi8qKlxuICogQSBmaWxlIGV4dGVuc2lvbiBmb3IgYGNhbnZhc2AgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDQU5WQVNfRklMRV9FWFRFTlNJT04gPSAnY2FudmFzJztcblxuLyoqXG4gKiBBIGZpbGUgZXh0ZW5zaW9uIGZvciBgbWFya2Rvd25gIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgTUFSS0RPV05fRklMRV9FWFRFTlNJT04gPSAnbWQnO1xuXG4vKipcbiAqIEEgcGF0aCBvciBhbiBpbnN0YW5jZSBvZiB7QGxpbmsgVEFic3RyYWN0RmlsZX0uXG4gKi9cbmV4cG9ydCB0eXBlIFBhdGhPckFic3RyYWN0RmlsZSA9IHN0cmluZyB8IFRBYnN0cmFjdEZpbGU7XG5cbi8qKlxuICogQSBwYXRoIG9yIGEge0BsaW5rIFRGaWxlfS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRmlsZSA9IHN0cmluZyB8IFRGaWxlO1xuXG4vKipcbiAqIEEgcGF0aCBvciBhIHtAbGluayBURm9sZGVyfS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRm9sZGVyID0gc3RyaW5nIHwgVEZvbGRlcjtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIHBhdGggb3IgZmlsZSBoYXMgdGhlIHNwZWNpZmllZCBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gVGhlIGV4dGVuc2lvbiB0byBjb21wYXJlIGFnYWluc3QuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgcGF0aCBvciBmaWxlIGhhcyB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0V4dGVuc2lvbihhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSwgZXh0ZW5zaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKGlzRmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlLmV4dGVuc2lvbiA9PT0gZXh0ZW5zaW9uO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXRoT3JGaWxlID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHJldHVybiBmaWxlLmV4dGVuc2lvbiA9PT0gZXh0ZW5zaW9uO1xuICAgIH1cblxuICAgIHJldHVybiBleHRuYW1lKHBhdGhPckZpbGUpLnNsaWNlKDEpID09PSBleHRlbnNpb247XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBUQWJzdHJhY3RGaWxlIG9iamVjdCBmb3IgdGhlIGdpdmVuIHBhdGggb3IgYWJzdHJhY3QgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZXRyaWV2ZSB0aGUgVEFic3RyYWN0RmlsZSBmb3IuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBUQWJzdHJhY3RGaWxlIG9iamVjdC5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGFic3RyYWN0IGZpbGUgaXMgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWJzdHJhY3RGaWxlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRBYnN0cmFjdEZpbGUge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZpbGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFic3RyYWN0IGZpbGUgbm90IGZvdW5kOiAke3BhdGhPckZpbGUgYXMgc3RyaW5nfWApO1xuICB9XG5cbiAgcmV0dXJuIGZpbGU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUgb3IgbnVsbCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gcmV0cmlldmUuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRBYnN0cmFjdEZpbGUge1xuICBpZiAocGF0aE9yRmlsZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGlzQWJzdHJhY3RGaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIGFwcC52YXVsdC5maWxlTWFwW3BhdGhPckZpbGUucGF0aF0gPz8gcGF0aE9yRmlsZTtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlSW50ZXJuYWwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG5cbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IGdldFJlc29sdmVkUGF0aChwYXRoT3JGaWxlKTtcblxuICBpZiAocmVzb2x2ZWRQYXRoID09PSBwYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0RmlsZUludGVybmFsKGFwcCwgcmVzb2x2ZWRQYXRoLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZpbGUgb2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmV0cmlldmUgdGhlIFRGaWxlIG9iamVjdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nIC0gV2hldGhlciB0byBpbmNsdWRlIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gKiAgSWYgYHRydWVgLCBhIG5ldyBURmlsZSBvYmplY3QgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gKiAgSWYgYGZhbHNlYCwgYW4gZXJyb3IgaXMgdGhyb3duIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW4sIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRGaWxlIHtcbiAgbGV0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZpbGUpIHtcbiAgICBpZiAoc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nKSB7XG4gICAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAsIHBhdGhPckZpbGUgYXMgc3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlIG5vdCBmb3VuZDogJHtwYXRoT3JGaWxlIGFzIHN0cmluZ31gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURmlsZSBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqIElmIHRoZSBwcm92aWRlZCBhcmd1bWVudCBpcyBhbHJlYWR5IGEgVEZpbGUgb2JqZWN0LCBpdCBpcyByZXR1cm5lZCBhcyBpcy5cbiAqIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGFwcCdzIHZhdWx0IHRvIHJldHJpZXZlIHRoZSBURmlsZSBvYmplY3QgYnkgaXRzIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRGaWxlIHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIHJldHVybiBmaWxlO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGb2xkZXIgb2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHAgYW5kIHBhdGhPckZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgaWRlbnRpZmllci5cbiAqIEBwYXJhbSBzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcgLSBXaGV0aGVyIHRvIGFsbG93IHRoZSBmb2xkZXIgdG8gbm90IGV4aXN0LlxuICogIElmIGB0cnVlYCwgYSBuZXcgVEZvbGRlciBvYmplY3QgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gKiAgSWYgYGZhbHNlYCwgYW4gZXJyb3IgaXMgdGhyb3duIGlmIHRoZSBmb2xkZXIgaXMgbm90IGZvdW5kLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgcmV0cmlldmVkIFRGb2xkZXIgb2JqZWN0LlxuICogQHRocm93cyBJZiB0aGUgZm9sZGVyIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlcihhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXIsIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW4sIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRGb2xkZXIge1xuICBsZXQgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aE9yRm9sZGVyLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmICghZm9sZGVyKSB7XG4gICAgaWYgKHNob3VsZEluY2x1ZGVOb25FeGlzdGluZykge1xuICAgICAgZm9sZGVyID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcCwgcGF0aE9yRm9sZGVyIGFzIHN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRm9sZGVyIG5vdCBmb3VuZDogJHtwYXRoT3JGb2xkZXIgYXMgc3RyaW5nfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb2xkZXI7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZvbGRlciBvYmplY3Qgb3IgbnVsbCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gcmV0cmlldmUgdGhlIFRGb2xkZXIgZnJvbS5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGb2xkZXIgb2JqZWN0IGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBudWxsIHwgUGF0aE9yRm9sZGVyLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBudWxsIHwgVEZvbGRlciB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZvbGRlciwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoaXNGb2xkZXIoZm9sZGVyKSkge1xuICAgIHJldHVybiBmb2xkZXI7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIFRGaWxlIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcyB3aXRoaW4gYSBzcGVjaWZpZWQgZm9sZGVyIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIHJldHJpZXZlIHRoZSBtYXJrZG93biBmaWxlcyBmcm9tLlxuICogQHBhcmFtIGlzUmVjdXJzaXZlIC0gT3B0aW9uYWwuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJlY3Vyc2l2ZWx5IHNlYXJjaCBmb3IgbWFya2Rvd24gZmlsZXMgd2l0aGluIHN1YmZvbGRlcnMuIERlZmF1bHQgaXMgZmFsc2UuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiBURmlsZSBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgbWFya2Rvd24gZmlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXJrZG93bkZpbGVzKGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IFBhdGhPckZvbGRlciwgaXNSZWN1cnNpdmU/OiBib29sZWFuKTogVEZpbGVbXSB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlcihhcHAsIHBhdGhPckZvbGRlcik7XG5cbiAgbGV0IG1hcmtkb3duRmlsZXM6IFRGaWxlW10gPSBbXTtcblxuICBpZiAoaXNSZWN1cnNpdmUpIHtcbiAgICBWYXVsdC5yZWN1cnNlQ2hpbGRyZW4oZm9sZGVyLCAoYWJzdHJhY3RGaWxlKSA9PiB7XG4gICAgICBpZiAoaXNNYXJrZG93bkZpbGUoYXBwLCBhYnN0cmFjdEZpbGUpKSB7XG4gICAgICAgIG1hcmtkb3duRmlsZXMucHVzaChhYnN0cmFjdEZpbGUgYXMgVEZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG1hcmtkb3duRmlsZXMgPSBmb2xkZXIuY2hpbGRyZW4uZmlsdGVyKChmaWxlKSA9PiBpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpKSBhcyBURmlsZVtdO1xuICB9XG5cbiAgbWFya2Rvd25GaWxlcyA9IG1hcmtkb3duRmlsZXMuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSk7XG4gIHJldHVybiBtYXJrZG93bkZpbGVzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEZpbGUgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGF0aCBvciBjcmVhdGVzIGEgbmV3IG9uZSBpZiBpdCBkb2VzIG5vdCBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gcmV0cmlldmUgb3IgY3JlYXRlLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGZpbGVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlRmlsZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoZmlsZSkge1xuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgY29uc3QgZm9sZGVyUGF0aCA9IHBhcmVudEZvbGRlclBhdGgocGF0aCk7XG4gIGF3YWl0IGdldE9yQ3JlYXRlRm9sZGVyKGFwcCwgZm9sZGVyUGF0aCk7XG5cbiAgcmV0dXJuIGF3YWl0IGFwcC52YXVsdC5jcmVhdGUocGF0aCwgJycpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEZvbGRlciBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIHJldHJpZXZlIG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIFRoZSBURm9sZGVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGZvbGRlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlRm9sZGVyKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPFRGb2xkZXI+IHtcbiAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aCk7XG4gIGlmIChmb2xkZXIpIHtcbiAgICByZXR1cm4gZm9sZGVyO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGFwcC52YXVsdC5jcmVhdGVGb2xkZXIocGF0aCk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGF0aCBvZiB0aGUgZ2l2ZW4gYHBhdGhPckZpbGVgLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICogQHJldHVybnMgVGhlIHBhdGggb2YgdGhlIGBwYXRoT3JGaWxlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGgoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IHN0cmluZyB7XG4gIGlmIChpc0Fic3RyYWN0RmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlLnBhdGg7XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIGZpbGUucGF0aDtcbiAgfVxuXG4gIHJldHVybiBnZXRSZXNvbHZlZFBhdGgocGF0aE9yRmlsZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGFuIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzdHJhY3RGaWxlKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRBYnN0cmFjdEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRBYnN0cmFjdEZpbGU7XG59XG5cbi8qKlxuICogICBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBiYXNlIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgYmFzZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCYXNlRmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24oYXBwLCBwYXRoT3JGaWxlLCBCQVNFX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBjYW52YXMgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBjYW52YXMgZmlsZSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGaWxlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBmaWxlIGlzIGEgZm9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRGb2xkZXIge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGb2xkZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBNYXJrZG93biBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNYXJrZG93bkZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgTUFSS0RPV05fRklMRV9FWFRFTlNJT04pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIG5vdGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgbm90ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSB8fCBpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKSB8fCBpc0Jhc2VGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tIHRoZSBmaWxlIHBhdGggaWYgdGhlIGZpbGUgaXMgYSBtYXJrZG93biBmaWxlLlxuICogSWYgdGhlIGZpbGUgaXMgbm90IGEgbWFya2Rvd24gZmlsZSwgdGhlIG9yaWdpbmFsIGZpbGUgcGF0aCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gdHJpbSB0aGUgbWFya2Rvd24gZXh0ZW5zaW9uIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBwYXRoIHdpdGggdGhlIG1hcmtkb3duIGV4dGVuc2lvbiB0cmltbWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbU1hcmtkb3duRXh0ZW5zaW9uKGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpKSB7XG4gICAgcmV0dXJuIGZpbGUucGF0aDtcbiAgfVxuXG4gIHJldHVybiB0cmltRW5kKGZpbGUucGF0aCwgYC4ke01BUktET1dOX0ZJTEVfRVhURU5TSU9OfWApO1xufVxuXG5mdW5jdGlvbiBnZXRGaWxlSW50ZXJuYWwoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRBYnN0cmFjdEZpbGUge1xuICBpZiAoaXNDYXNlSW5zZW5zaXRpdmUpIHtcbiAgICByZXR1cm4gYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aEluc2Vuc2l0aXZlKHBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgocGF0aCkgYXMgbnVsbCB8IFRGaWxlO1xufVxuXG5mdW5jdGlvbiBnZXRSZXNvbHZlZFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVBhdGgocmVzb2x2ZSgnLycsIHBhdGgpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBTU87QUFDUCw2QkFJTztBQUVQLGtCQUdPO0FBQ1Asb0JBQXdCO0FBS2pC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
|
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -107,4 +110,4 @@ ${content}`;
|
|
|
107
110
|
parseFrontmatter,
|
|
108
111
|
setFrontmatter
|
|
109
112
|
});
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250bWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGFuZCBtYW5hZ2luZyBZQU1MIGZyb250IG1hdHRlciBpbiBPYnNpZGlhbiBub3Rlcy5cbiAqL1xuXG5pbXBvcnQge1xuICBnZXRGcm9udE1hdHRlckluZm8sXG4gIHBhcnNlWWFtbCxcbiAgc3RyaW5naWZ5WWFtbFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdFV0aWxzLnRzJztcblxuaW1wb3J0IHsgaW5zZXJ0QXQgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuXG4vKipcbiAqIEEgY29tYmluZWQgZnJvbnQgbWF0dGVyIG9mIGEgZG9jdW1lbnQuXG4gKiBJdCBpcyBhIHVuaW9uIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIsIE9ic2lkaWFuIGZyb250IG1hdHRlciwgYW5kIGFkZGl0aW9uYWwgcHJvcGVydGllcy5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4gPSBDdXN0b21Gcm9udG1hdHRlciAmIEdlbmVyaWNPYmplY3QgJiBPYnNpZGlhbkZyb250bWF0dGVyO1xuXG4vKipcbiAqIEEgZnJvbnQgbWF0dGVyIG9mIGFuIE9ic2lkaWFuIGZpbGUuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL0VkaXRpbmcrYW5kK2Zvcm1hdHRpbmcvUHJvcGVydGllcyNEZWZhdWx0K3Byb3BlcnRpZXN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Gcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBhbGlhc2VzIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIG5vdGUuXG4gICAqL1xuICBjc3NjbGFzc2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRhZ3MgZm9yIHRoZSBub3RlLlxuICAgKi9cbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgZnJvbnQgbWF0dGVyIGZvciBwdWJsaXNoaW5nIGluIE9ic2lkaWFuLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaGVscC5vYnNpZGlhbi5tZC9FZGl0aW5nK2FuZCtmb3JtYXR0aW5nL1Byb3BlcnRpZXMjUHJvcGVydGllcytmb3IrT2JzaWRpYW4rUHVibGlzaH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblB1Ymxpc2hGcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBBIGNvdmVyIGltYWdlIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGNvdmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBpbWFnZSBmb3IgdGhlIG5vdGUuXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwZXJtYW5lbnQgbGluayBmb3IgdGhlIG5vdGUuXG4gICAqL1xuICBwZXJtYWxpbms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5vdGUgaXMgcHVibGlzaGVkLlxuICAgKi9cbiAgcHVibGlzaD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBjb250ZW50IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHN0cmluZyB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlciA9IHVua25vd24+KGNvbnRlbnQ6IHN0cmluZyk6IENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+IHtcbiAgY29uc3QgZnJvbnRtYXR0ZXJJbmZvID0gZ2V0RnJvbnRNYXR0ZXJJbmZvKGNvbnRlbnQpO1xuICByZXR1cm4gKHBhcnNlWWFtbChmcm9udG1hdHRlckluZm8uZnJvbnRtYXR0ZXIpID8/IHt9KSBhcyBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPjtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBjb250ZW50IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHN0cmluZyB0byBzZXQgdGhlIGZyb250IG1hdHRlciBpbi5cbiAqIEBwYXJhbSBuZXdGcm9udG1hdHRlciAtIFRoZSBuZXcgZnJvbnQgbWF0dGVyIHRvIHNldC5cbiAqIEByZXR1cm5zIFRoZSBuZXcgY29udGVudCBzdHJpbmcgd2l0aCB0aGUgZnJvbnQgbWF0dGVyIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEZyb250bWF0dGVyKGNvbnRlbnQ6IHN0cmluZywgbmV3RnJvbnRtYXR0ZXI6IG9iamVjdCk6IHN0cmluZyB7XG4gIGNvbnN0IGZyb250bWF0dGVySW5mbyA9IGdldEZyb250TWF0dGVySW5mbyhjb250ZW50KTtcbiAgaWYgKE9iamVjdC5rZXlzKG5ld0Zyb250bWF0dGVyKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gY29udGVudC5zbGljZShmcm9udG1hdHRlckluZm8uY29udGVudFN0YXJ0KTtcbiAgfVxuXG4gIGNvbnN0IG5ld0Zyb250bWF0dGVyU3RyID0gc3RyaW5naWZ5WWFtbChuZXdGcm9udG1hdHRlcik7XG5cbiAgcmV0dXJuIGZyb250bWF0dGVySW5mby5leGlzdHNcbiAgICA/
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250bWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGFuZCBtYW5hZ2luZyBZQU1MIGZyb250IG1hdHRlciBpbiBPYnNpZGlhbiBub3Rlcy5cbiAqL1xuXG5pbXBvcnQge1xuICBnZXRGcm9udE1hdHRlckluZm8sXG4gIHBhcnNlWWFtbCxcbiAgc3RyaW5naWZ5WWFtbFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdFV0aWxzLnRzJztcblxuaW1wb3J0IHsgaW5zZXJ0QXQgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuXG4vKipcbiAqIEEgY29tYmluZWQgZnJvbnQgbWF0dGVyIG9mIGEgZG9jdW1lbnQuXG4gKiBJdCBpcyBhIHVuaW9uIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIsIE9ic2lkaWFuIGZyb250IG1hdHRlciwgYW5kIGFkZGl0aW9uYWwgcHJvcGVydGllcy5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4gPSBDdXN0b21Gcm9udG1hdHRlciAmIEdlbmVyaWNPYmplY3QgJiBPYnNpZGlhbkZyb250bWF0dGVyO1xuXG4vKipcbiAqIEEgZnJvbnQgbWF0dGVyIG9mIGFuIE9ic2lkaWFuIGZpbGUuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL0VkaXRpbmcrYW5kK2Zvcm1hdHRpbmcvUHJvcGVydGllcyNEZWZhdWx0K3Byb3BlcnRpZXN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Gcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBhbGlhc2VzIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIG5vdGUuXG4gICAqL1xuICBjc3NjbGFzc2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRhZ3MgZm9yIHRoZSBub3RlLlxuICAgKi9cbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgZnJvbnQgbWF0dGVyIGZvciBwdWJsaXNoaW5nIGluIE9ic2lkaWFuLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaGVscC5vYnNpZGlhbi5tZC9FZGl0aW5nK2FuZCtmb3JtYXR0aW5nL1Byb3BlcnRpZXMjUHJvcGVydGllcytmb3IrT2JzaWRpYW4rUHVibGlzaH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblB1Ymxpc2hGcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBBIGNvdmVyIGltYWdlIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGNvdmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBpbWFnZSBmb3IgdGhlIG5vdGUuXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwZXJtYW5lbnQgbGluayBmb3IgdGhlIG5vdGUuXG4gICAqL1xuICBwZXJtYWxpbms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5vdGUgaXMgcHVibGlzaGVkLlxuICAgKi9cbiAgcHVibGlzaD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBjb250ZW50IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHN0cmluZyB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlciA9IHVua25vd24+KGNvbnRlbnQ6IHN0cmluZyk6IENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+IHtcbiAgY29uc3QgZnJvbnRtYXR0ZXJJbmZvID0gZ2V0RnJvbnRNYXR0ZXJJbmZvKGNvbnRlbnQpO1xuICByZXR1cm4gKHBhcnNlWWFtbChmcm9udG1hdHRlckluZm8uZnJvbnRtYXR0ZXIpID8/IHt9KSBhcyBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPjtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBjb250ZW50IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHN0cmluZyB0byBzZXQgdGhlIGZyb250IG1hdHRlciBpbi5cbiAqIEBwYXJhbSBuZXdGcm9udG1hdHRlciAtIFRoZSBuZXcgZnJvbnQgbWF0dGVyIHRvIHNldC5cbiAqIEByZXR1cm5zIFRoZSBuZXcgY29udGVudCBzdHJpbmcgd2l0aCB0aGUgZnJvbnQgbWF0dGVyIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEZyb250bWF0dGVyKGNvbnRlbnQ6IHN0cmluZywgbmV3RnJvbnRtYXR0ZXI6IG9iamVjdCk6IHN0cmluZyB7XG4gIGNvbnN0IGZyb250bWF0dGVySW5mbyA9IGdldEZyb250TWF0dGVySW5mbyhjb250ZW50KTtcbiAgaWYgKE9iamVjdC5rZXlzKG5ld0Zyb250bWF0dGVyKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gY29udGVudC5zbGljZShmcm9udG1hdHRlckluZm8uY29udGVudFN0YXJ0KTtcbiAgfVxuXG4gIGNvbnN0IG5ld0Zyb250bWF0dGVyU3RyID0gc3RyaW5naWZ5WWFtbChuZXdGcm9udG1hdHRlcik7XG5cbiAgcmV0dXJuIGZyb250bWF0dGVySW5mby5leGlzdHNcbiAgICA/IGluc2VydEF0KGNvbnRlbnQsIG5ld0Zyb250bWF0dGVyU3RyLCBmcm9udG1hdHRlckluZm8uZnJvbSwgZnJvbnRtYXR0ZXJJbmZvLnRvKVxuICAgIDogYC0tLVxcbiR7bmV3RnJvbnRtYXR0ZXJTdHJ9LS0tXFxuJHtjb250ZW50fWA7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBSU87QUFJUCxvQkFBeUI7QUFzRWxCLFNBQVMsaUJBQThDLFNBQXlEO0FBQ3JILFFBQU0sc0JBQWtCLG9DQUFtQixPQUFPO0FBQ2xELGFBQVEsMkJBQVUsZ0JBQWdCLFdBQVcsS0FBSyxDQUFDO0FBQ3JEO0FBU08sU0FBUyxlQUFlLFNBQWlCLGdCQUFnQztBQUM5RSxRQUFNLHNCQUFrQixvQ0FBbUIsT0FBTztBQUNsRCxNQUFJLE9BQU8sS0FBSyxjQUFjLEVBQUUsV0FBVyxHQUFHO0FBQzVDLFdBQU8sUUFBUSxNQUFNLGdCQUFnQixZQUFZO0FBQUEsRUFDbkQ7QUFFQSxRQUFNLHdCQUFvQiwrQkFBYyxjQUFjO0FBRXRELFNBQU8sZ0JBQWdCLGFBQ25CLHdCQUFTLFNBQVMsbUJBQW1CLGdCQUFnQixNQUFNLGdCQUFnQixFQUFFLElBQzdFO0FBQUEsRUFBUSxpQkFBaUI7QUFBQSxFQUFRLE9BQU87QUFDOUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -47,17 +47,20 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function requirePatched(id) {
|
|
50
|
-
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
51
|
+
const module = window.app?.isMobile ? undefined : originalRequire?.(id);
|
|
51
52
|
if (module) {
|
|
52
53
|
return extractDefault(module);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
if (id === 'process' || id === 'node:process') {
|
|
56
|
-
|
|
57
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
58
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
57
59
|
return globalThis.process;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
63
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
63
66
|
})();
|
|
@@ -109,4 +112,4 @@ function toFrontmatterLinkCacheWithOffsets(reference) {
|
|
|
109
112
|
isFrontmatterLinkCacheWithOffsets,
|
|
110
113
|
toFrontmatterLinkCacheWithOffsets
|
|
111
114
|
});
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB0eXBlIGZvciBmcm9udG1hdHRlciBsaW5rIGNhY2hlIHdpdGggb2Zmc2V0cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpc0Zyb250bWF0dGVyTGlua0NhY2hlIH0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG4vKipcbiAqIFR5cGUgZm9yIGZyb250bWF0dGVyIGxpbmsgY2FjaGUgd2l0aCBvZmZzZXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMgZXh0ZW5kcyBGcm9udG1hdHRlckxpbmtDYWNoZSB7XG4gIC8qKlxuICAgKiBBbiBlbmQgb2Zmc2V0IG9mIHRoZSBsaW5rIGluIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAgICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHN0YXJ0IG9mZnNldCBvZiB0aGUgbGluayBpbiB0aGUgcHJvcGVydHkgdmFsdWUuXG4gICAqL1xuICBzdGFydE9mZnNldDogbnVtYmVyO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgcmVmZXJlbmNlIGlzIGEgZnJvbnRtYXR0ZXIgbGluayBjYWNoZSB3aXRoIG9mZnNldHMuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgYSBmcm9udG1hdHRlciBsaW5rIGNhY2hlIHdpdGggb2Zmc2V0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIHtcbiAgaWYgKCFpc0Zyb250bWF0dGVyTGlua0NhY2hlKHJlZmVyZW5jZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBmcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzID0gcmVmZXJlbmNlIGFzIFBhcnRpYWw8RnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cz47XG4gIHJldHVybiBmcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnN0YXJ0T2Zmc2V0ICE9PSB1bmRlZmluZWQgJiYgZnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cy5lbmRPZmZzZXQgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGZyb250bWF0dGVyIGxpbmsgY2FjaGUgdG8gYSBmcm9udG1hdHRlciBsaW5rIGNhY2hlIHdpdGggb2Zmc2V0cy5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvbnZlcnRlZCByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMocmVmZXJlbmNlOiBGcm9udG1hdHRlckxpbmtDYWNoZSk6IEZyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMge1xuICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKHJlZmVyZW5jZSkpIHtcbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZWZlcmVuY2UsXG4gICAgZW5kT2Zmc2V0OiByZWZlcmVuY2Uub3JpZ2luYWwubGVuZ3RoLFxuICAgIHN0YXJ0T2Zmc2V0OiAwXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsNkJBQXVDO0FBdUJoQyxTQUFTLGtDQUFrQyxXQUFvRTtBQUNwSCxNQUFJLEtBQUMsK0NBQXVCLFNBQVMsR0FBRztBQUN0QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sa0NBQWtDO0FBQ3hDLFNBQU8sZ0NBQWdDLGdCQUFnQixVQUFhLGdDQUFnQyxjQUFjO0FBQ3BIO0FBUU8sU0FBUyxrQ0FBa0MsV0FBa0U7QUFDbEgsTUFBSSxrQ0FBa0MsU0FBUyxHQUFHO0FBQ2hELFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUFBLElBQ0wsR0FBRztBQUFBLElBQ0gsV0FBVyxVQUFVLFNBQVM7QUFBQSxJQUM5QixhQUFhO0FBQUEsRUFDZjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|