obsidian-dev-utils 43.9.0 → 43.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/lib/cjs/AbortController.cjs +2 -3
- package/dist/lib/cjs/Array.cjs +2 -3
- package/dist/lib/cjs/Async.cjs +2 -3
- package/dist/lib/cjs/AsyncEvents.cjs +2 -3
- package/dist/lib/cjs/Blob.cjs +2 -3
- package/dist/lib/cjs/CssClass.cjs +2 -3
- package/dist/lib/cjs/Debug.cjs +2 -3
- package/dist/lib/cjs/DebugController.cjs +2 -3
- package/dist/lib/cjs/Enum.cjs +2 -3
- package/dist/lib/cjs/Error.cjs +2 -3
- package/dist/lib/cjs/Function.cjs +2 -3
- package/dist/lib/cjs/HTMLElement.cjs +2 -3
- package/dist/lib/cjs/Library.cjs +3 -4
- package/dist/lib/cjs/ObjectUtils.cjs +2 -3
- package/dist/lib/cjs/Path.cjs +2 -3
- package/dist/lib/cjs/RegExp.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +13 -4
- package/dist/lib/cjs/ScriptUtils/ESLint/index.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/Exec.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/Fs.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/JSON.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/Npm.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/Root.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/build.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/cli.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/index.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/format.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/index.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/markdownlint/index.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +2 -3
- package/dist/lib/cjs/ScriptUtils/version.cjs +3 -4
- package/dist/lib/cjs/String.cjs +2 -3
- package/dist/lib/cjs/Transformers/DateTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/DurationTransformer.cjs +4 -5
- package/dist/lib/cjs/Transformers/DurationTransformer.d.cts +4 -5
- package/dist/lib/cjs/Transformers/GroupTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/MapTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/SetTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/Transformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/TwoWayMapTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/TypedTransformer.cjs +2 -3
- package/dist/lib/cjs/Transformers/index.cjs +2 -3
- package/dist/lib/cjs/TwoWayMap.cjs +2 -3
- package/dist/lib/cjs/Type.cjs +2 -3
- package/dist/lib/cjs/ValueProvider.cjs +2 -3
- package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +2 -3
- package/dist/lib/cjs/codemirror/index.cjs +2 -3
- package/dist/lib/cjs/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/App.cjs +2 -3
- package/dist/lib/cjs/obsidian/AttachmentPath.cjs +2 -3
- package/dist/lib/cjs/obsidian/Backlink.cjs +6 -3
- package/dist/lib/cjs/obsidian/Callout.cjs +2 -3
- package/dist/lib/cjs/obsidian/CodeBlockMarkdownInformation.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Commands/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.cjs +7 -16
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.cjs +7 -16
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.cjs +7 -16
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/SettingComponentWrapper.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +5 -6
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.d.cts +3 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.cjs +7 -16
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/Components/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/Dataview.cjs +3 -4
- package/dist/lib/cjs/obsidian/DataviewLink.cjs +2 -3
- package/dist/lib/cjs/obsidian/Editor.cjs +2 -3
- package/dist/lib/cjs/obsidian/FileChange.cjs +2 -3
- package/dist/lib/cjs/obsidian/FileManager.cjs +2 -3
- package/dist/lib/cjs/obsidian/FileSystem.cjs +3 -4
- package/dist/lib/cjs/obsidian/Frontmatter.cjs +2 -3
- package/dist/lib/cjs/obsidian/FrontmatterLinkCacheWithOffsets.cjs +2 -3
- package/dist/lib/cjs/obsidian/Link.cjs +3 -4
- package/dist/lib/cjs/obsidian/Logger.cjs +2 -3
- package/dist/lib/cjs/obsidian/Loop.cjs +2 -3
- package/dist/lib/cjs/obsidian/Markdown.cjs +2 -3
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +2 -3
- package/dist/lib/cjs/obsidian/MarkdownView.cjs +2 -3
- package/dist/lib/cjs/obsidian/MetadataCache.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/Alert.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +2 -3
- package/dist/lib/cjs/obsidian/Modals/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/MonkeyAround.cjs +2 -3
- package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +2 -3
- package/dist/lib/cjs/obsidian/Pdf.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/Plugin/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/Queue.cjs +2 -3
- package/dist/lib/cjs/obsidian/React/AppContext.cjs +2 -3
- package/dist/lib/cjs/obsidian/React/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/Reference.cjs +2 -3
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +2 -3
- package/dist/lib/cjs/obsidian/ResourceUrl.cjs +2 -3
- package/dist/lib/cjs/obsidian/SettingEx.cjs +2 -3
- package/dist/lib/cjs/obsidian/Validation.cjs +2 -3
- package/dist/lib/cjs/obsidian/Vault.cjs +2 -3
- package/dist/lib/cjs/obsidian/VaultEx.cjs +2 -3
- package/dist/lib/cjs/obsidian/Workspace.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +2 -3
- package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +2 -3
- package/dist/lib/cjs/obsidian/index.cjs +2 -3
- package/dist/lib/cjs/url.cjs +2 -3
- package/dist/lib/esm/Debug.mjs +1 -1
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +12 -2
- package/dist/lib/esm/ScriptUtils/Fs.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/version.mjs +2 -2
- package/dist/lib/esm/Transformers/DurationTransformer.d.mts +4 -5
- package/dist/lib/esm/Transformers/DurationTransformer.mjs +3 -3
- package/dist/lib/esm/obsidian/Backlink.mjs +5 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateComponent.mjs +4 -2
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateTimeComponent.mjs +4 -2
- package/dist/lib/esm/obsidian/Components/SettingComponents/MonthComponent.mjs +4 -2
- package/dist/lib/esm/obsidian/Components/SettingComponents/TimeComponent.d.mts +3 -4
- package/dist/lib/esm/obsidian/Components/SettingComponents/TimeComponent.mjs +4 -7
- package/dist/lib/esm/obsidian/Components/SettingComponents/WeekComponent.mjs +4 -2
- package/dist/lib/esm/obsidian/Dataview.mjs +2 -2
- package/dist/lib/esm/obsidian/FileSystem.mjs +2 -2
- package/dist/lib/esm/obsidian/Link.mjs +2 -2
- package/dist/lib/esm/obsidian/Plugin/PluginContext.mjs +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 43.10.1
|
|
4
|
+
|
|
5
|
+
- chore: move fully to obsidian moment
|
|
6
|
+
|
|
7
|
+
## 43.10.0
|
|
8
|
+
|
|
9
|
+
- fix: determine obsidian-dev-utils
|
|
10
|
+
- chore: add obsidianmd lint
|
|
11
|
+
- fix: handle nested links re <https://github.com/mnaoumov/obsidian-better-markdown-links/issues/28>
|
|
12
|
+
|
|
3
13
|
## 43.9.0
|
|
4
14
|
|
|
5
15
|
- feat: add links update notice
|
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -210,4 +209,4 @@ function waitForAbort(abortSignal, shouldRejectOnAbort) {
|
|
|
210
209
|
onAbort,
|
|
211
210
|
waitForAbort
|
|
212
211
|
});
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0Fib3J0Q29udHJvbGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL0Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBBIGNvbnN0YW50IHJlcHJlc2VudGluZyBhbiBpbmZpbml0ZSB0aW1lb3V0LlxuICovXG5leHBvcnQgY29uc3QgSU5GSU5JVEVfVElNRU9VVCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgd2hlbiBhbnkgb2YgdGhlIGdpdmVuIGFib3J0IHNpZ25hbHMgYWJvcnQuXG4gKlxuICogQHBhcmFtIG1heWJlQWJvcnRTaWduYWxzIC0gVGhlIGFib3J0IHNpZ25hbHMgdG8gYWJvcnQgd2hlbiBhbnkgb2YgdGhlbSBhYm9ydC5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgd2hlbiBhbnkgb2YgdGhlIGdpdmVuIGFib3J0IHNpZ25hbHMgYWJvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydFNpZ25hbEFueSguLi5tYXliZUFib3J0U2lnbmFsczogKEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkKVtdKTogQWJvcnRTaWduYWwge1xuICBjb25zdCBhYm9ydFNpZ25hbHMgPSBtYXliZUFib3J0U2lnbmFscy5maWx0ZXIoKGFib3J0U2lnbmFsKSA9PiAhIWFib3J0U2lnbmFsKTtcblxuICBpZiAodHlwZW9mIEFib3J0U2lnbmFsLmFueSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBBYm9ydFNpZ25hbC5hbnkoYWJvcnRTaWduYWxzKTtcbiAgfVxuXG4gIGlmIChhYm9ydFNpZ25hbHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIGlmIChhYm9ydFNpZ25hbHMubGVuZ3RoID09PSAxICYmIGFib3J0U2lnbmFsc1swXSkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbHNbMF07XG4gIH1cblxuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgZm9yIChjb25zdCBhYm9ydFNpZ25hbCBvZiBhYm9ydFNpZ25hbHMpIHtcbiAgICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgcmV0dXJuIGFib3J0U2lnbmFsO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFib3J0SGFuZGxlclJlbW92ZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgYWJvcnRIYW5kbGVyUmVtb3ZlcnMucHVzaChvbkFib3J0KGFib3J0U2lnbmFsLCBoYW5kbGVBYm9ydCkpO1xuICB9XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBhYm9ydEhhbmRsZXJSZW1vdmVyIG9mIGFib3J0SGFuZGxlclJlbW92ZXJzKSB7XG4gICAgICBhYm9ydEhhbmRsZXJSZW1vdmVyKCk7XG4gICAgfVxuXG4gICAgYWJvcnRDb250cm9sbGVyLmFib3J0KGFib3J0U2lnbmFsLnJlYXNvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBuZXZlciBhYm9ydHMuXG4gKlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsTmV2ZXIoKTogQWJvcnRTaWduYWwge1xuICByZXR1cm4gbmV3IEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICpcbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgYWJvcnRzIGFmdGVyIGEgdGltZW91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsVGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcik6IEFib3J0U2lnbmFsIHtcbiAgaWYgKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA9PT0gSU5GSU5JVEVfVElNRU9VVCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAodHlwZW9mIEFib3J0U2lnbmFsLnRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gQWJvcnRTaWduYWwudGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgYWJvcnRDb250cm9sbGVyLmFib3J0KG5ldyBFcnJvcihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2ApKTtcbiAgfSwgdGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhYm9ydCBsaXN0ZW5lciB0byBhbiBhYm9ydCBzaWduYWwgYW5kIGNhbGxzIHRoZSBjYWxsYmFjayBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGFkZCB0aGUgbGlzdGVuZXIgdG8uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBhYm9ydCBzaWduYWwgYWJvcnRzLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0byByZW1vdmUgdGhlIGFib3J0IGxpc3RlbmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2ssIHsgb25jZTogdHJ1ZSB9KTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBhYm9ydFNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjayk7XG4gIH07XG5cbiAgZnVuY3Rpb24gd3JhcHBlZENhbGxiYWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICBjYWxsYmFjayhldnQudGFyZ2V0IGFzIEFib3J0U2lnbmFsKTtcbiAgfVxufVxuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8VD47XG5cbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVqZWN0cyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZWplY3RzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydDogdHJ1ZSk6IFByb21pc2U8bmV2ZXI+O1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0Fib3J0Q29udHJvbGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL0Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBBIGNvbnN0YW50IHJlcHJlc2VudGluZyBhbiBpbmZpbml0ZSB0aW1lb3V0LlxuICovXG5leHBvcnQgY29uc3QgSU5GSU5JVEVfVElNRU9VVCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgd2hlbiBhbnkgb2YgdGhlIGdpdmVuIGFib3J0IHNpZ25hbHMgYWJvcnQuXG4gKlxuICogQHBhcmFtIG1heWJlQWJvcnRTaWduYWxzIC0gVGhlIGFib3J0IHNpZ25hbHMgdG8gYWJvcnQgd2hlbiBhbnkgb2YgdGhlbSBhYm9ydC5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgd2hlbiBhbnkgb2YgdGhlIGdpdmVuIGFib3J0IHNpZ25hbHMgYWJvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydFNpZ25hbEFueSguLi5tYXliZUFib3J0U2lnbmFsczogKEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkKVtdKTogQWJvcnRTaWduYWwge1xuICBjb25zdCBhYm9ydFNpZ25hbHMgPSBtYXliZUFib3J0U2lnbmFscy5maWx0ZXIoKGFib3J0U2lnbmFsKSA9PiAhIWFib3J0U2lnbmFsKTtcblxuICBpZiAodHlwZW9mIEFib3J0U2lnbmFsLmFueSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBBYm9ydFNpZ25hbC5hbnkoYWJvcnRTaWduYWxzKTtcbiAgfVxuXG4gIGlmIChhYm9ydFNpZ25hbHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIGlmIChhYm9ydFNpZ25hbHMubGVuZ3RoID09PSAxICYmIGFib3J0U2lnbmFsc1swXSkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbHNbMF07XG4gIH1cblxuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgZm9yIChjb25zdCBhYm9ydFNpZ25hbCBvZiBhYm9ydFNpZ25hbHMpIHtcbiAgICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgcmV0dXJuIGFib3J0U2lnbmFsO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFib3J0SGFuZGxlclJlbW92ZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgYWJvcnRIYW5kbGVyUmVtb3ZlcnMucHVzaChvbkFib3J0KGFib3J0U2lnbmFsLCBoYW5kbGVBYm9ydCkpO1xuICB9XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBhYm9ydEhhbmRsZXJSZW1vdmVyIG9mIGFib3J0SGFuZGxlclJlbW92ZXJzKSB7XG4gICAgICBhYm9ydEhhbmRsZXJSZW1vdmVyKCk7XG4gICAgfVxuXG4gICAgYWJvcnRDb250cm9sbGVyLmFib3J0KGFib3J0U2lnbmFsLnJlYXNvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBuZXZlciBhYm9ydHMuXG4gKlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsTmV2ZXIoKTogQWJvcnRTaWduYWwge1xuICByZXR1cm4gbmV3IEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBbiBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICpcbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgYWJvcnRzIGFmdGVyIGEgdGltZW91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsVGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcik6IEFib3J0U2lnbmFsIHtcbiAgaWYgKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA9PT0gSU5GSU5JVEVfVElNRU9VVCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAodHlwZW9mIEFib3J0U2lnbmFsLnRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gQWJvcnRTaWduYWwudGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgYWJvcnRDb250cm9sbGVyLmFib3J0KG5ldyBFcnJvcihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2ApKTtcbiAgfSwgdGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhYm9ydCBsaXN0ZW5lciB0byBhbiBhYm9ydCBzaWduYWwgYW5kIGNhbGxzIHRoZSBjYWxsYmFjayBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGFkZCB0aGUgbGlzdGVuZXIgdG8uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBhYm9ydCBzaWduYWwgYWJvcnRzLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0byByZW1vdmUgdGhlIGFib3J0IGxpc3RlbmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2ssIHsgb25jZTogdHJ1ZSB9KTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBhYm9ydFNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjayk7XG4gIH07XG5cbiAgZnVuY3Rpb24gd3JhcHBlZENhbGxiYWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICBjYWxsYmFjayhldnQudGFyZ2V0IGFzIEFib3J0U2lnbmFsKTtcbiAgfVxufVxuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8VD47XG5cbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVqZWN0cyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZWplY3RzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydDogdHJ1ZSk6IFByb21pc2U8bmV2ZXI+O1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgIGlmIChzaG91bGRSZWplY3RPbkFib3J0KSB7XG4gICAgICAgIHJlamVjdChhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShhYm9ydFNpZ25hbC5yZWFzb24gYXMgVCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQXFCO0FBS2QsTUFBTSxtQkFBbUIsT0FBTztBQVFoQyxTQUFTLGtCQUFrQixtQkFBNkQ7QUFDN0YsUUFBTSxlQUFlLGtCQUFrQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXO0FBRTVFLE1BQUksT0FBTyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxXQUFPLFlBQVksSUFBSSxZQUFZO0FBQUEsRUFDckM7QUFFQSxNQUFJLGFBQWEsV0FBVyxHQUFHO0FBQzdCLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFFQSxNQUFJLGFBQWEsV0FBVyxLQUFLLGFBQWEsQ0FBQyxHQUFHO0FBQ2hELFdBQU8sYUFBYSxDQUFDO0FBQUEsRUFDdkI7QUFFQSxRQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUU1QyxhQUFXLGVBQWUsY0FBYztBQUN0QyxRQUFJLFlBQVksU0FBUztBQUN2QixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLHVCQUF1QyxDQUFDO0FBRTlDLGFBQVcsZUFBZSxjQUFjO0FBQ3RDLHlCQUFxQixLQUFLLFFBQVEsYUFBYSxXQUFXLENBQUM7QUFBQSxFQUM3RDtBQUVBLFNBQU8sZ0JBQWdCO0FBRXZCLFdBQVMsWUFBWSxhQUFnQztBQUNuRCxlQUFXLHVCQUF1QixzQkFBc0I7QUFDdEQsMEJBQW9CO0FBQUEsSUFDdEI7QUFFQSxvQkFBZ0IsTUFBTSxZQUFZLE1BQU07QUFBQSxFQUMxQztBQUNGO0FBT08sU0FBUyxtQkFBZ0M7QUFDOUMsU0FBTyxJQUFJLGdCQUFnQixFQUFFO0FBQy9CO0FBUU8sU0FBUyxtQkFBbUIsdUJBQTRDO0FBQzdFLE1BQUksMEJBQTBCLGtCQUFrQjtBQUM5QyxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBRUEsTUFBSSxPQUFPLFlBQVksWUFBWSxZQUFZO0FBQzdDLFdBQU8sWUFBWSxRQUFRLHFCQUFxQjtBQUFBLEVBQ2xEO0FBRUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFDNUMsU0FBTyxXQUFXLE1BQU07QUFDdEIsb0JBQWdCLE1BQU0sSUFBSSxNQUFNLGdCQUFnQixPQUFPLHFCQUFxQixDQUFDLGVBQWUsQ0FBQztBQUFBLEVBQy9GLEdBQUcscUJBQXFCO0FBQ3hCLFNBQU8sZ0JBQWdCO0FBQ3pCO0FBU08sU0FBUyxRQUFRLGFBQTBCLFVBQTBEO0FBQzFHLE1BQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQVMsV0FBVztBQUNwQixXQUFPO0FBQUEsRUFDVDtBQUVBLGNBQVksaUJBQWlCLFNBQVMsaUJBQWlCLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDckUsU0FBTyxNQUFNO0FBQ1gsZ0JBQVksb0JBQW9CLFNBQVMsZUFBZTtBQUFBLEVBQzFEO0FBRUEsV0FBUyxnQkFBZ0IsS0FBa0I7QUFDekMsYUFBUyxJQUFJLE1BQXFCO0FBQUEsRUFDcEM7QUFDRjtBQTRCTyxTQUFTLGFBQTBCLGFBQTBCLHFCQUEyQztBQUM3RyxTQUFPLElBQUksUUFBVyxDQUFDLFNBQVMsV0FBVztBQUN6QyxZQUFRLGFBQWEsTUFBTTtBQUN6QixVQUFJLHFCQUFxQjtBQUN2QixlQUFPLFlBQVksTUFBZTtBQUFBLE1BQ3BDLE9BQU87QUFDTCxnQkFBUSxZQUFZLE1BQVc7QUFBQSxNQUNqQztBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/lib/cjs/Array.cjs
CHANGED
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -167,4 +166,4 @@ function uniqueInPlace(arr) {
|
|
|
167
166
|
unique,
|
|
168
167
|
uniqueInPlace
|
|
169
168
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FycmF5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEFycmF5IHV0aWxpdGllcy5cbiAqL1xuXG4vKipcbiAqIEZpbHRlciBhbiBhcnJheSBpbiBwbGFjZS5cbiAqXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIGZpbHRlci5cbiAqIEBwYXJhbSBwcmVkaWNhdGUgLSBUaGUgcHJlZGljYXRlIHRvIGZpbHRlciB0aGUgYXJyYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJJblBsYWNlPFQ+
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FycmF5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEFycmF5IHV0aWxpdGllcy5cbiAqL1xuXG4vKipcbiAqIEZpbHRlciBhbiBhcnJheSBpbiBwbGFjZS5cbiAqXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIGZpbHRlci5cbiAqIEBwYXJhbSBwcmVkaWNhdGUgLSBUaGUgcHJlZGljYXRlIHRvIGZpbHRlciB0aGUgYXJyYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJJblBsYWNlPFQ+KGFycjogVFtdLCBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gYm9vbGVhbik6IHZvaWQge1xuICBjb25zdCBsZW5ndGggPSBhcnIubGVuZ3RoO1xuICBsZXQgd3JpdGVJbmRleCA9IDA7XG4gIGZvciAobGV0IHJlYWRJbmRleCA9IDA7IHJlYWRJbmRleCA8IGxlbmd0aDsgcmVhZEluZGV4KyspIHtcbiAgICBpZiAoIU9iamVjdC5oYXNPd24oYXJyLCByZWFkSW5kZXgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gYXJyW3JlYWRJbmRleF0gYXMgVDtcbiAgICBpZiAocHJlZGljYXRlKGN1cnJlbnQsIHJlYWRJbmRleCwgYXJyKSkge1xuICAgICAgYXJyW3dyaXRlSW5kZXgrK10gPSBjdXJyZW50O1xuICAgIH1cbiAgfVxuICBhcnIubGVuZ3RoID0gd3JpdGVJbmRleDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgZHVwbGljYXRlcyBmcm9tIGFuIGFycmF5LlxuICpcbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBhcnJheSB3aXRoIGR1cGxpY2F0ZXMgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuaXF1ZTxUPihhcnI6IHJlYWRvbmx5IFRbXSk6IFRbXSB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQ8VD4oKTtcbiAgcmV0dXJuIGFyci5maWx0ZXIoKHZhbHVlKSA9PiB7XG4gICAgaWYgKHNldC5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHNldC5hZGQodmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgZHVwbGljYXRlcyBmcm9tIGFuIGFycmF5IGluIHBsYWNlLlxuICpcbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuaXF1ZUluUGxhY2UoYXJyOiB1bmtub3duW10pOiB2b2lkIHtcbiAgY29uc3Qgc2V0ID0gbmV3IFNldDx1bmtub3duPigpO1xuICBmaWx0ZXJJblBsYWNlKGFyciwgKHZhbHVlKSA9PiB7XG4gICAgaWYgKHNldC5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHNldC5hZGQodmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlPLFNBQVMsY0FBaUIsS0FBVSxXQUFtRTtBQUM1RyxRQUFNLFNBQVMsSUFBSTtBQUNuQixNQUFJLGFBQWE7QUFDakIsV0FBUyxZQUFZLEdBQUcsWUFBWSxRQUFRLGFBQWE7QUFDdkQsUUFBSSxDQUFDLE9BQU8sT0FBTyxLQUFLLFNBQVMsR0FBRztBQUNsQztBQUFBLElBQ0Y7QUFFQSxVQUFNLFVBQVUsSUFBSSxTQUFTO0FBQzdCLFFBQUksVUFBVSxTQUFTLFdBQVcsR0FBRyxHQUFHO0FBQ3RDLFVBQUksWUFBWSxJQUFJO0FBQUEsSUFDdEI7QUFBQSxFQUNGO0FBQ0EsTUFBSSxTQUFTO0FBQ2Y7QUFRTyxTQUFTLE9BQVUsS0FBd0I7QUFDaEQsUUFBTSxNQUFNLG9CQUFJLElBQU87QUFDdkIsU0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVO0FBQzNCLFFBQUksSUFBSSxJQUFJLEtBQUssR0FBRztBQUNsQixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxLQUFLO0FBQ2IsV0FBTztBQUFBLEVBQ1QsQ0FBQztBQUNIO0FBT08sU0FBUyxjQUFjLEtBQXNCO0FBQ2xELFFBQU0sTUFBTSxvQkFBSSxJQUFhO0FBQzdCLGdCQUFjLEtBQUssQ0FBQyxVQUFVO0FBQzVCLFFBQUksSUFBSSxJQUFJLEtBQUssR0FBRztBQUNsQixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxLQUFLO0FBQ2IsV0FBTztBQUFBLEVBQ1QsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/lib/cjs/Async.cjs
CHANGED
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -444,4 +443,4 @@ async function toArray(iter) {
|
|
|
444
443
|
timeout,
|
|
445
444
|
toArray
|
|
446
445
|
});
|
|
447
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBhYm9ydFNpZ25hbEFueSxcbiAgYWJvcnRTaWduYWxOZXZlcixcbiAgYWJvcnRTaWduYWxUaW1lb3V0LFxuICB3YWl0Rm9yQWJvcnRcbn0gZnJvbSAnLi9BYm9ydENvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHtcbiAgZ2V0TGliRGVidWdnZXIsXG4gIHByaW50V2l0aFN0YWNrVHJhY2Vcbn0gZnJvbSAnLi9EZWJ1Zy50cyc7XG5pbXBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZ2V0U3RhY2tUcmFjZSxcbiAgcHJpbnRFcnJvcixcbiAgU2lsZW50RXJyb3Jcbn0gZnJvbSAnLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi9GdW5jdGlvbi50cyc7XG5cbi8qKlxuICogQSB0eXBlIHJlcHJlc2VudGluZyBhIGZ1bmN0aW9uIHRoYXQgcmVzb2x2ZXMgYSB7QGxpbmsgUHJvbWlzZX0uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICovXG5leHBvcnQgdHlwZSBQcm9taXNlUmVzb2x2ZTxUPiA9IHVuZGVmaW5lZCBleHRlbmRzIFQgPyAodmFsdWU/OiBQcm9taXNlTGlrZTxUPiB8IFQpID0+IHZvaWRcbiAgOiAodmFsdWU6IFByb21pc2VMaWtlPFQ+IHwgVCkgPT4gdm9pZDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmV0cnlXaXRoVGltZW91dH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0cnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgYWJvcnQgc2lnbmFsIHRvIGNhbmNlbCB0aGUgcmV0cnkgb3BlcmF0aW9uLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogQSBkZWxheSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiByZXRyeSBhdHRlbXB0cy5cbiAgICovXG4gIHJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXRyeSB0aGUgZnVuY3Rpb24gb24gZXJyb3IuXG4gICAqL1xuICBzaG91bGRSZXRyeU9uRXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZ2l2aW5nIHVwIG9uIHJldHJ5aW5nLlxuICAgKi9cbiAgdGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gZXJyb3IgaGFuZGxlciB0byBhIHtAbGluayBQcm9taXNlfSB0aGF0IGNhdGNoZXMgYW55IGVycm9ycyBhbmQgZW1pdHMgYW4gYXN5bmMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGFkZCBhbiBlcnJvciBoYW5kbGVyIHRvLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGNvbXBsZXRlcyBvciBlbWl0cyBhc3luYyBlcnJvciBldmVudC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZEVycm9ySGFuZGxlcihhc3luY0ZuOiAoKSA9PiBQcm9taXNlPHVua25vd24+LCBzdGFja1RyYWNlPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIHRyeSB7XG4gICAgYXdhaXQgYXN5bmNGbigpO1xuICB9IGNhdGNoIChhc3luY0Vycm9yKSB7XG4gICAgY29uc3Qgd3JhcHBlZEVycm9yID0gbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcihBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsIHN0YWNrVHJhY2UsIGFzeW5jRXJyb3IpO1xuICAgIGlmIChoYW5kbGVTaWxlbnRFcnJvcih3cmFwcGVkRXJyb3IpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVtaXRBc3luY0Vycm9yRXZlbnQod3JhcHBlZEVycm9yKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpbHRlcnMgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGtlZXBpbmcgb25seSB0aGUgZWxlbWVudHMgdGhhdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBmaWx0ZXIuXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gVGhlIHByZWRpY2F0ZSBmdW5jdGlvbiB0byB0ZXN0IGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBlbGVtZW50cyB0aGF0IHNhdGlzZnkgdGhlIHByZWRpY2F0ZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRmlsdGVyPFQ+KGFycjogVFtdLCBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gUHJvbWlzYWJsZTxib29sZWFuPik6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IGFuczogVFtdID0gW107XG5cbiAgY29uc3QgbGVuZ3RoID0gYXJyLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGlmICghT2JqZWN0Lmhhc093bihhcnIsIGkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtID0gYXJyW2ldIGFzIFQ7XG4gICAgaWYgKGF3YWl0IHByZWRpY2F0ZShpdGVtLCBpLCBhcnIpKSB7XG4gICAgICBhbnMucHVzaChpdGVtKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYW5zO1xufVxuXG4vKipcbiAqIEZpbHRlcnMgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHkgaW4gcGxhY2UsIGtlZXBpbmcgb25seSB0aGUgZWxlbWVudHMgdGhhdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBmaWx0ZXIuXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gVGhlIHByZWRpY2F0ZSBmdW5jdGlvbiB0byB0ZXN0IGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYXJyYXkgaXMgZmlsdGVyZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZpbHRlckluUGxhY2U8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBQcm9taXNhYmxlPGJvb2xlYW4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxlbmd0aCA9IGFyci5sZW5ndGg7XG4gIGxldCB3cml0ZUluZGV4ID0gMDtcbiAgZm9yIChsZXQgcmVhZEluZGV4ID0gMDsgcmVhZEluZGV4IDwgbGVuZ3RoOyByZWFkSW5kZXgrKykge1xuICAgIGlmICghT2JqZWN0Lmhhc093bihhcnIsIHJlYWRJbmRleCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSBhcnJbcmVhZEluZGV4XSBhcyBUO1xuICAgIGlmIChhd2FpdCBwcmVkaWNhdGUoY3VycmVudCwgcmVhZEluZGV4LCBhcnIpKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBZZXMsIGl0IGlzIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLCBidXQgSSBkb24ndCBhbiBlbGVnYW50IHdheSB0byBmaXggaXQuXG4gICAgICBhcnJbd3JpdGVJbmRleCsrXSA9IGN1cnJlbnQ7XG4gICAgfVxuICB9XG4gIGFyci5sZW5ndGggPSB3cml0ZUluZGV4O1xufVxuXG4vKipcbiAqIE1hcHMgb3ZlciBhbiBhcnJheSBhc3luY2hyb25vdXNseSwgYXBwbHlpbmcgdGhlIHByb3ZpZGVkIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGVhY2ggZWxlbWVudCwgYW5kIHRoZW4gZmxhdHRlbnMgdGhlIHJlc3VsdHMgaW50byBhIHNpbmdsZSBhcnJheS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgaW5wdXQgYXJyYXkuXG4gKiBAdHlwZVBhcmFtIFUgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgb3V0cHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBtYXAgb3ZlciBhbmQgZmxhdHRlbi5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBhcHBseSB0byBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggYSBmbGF0dGVuZWQgYXJyYXkgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbGF0TWFwPFQsIFU+KGFycjogVFtdLCBjYWxsYmFjazogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBQcm9taXNhYmxlPFVbXT4pOiBQcm9taXNlPFVbXT4ge1xuICByZXR1cm4gKGF3YWl0IGFzeW5jTWFwKGFyciwgY2FsbGJhY2spKS5mbGF0KCk7XG59XG5cbi8qKlxuICogTWFwcyBvdmVyIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBhcHBseWluZyB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEB0eXBlUGFyYW0gVSAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBvdXRwdXQgYXJyYXkuXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIG1hcCBvdmVyLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY01hcDxULCBVPihhcnI6IFRbXSwgY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gUHJvbWlzYWJsZTxVPik6IFByb21pc2U8VVtdPiB7XG4gIHJldHVybiBhd2FpdCBwcm9taXNlQWxsU2VxdWVudGlhbGx5KGFyci5tYXAoY2FsbGJhY2spKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYSBzeW5jaHJvbm91cyBvbmUgYnkgYXV0b21hdGljYWxseSBoYW5kbGluZyB0aGUgUHJvbWlzZSByZWplY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAcGFyYW0gYXN5bmNGdW5jIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGluIGEgc3luY2hyb25vdXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFzeW5jVG9TeW5jPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KGFzeW5jRnVuYzogKC4uLmFyZ3M6IEFyZ3MpID0+IFByb21pc2U8dW5rbm93bj4sIHN0YWNrVHJhY2U/OiBzdHJpbmcpOiAoLi4uYXJnczogQXJncykgPT4gdm9pZCB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIHJldHVybiAoLi4uYXJnczogQXJncyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGlubmVyU3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG4gICAgc3RhY2tUcmFjZSA9IGAke3N0YWNrVHJhY2UgPz8gJyd9XFxuICAgIGF0IC0tLSBjb252ZXJ0QXN5bmNUb1N5bmMgLS0tICgwKVxcbiR7aW5uZXJTdGFja1RyYWNlfWA7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gYXN5bmNGdW5jKC4uLmFyZ3MpLCBzdGFja1RyYWNlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGFuIGFzeW5jaHJvbm91cyBvbmUgYnkgd3JhcHBpbmcgaXQgaW4gYSB7QGxpbmsgUHJvbWlzZX0uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbidzIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSBzeW5jRm4gLSBUaGUgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRTeW5jVG9Bc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXN1bHQ+KHN5bmNGbjogKC4uLmFyZ3M6IEFyZ3MpID0+IFJlc3VsdCk6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJlc3VsdD4ge1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIHJldHVybiBzeW5jRm4oLi4uYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBhIHNpbGVudCBlcnJvci5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gaGFuZGxlLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZXJyb3IgaXMgYSBzaWxlbnQgZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTaWxlbnRFcnJvcihlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBsZXQgY2F1c2UgPSBlcnJvcjtcbiAgd2hpbGUgKCEoY2F1c2UgaW5zdGFuY2VvZiBTaWxlbnRFcnJvcikpIHtcbiAgICBpZiAoIShjYXVzZSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNhdXNlID0gY2F1c2UuY2F1c2U7XG4gIH1cblxuICBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6aGFuZGxlU2lsZW50RXJyb3InKShlcnJvcik7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIElnbm9yZXMgYW4gZXJyb3IgdGhhdCBpcyB0aHJvd24gYnkgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBwcm9taXNlIC0gVGhlIHByb21pc2UgdG8gaWdub3JlIHRoZSBlcnJvciBvZi5cbiAqIEBwYXJhbSBmYWxsYmFja1ZhbHVlIC0gQWx3YXlzIGB1bmRlZmluZWRgLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gY29tcGxldGVzIG9yIGZhaWxzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaWdub3JlRXJyb3IocHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiwgZmFsbGJhY2tWYWx1ZT86IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogSW52b2tlcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gYW5kIHJldHVybnMgYSBmYWxsYmFjayB2YWx1ZSBpZiBhbiBlcnJvciBpcyB0aHJvd24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24uXG4gKiBAcGFyYW0gcHJvbWlzZSAtIFRoZSBwcm9taXNlIHRvIGlnbm9yZSB0aGUgZXJyb3Igb2YuXG4gKiBAcGFyYW0gZmFsbGJhY2tWYWx1ZSAtIFRoZSB2YWx1ZSB0byByZXR1cm4gaWYgYW4gZXJyb3IgaXMgdGhyb3duLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIG9yIHRoZSBmYWxsYmFjayB2YWx1ZSBpZiBhbiBlcnJvciBpcyB0aHJvd24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpZ25vcmVFcnJvcjxUPihwcm9taXNlOiBQcm9taXNlPFQ+LCBmYWxsYmFja1ZhbHVlOiBUKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGlnbm9yZUVycm9yRGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6aWdub3JlRXJyb3InKTtcbiAgY29uc3Qgc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHByb21pc2U7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZ25vcmVFcnJvckRlYnVnZ2VyKCdJZ25vcmVkIGVycm9yJywgbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcignSWdub3JlZCBlcnJvcicsIHN0YWNrVHJhY2UsIGUpKTtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZXMgYSB7QGxpbmsgUHJvbWlzZX0gYW5kIHNhZmVseSBoYW5kbGVzIGFueSBlcnJvcnMgYnkgY2F0Y2hpbmcgdGhlbSBhbmQgZW1pdHRpbmcgYW4gYXN5bmMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGludm9rZSBzYWZlbHkuXG4gKiBAcGFyYW0gc3RhY2tUcmFjZSAtIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXN5bmNTYWZlbHkoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTx1bmtub3duPiwgc3RhY2tUcmFjZT86IHN0cmluZyk6IHZvaWQge1xuICBzdGFja1RyYWNlID8/PSBnZXRTdGFja1RyYWNlKDEpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZCAtLSBXZSBuZWVkIHRvIGZpcmUtYW5kLWZvcmdldC5cbiAgdm9pZCBhZGRFcnJvckhhbmRsZXIoYXN5bmNGbiwgc3RhY2tUcmFjZSk7XG59XG5cbi8qKlxuICogSW52b2tlcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gYWZ0ZXIgYSBkZWxheS5cbiAqXG4gKiBAcGFyYW0gYXN5bmNGbiAtIFRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gaW52b2tlLlxuICogQHBhcmFtIGRlbGF5SW5NaWxsaXNlY29uZHMgLSBUaGUgZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5KFxuICBhc3luY0ZuOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBkZWxheUluTWlsbGlzZWNvbmRzID0gMCxcbiAgc3RhY2tUcmFjZT86IHN0cmluZyxcbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbFxuKTogdm9pZCB7XG4gIGFib3J0U2lnbmFsID8/PSBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIGludm9rZUFzeW5jU2FmZWx5KGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzbGVlcChkZWxheUluTWlsbGlzZWNvbmRzLCBhYm9ydFNpZ25hbCwgdHJ1ZSk7XG4gICAgYXdhaXQgYXN5bmNGbihhYm9ydFNpZ25hbCk7XG4gIH0sIHN0YWNrVHJhY2UpO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGFzeW5jIGZ1bmN0aW9ucyBzZXF1ZW50aWFsbHkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIGFzeW5jRm5zIC0gVGhlIGFzeW5jIGZ1bmN0aW9ucyB0byBleGVjdXRlIHNlcXVlbnRpYWxseS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgYXN5bmMgZnVuY3Rpb25zLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbWlzZUFsbEFzeW5jRm5zU2VxdWVudGlhbGx5PFQ+KGFzeW5jRm5zOiAoKCkgPT4gUHJvbWlzYWJsZTxUPilbXSk6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IHJlc3VsdHM6IFRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGFzeW5jRm4gb2YgYXN5bmNGbnMpIHtcbiAgICByZXN1bHRzLnB1c2goYXdhaXQgYXN5bmNGbigpKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0cztcbn1cblxuLyoqXG4gKiBFeGVjdXRlcyBwcm9taXNlcyBzZXF1ZW50aWFsbHkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIHByb21pc2VzIC0gVGhlIHByb21pc2VzIHRvIGV4ZWN1dGUgc2VxdWVudGlhbGx5LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9taXNlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21pc2VBbGxTZXF1ZW50aWFsbHk8VD4ocHJvbWlzZXM6IFByb21pc2FibGU8VD5bXSk6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiBhd2FpdCBwcm9taXNlQWxsQXN5bmNGbnNTZXF1ZW50aWFsbHkocHJvbWlzZXMubWFwKChwcm9taXNlKSA9PiAoKSA9PiBwcm9taXNlKSk7XG59XG5cbmNvbnN0IHRlcm1pbmF0ZVJldHJ5RXJyb3JzID0gbmV3IFdlYWtTZXQ8RXJyb3I+KCk7XG5cbi8qKlxuICogTWFya3MgYW4gZXJyb3IgdG8gdGVybWluYXRlIHJldHJ5IGxvZ2ljLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBtYXJrIHRvIHRlcm1pbmF0ZSByZXRyeSBsb2dpYy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtzQXNUZXJtaW5hdGVSZXRyeShlcnJvcjogRXJyb3IpOiB2b2lkIHtcbiAgdGVybWluYXRlUmV0cnlFcnJvcnMuYWRkKGVycm9yKTtcbn1cblxuLyoqXG4gKiBBbiBhc3luYyBmdW5jdGlvbiB0aGF0IG5ldmVyIGVuZHMuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCBuZXZlciByZXNvbHZlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5ldmVyRW5kcygpOiBQcm9taXNlPG5ldmVyPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKCgpID0+IHtcbiAgICBub29wKCk7XG4gIH0pO1xuICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBuZXZlciBoYXBwZW4nKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBuZXh0IHRpY2suXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbmV4dCB0aWNrIGlzIGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5leHRUaWNrQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBuZXh0IHF1ZXVlIG1pY3JvdGFzay5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBuZXh0IHF1ZXVlIG1pY3JvdGFzayBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBxdWV1ZU1pY3JvdGFza0FzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG5leHQgcmVxdWVzdCBhbmltYXRpb24gZnJhbWUuXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbmV4dCByZXF1ZXN0IGFuaW1hdGlvbiBmcmFtZSBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogUmV0cmllcyB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gdW50aWwgaXQgcmV0dXJucyB0cnVlIG9yIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuXG4gKlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJldHJ5LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gY29uZmlndXJlIHRoZSByZXRyeSBiZWhhdmlvci5cbiAqIEBwYXJhbSBzdGFja1RyYWNlIC0gT3B0aW9uYWwgc3RhY2sgdHJhY2UuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciByZWplY3RzIHdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5V2l0aFRpbWVvdXQoZm46IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8Ym9vbGVhbj4sIHJldHJ5T3B0aW9ucz86IFJldHJ5T3B0aW9ucywgc3RhY2tUcmFjZT86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6cmV0cnlXaXRoVGltZW91dCcpO1xuICBzdGFja1RyYWNlID8/PSBnZXRTdGFja1RyYWNlKDEpO1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlMgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICByZXRyeURlbGF5SW5NaWxsaXNlY29uZHM6IDEwMCxcbiAgICBzaG91bGRSZXRyeU9uRXJyb3I6IGZhbHNlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiA1MDAwXG4gIH07XG4gIGNvbnN0IGZ1bGxPcHRpb25zID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBmdWxsT3B0aW9ucy5hYm9ydFNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBhd2FpdCBydW5XaXRoVGltZW91dChcbiAgICBmdWxsT3B0aW9ucy50aW1lb3V0SW5NaWxsaXNlY29uZHMsXG4gICAgYXN5bmMgKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCkgPT4ge1xuICAgICAgY29uc3QgY29tYmluZWRBYm9ydFNpZ25hbCA9IGFib3J0U2lnbmFsQW55KGZ1bGxPcHRpb25zLmFib3J0U2lnbmFsLCBhYm9ydFNpZ25hbCk7XG4gICAgICBjb21iaW5lZEFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgICBsZXQgYXR0ZW1wdCA9IDA7XG4gICAgICB3aGlsZSAoIWNvbWJpbmVkQWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgICBhdHRlbXB0Kys7XG4gICAgICAgIGxldCBpc1N1Y2Nlc3M6IGJvb2xlYW47XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaXNTdWNjZXNzID0gYXdhaXQgZm4oY29tYmluZWRBYm9ydFNpZ25hbCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gLS0gSXQgbWlnaHQgY2hhbmdlZCBpbnNpZGUgYGZuKClgLiBFU0xpbnQgbWlzdGFrZW5seSBkb2VzIG5vdCByZWNvZ25pemUgaXQuXG4gICAgICAgICAgaWYgKGNvbWJpbmVkQWJvcnRTaWduYWwuYWJvcnRlZCB8fCAhZnVsbE9wdGlvbnMuc2hvdWxkUmV0cnlPbkVycm9yIHx8IHRlcm1pbmF0ZVJldHJ5RXJyb3JzLmhhcyhlcnJvciBhcyBFcnJvcikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoJ3JldHJ5V2l0aFRpbWVvdXQgZmFpbGVkJywgc3RhY2tUcmFjZSwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcmludEVycm9yKGVycm9yKTtcbiAgICAgICAgICBpc1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XG4gICAgICAgICAgcHJpbnRXaXRoU3RhY2tUcmFjZShyZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIsIHN0YWNrVHJhY2UsIGBSZXRyeSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IGFmdGVyICR7U3RyaW5nKGF0dGVtcHQpfSBhdHRlbXB0c2AsIHtcbiAgICAgICAgICAgIGZuXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRXaXRoU3RhY2tUcmFjZShcbiAgICAgICAgICByZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIsXG4gICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICBgUmV0cnkgYXR0ZW1wdCAke1N0cmluZyhhdHRlbXB0KX0gY29tcGxldGVkIHVuc3VjY2Vzc2Z1bGx5LiBUcnlpbmcgYWdhaW4gaW4gJHtTdHJpbmcoZnVsbE9wdGlvbnMucmV0cnlEZWxheUluTWlsbGlzZWNvbmRzKX0gbWlsbGlzZWNvbmRzYCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmblxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBhd2FpdCBzbGVlcChmdWxsT3B0aW9ucy5yZXRyeURlbGF5SW5NaWxsaXNlY29uZHMsIGFib3J0U2lnbmFsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHsgcmV0cnlGbjogZm4gfSxcbiAgICBzdGFja1RyYWNlXG4gICk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aXRoIGEgdGltZW91dC4gSWYgdGhlIGZ1bmN0aW9uIGRvZXMgbm90IGNvbXBsZXRlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUsIGl0IGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSB0aW1lZCBvdXQuXG4gKlxuICogSWYgYERFQlVHPW9ic2lkaWFuLWRldi11dGlsczpBc3luYzpydW5XaXRoVGltZW91dGAgaXMgc2V0LCB0aGUgZXhlY3V0aW9uIGlzIG5vdCB0ZXJtaW5hdGVkIGFmdGVyIHRoZSB0aW1lb3V0IGFuZCB0aGUgZnVuY3Rpb24gaXMgYWxsb3dlZCB0byBydW4gaW5kZWZpbml0ZWx5LlxuICpcbiAqIEB0eXBlUGFyYW0gUiAtIFRoZSB0eXBlIG9mIHRoZSByZXN1bHQgZnJvbSB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uLlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSBtYXhpbXVtIHRpbWUgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZS5cbiAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGNvbnRleHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gb3IgcmVqZWN0cyBpZiBpdCB0aW1lcyBvdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5XaXRoVGltZW91dDxSZXN1bHQ+KFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcixcbiAgZm46IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8UmVzdWx0PixcbiAgY29udGV4dD86IHVua25vd24sXG4gIHN0YWNrVHJhY2U/OiBzdHJpbmdcbik6IFByb21pc2U8UmVzdWx0PiB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gIGNvbnN0IHJ1bkFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgY29uc3QgdGltZW91dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBsZXQgcmVzdWx0OiBudWxsIHwgUmVzdWx0ID0gbnVsbDtcbiAgbGV0IGhhc1Jlc3VsdCA9IGZhbHNlO1xuICBsZXQgaXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgY29uc3QgcnVuV2l0aFRpbWVvdXREZWJ1Z2dlciA9IGdldExpYkRlYnVnZ2VyKCdBc3luYzpydW5XaXRoVGltZW91dCcpO1xuXG4gIGF3YWl0IFByb21pc2UucmFjZShbcnVuKCksIGlubmVyVGltZW91dCgpXSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgaW5zaWRlIGBydW4oKWAuIEVTTGludCBtaXN0YWtlbmx5IGRvZXMgbm90IHJlY29nbml6ZSBpdC5cbiAgaWYgKGhhc1Jlc3VsdCkge1xuICAgIHJldHVybiByZXN1bHQgYXMgUmVzdWx0O1xuICB9XG5cbiAgdGhyb3cgbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcignUnVuIHdpdGggdGltZW91dCBmYWlsZWQnLCBzdGFja1RyYWNlLCBydW5BYm9ydENvbnRyb2xsZXIuc2lnbmFsLnJlYXNvbik7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBmbihydW5BYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICBwcmludFdpdGhTdGFja1RyYWNlKHJ1bldpdGhUaW1lb3V0RGVidWdnZXIsIHN0YWNrVHJhY2UgPz8gJycsIGBFeGVjdXRpb24gdGltZTogJHtTdHJpbmcoZHVyYXRpb24pfSBtaWxsaXNlY29uZHNgLCB7IGNvbnRleHQsIGZuIH0pO1xuICAgICAgaGFzUmVzdWx0ID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBydW5BYm9ydENvbnRyb2xsZXIuYWJvcnQoZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgIHRpbWVvdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKCdDb21wbGV0ZWQnKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gaW5uZXJUaW1lb3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgaW5zaWRlIGBydW4oKWAuIEVTTGludCBtaXN0YWtlbmx5IGRvZXMgbm90IHJlY29nbml6ZSBpdC5cbiAgICB3aGlsZSAoIWlzQ29tcGxldGVkKSB7XG4gICAgICBhd2FpdCBzbGVlcCh0aW1lb3V0SW5NaWxsaXNlY29uZHMsIHRpbWVvdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgd2hpbGUgYHNsZWVwKClgLiBFU0xpbnQgbWlzdGFrZW5seSBkb2VzIG5vdCByZWNvZ25pemUgaXQuXG4gICAgICBpZiAoaXNDb21wbGV0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZHVyYXRpb24gPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgIHByaW50V2l0aFN0YWNrVHJhY2UocnVuV2l0aFRpbWVvdXREZWJ1Z2dlciwgc3RhY2tUcmFjZSA/PyAnJywgYFRpbWVkIG91dCBhZnRlciAke1N0cmluZyhkdXJhdGlvbil9IG1pbGxpc2Vjb25kc2AsIHsgY29udGV4dCwgZm4gfSk7XG4gICAgICBjb25zdCB0aW1lb3V0RGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6cnVuV2l0aFRpbWVvdXQ6dGltZW91dCcpO1xuICAgICAgaWYgKCF0aW1lb3V0RGVidWdnZXIuZW5hYmxlZCkge1xuICAgICAgICBydW5BYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKGBUaW1lZCBvdXQgYWZ0ZXIgJHtTdHJpbmcoZHVyYXRpb24pfSBtaWxsaXNlY29uZHNgKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGltZW91dERlYnVnZ2VyKFxuICAgICAgICBgVGhlIGV4ZWN1dGlvbiBpcyBub3QgdGVybWluYXRlZCBiZWNhdXNlIGRlYnVnZ2VyICR7dGltZW91dERlYnVnZ2VyLm5hbWVzcGFjZX0gaXMgZW5hYmxlZC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvYmxvYi9tYWluL2RvY3MvZGVidWdnaW5nLm1kIGZvciBtb3JlIGluZm9ybWF0aW9uLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbmV4dCBzZXQgaW1tZWRpYXRlLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5leHQgc2V0IGltbWVkaWF0ZSBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRJbW1lZGlhdGVBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgc2V0SW1tZWRpYXRlKCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogRGVsYXlzIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gZGVsYXkgLSBUaGUgdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBkZWxheS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFRpbWVvdXRBc3luYyhkZWxheT86IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBEZWxheXMgZXhlY3V0aW9uIGZvciBhIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICpcbiAqIEBwYXJhbSBtaWxsaXNlY29uZHMgLSBUaGUgdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICogQHBhcmFtIHNob3VsZFRocm93T25BYm9ydCAtIFdoZXRoZXIgdG8gdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobWlsbGlzZWNvbmRzOiBudW1iZXIsIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwsIHNob3VsZFRocm93T25BYm9ydD86IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd2FpdEZvckFib3J0KGFib3J0U2lnbmFsQW55KGFib3J0U2lnbmFsLCBhYm9ydFNpZ25hbFRpbWVvdXQobWlsbGlzZWNvbmRzKSkpO1xuICBpZiAoc2hvdWxkVGhyb3dPbkFib3J0KSB7XG4gICAgYWJvcnRTaWduYWw/LnRocm93SWZBYm9ydGVkKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVqZWN0cyBhZnRlciB0aGUgc3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLlxuICpcbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBwZXJpb2QgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBsaXN0ZW4gdG8uXG4gKiBAcGFyYW0gc2hvdWxkVGhyb3dPbkFib3J0IC0gV2hldGhlciB0byB0aHJvdyBhbiBlcnJvciBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IGFsd2F5cyByZWplY3RzIHdpdGggYSB0aW1lb3V0IGVycm9yLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlciwgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCwgc2hvdWxkVGhyb3dPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8bmV2ZXI+IHtcbiAgYXdhaXQgc2xlZXAodGltZW91dEluTWlsbGlzZWNvbmRzLCBhYm9ydFNpZ25hbCwgc2hvdWxkVGhyb3dPbkFib3J0KTtcbiAgdGhyb3cgbmV3IEVycm9yKGBUaW1lZCBvdXQgaW4gJHtTdHJpbmcodGltZW91dEluTWlsbGlzZWNvbmRzKX0gbWlsbGlzZWNvbmRzYCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gQXN5bmNJdGVyYWJsZUl0ZXJhdG9yIHRvIGFuIGFycmF5IGJ5IGNvbnN1bWluZyBhbGwgaXRzIGVsZW1lbnRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIHByb2R1Y2VkIGJ5IHRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IuXG4gKiBAcGFyYW0gaXRlciAtIFRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0b0FycmF5PFQ+KGl0ZXI6IEFzeW5jSXRlcmFibGVJdGVyYXRvcjxUPik6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IGFycjogVFtdID0gW107XG4gIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBpdGVyKSB7XG4gICAgYXJyLnB1c2goaXRlbSk7XG4gIH1cbiAgcmV0dXJuIGFycjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDZCQUtPO0FBQ1AsbUJBR087QUFDUCxtQkFPTztBQUNQLHNCQUFxQjtBQTBDckIsZUFBc0IsZ0JBQWdCLFNBQWlDLFlBQW9DO0FBQ3pHLHFCQUFlLDRCQUFjLENBQUM7QUFDOUIsTUFBSTtBQUNGLFVBQU0sUUFBUTtBQUFBLEVBQ2hCLFNBQVMsWUFBWTtBQUNuQixVQUFNLGVBQWUsSUFBSSxtQ0FBc0IsMENBQTZCLFlBQVksVUFBVTtBQUNsRyxRQUFJLGtCQUFrQixZQUFZLEdBQUc7QUFDbkM7QUFBQSxJQUNGO0FBQ0EsMENBQW9CLFlBQVk7QUFBQSxFQUNsQztBQUNGO0FBVUEsZUFBc0IsWUFBZSxLQUFVLFdBQXVGO0FBQ3BJLFFBQU0sTUFBVyxDQUFDO0FBRWxCLFFBQU0sU0FBUyxJQUFJO0FBQ25CLFdBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxLQUFLO0FBQy9CLFFBQUksQ0FBQyxPQUFPLE9BQU8sS0FBSyxDQUFDLEdBQUc7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
|
|
446
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBhYm9ydFNpZ25hbEFueSxcbiAgYWJvcnRTaWduYWxOZXZlcixcbiAgYWJvcnRTaWduYWxUaW1lb3V0LFxuICB3YWl0Rm9yQWJvcnRcbn0gZnJvbSAnLi9BYm9ydENvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHtcbiAgZ2V0TGliRGVidWdnZXIsXG4gIHByaW50V2l0aFN0YWNrVHJhY2Vcbn0gZnJvbSAnLi9EZWJ1Zy50cyc7XG5pbXBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZ2V0U3RhY2tUcmFjZSxcbiAgcHJpbnRFcnJvcixcbiAgU2lsZW50RXJyb3Jcbn0gZnJvbSAnLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi9GdW5jdGlvbi50cyc7XG5cbi8qKlxuICogQSB0eXBlIHJlcHJlc2VudGluZyBhIGZ1bmN0aW9uIHRoYXQgcmVzb2x2ZXMgYSB7QGxpbmsgUHJvbWlzZX0uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICovXG5leHBvcnQgdHlwZSBQcm9taXNlUmVzb2x2ZTxUPiA9IHVuZGVmaW5lZCBleHRlbmRzIFQgPyAodmFsdWU/OiBQcm9taXNlTGlrZTxUPiB8IFQpID0+IHZvaWRcbiAgOiAodmFsdWU6IFByb21pc2VMaWtlPFQ+IHwgVCkgPT4gdm9pZDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmV0cnlXaXRoVGltZW91dH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0cnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgYWJvcnQgc2lnbmFsIHRvIGNhbmNlbCB0aGUgcmV0cnkgb3BlcmF0aW9uLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogQSBkZWxheSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiByZXRyeSBhdHRlbXB0cy5cbiAgICovXG4gIHJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXRyeSB0aGUgZnVuY3Rpb24gb24gZXJyb3IuXG4gICAqL1xuICBzaG91bGRSZXRyeU9uRXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZ2l2aW5nIHVwIG9uIHJldHJ5aW5nLlxuICAgKi9cbiAgdGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gZXJyb3IgaGFuZGxlciB0byBhIHtAbGluayBQcm9taXNlfSB0aGF0IGNhdGNoZXMgYW55IGVycm9ycyBhbmQgZW1pdHMgYW4gYXN5bmMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGFkZCBhbiBlcnJvciBoYW5kbGVyIHRvLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGNvbXBsZXRlcyBvciBlbWl0cyBhc3luYyBlcnJvciBldmVudC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZEVycm9ySGFuZGxlcihhc3luY0ZuOiAoKSA9PiBQcm9taXNlPHVua25vd24+LCBzdGFja1RyYWNlPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIHRyeSB7XG4gICAgYXdhaXQgYXN5bmNGbigpO1xuICB9IGNhdGNoIChhc3luY0Vycm9yKSB7XG4gICAgY29uc3Qgd3JhcHBlZEVycm9yID0gbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcihBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsIHN0YWNrVHJhY2UsIGFzeW5jRXJyb3IpO1xuICAgIGlmIChoYW5kbGVTaWxlbnRFcnJvcih3cmFwcGVkRXJyb3IpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVtaXRBc3luY0Vycm9yRXZlbnQod3JhcHBlZEVycm9yKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpbHRlcnMgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGtlZXBpbmcgb25seSB0aGUgZWxlbWVudHMgdGhhdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBmaWx0ZXIuXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gVGhlIHByZWRpY2F0ZSBmdW5jdGlvbiB0byB0ZXN0IGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBlbGVtZW50cyB0aGF0IHNhdGlzZnkgdGhlIHByZWRpY2F0ZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRmlsdGVyPFQ+KGFycjogVFtdLCBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gUHJvbWlzYWJsZTxib29sZWFuPik6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IGFuczogVFtdID0gW107XG5cbiAgY29uc3QgbGVuZ3RoID0gYXJyLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGlmICghT2JqZWN0Lmhhc093bihhcnIsIGkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtID0gYXJyW2ldIGFzIFQ7XG4gICAgaWYgKGF3YWl0IHByZWRpY2F0ZShpdGVtLCBpLCBhcnIpKSB7XG4gICAgICBhbnMucHVzaChpdGVtKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYW5zO1xufVxuXG4vKipcbiAqIEZpbHRlcnMgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHkgaW4gcGxhY2UsIGtlZXBpbmcgb25seSB0aGUgZWxlbWVudHMgdGhhdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBmaWx0ZXIuXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gVGhlIHByZWRpY2F0ZSBmdW5jdGlvbiB0byB0ZXN0IGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYXJyYXkgaXMgZmlsdGVyZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZpbHRlckluUGxhY2U8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBQcm9taXNhYmxlPGJvb2xlYW4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxlbmd0aCA9IGFyci5sZW5ndGg7XG4gIGxldCB3cml0ZUluZGV4ID0gMDtcbiAgZm9yIChsZXQgcmVhZEluZGV4ID0gMDsgcmVhZEluZGV4IDwgbGVuZ3RoOyByZWFkSW5kZXgrKykge1xuICAgIGlmICghT2JqZWN0Lmhhc093bihhcnIsIHJlYWRJbmRleCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSBhcnJbcmVhZEluZGV4XSBhcyBUO1xuICAgIGlmIChhd2FpdCBwcmVkaWNhdGUoY3VycmVudCwgcmVhZEluZGV4LCBhcnIpKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBZZXMsIGl0IGlzIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLCBidXQgSSBkb24ndCBhbiBlbGVnYW50IHdheSB0byBmaXggaXQuXG4gICAgICBhcnJbd3JpdGVJbmRleCsrXSA9IGN1cnJlbnQ7XG4gICAgfVxuICB9XG4gIGFyci5sZW5ndGggPSB3cml0ZUluZGV4O1xufVxuXG4vKipcbiAqIE1hcHMgb3ZlciBhbiBhcnJheSBhc3luY2hyb25vdXNseSwgYXBwbHlpbmcgdGhlIHByb3ZpZGVkIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGVhY2ggZWxlbWVudCwgYW5kIHRoZW4gZmxhdHRlbnMgdGhlIHJlc3VsdHMgaW50byBhIHNpbmdsZSBhcnJheS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgaW5wdXQgYXJyYXkuXG4gKiBAdHlwZVBhcmFtIFUgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgb3V0cHV0IGFycmF5LlxuICogQHBhcmFtIGFyciAtIFRoZSBhcnJheSB0byBtYXAgb3ZlciBhbmQgZmxhdHRlbi5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBhcHBseSB0byBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggYSBmbGF0dGVuZWQgYXJyYXkgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbGF0TWFwPFQsIFU+KGFycjogVFtdLCBjYWxsYmFjazogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBQcm9taXNhYmxlPFVbXT4pOiBQcm9taXNlPFVbXT4ge1xuICByZXR1cm4gKGF3YWl0IGFzeW5jTWFwKGFyciwgY2FsbGJhY2spKS5mbGF0KCk7XG59XG5cbi8qKlxuICogTWFwcyBvdmVyIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBhcHBseWluZyB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEB0eXBlUGFyYW0gVSAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBvdXRwdXQgYXJyYXkuXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIG1hcCBvdmVyLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY01hcDxULCBVPihhcnI6IFRbXSwgY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gUHJvbWlzYWJsZTxVPik6IFByb21pc2U8VVtdPiB7XG4gIHJldHVybiBhd2FpdCBwcm9taXNlQWxsU2VxdWVudGlhbGx5KGFyci5tYXAoY2FsbGJhY2spKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYSBzeW5jaHJvbm91cyBvbmUgYnkgYXV0b21hdGljYWxseSBoYW5kbGluZyB0aGUgUHJvbWlzZSByZWplY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAcGFyYW0gYXN5bmNGdW5jIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGluIGEgc3luY2hyb25vdXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFzeW5jVG9TeW5jPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KGFzeW5jRnVuYzogKC4uLmFyZ3M6IEFyZ3MpID0+IFByb21pc2U8dW5rbm93bj4sIHN0YWNrVHJhY2U/OiBzdHJpbmcpOiAoLi4uYXJnczogQXJncykgPT4gdm9pZCB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIHJldHVybiAoLi4uYXJnczogQXJncyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGlubmVyU3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG4gICAgc3RhY2tUcmFjZSA9IGAke3N0YWNrVHJhY2UgPz8gJyd9XFxuICAgIGF0IC0tLSBjb252ZXJ0QXN5bmNUb1N5bmMgLS0tICgwKVxcbiR7aW5uZXJTdGFja1RyYWNlfWA7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gYXN5bmNGdW5jKC4uLmFyZ3MpLCBzdGFja1RyYWNlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGFuIGFzeW5jaHJvbm91cyBvbmUgYnkgd3JhcHBpbmcgaXQgaW4gYSB7QGxpbmsgUHJvbWlzZX0uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbidzIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSBzeW5jRm4gLSBUaGUgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRTeW5jVG9Bc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXN1bHQ+KHN5bmNGbjogKC4uLmFyZ3M6IEFyZ3MpID0+IFJlc3VsdCk6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJlc3VsdD4ge1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIHJldHVybiBzeW5jRm4oLi4uYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBhIHNpbGVudCBlcnJvci5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gaGFuZGxlLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZXJyb3IgaXMgYSBzaWxlbnQgZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTaWxlbnRFcnJvcihlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBsZXQgY2F1c2UgPSBlcnJvcjtcbiAgd2hpbGUgKCEoY2F1c2UgaW5zdGFuY2VvZiBTaWxlbnRFcnJvcikpIHtcbiAgICBpZiAoIShjYXVzZSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNhdXNlID0gY2F1c2UuY2F1c2U7XG4gIH1cblxuICBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6aGFuZGxlU2lsZW50RXJyb3InKShlcnJvcik7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIElnbm9yZXMgYW4gZXJyb3IgdGhhdCBpcyB0aHJvd24gYnkgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBwcm9taXNlIC0gVGhlIHByb21pc2UgdG8gaWdub3JlIHRoZSBlcnJvciBvZi5cbiAqIEBwYXJhbSBmYWxsYmFja1ZhbHVlIC0gQWx3YXlzIGB1bmRlZmluZWRgLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gY29tcGxldGVzIG9yIGZhaWxzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaWdub3JlRXJyb3IocHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiwgZmFsbGJhY2tWYWx1ZT86IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogSW52b2tlcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gYW5kIHJldHVybnMgYSBmYWxsYmFjayB2YWx1ZSBpZiBhbiBlcnJvciBpcyB0aHJvd24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24uXG4gKiBAcGFyYW0gcHJvbWlzZSAtIFRoZSBwcm9taXNlIHRvIGlnbm9yZSB0aGUgZXJyb3Igb2YuXG4gKiBAcGFyYW0gZmFsbGJhY2tWYWx1ZSAtIFRoZSB2YWx1ZSB0byByZXR1cm4gaWYgYW4gZXJyb3IgaXMgdGhyb3duLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIG9yIHRoZSBmYWxsYmFjayB2YWx1ZSBpZiBhbiBlcnJvciBpcyB0aHJvd24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpZ25vcmVFcnJvcjxUPihwcm9taXNlOiBQcm9taXNlPFQ+LCBmYWxsYmFja1ZhbHVlOiBUKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGlnbm9yZUVycm9yRGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6aWdub3JlRXJyb3InKTtcbiAgY29uc3Qgc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHByb21pc2U7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZ25vcmVFcnJvckRlYnVnZ2VyKCdJZ25vcmVkIGVycm9yJywgbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcignSWdub3JlZCBlcnJvcicsIHN0YWNrVHJhY2UsIGUpKTtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZXMgYSB7QGxpbmsgUHJvbWlzZX0gYW5kIHNhZmVseSBoYW5kbGVzIGFueSBlcnJvcnMgYnkgY2F0Y2hpbmcgdGhlbSBhbmQgZW1pdHRpbmcgYW4gYXN5bmMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGludm9rZSBzYWZlbHkuXG4gKiBAcGFyYW0gc3RhY2tUcmFjZSAtIFRoZSBzdGFjayB0cmFjZSBvZiB0aGUgc291cmNlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXN5bmNTYWZlbHkoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTx1bmtub3duPiwgc3RhY2tUcmFjZT86IHN0cmluZyk6IHZvaWQge1xuICBzdGFja1RyYWNlID8/PSBnZXRTdGFja1RyYWNlKDEpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZCAtLSBXZSBuZWVkIHRvIGZpcmUtYW5kLWZvcmdldC5cbiAgdm9pZCBhZGRFcnJvckhhbmRsZXIoYXN5bmNGbiwgc3RhY2tUcmFjZSk7XG59XG5cbi8qKlxuICogSW52b2tlcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gYWZ0ZXIgYSBkZWxheS5cbiAqXG4gKiBAcGFyYW0gYXN5bmNGbiAtIFRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gaW52b2tlLlxuICogQHBhcmFtIGRlbGF5SW5NaWxsaXNlY29uZHMgLSBUaGUgZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5KFxuICBhc3luY0ZuOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBkZWxheUluTWlsbGlzZWNvbmRzID0gMCxcbiAgc3RhY2tUcmFjZT86IHN0cmluZyxcbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbFxuKTogdm9pZCB7XG4gIGFib3J0U2lnbmFsID8/PSBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIGludm9rZUFzeW5jU2FmZWx5KGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzbGVlcChkZWxheUluTWlsbGlzZWNvbmRzLCBhYm9ydFNpZ25hbCwgdHJ1ZSk7XG4gICAgYXdhaXQgYXN5bmNGbihhYm9ydFNpZ25hbCk7XG4gIH0sIHN0YWNrVHJhY2UpO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGFzeW5jIGZ1bmN0aW9ucyBzZXF1ZW50aWFsbHkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIGFzeW5jRm5zIC0gVGhlIGFzeW5jIGZ1bmN0aW9ucyB0byBleGVjdXRlIHNlcXVlbnRpYWxseS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgYXN5bmMgZnVuY3Rpb25zLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbWlzZUFsbEFzeW5jRm5zU2VxdWVudGlhbGx5PFQ+KGFzeW5jRm5zOiAoKCkgPT4gUHJvbWlzYWJsZTxUPilbXSk6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IHJlc3VsdHM6IFRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGFzeW5jRm4gb2YgYXN5bmNGbnMpIHtcbiAgICByZXN1bHRzLnB1c2goYXdhaXQgYXN5bmNGbigpKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0cztcbn1cblxuLyoqXG4gKiBFeGVjdXRlcyBwcm9taXNlcyBzZXF1ZW50aWFsbHkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIHByb21pc2VzIC0gVGhlIHByb21pc2VzIHRvIGV4ZWN1dGUgc2VxdWVudGlhbGx5LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9taXNlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21pc2VBbGxTZXF1ZW50aWFsbHk8VD4ocHJvbWlzZXM6IFByb21pc2FibGU8VD5bXSk6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiBhd2FpdCBwcm9taXNlQWxsQXN5bmNGbnNTZXF1ZW50aWFsbHkocHJvbWlzZXMubWFwKChwcm9taXNlKSA9PiAoKSA9PiBwcm9taXNlKSk7XG59XG5cbmNvbnN0IHRlcm1pbmF0ZVJldHJ5RXJyb3JzID0gbmV3IFdlYWtTZXQ8RXJyb3I+KCk7XG5cbi8qKlxuICogTWFya3MgYW4gZXJyb3IgdG8gdGVybWluYXRlIHJldHJ5IGxvZ2ljLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBtYXJrIHRvIHRlcm1pbmF0ZSByZXRyeSBsb2dpYy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtzQXNUZXJtaW5hdGVSZXRyeShlcnJvcjogRXJyb3IpOiB2b2lkIHtcbiAgdGVybWluYXRlUmV0cnlFcnJvcnMuYWRkKGVycm9yKTtcbn1cblxuLyoqXG4gKiBBbiBhc3luYyBmdW5jdGlvbiB0aGF0IG5ldmVyIGVuZHMuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCBuZXZlciByZXNvbHZlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5ldmVyRW5kcygpOiBQcm9taXNlPG5ldmVyPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKCgpID0+IHtcbiAgICBub29wKCk7XG4gIH0pO1xuICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBuZXZlciBoYXBwZW4nKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBuZXh0IHRpY2suXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbmV4dCB0aWNrIGlzIGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5leHRUaWNrQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBuZXh0IHF1ZXVlIG1pY3JvdGFzay5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBuZXh0IHF1ZXVlIG1pY3JvdGFzayBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBxdWV1ZU1pY3JvdGFza0FzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG5leHQgcmVxdWVzdCBhbmltYXRpb24gZnJhbWUuXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbmV4dCByZXF1ZXN0IGFuaW1hdGlvbiBmcmFtZSBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogUmV0cmllcyB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gdW50aWwgaXQgcmV0dXJucyB0cnVlIG9yIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuXG4gKlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJldHJ5LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gY29uZmlndXJlIHRoZSByZXRyeSBiZWhhdmlvci5cbiAqIEBwYXJhbSBzdGFja1RyYWNlIC0gT3B0aW9uYWwgc3RhY2sgdHJhY2UuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciByZWplY3RzIHdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5V2l0aFRpbWVvdXQoZm46IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8Ym9vbGVhbj4sIHJldHJ5T3B0aW9ucz86IFJldHJ5T3B0aW9ucywgc3RhY2tUcmFjZT86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6cmV0cnlXaXRoVGltZW91dCcpO1xuICBzdGFja1RyYWNlID8/PSBnZXRTdGFja1RyYWNlKDEpO1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlMgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICByZXRyeURlbGF5SW5NaWxsaXNlY29uZHM6IDEwMCxcbiAgICBzaG91bGRSZXRyeU9uRXJyb3I6IGZhbHNlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiA1MDAwXG4gIH07XG4gIGNvbnN0IGZ1bGxPcHRpb25zID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBmdWxsT3B0aW9ucy5hYm9ydFNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBhd2FpdCBydW5XaXRoVGltZW91dChcbiAgICBmdWxsT3B0aW9ucy50aW1lb3V0SW5NaWxsaXNlY29uZHMsXG4gICAgYXN5bmMgKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCkgPT4ge1xuICAgICAgY29uc3QgY29tYmluZWRBYm9ydFNpZ25hbCA9IGFib3J0U2lnbmFsQW55KGZ1bGxPcHRpb25zLmFib3J0U2lnbmFsLCBhYm9ydFNpZ25hbCk7XG4gICAgICBjb21iaW5lZEFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgICBsZXQgYXR0ZW1wdCA9IDA7XG4gICAgICB3aGlsZSAoIWNvbWJpbmVkQWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgICBhdHRlbXB0Kys7XG4gICAgICAgIGxldCBpc1N1Y2Nlc3M6IGJvb2xlYW47XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaXNTdWNjZXNzID0gYXdhaXQgZm4oY29tYmluZWRBYm9ydFNpZ25hbCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gLS0gSXQgbWlnaHQgY2hhbmdlZCBpbnNpZGUgYGZuKClgLiBFU0xpbnQgbWlzdGFrZW5seSBkb2VzIG5vdCByZWNvZ25pemUgaXQuXG4gICAgICAgICAgaWYgKGNvbWJpbmVkQWJvcnRTaWduYWwuYWJvcnRlZCB8fCAhZnVsbE9wdGlvbnMuc2hvdWxkUmV0cnlPbkVycm9yIHx8IHRlcm1pbmF0ZVJldHJ5RXJyb3JzLmhhcyhlcnJvciBhcyBFcnJvcikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoJ3JldHJ5V2l0aFRpbWVvdXQgZmFpbGVkJywgc3RhY2tUcmFjZSwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcmludEVycm9yKGVycm9yKTtcbiAgICAgICAgICBpc1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XG4gICAgICAgICAgcHJpbnRXaXRoU3RhY2tUcmFjZShyZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIsIHN0YWNrVHJhY2UsIGBSZXRyeSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IGFmdGVyICR7U3RyaW5nKGF0dGVtcHQpfSBhdHRlbXB0c2AsIHtcbiAgICAgICAgICAgIGZuXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRXaXRoU3RhY2tUcmFjZShcbiAgICAgICAgICByZXRyeVdpdGhUaW1lb3V0RGVidWdnZXIsXG4gICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICBgUmV0cnkgYXR0ZW1wdCAke1N0cmluZyhhdHRlbXB0KX0gY29tcGxldGVkIHVuc3VjY2Vzc2Z1bGx5LiBUcnlpbmcgYWdhaW4gaW4gJHtTdHJpbmcoZnVsbE9wdGlvbnMucmV0cnlEZWxheUluTWlsbGlzZWNvbmRzKX0gbWlsbGlzZWNvbmRzYCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmblxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBhd2FpdCBzbGVlcChmdWxsT3B0aW9ucy5yZXRyeURlbGF5SW5NaWxsaXNlY29uZHMsIGFib3J0U2lnbmFsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHsgcmV0cnlGbjogZm4gfSxcbiAgICBzdGFja1RyYWNlXG4gICk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aXRoIGEgdGltZW91dC4gSWYgdGhlIGZ1bmN0aW9uIGRvZXMgbm90IGNvbXBsZXRlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUsIGl0IGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSB0aW1lZCBvdXQuXG4gKlxuICogSWYgYERFQlVHPW9ic2lkaWFuLWRldi11dGlsczpBc3luYzpydW5XaXRoVGltZW91dGAgaXMgc2V0LCB0aGUgZXhlY3V0aW9uIGlzIG5vdCB0ZXJtaW5hdGVkIGFmdGVyIHRoZSB0aW1lb3V0IGFuZCB0aGUgZnVuY3Rpb24gaXMgYWxsb3dlZCB0byBydW4gaW5kZWZpbml0ZWx5LlxuICpcbiAqIEB0eXBlUGFyYW0gUiAtIFRoZSB0eXBlIG9mIHRoZSByZXN1bHQgZnJvbSB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uLlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSBtYXhpbXVtIHRpbWUgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZS5cbiAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGNvbnRleHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBUaGUgc3RhY2sgdHJhY2Ugb2YgdGhlIHNvdXJjZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gb3IgcmVqZWN0cyBpZiBpdCB0aW1lcyBvdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5XaXRoVGltZW91dDxSZXN1bHQ+KFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcixcbiAgZm46IChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpID0+IFByb21pc2FibGU8UmVzdWx0PixcbiAgY29udGV4dD86IHVua25vd24sXG4gIHN0YWNrVHJhY2U/OiBzdHJpbmdcbik6IFByb21pc2U8UmVzdWx0PiB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gIGNvbnN0IHJ1bkFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgY29uc3QgdGltZW91dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBsZXQgcmVzdWx0OiBudWxsIHwgUmVzdWx0ID0gbnVsbDtcbiAgbGV0IGhhc1Jlc3VsdCA9IGZhbHNlO1xuICBsZXQgaXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgY29uc3QgcnVuV2l0aFRpbWVvdXREZWJ1Z2dlciA9IGdldExpYkRlYnVnZ2VyKCdBc3luYzpydW5XaXRoVGltZW91dCcpO1xuXG4gIGF3YWl0IFByb21pc2UucmFjZShbcnVuKCksIGlubmVyVGltZW91dCgpXSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgaW5zaWRlIGBydW4oKWAuIEVTTGludCBtaXN0YWtlbmx5IGRvZXMgbm90IHJlY29nbml6ZSBpdC5cbiAgaWYgKGhhc1Jlc3VsdCkge1xuICAgIHJldHVybiByZXN1bHQgYXMgUmVzdWx0O1xuICB9XG5cbiAgdGhyb3cgbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcignUnVuIHdpdGggdGltZW91dCBmYWlsZWQnLCBzdGFja1RyYWNlLCBydW5BYm9ydENvbnRyb2xsZXIuc2lnbmFsLnJlYXNvbik7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBmbihydW5BYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICBwcmludFdpdGhTdGFja1RyYWNlKHJ1bldpdGhUaW1lb3V0RGVidWdnZXIsIHN0YWNrVHJhY2UgPz8gJycsIGBFeGVjdXRpb24gdGltZTogJHtTdHJpbmcoZHVyYXRpb24pfSBtaWxsaXNlY29uZHNgLCB7IGNvbnRleHQsIGZuIH0pO1xuICAgICAgaGFzUmVzdWx0ID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBydW5BYm9ydENvbnRyb2xsZXIuYWJvcnQoZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgIHRpbWVvdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKCdDb21wbGV0ZWQnKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gaW5uZXJUaW1lb3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgaW5zaWRlIGBydW4oKWAuIEVTTGludCBtaXN0YWtlbmx5IGRvZXMgbm90IHJlY29nbml6ZSBpdC5cbiAgICB3aGlsZSAoIWlzQ29tcGxldGVkKSB7XG4gICAgICBhd2FpdCBzbGVlcCh0aW1lb3V0SW5NaWxsaXNlY29uZHMsIHRpbWVvdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIEl0IG1pZ2h0IGNoYW5nZWQgd2hpbGUgYHNsZWVwKClgLiBFU0xpbnQgbWlzdGFrZW5seSBkb2VzIG5vdCByZWNvZ25pemUgaXQuXG4gICAgICBpZiAoaXNDb21wbGV0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZHVyYXRpb24gPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgIHByaW50V2l0aFN0YWNrVHJhY2UocnVuV2l0aFRpbWVvdXREZWJ1Z2dlciwgc3RhY2tUcmFjZSA/PyAnJywgYFRpbWVkIG91dCBhZnRlciAke1N0cmluZyhkdXJhdGlvbil9IG1pbGxpc2Vjb25kc2AsIHsgY29udGV4dCwgZm4gfSk7XG4gICAgICBjb25zdCB0aW1lb3V0RGVidWdnZXIgPSBnZXRMaWJEZWJ1Z2dlcignQXN5bmM6cnVuV2l0aFRpbWVvdXQ6dGltZW91dCcpO1xuICAgICAgaWYgKCF0aW1lb3V0RGVidWdnZXIuZW5hYmxlZCkge1xuICAgICAgICBydW5BYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKGBUaW1lZCBvdXQgYWZ0ZXIgJHtTdHJpbmcoZHVyYXRpb24pfSBtaWxsaXNlY29uZHNgKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGltZW91dERlYnVnZ2VyKFxuICAgICAgICBgVGhlIGV4ZWN1dGlvbiBpcyBub3QgdGVybWluYXRlZCBiZWNhdXNlIGRlYnVnZ2VyICR7dGltZW91dERlYnVnZ2VyLm5hbWVzcGFjZX0gaXMgZW5hYmxlZC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvYmxvYi9tYWluL2RvY3MvZGVidWdnaW5nLm1kIGZvciBtb3JlIGluZm9ybWF0aW9uLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbmV4dCBzZXQgaW1tZWRpYXRlLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5leHQgc2V0IGltbWVkaWF0ZSBpcyBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRJbW1lZGlhdGVBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgc2V0SW1tZWRpYXRlKCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogRGVsYXlzIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gZGVsYXkgLSBUaGUgdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBkZWxheS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFRpbWVvdXRBc3luYyhkZWxheT86IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBEZWxheXMgZXhlY3V0aW9uIGZvciBhIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICpcbiAqIEBwYXJhbSBtaWxsaXNlY29uZHMgLSBUaGUgdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gbGlzdGVuIHRvLlxuICogQHBhcmFtIHNob3VsZFRocm93T25BYm9ydCAtIFdoZXRoZXIgdG8gdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobWlsbGlzZWNvbmRzOiBudW1iZXIsIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwsIHNob3VsZFRocm93T25BYm9ydD86IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd2FpdEZvckFib3J0KGFib3J0U2lnbmFsQW55KGFib3J0U2lnbmFsLCBhYm9ydFNpZ25hbFRpbWVvdXQobWlsbGlzZWNvbmRzKSkpO1xuICBpZiAoc2hvdWxkVGhyb3dPbkFib3J0KSB7XG4gICAgYWJvcnRTaWduYWw/LnRocm93SWZBYm9ydGVkKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVqZWN0cyBhZnRlciB0aGUgc3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLlxuICpcbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBwZXJpb2QgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byBsaXN0ZW4gdG8uXG4gKiBAcGFyYW0gc2hvdWxkVGhyb3dPbkFib3J0IC0gV2hldGhlciB0byB0aHJvdyBhbiBlcnJvciBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IGFsd2F5cyByZWplY3RzIHdpdGggYSB0aW1lb3V0IGVycm9yLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlciwgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCwgc2hvdWxkVGhyb3dPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8bmV2ZXI+IHtcbiAgYXdhaXQgc2xlZXAodGltZW91dEluTWlsbGlzZWNvbmRzLCBhYm9ydFNpZ25hbCwgc2hvdWxkVGhyb3dPbkFib3J0KTtcbiAgdGhyb3cgbmV3IEVycm9yKGBUaW1lZCBvdXQgaW4gJHtTdHJpbmcodGltZW91dEluTWlsbGlzZWNvbmRzKX0gbWlsbGlzZWNvbmRzYCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gQXN5bmNJdGVyYWJsZUl0ZXJhdG9yIHRvIGFuIGFycmF5IGJ5IGNvbnN1bWluZyBhbGwgaXRzIGVsZW1lbnRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIHByb2R1Y2VkIGJ5IHRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IuXG4gKiBAcGFyYW0gaXRlciAtIFRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0b0FycmF5PFQ+KGl0ZXI6IEFzeW5jSXRlcmFibGVJdGVyYXRvcjxUPik6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IGFycjogVFtdID0gW107XG4gIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBpdGVyKSB7XG4gICAgYXJyLnB1c2goaXRlbSk7XG4gIH1cbiAgcmV0dXJuIGFycjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsNkJBS087QUFDUCxtQkFHTztBQUNQLG1CQU9PO0FBQ1Asc0JBQXFCO0FBMENyQixlQUFzQixnQkFBZ0IsU0FBaUMsWUFBb0M7QUFDekcscUJBQWUsNEJBQWMsQ0FBQztBQUM5QixNQUFJO0FBQ0YsVUFBTSxRQUFRO0FBQUEsRUFDaEIsU0FBUyxZQUFZO0FBQ25CLFVBQU0sZUFBZSxJQUFJLG1DQUFzQiwwQ0FBNkIsWUFBWSxVQUFVO0FBQ2xHLFFBQUksa0JBQWtCLFlBQVksR0FBRztBQUNuQztBQUFBLElBQ0Y7QUFDQSwwQ0FBb0IsWUFBWTtBQUFBLEVBQ2xDO0FBQ0Y7QUFVQSxlQUFzQixZQUFlLEtBQVUsV0FBdUY7QUFDcEksUUFBTSxNQUFXLENBQUM7QUFFbEIsUUFBTSxTQUFTLElBQUk7QUFDbkIsV0FBUyxJQUFJLEdBQUcsSUFBSSxRQUFRLEtBQUs7QUFDL0IsUUFBSSxDQUFDLE9BQU8sT0FBTyxLQUFLLENBQUMsR0FBRztBQUMxQjtBQUFBLElBQ0Y7QUFFQSxVQUFNLE9BQU8sSUFBSSxDQUFDO0FBQ2xCLFFBQUksTUFBTSxVQUFVLE1BQU0sR0FBRyxHQUFHLEdBQUc7QUFDakMsVUFBSSxLQUFLLElBQUk7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVVBLGVBQXNCLG1CQUFzQixLQUFVLFdBQXdGO0FBQzVJLFFBQU0sU0FBUyxJQUFJO0FBQ25CLE1BQUksYUFBYTtBQUNqQixXQUFTLFlBQVksR0FBRyxZQUFZLFFBQVEsYUFBYTtBQUN2RCxRQUFJLENBQUMsT0FBTyxPQUFPLEtBQUssU0FBUyxHQUFHO0FBQ2xDO0FBQUEsSUFDRjtBQUVBLFVBQU0sVUFBVSxJQUFJLFNBQVM7QUFDN0IsUUFBSSxNQUFNLFVBQVUsU0FBUyxXQUFXLEdBQUcsR0FBRztBQUU1QyxVQUFJLFlBQVksSUFBSTtBQUFBLElBQ3RCO0FBQUEsRUFDRjtBQUNBLE1BQUksU0FBUztBQUNmO0FBV0EsZUFBc0IsYUFBbUIsS0FBVSxVQUFrRjtBQUNuSSxVQUFRLE1BQU0sU0FBUyxLQUFLLFFBQVEsR0FBRyxLQUFLO0FBQzlDO0FBV0EsZUFBc0IsU0FBZSxLQUFVLFVBQWdGO0FBQzdILFNBQU8sTUFBTSx1QkFBdUIsSUFBSSxJQUFJLFFBQVEsQ0FBQztBQUN2RDtBQVVPLFNBQVMsbUJBQTJDLFdBQWdELFlBQThDO0FBQ3ZKLHFCQUFlLDRCQUFjLENBQUM7QUFDOUIsU0FBTyxJQUFJLFNBQXFCO0FBQzlCLFVBQU0sc0JBQWtCLDRCQUFjLENBQUM7QUFDdkMsaUJBQWEsR0FBRyxjQUFjLEVBQUU7QUFBQTtBQUFBLEVBQTRDLGVBQWU7QUFDM0Ysc0JBQWtCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxVQUFVO0FBQUEsRUFDeEQ7QUFDRjtBQVVPLFNBQVMsbUJBQW1ELFFBQXVFO0FBQ3hJLFNBQU8sVUFBVSxTQUFnQztBQUMvQyxVQUFNLFFBQVEsUUFBUTtBQUN0QixXQUFPLE9BQU8sR0FBRyxJQUFJO0FBQUEsRUFDdkI7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLE9BQXlCO0FBQ3pELE1BQUksUUFBUTtBQUNaLFNBQU8sRUFBRSxpQkFBaUIsMkJBQWM7QUFDdEMsUUFBSSxFQUFFLGlCQUFpQixRQUFRO0FBQzdCLGFBQU87QUFBQSxJQUNUO0FBRUEsWUFBUSxNQUFNO0FBQUEsRUFDaEI7QUFFQSxtQ0FBZSx5QkFBeUIsRUFBRSxLQUFLO0FBQy9DLFNBQU87QUFDVDtBQW1CQSxlQUFzQixZQUFlLFNBQXFCLGVBQThCO0FBQ3RGLFFBQU0sMEJBQXNCLDZCQUFlLG1CQUFtQjtBQUM5RCxRQUFNLGlCQUFhLDRCQUFjLENBQUM7QUFDbEMsTUFBSTtBQUNGLFdBQU8sTUFBTTtBQUFBLEVBQ2YsU0FBUyxHQUFHO0FBQ1Ysd0JBQW9CLGlCQUFpQixJQUFJLG1DQUFzQixpQkFBaUIsWUFBWSxDQUFDLENBQUM7QUFDOUYsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLFNBQWlDLFlBQTJCO0FBQzVGLHFCQUFlLDRCQUFjLENBQUM7QUFFOUIsT0FBSyxnQkFBZ0IsU0FBUyxVQUFVO0FBQzFDO0FBVU8sU0FBUyw0QkFDZCxTQUNBLHNCQUFzQixHQUN0QixZQUNBLGFBQ007QUFDTixzQkFBZ0IseUNBQWlCO0FBQ2pDLGNBQVksZUFBZTtBQUMzQixxQkFBZSw0QkFBYyxDQUFDO0FBQzlCLG9CQUFrQixZQUFZO0FBQzVCLFVBQU0sTUFBTSxxQkFBcUIsYUFBYSxJQUFJO0FBQ2xELFVBQU0sUUFBUSxXQUFXO0FBQUEsRUFDM0IsR0FBRyxVQUFVO0FBQ2Y7QUFTQSxlQUFzQiwrQkFBa0MsVUFBaUQ7QUFDdkcsUUFBTSxVQUFlLENBQUM7QUFDdEIsYUFBVyxXQUFXLFVBQVU7QUFDOUIsWUFBUSxLQUFLLE1BQU0sUUFBUSxDQUFDO0FBQUEsRUFDOUI7QUFDQSxTQUFPO0FBQ1Q7QUFTQSxlQUFzQix1QkFBMEIsVUFBeUM7QUFDdkYsU0FBTyxNQUFNLCtCQUErQixTQUFTLElBQUksQ0FBQyxZQUFZLE1BQU0sT0FBTyxDQUFDO0FBQ3RGO0FBRUEsTUFBTSx1QkFBdUIsb0JBQUksUUFBZTtBQU96QyxTQUFTLHNCQUFzQixPQUFvQjtBQUN4RCx1QkFBcUIsSUFBSSxLQUFLO0FBQ2hDO0FBT0EsZUFBc0IsWUFBNEI7QUFDaEQsUUFBTSxJQUFJLFFBQVEsTUFBTTtBQUN0Qiw4QkFBSztBQUFBLEVBQ1AsQ0FBQztBQUNELFFBQU0sSUFBSSxNQUFNLHFCQUFxQjtBQUN2QztBQU9BLGVBQXNCLGdCQUErQjtBQUNuRCxTQUFPLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDOUIsWUFBUSxTQUFTLE1BQU07QUFDckIsY0FBUTtBQUFBLElBQ1YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIO0FBT0EsZUFBc0Isc0JBQXFDO0FBQ3pELFNBQU8sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM5QixtQkFBZSxNQUFNO0FBQ25CLGNBQVE7QUFBQSxJQUNWLENBQUM7QUFBQSxFQUNILENBQUM7QUFDSDtBQU9BLGVBQXNCLDZCQUE0QztBQUNoRSxTQUFPLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDOUIsMEJBQXNCLE1BQU07QUFDMUIsY0FBUTtBQUFBLElBQ1YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIO0FBVUEsZUFBc0IsaUJBQWlCLElBQXVELGNBQTZCLFlBQW9DO0FBQzdKLFFBQU0sK0JBQTJCLDZCQUFlLHdCQUF3QjtBQUN4RSxxQkFBZSw0QkFBYyxDQUFDO0FBQzlCLFFBQU0sd0JBQXdCO0FBQUE7QUFBQSxJQUU1QiwwQkFBMEI7QUFBQSxJQUMxQixvQkFBb0I7QUFBQTtBQUFBLElBRXBCLHVCQUF1QjtBQUFBLEVBQ3pCO0FBQ0EsUUFBTSxjQUFjLEVBQUUsR0FBRyx1QkFBdUIsR0FBRyxhQUFhO0FBQ2hFLGNBQVksYUFBYSxlQUFlO0FBRXhDLFFBQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLE9BQU8sZ0JBQTZCO0FBQ2xDLFlBQU0sMEJBQXNCLHVDQUFlLFlBQVksYUFBYSxXQUFXO0FBQy9FLDBCQUFvQixlQUFlO0FBQ25DLFVBQUksVUFBVTtBQUNkLGFBQU8sQ0FBQyxvQkFBb0IsU0FBUztBQUNuQztBQUNBLFlBQUk7QUFDSixZQUFJO0FBQ0Ysc0JBQVksTUFBTSxHQUFHLG1CQUFtQjtBQUFBLFFBQzFDLFNBQVMsT0FBTztBQUVkLGNBQUksb0JBQW9CLFdBQVcsQ0FBQyxZQUFZLHNCQUFzQixxQkFBcUIsSUFBSSxLQUFjLEdBQUc7QUFDOUcsa0JBQU0sSUFBSSxtQ0FBc0IsMkJBQTJCLFlBQVksS0FBSztBQUFBLFVBQzlFO0FBQ0EsdUNBQVcsS0FBSztBQUNoQixzQkFBWTtBQUFBLFFBQ2Q7QUFDQSxZQUFJLFdBQVc7QUFDYixnREFBb0IsMEJBQTBCLFlBQVksc0NBQXNDLE9BQU8sT0FBTyxDQUFDLGFBQWE7QUFBQSxZQUMxSDtBQUFBLFVBQ0YsQ0FBQztBQUNEO0FBQUEsUUFDRjtBQUVBO0FBQUEsVUFDRTtBQUFBLFVBQ0E7QUFBQSxVQUNBLGlCQUFpQixPQUFPLE9BQU8sQ0FBQyw4Q0FBOEMsT0FBTyxZQUFZLHdCQUF3QixDQUFDO0FBQUEsVUFDMUg7QUFBQSxZQUNFO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLE1BQU0sWUFBWSwwQkFBMEIsV0FBVztBQUFBLE1BQy9EO0FBQUEsSUFDRjtBQUFBLElBQ0EsRUFBRSxTQUFTLEdBQUc7QUFBQSxJQUNkO0FBQUEsRUFDRjtBQUNGO0FBY0EsZUFBc0IsZUFDcEIsdUJBQ0EsSUFDQSxTQUNBLFlBQ2lCO0FBQ2pCLHFCQUFlLDRCQUFjLENBQUM7QUFDOUIsUUFBTSxZQUFZLFlBQVksSUFBSTtBQUVsQyxRQUFNLHFCQUFxQixJQUFJLGdCQUFnQjtBQUMvQyxRQUFNLHlCQUF5QixJQUFJLGdCQUFnQjtBQUVuRCxNQUFJLFNBQXdCO0FBQzVCLE1BQUksWUFBWTtBQUNoQixNQUFJLGNBQWM7QUFDbEIsUUFBTSw2QkFBeUIsNkJBQWUsc0JBQXNCO0FBRXBFLFFBQU0sUUFBUSxLQUFLLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBRTFDLE1BQUksV0FBVztBQUNiLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxJQUFJLG1DQUFzQiwyQkFBMkIsWUFBWSxtQkFBbUIsT0FBTyxNQUFNO0FBRXZHLGlCQUFlLE1BQXFCO0FBQ2xDLFFBQUk7QUFDRixlQUFTLE1BQU0sR0FBRyxtQkFBbUIsTUFBTTtBQUMzQyxZQUFNLFdBQVcsWUFBWSxJQUFJLElBQUk7QUFDckMsNENBQW9CLHdCQUF3QixjQUFjLElBQUksbUJBQW1CLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsR0FBRyxDQUFDO0FBQ2pJLGtCQUFZO0FBQUEsSUFDZCxTQUFTLEdBQUc7QUFDVix5QkFBbUIsTUFBTSxDQUFDO0FBQUEsSUFDNUIsVUFBRTtBQUNBLG9CQUFjO0FBQ2QsNkJBQXVCLE1BQU0sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUFBLElBQ3JEO0FBQUEsRUFDRjtBQUVBLGlCQUFlLGVBQThCO0FBRTNDLFdBQU8sQ0FBQyxhQUFhO0FBQ25CLFlBQU0sTUFBTSx1QkFBdUIsdUJBQXVCLE1BQU07QUFFaEUsVUFBSSxhQUFhO0FBQ2Y7QUFBQSxNQUNGO0FBQ0EsWUFBTSxXQUFXLFlBQVksSUFBSSxJQUFJO0FBQ3JDLDRDQUFvQix3QkFBd0IsY0FBYyxJQUFJLG1CQUFtQixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEdBQUcsQ0FBQztBQUNqSSxZQUFNLHNCQUFrQiw2QkFBZSw4QkFBOEI7QUFDckUsVUFBSSxDQUFDLGdCQUFnQixTQUFTO0FBQzVCLDJCQUFtQixNQUFNLElBQUksTUFBTSxtQkFBbUIsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDO0FBQ3RGO0FBQUEsTUFDRjtBQUVBO0FBQUEsUUFDRSxvREFBb0QsZ0JBQWdCLFNBQVM7QUFBQSxNQUMvRTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7QUFPQSxlQUFzQixvQkFBbUM7QUFDdkQsU0FBTyxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQzlCLGlCQUFhLE1BQU07QUFDakIsY0FBUTtBQUFBLElBQ1YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIO0FBUUEsZUFBc0IsZ0JBQWdCLE9BQStCO0FBQ25FLFFBQU0sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM3QixlQUFXLFNBQVMsS0FBSztBQUFBLEVBQzNCLENBQUM7QUFDSDtBQVVBLGVBQXNCLE1BQU0sY0FBc0IsYUFBMkIsb0JBQTZDO0FBQ3hILFlBQU0seUNBQWEsdUNBQWUsaUJBQWEsMkNBQW1CLFlBQVksQ0FBQyxDQUFDO0FBQ2hGLE1BQUksb0JBQW9CO0FBQ3RCLGlCQUFhLGVBQWU7QUFBQSxFQUM5QjtBQUNGO0FBVUEsZUFBc0IsUUFBUSx1QkFBK0IsYUFBMkIsb0JBQThDO0FBQ3BJLFFBQU0sTUFBTSx1QkFBdUIsYUFBYSxrQkFBa0I7QUFDbEUsUUFBTSxJQUFJLE1BQU0sZ0JBQWdCLE9BQU8scUJBQXFCLENBQUMsZUFBZTtBQUM5RTtBQVNBLGVBQXNCLFFBQVcsTUFBOEM7QUFDN0UsUUFBTSxNQUFXLENBQUM7QUFDbEIsbUJBQWlCLFFBQVEsTUFBTTtBQUM3QixRQUFJLEtBQUssSUFBSTtBQUFBLEVBQ2Y7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -317,4 +316,4 @@ class AsyncEvents {
|
|
|
317
316
|
0 && (module.exports = {
|
|
318
317
|
AsyncEvents
|
|
319
318
|
});
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FzeW5jRXZlbnRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEFzeW5jIGV2ZW50IGVtaXR0ZXIuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgZmlsdGVySW5QbGFjZSB9IGZyb20gJy4vQXJyYXkudHMnO1xuXG4vKipcbiAqIEFzeW5jIGV2ZW50IHJlZmVyZW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3luY0V2ZW50UmVmIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZXIuXG4gICAqL1xuICBhc3luY0V2ZW50czogQXN5bmNFdmVudHM7XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBjYWxsYmFjazogR2VuZXJpY0NhbGxiYWNrO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICovXG4gIHRoaXNBcmc6IHVua25vd247XG59XG5cbnR5cGUgR2VuZXJpY0NhbGxiYWNrID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUHJvbWlzYWJsZTx2b2lkPjtcblxuLyoqXG4gKiBBc3luYyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3luY0V2ZW50cyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRSZWZzTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFzeW5jRXZlbnRSZWZbXT4oKTtcblxuICAvKipcbiAgICogUmVtb3ZlIGFuIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIHJlbW92ZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogZXZlbnRzLm9mZignbXktZXZlbnQnLCBteUxpc3RlbmVyKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgb2ZmPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRSZWZzID0gdGhpcy5ldmVudFJlZnNNYXAuZ2V0KG5hbWUpO1xuICAgIGlmICghZXZlbnRSZWZzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsdGVySW5QbGFjZShldmVudFJlZnMsIChldmVudFJlZikgPT4gZXZlbnRSZWYuY2FsbGJhY2sgIT09IGNhbGxiYWNrKTtcbiAgICBpZiAoZXZlbnRSZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuZGVsZXRlKG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW4gZXZlbnQgbGlzdGVuZXIgYnkgcmVmZXJlbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBldmVudCBsaXN0ZW5lci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogZXZlbnRzLm9mZnJlZihteVJlZik7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICBwdWJsaWMgb2ZmcmVmKGV2ZW50UmVmOiBBc3luY0V2ZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRSZWZzID0gdGhpcy5ldmVudFJlZnNNYXAuZ2V0KGV2ZW50UmVmLm5hbWUpO1xuICAgIGlmICghZXZlbnRSZWZzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsdGVySW5QbGFjZShldmVudFJlZnMsIChzdG9yZWRFdmVudFJlZikgPT4gc3RvcmVkRXZlbnRSZWYgIT09IGV2ZW50UmVmKTtcbiAgICBpZiAoZXZlbnRSZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuZGVsZXRlKGV2ZW50UmVmLm5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gZXZlbnQgbGlzdGVuZXIuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBwYXJhbSB0aGlzQXJnIC0gVGhlIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhlIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMub24oJ215LWV2ZW50JywgYXN5bmMgKGFyZzEsIGFyZzIpID0+IHtcbiAgICogICAgIGF3YWl0IHNsZWVwKDEwMCk7XG4gICAqICAgICBjb25zb2xlLmxvZyhhcmcxLCBhcmcyKTtcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIG9uPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+LCB0aGlzQXJnPzogdW5rbm93bik6IEFzeW5jRXZlbnRSZWYge1xuICAgIGxldCBldmVudFJlZnMgPSB0aGlzLmV2ZW50UmVmc01hcC5nZXQobmFtZSk7XG4gICAgaWYgKCFldmVudFJlZnMpIHtcbiAgICAgIGV2ZW50UmVmcyA9IFtdO1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuc2V0KG5hbWUsIGV2ZW50UmVmcyk7XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnRSZWY6IEFzeW5jRXZlbnRSZWYgPSB7XG4gICAgICBhc3luY0V2ZW50czogdGhpcyxcbiAgICAgIGNhbGxiYWNrOiBjYWxsYmFjayBhcyBHZW5lcmljQ2FsbGJhY2ssXG4gICAgICBuYW1lLFxuICAgICAgdGhpc0FyZ1xuICAgIH07XG4gICAgZXZlbnRSZWZzLnB1c2goZXZlbnRSZWYpO1xuICAgIHJldHVybiBldmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIHRyaWdnZXJlZCBvbmx5IG9uY2UuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBwYXJhbSB0aGlzQXJnIC0gVGhlIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhlIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMub25jZSgnbXktZXZlbnQnLCBhc3luYyAoYXJnMSwgYXJnMikgPT4ge1xuICAgKiAgICAgYXdhaXQgc2xlZXAoMTAwKTtcbiAgICogICAgIGNvbnNvbGUubG9nKGFyZzEsIGFyZzIpO1xuICAgKiB9KTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgb25jZTxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihuYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uYXJnczogQXJncykgPT4gUHJvbWlzYWJsZTx2b2lkPiwgdGhpc0FyZz86IHVua25vd24pOiBBc3luY0V2ZW50UmVmIHtcbiAgICBjb25zdCBvcmlnaW5hbEV2ZW50UmVmID0gdGhpcy5vbihuYW1lLCBjYWxsYmFjaywgdGhpc0FyZyk7XG4gICAgY29uc3QgY2xlYW51cEV2ZW50UmVmID0gdGhpcy5vbihuYW1lLCAoKSA9PiB7XG4gICAgICB0aGlzLm9mZnJlZihvcmlnaW5hbEV2ZW50UmVmKTtcbiAgICAgIHRoaXMub2ZmcmVmKGNsZWFudXBFdmVudFJlZik7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9yaWdpbmFsRXZlbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBhbiBldmVudCwgZXhlY3V0aW5nIGFsbCB0aGUgbGlzdGVuZXJzIGluIG9yZGVyIGV2ZW4gaWYgc29tZSBvZiB0aGVtIHRocm93IGFuIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgZGF0YSB0byBwYXNzIHRvIHRoZSBldmVudCBsaXN0ZW5lcnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGV2ZW50cy50cmlnZ2VyKCdteS1ldmVudCcsICdhcmcxJywgJ2FyZzInKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgdHJpZ2dlcjxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IEFyZ3MpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFJlZnMgPSB0aGlzLmV2ZW50UmVmc01hcC5nZXQobmFtZSkgPz8gW107XG4gICAgZm9yIChjb25zdCBldmVudFJlZiBvZiBldmVudFJlZnMuc2xpY2UoKSkge1xuICAgICAgdGhpcy50cnlUcmlnZ2VyKGV2ZW50UmVmLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBhbiBldmVudCBhc3luY2hyb25vdXNseSwgZXhlY3V0aW5nIGFsbCB0aGUgbGlzdGVuZXJzIGluIG9yZGVyIGV2ZW4gaWYgc29tZSBvZiB0aGVtIHRocm93IGFuIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgZGF0YSB0byBwYXNzIHRvIHRoZSBldmVudCBsaXN0ZW5lcnMuXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgYXN5bmMgdHJpZ2dlckFzeW5jPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgLi4uYXJnczogQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGV2ZW50UmVmcyA9IHRoaXMuZXZlbnRSZWZzTWFwLmdldChuYW1lKSA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGV2ZW50UmVmIG9mIGV2ZW50UmVmcy5zbGljZSgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnRyeVRyaWdnZXJBc3luYyhldmVudFJlZiwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byB0cmlnZ2VyIGFuIGV2ZW50LCBleGVjdXRpbmcgYWxsIHRoZSBsaXN0ZW5lcnMgaW4gb3JkZXIgZXZlbiBpZiBzb21lIG9mIHRoZW0gdGhyb3cgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGRhdGEgdG8gcGFzcyB0byB0aGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMudHJ5VHJpZ2dlcihteVJlZiwgWydhcmcxJywgJ2FyZzInXSk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIHRyeVRyaWdnZXI8QXJncyBleHRlbmRzIHVua25vd25bXT4oZXZlbnRSZWY6IEFzeW5jRXZlbnRSZWYsIGFyZ3M6IEFyZ3MpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgZXZlbnRSZWYuY2FsbGJhY2suYXBwbHkoZXZlbnRSZWYudGhpc0FyZywgYXJncyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byB0cmlnZ2VyIGFuIGV2ZW50IGFzeW5jaHJvbm91c2x5LCBleGVjdXRpbmcgYWxsIHRoZSBsaXN0ZW5lcnMgaW4gb3JkZXIgZXZlbiBpZiBzb21lIG9mIHRoZW0gdGhyb3cgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGRhdGEgdG8gcGFzcyB0byB0aGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIGFzeW5jIHRyeVRyaWdnZXJBc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihldmVudFJlZjogQXN5bmNFdmVudFJlZiwgYXJnczogQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBldmVudFJlZi5jYWxsYmFjay5jYWxsKGV2ZW50UmVmLnRoaXNBcmcsIC4uLmFyZ3MpO1xuICAgICAgYXdhaXQgKHJlc3VsdCBhcyBQcm9taXNlPHZvaWQ+KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7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
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0FzeW5jRXZlbnRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEFzeW5jIGV2ZW50IGVtaXR0ZXIuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgZmlsdGVySW5QbGFjZSB9IGZyb20gJy4vQXJyYXkudHMnO1xuXG4vKipcbiAqIEFzeW5jIGV2ZW50IHJlZmVyZW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3luY0V2ZW50UmVmIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZXIuXG4gICAqL1xuICBhc3luY0V2ZW50czogQXN5bmNFdmVudHM7XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBjYWxsYmFjazogR2VuZXJpY0NhbGxiYWNrO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICovXG4gIHRoaXNBcmc6IHVua25vd247XG59XG5cbnR5cGUgR2VuZXJpY0NhbGxiYWNrID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUHJvbWlzYWJsZTx2b2lkPjtcblxuLyoqXG4gKiBBc3luYyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3luY0V2ZW50cyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRSZWZzTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFzeW5jRXZlbnRSZWZbXT4oKTtcblxuICAvKipcbiAgICogUmVtb3ZlIGFuIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIHJlbW92ZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogZXZlbnRzLm9mZignbXktZXZlbnQnLCBteUxpc3RlbmVyKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgb2ZmPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRSZWZzID0gdGhpcy5ldmVudFJlZnNNYXAuZ2V0KG5hbWUpO1xuICAgIGlmICghZXZlbnRSZWZzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsdGVySW5QbGFjZShldmVudFJlZnMsIChldmVudFJlZikgPT4gZXZlbnRSZWYuY2FsbGJhY2sgIT09IGNhbGxiYWNrKTtcbiAgICBpZiAoZXZlbnRSZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuZGVsZXRlKG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW4gZXZlbnQgbGlzdGVuZXIgYnkgcmVmZXJlbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBldmVudCBsaXN0ZW5lci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogZXZlbnRzLm9mZnJlZihteVJlZik7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICBwdWJsaWMgb2ZmcmVmKGV2ZW50UmVmOiBBc3luY0V2ZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRSZWZzID0gdGhpcy5ldmVudFJlZnNNYXAuZ2V0KGV2ZW50UmVmLm5hbWUpO1xuICAgIGlmICghZXZlbnRSZWZzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsdGVySW5QbGFjZShldmVudFJlZnMsIChzdG9yZWRFdmVudFJlZikgPT4gc3RvcmVkRXZlbnRSZWYgIT09IGV2ZW50UmVmKTtcbiAgICBpZiAoZXZlbnRSZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuZGVsZXRlKGV2ZW50UmVmLm5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gZXZlbnQgbGlzdGVuZXIuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBwYXJhbSB0aGlzQXJnIC0gVGhlIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhlIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMub24oJ215LWV2ZW50JywgYXN5bmMgKGFyZzEsIGFyZzIpID0+IHtcbiAgICogICAgIGF3YWl0IHNsZWVwKDEwMCk7XG4gICAqICAgICBjb25zb2xlLmxvZyhhcmcxLCBhcmcyKTtcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIG9uPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+LCB0aGlzQXJnPzogdW5rbm93bik6IEFzeW5jRXZlbnRSZWYge1xuICAgIGxldCBldmVudFJlZnMgPSB0aGlzLmV2ZW50UmVmc01hcC5nZXQobmFtZSk7XG4gICAgaWYgKCFldmVudFJlZnMpIHtcbiAgICAgIGV2ZW50UmVmcyA9IFtdO1xuICAgICAgdGhpcy5ldmVudFJlZnNNYXAuc2V0KG5hbWUsIGV2ZW50UmVmcyk7XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnRSZWY6IEFzeW5jRXZlbnRSZWYgPSB7XG4gICAgICBhc3luY0V2ZW50czogdGhpcyxcbiAgICAgIGNhbGxiYWNrOiBjYWxsYmFjayBhcyBHZW5lcmljQ2FsbGJhY2ssXG4gICAgICBuYW1lLFxuICAgICAgdGhpc0FyZ1xuICAgIH07XG4gICAgZXZlbnRSZWZzLnB1c2goZXZlbnRSZWYpO1xuICAgIHJldHVybiBldmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIHRyaWdnZXJlZCBvbmx5IG9uY2UuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBwYXJhbSB0aGlzQXJnIC0gVGhlIGNvbnRleHQgcGFzc2VkIGFzIGB0aGlzYCB0byB0aGUgYGNhbGxiYWNrYC5cbiAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhlIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMub25jZSgnbXktZXZlbnQnLCBhc3luYyAoYXJnMSwgYXJnMikgPT4ge1xuICAgKiAgICAgYXdhaXQgc2xlZXAoMTAwKTtcbiAgICogICAgIGNvbnNvbGUubG9nKGFyZzEsIGFyZzIpO1xuICAgKiB9KTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgb25jZTxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihuYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uYXJnczogQXJncykgPT4gUHJvbWlzYWJsZTx2b2lkPiwgdGhpc0FyZz86IHVua25vd24pOiBBc3luY0V2ZW50UmVmIHtcbiAgICBjb25zdCBvcmlnaW5hbEV2ZW50UmVmID0gdGhpcy5vbihuYW1lLCBjYWxsYmFjaywgdGhpc0FyZyk7XG4gICAgY29uc3QgY2xlYW51cEV2ZW50UmVmID0gdGhpcy5vbihuYW1lLCAoKSA9PiB7XG4gICAgICB0aGlzLm9mZnJlZihvcmlnaW5hbEV2ZW50UmVmKTtcbiAgICAgIHRoaXMub2ZmcmVmKGNsZWFudXBFdmVudFJlZik7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9yaWdpbmFsRXZlbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBhbiBldmVudCwgZXhlY3V0aW5nIGFsbCB0aGUgbGlzdGVuZXJzIGluIG9yZGVyIGV2ZW4gaWYgc29tZSBvZiB0aGVtIHRocm93IGFuIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgZGF0YSB0byBwYXNzIHRvIHRoZSBldmVudCBsaXN0ZW5lcnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGV2ZW50cy50cmlnZ2VyKCdteS1ldmVudCcsICdhcmcxJywgJ2FyZzInKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgdHJpZ2dlcjxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IEFyZ3MpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFJlZnMgPSB0aGlzLmV2ZW50UmVmc01hcC5nZXQobmFtZSkgPz8gW107XG4gICAgZm9yIChjb25zdCBldmVudFJlZiBvZiBldmVudFJlZnMuc2xpY2UoKSkge1xuICAgICAgdGhpcy50cnlUcmlnZ2VyKGV2ZW50UmVmLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBhbiBldmVudCBhc3luY2hyb25vdXNseSwgZXhlY3V0aW5nIGFsbCB0aGUgbGlzdGVuZXJzIGluIG9yZGVyIGV2ZW4gaWYgc29tZSBvZiB0aGVtIHRocm93IGFuIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgZGF0YSB0byBwYXNzIHRvIHRoZSBldmVudCBsaXN0ZW5lcnMuXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuICBwdWJsaWMgYXN5bmMgdHJpZ2dlckFzeW5jPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KG5hbWU6IHN0cmluZywgLi4uYXJnczogQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGV2ZW50UmVmcyA9IHRoaXMuZXZlbnRSZWZzTWFwLmdldChuYW1lKSA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGV2ZW50UmVmIG9mIGV2ZW50UmVmcy5zbGljZSgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnRyeVRyaWdnZXJBc3luYyhldmVudFJlZiwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byB0cmlnZ2VyIGFuIGV2ZW50LCBleGVjdXRpbmcgYWxsIHRoZSBsaXN0ZW5lcnMgaW4gb3JkZXIgZXZlbiBpZiBzb21lIG9mIHRoZW0gdGhyb3cgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGRhdGEgdG8gcGFzcyB0byB0aGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBldmVudHMudHJ5VHJpZ2dlcihteVJlZiwgWydhcmcxJywgJ2FyZzInXSk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIHRyeVRyaWdnZXI8QXJncyBleHRlbmRzIHVua25vd25bXT4oZXZlbnRSZWY6IEFzeW5jRXZlbnRSZWYsIGFyZ3M6IEFyZ3MpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgZXZlbnRSZWYuY2FsbGJhY2suYXBwbHkoZXZlbnRSZWYudGhpc0FyZywgYXJncyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byB0cmlnZ2VyIGFuIGV2ZW50IGFzeW5jaHJvbm91c2x5LCBleGVjdXRpbmcgYWxsIHRoZSBsaXN0ZW5lcnMgaW4gb3JkZXIgZXZlbiBpZiBzb21lIG9mIHRoZW0gdGhyb3cgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGRhdGEgdG8gcGFzcyB0byB0aGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbiAgcHVibGljIGFzeW5jIHRyeVRyaWdnZXJBc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihldmVudFJlZjogQXN5bmNFdmVudFJlZiwgYXJnczogQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBldmVudFJlZi5jYWxsYmFjay5jYWxsKGV2ZW50UmVmLnRoaXNBcmcsIC4uLmFyZ3MpO1xuICAgICAgYXdhaXQgKHJlc3VsdCBhcyBQcm9taXNlPHZvaWQ+KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7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
|
package/dist/lib/cjs/Blob.cjs
CHANGED
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -203,4 +202,4 @@ function isImageFile(file) {
|
|
|
203
202
|
dataUrlToArrayBuffer,
|
|
204
203
|
isImageFile
|
|
205
204
|
});
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJsb2Igb2JqZWN0cy5cbiAqL1xuXG4vKipcbiAqIENvbnZlcnRzIGEge0BsaW5rIEJsb2J9IG9iamVjdCB0byBhbiB7QGxpbmsgQXJyYXlCdWZmZXJ9LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9BcnJheUJ1ZmZlcihibG9iOiBCbG9iKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgaGFuZGxlTG9hZEVuZCk7XG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTG9hZEVuZCgpOiB2b2lkIHtcbiAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHtAbGluayBCbG9ifSBvYmplY3QgdG8gYSBkYXRhIFVSTC5cbiAqXG4gKiBAcGFyYW0gYmxvYiAtIFRoZSBCbG9iIG9iamVjdCB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGRhdGEgVVJMLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvRGF0YVVybChibG9iOiBCbG9iKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVuZCcsIGhhbmRsZUxvYWRFbmQpO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTG9hZEVuZCgpOiB2b2lkIHtcbiAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSB7QGxpbmsgQmxvYn0gb2JqZWN0IHRvIGEgSlBFRyBBcnJheUJ1ZmZlciB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGl0eS5cbiAqXG4gKiBAcGFyYW0gYmxvYiAtIFRoZSBCbG9iIG9iamVjdCB0byBjb252ZXJ0LlxuICogQHBhcmFtIGpwZWdRdWFsaXR5IC0gVGhlIHF1YWxpdHkgb2YgdGhlIEpQRUcgaW1hZ2UgKDAgdG8gMSkuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9KcGVnQXJyYXlCdWZmZXIoYmxvYjogQmxvYiwganBlZ1F1YWxpdHk6IG51bWJlcik6IFByb21pc2U8QXJyYXlCdWZmZXI+
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJsb2Igb2JqZWN0cy5cbiAqL1xuXG4vKipcbiAqIENvbnZlcnRzIGEge0BsaW5rIEJsb2J9IG9iamVjdCB0byBhbiB7QGxpbmsgQXJyYXlCdWZmZXJ9LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9BcnJheUJ1ZmZlcihibG9iOiBCbG9iKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgaGFuZGxlTG9hZEVuZCk7XG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTG9hZEVuZCgpOiB2b2lkIHtcbiAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHtAbGluayBCbG9ifSBvYmplY3QgdG8gYSBkYXRhIFVSTC5cbiAqXG4gKiBAcGFyYW0gYmxvYiAtIFRoZSBCbG9iIG9iamVjdCB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGRhdGEgVVJMLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvRGF0YVVybChibG9iOiBCbG9iKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVuZCcsIGhhbmRsZUxvYWRFbmQpO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTG9hZEVuZCgpOiB2b2lkIHtcbiAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSB7QGxpbmsgQmxvYn0gb2JqZWN0IHRvIGEgSlBFRyBBcnJheUJ1ZmZlciB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGl0eS5cbiAqXG4gKiBAcGFyYW0gYmxvYiAtIFRoZSBCbG9iIG9iamVjdCB0byBjb252ZXJ0LlxuICogQHBhcmFtIGpwZWdRdWFsaXR5IC0gVGhlIHF1YWxpdHkgb2YgdGhlIEpQRUcgaW1hZ2UgKDAgdG8gMSkuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9KcGVnQXJyYXlCdWZmZXIoYmxvYjogQmxvYiwganBlZ1F1YWxpdHk6IG51bWJlcik6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgY29uc3QgZGF0YVVybCA9IGF3YWl0IGJsb2JUb0RhdGFVcmwoYmxvYik7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGhhbmRsZUxvYWQpO1xuICAgIGltYWdlLnNyYyA9IGRhdGFVcmw7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVMb2FkKCk6IHZvaWQge1xuICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZ2V0IDJEIGNvbnRleHQuJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBpbWFnZVdpZHRoID0gaW1hZ2Uud2lkdGg7XG4gICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGltYWdlLmhlaWdodDtcblxuICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2VXaWR0aDtcbiAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZUhlaWdodDtcblxuICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAnI2ZmZic7XG4gICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgIGNvbnRleHQuc2F2ZSgpO1xuXG4gICAgICBjb25zdCBIQUxGID0gMC41O1xuICAgICAgY29udGV4dC50cmFuc2xhdGUoaW1hZ2VXaWR0aCAqIEhBTEYsIGltYWdlSGVpZ2h0ICogSEFMRik7XG4gICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQsIC1pbWFnZVdpZHRoICogSEFMRiwgLWltYWdlSGVpZ2h0ICogSEFMRiwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQpO1xuICAgICAgY29udGV4dC5yZXN0b3JlKCk7XG5cbiAgICAgIGNvbnN0IGpwZWdEYXRhVXJsID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIGpwZWdRdWFsaXR5KTtcbiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gZGF0YVVybFRvQXJyYXlCdWZmZXIoanBlZ0RhdGFVcmwpO1xuICAgICAgcmVzb2x2ZShhcnJheUJ1ZmZlcik7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB0byBhbiB7QGxpbmsgQXJyYXlCdWZmZXJ9LlxuICpcbiAqIEBwYXJhbSBkYXRhVXJsIC0gVGhlIGRhdGEgVVJMIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFVcmxUb0FycmF5QnVmZmVyKGRhdGFVcmw6IHN0cmluZyk6IEFycmF5QnVmZmVyIHtcbiAgY29uc3QgcGFydHMgPSBkYXRhVXJsLnNwbGl0KCc7YmFzZTY0LCcpO1xuICBjb25zdCBiYXNlNjQgPSBwYXJ0c1sxXTtcbiAgaWYgKCFiYXNlNjQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YSBVUkwnKTtcbiAgfVxuXG4gIGNvbnN0IHJhdyA9IHdpbmRvdy5hdG9iKGJhc2U2NCk7XG4gIGNvbnN0IHJhd0xlbmd0aCA9IHJhdy5sZW5ndGg7XG5cbiAgY29uc3QgdUludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHJhd0xlbmd0aCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXdMZW5ndGg7IGkrKykge1xuICAgIHVJbnQ4QXJyYXlbaV0gPSByYXcuY2hhckNvZGVBdChpKTtcbiAgfVxuICByZXR1cm4gdUludDhBcnJheS5idWZmZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gZmlsZSBpcyBhbiBpbWFnZS5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbWFnZUZpbGUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xufVxuIl0sCiAgIm1h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
|
|
@@ -8,6 +8,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
8
8
|
globalThisRecord['__name'] ??= name;
|
|
9
9
|
const originalRequire = require;
|
|
10
10
|
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
11
12
|
require = Object.assign(
|
|
12
13
|
(id) => requirePatched(id),
|
|
13
14
|
originalRequire,
|
|
@@ -85,7 +86,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
85
86
|
// 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.
|
|
86
87
|
if (globalThis?.app?.isMobile) {
|
|
87
88
|
if (id === 'process' || id === 'node:process') {
|
|
88
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
89
89
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
90
|
return globalThis.process;
|
|
91
91
|
}
|
|
@@ -96,7 +96,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
// eslint-disable-next-line no-console -- Debug message is intentional here.
|
|
100
99
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
101
100
|
return {};
|
|
102
101
|
}
|
|
@@ -167,4 +166,4 @@ var CssClass = /* @__PURE__ */ ((CssClass2) => {
|
|
|
167
166
|
0 && (module.exports = {
|
|
168
167
|
CssClass
|
|
169
168
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL0Nzc0NsYXNzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENTUyBjbGFzc2VzIHVzZWQgYnkgdGhlIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGxpYnJhcnkuXG4gKi9cblxuLyoqXG4gKiBDU1MgY2xhc3NlcyB1c2VkIGJ5IHRoZSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZW51bSBDc3NDbGFzcyB7XG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGFsZXJ0IG1vZGFsLlxuICAgKi9cbiAgQWxlcnRNb2RhbCA9ICdhbGVydC1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICovXG4gIENhbmNlbEJ1dHRvbiA9ICdjYW5jZWwtYnV0dG9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjaGVja2JveCBjb21wb25lbnQuXG4gICAqL1xuICBDaGVja2JveENvbXBvbmVudCA9ICdjaGVja2JveC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGNvZGUgaGlnaGxpZ2h0ZXIgY29tcG9uZW50LlxuICAgKi9cbiAgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50ID0gJ2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb25maXJtIG1vZGFsLlxuICAgKi9cbiAgQ29uZmlybU1vZGFsID0gJ2NvbmZpcm0tbW9kYWwnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGRhdGUgY29tcG9uZW50LlxuICAgKi9cbiAgRGF0ZUNvbXBvbmVudCA9ICdkYXRlLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgZGF0ZSBhbmQgdGltZSBjb21wb25lbnQuXG4gICAqL1xuICBEYXRlVGltZUNvbXBvbmVudCA9ICdkYXRldGltZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGVtYWlsIGNvbXBvbmVudC5cbiAgICovXG4gIEVtYWlsQ29tcG9uZW50ID0gJ2VtYWlsLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgZmlsZSBjb21wb25lbnQuXG4gICAqL1xuICBGaWxlQ29tcG9uZW50ID0gJ2ZpbGUtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIElzUGxhY2Vob2xkZXIgPSAnaXMtcGxhY2Vob2xkZXInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGxpYnJhcnkgbmFtZS5cbiAgICovXG4gIExpYnJhcnlOYW1lID0gJ29ic2lkaWFuLWRldi11dGlscycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbW9udGggY29tcG9uZW50LlxuICAgKi9cbiAgTW9udGhDb21wb25lbnQgPSAnbW9udGgtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtdWx0aXBsZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50ID0gJ211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbXVsdGlwbGUgZW1haWwgY29tcG9uZW50LlxuICAgKi9cbiAgTXVsdGlwbGVFbWFpbENvbXBvbmVudCA9ICdtdWx0aXBsZS1lbWFpbC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG11bHRpcGxlIGZpbGUgY29tcG9uZW50LlxuICAgKi9cbiAgTXVsdGlwbGVGaWxlQ29tcG9uZW50ID0gJ211bHRpcGxlLWZpbGUtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtdWx0aXBsZSB0ZXh0IGNvbXBvbmVudC5cbiAgICovXG4gIE11bHRpcGxlVGV4dENvbXBvbmVudCA9ICdtdWx0aXBsZS10ZXh0LWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbnVtYmVyIGNvbXBvbmVudC5cbiAgICovXG4gIE51bWJlckNvbXBvbmVudCA9ICdudW1iZXItY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBvayBidXR0b24uXG4gICAqL1xuICBPa0J1dHRvbiA9ICdvay1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG92ZXJsYXkgdmFsaWRhdG9yLlxuICAgKi9cbiAgT3ZlcmxheVZhbGlkYXRvciA9ICdvdmVybGF5LXZhbGlkYXRvcicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcGFzc3dvcmQgY29tcG9uZW50LlxuICAgKi9cbiAgUGFzc3dvcmRDb21wb25lbnQgPSAncGFzc3dvcmQtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgUGx1Z2luU2V0dGluZ3NUYWIgPSAncGx1Z2luLXNldHRpbmdzLXRhYicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICAgKi9cbiAgUHJvbXB0TW9kYWwgPSAncHJvbXB0LW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzZWxlY3QgaXRlbSBtb2RhbC5cbiAgICovXG4gIFNlbGVjdEl0ZW1Nb2RhbCA9ICdzZWxlY3QtaXRlbS1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgc2V0dGluZyBjb21wb25lbnQgd3JhcHBlci5cbiAgICovXG4gIFNldHRpbmdDb21wb25lbnRXcmFwcGVyID0gJ3NldHRpbmctY29tcG9uZW50LXdyYXBwZXInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRlbGVwaG9uZSBjb21wb25lbnQuXG4gICAqL1xuICBUZWxlcGhvbmVDb21wb25lbnQgPSAndGVsZXBob25lLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdGV4dCBib3guXG4gICAqL1xuICBUZXh0Qm94ID0gJ3RleHQtYm94JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0aW1lIGNvbXBvbmVudC5cbiAgICovXG4gIFRpbWVDb21wb25lbnQgPSAndGltZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAuXG4gICAqL1xuICBUb29sdGlwID0gJ3Rvb2x0aXAnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgYXJyb3cuXG4gICAqL1xuICBUb29sdGlwQXJyb3cgPSAndG9vbHRpcC1hcnJvdycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdG9vbHRpcCB2YWxpZGF0b3IuXG4gICAqL1xuICBUb29sdGlwVmFsaWRhdG9yID0gJ3Rvb2x0aXAtdmFsaWRhdG9yJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0cmktc3RhdGUgY2hlY2tib3ggY29tcG9uZW50LlxuICAgKi9cbiAgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCA9ICd0cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0eXBlZCBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBUeXBlZERyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdHlwZWQgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKi9cbiAgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLW11bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdXJsIGNvbXBvbmVudC5cbiAgICovXG4gIFVybENvbXBvbmVudCA9ICd1cmwtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB3ZWVrIGNvbXBvbmVudC5cbiAgICovXG4gIFdlZWtDb21wb25lbnQgPSAnd2Vlay1jb21wb25lbnQnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNPLElBQUssV0FBTCxrQkFBS0EsY0FBTDtBQUlMLEVBQUFBLFVBQUEsZ0JBQWE7QUFLYixFQUFBQSxVQUFBLGtCQUFlO0FBS2YsRUFBQUEsVUFBQSx1QkFBb0I7QUFLcEIsRUFBQUEsVUFBQSw4QkFBMkI7QUFLM0IsRUFBQUEsVUFBQSxrQkFBZTtBQUtmLEVBQUFBLFVBQUEsbUJBQWdCO0FBS2hCLEVBQUFBLFVBQUEsdUJBQW9CO0FBS3BCLEVBQUFBLFVBQUEsb0JBQWlCO0FBS2pCLEVBQUFBLFVBQUEsbUJBQWdCO0FBS2hCLEVBQUFBLFVBQUEsbUJBQWdCO0FBS2hCLEVBQUFBLFVBQUEsaUJBQWM7QUFLZCxFQUFBQSxVQUFBLG9CQUFpQjtBQUtqQixFQUFBQSxVQUFBLCtCQUE0QjtBQUs1QixFQUFBQSxVQUFBLDRCQUF5QjtBQUt6QixFQUFBQSxVQUFBLDJCQUF3QjtBQUt4QixFQUFBQSxVQUFBLDJCQUF3QjtBQUt4QixFQUFBQSxVQUFBLHFCQUFrQjtBQUtsQixFQUFBQSxVQUFBLGNBQVc7QUFLWCxFQUFBQSxVQUFBLHNCQUFtQjtBQUtuQixFQUFBQSxVQUFBLHVCQUFvQjtBQUtwQixFQUFBQSxVQUFBLHVCQUFvQjtBQUtwQixFQUFBQSxVQUFBLGlCQUFjO0FBS2QsRUFBQUEsVUFBQSxxQkFBa0I7QUFLbEIsRUFBQUEsVUFBQSw2QkFBMEI7QUFLMUIsRUFBQUEsVUFBQSx3QkFBcUI7QUFLckIsRUFBQUEsVUFBQSxhQUFVO0FBS1YsRUFBQUEsVUFBQSxtQkFBZ0I7QUFLaEIsRUFBQUEsVUFBQSxhQUFVO0FBS1YsRUFBQUEsVUFBQSxrQkFBZTtBQUtmLEVBQUFBLFVBQUEsc0JBQW1CO0FBS25CLEVBQUFBLFVBQUEsK0JBQTRCO0FBSzVCLEVBQUFBLFVBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLFVBQUEsb0NBQWlDO0FBS2pDLEVBQUFBLFVBQUEsa0JBQWU7QUFLZixFQUFBQSxVQUFBLG1CQUFnQjtBQTlLTixTQUFBQTtBQUFBLEdBQUE7IiwKICAibmFtZXMiOiBbIkNzc0NsYXNzIl0KfQo=
|