obsidian-integration-testing 9.2.2 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -45
- package/dist/lib/cjs/appium-dependencies.cjs +5 -5
- package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
- package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
- package/dist/lib/cjs/avd-list.cjs +1 -1
- package/dist/lib/cjs/avd-list.d.cts +6 -2
- package/dist/lib/cjs/cli.cjs +4 -4
- package/dist/lib/cjs/compatibility-options.cjs +13 -13
- package/dist/lib/cjs/compatibility-options.d.cts +24 -12
- package/dist/lib/cjs/connect-to-cdp.cjs +4 -4
- package/dist/lib/cjs/connect-to-cdp.d.cts +6 -6
- package/dist/lib/cjs/context-id.cjs +5 -5
- package/dist/lib/cjs/context-id.d.cts +1 -1
- package/dist/lib/cjs/context-provider.cjs +5 -5
- package/dist/lib/cjs/context-provider.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
- package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
- package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
- package/dist/lib/cjs/device-readiness.cjs +3 -3
- package/dist/lib/cjs/device-readiness.d.cts +7 -3
- package/dist/lib/cjs/ecmascript-version.cjs +1 -1
- package/dist/lib/cjs/electron-compatibility.cjs +4 -4
- package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
- package/dist/lib/cjs/emulator-arguments.cjs +36 -0
- package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
- package/dist/lib/cjs/enable-plugin.cjs +29 -29
- package/dist/lib/cjs/enable-plugin.d.cts +6 -6
- package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
- package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
- package/dist/lib/cjs/exec.cjs +49 -53
- package/dist/lib/cjs/exec.d.cts +9 -9
- package/dist/lib/cjs/function-expression.cjs +8 -8
- package/dist/lib/cjs/function-expression.d.cts +4 -4
- package/dist/lib/cjs/generate-function-call.cjs +6 -6
- package/dist/lib/cjs/generate-function-call.d.cts +15 -9
- package/dist/lib/cjs/global-setup-core.cjs +43 -43
- package/dist/lib/cjs/global-setup-core.d.cts +19 -9
- package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
- package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
- package/dist/lib/cjs/index.cjs +10 -10
- package/dist/lib/cjs/index.d.cts +8 -8
- package/dist/lib/cjs/installer-asset.cjs +4 -4
- package/dist/lib/cjs/installer-asset.d.cts +21 -7
- package/dist/lib/cjs/installer-compatibility.cjs +4 -4
- package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
- package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +11 -11
- package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
- package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
- package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
- package/dist/lib/cjs/jest/setup.cjs +2 -2
- package/dist/lib/cjs/jest/setup.d.cts +1 -1
- package/dist/lib/cjs/json-with-functions.cjs +7 -7
- package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
- package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
- package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
- package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
- package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
- package/dist/lib/cjs/obsidian-config.cjs +30 -31
- package/dist/lib/cjs/obsidian-config.d.cts +8 -8
- package/dist/lib/cjs/obsidian-executable.cjs +2 -2
- package/dist/lib/cjs/obsidian-installer.cjs +37 -37
- package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
- package/dist/lib/cjs/obsidian-instance.cjs +3 -3
- package/dist/lib/cjs/obsidian-instance.d.cts +18 -8
- package/dist/lib/cjs/obsidian-metadata.cjs +1 -1
- package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
- package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
- package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
- package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
- package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
- package/dist/lib/cjs/obsidian-version.cjs +3 -3
- package/dist/lib/cjs/obsidian-version.d.cts +15 -5
- package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
- package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
- package/dist/lib/cjs/parent-liveness.cjs +4 -4
- package/dist/lib/cjs/parent-liveness.d.cts +7 -3
- package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +21 -7
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +21 -7
- package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
- package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
- package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
- package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
- package/dist/lib/cjs/setup-lock.cjs +26 -26
- package/dist/lib/cjs/setup-lock.d.cts +6 -2
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
- package/dist/lib/cjs/spawn-options.cjs +1 -1
- package/dist/lib/cjs/spawn-options.d.cts +3 -1
- package/dist/lib/cjs/strict-proxy.cjs +25 -25
- package/dist/lib/cjs/strict-proxy.d.cts +3 -3
- package/dist/lib/cjs/temporary-vault.cjs +166 -0
- package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
- package/dist/lib/cjs/transport-appium.cjs +7 -7
- package/dist/lib/cjs/transport-appium.d.cts +7 -3
- package/dist/lib/cjs/transport-desktop-cdp.cjs +57 -57
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +29 -17
- package/dist/lib/cjs/transport-factory.cjs +62 -63
- package/dist/lib/cjs/type-guards.cjs +3 -3
- package/dist/lib/cjs/type-guards.d.cts +2 -2
- package/dist/lib/cjs/vault-path-match.cjs +9 -9
- package/dist/lib/cjs/vault-path-match.d.cts +11 -11
- package/dist/lib/cjs/version-matrix.cjs +1 -1
- package/dist/lib/cjs/version-matrix.d.cts +51 -17
- package/dist/lib/cjs/visibility.cjs +7 -7
- package/dist/lib/cjs/visibility.d.cts +5 -5
- package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
- package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
- package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
- package/dist/lib/cjs/vitest/setup.cjs +2 -2
- package/dist/lib/cjs/vitest/typings.d.cts +2 -2
- package/dist/lib/esm/appium-dependencies.d.mts +4 -2
- package/dist/lib/esm/appium-dependencies.mjs +4 -4
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
- package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
- package/dist/lib/esm/avd-list.d.mts +6 -2
- package/dist/lib/esm/avd-list.mjs +1 -1
- package/dist/lib/esm/cli.mjs +4 -4
- package/dist/lib/esm/compatibility-options.d.mts +24 -12
- package/dist/lib/esm/compatibility-options.mjs +10 -10
- package/dist/lib/esm/connect-to-cdp.d.mts +6 -6
- package/dist/lib/esm/connect-to-cdp.mjs +6 -6
- package/dist/lib/esm/context-id.d.mts +1 -1
- package/dist/lib/esm/context-id.mjs +5 -5
- package/dist/lib/esm/context-provider.d.mts +4 -4
- package/dist/lib/esm/context-provider.mjs +5 -5
- package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
- package/dist/lib/esm/demo-vault-populate.mjs +5 -5
- package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
- package/dist/lib/esm/demo-vault-tree.mjs +4 -4
- package/dist/lib/esm/device-readiness.d.mts +7 -3
- package/dist/lib/esm/device-readiness.mjs +3 -3
- package/dist/lib/esm/ecmascript-version.mjs +1 -1
- package/dist/lib/esm/electron-compatibility.d.mts +33 -17
- package/dist/lib/esm/electron-compatibility.mjs +3 -3
- package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
- package/dist/lib/esm/emulator-arguments.mjs +12 -0
- package/dist/lib/esm/enable-plugin.d.mts +6 -6
- package/dist/lib/esm/enable-plugin.mjs +29 -29
- package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
- package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
- package/dist/lib/esm/exec.d.mts +9 -9
- package/dist/lib/esm/exec.mjs +49 -53
- package/dist/lib/esm/function-expression.d.mts +4 -4
- package/dist/lib/esm/function-expression.mjs +8 -8
- package/dist/lib/esm/generate-function-call.d.mts +15 -9
- package/dist/lib/esm/generate-function-call.mjs +6 -6
- package/dist/lib/esm/global-setup-core.d.mts +19 -9
- package/dist/lib/esm/global-setup-core.mjs +45 -45
- package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
- package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
- package/dist/lib/esm/index.d.mts +8 -8
- package/dist/lib/esm/index.mjs +9 -9
- package/dist/lib/esm/installer-asset.d.mts +21 -7
- package/dist/lib/esm/installer-asset.mjs +4 -4
- package/dist/lib/esm/installer-compatibility.d.mts +36 -18
- package/dist/lib/esm/installer-compatibility.mjs +3 -3
- package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
- package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/jest/global-setup.d.mts +12 -8
- package/dist/lib/esm/jest/global-setup.mjs +10 -10
- package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
- package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown.mjs +2 -3
- package/dist/lib/esm/jest/setup.d.mts +1 -1
- package/dist/lib/esm/jest/setup.mjs +2 -2
- package/dist/lib/esm/json-with-functions.mjs +7 -7
- package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
- package/dist/lib/esm/leftover-cleanup.mjs +12 -12
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
- package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
- package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
- package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
- package/dist/lib/esm/obsidian-config.d.mts +8 -8
- package/dist/lib/esm/obsidian-config.mjs +27 -28
- package/dist/lib/esm/obsidian-executable.mjs +2 -2
- package/dist/lib/esm/obsidian-installer.d.mts +7 -3
- package/dist/lib/esm/obsidian-installer.mjs +36 -36
- package/dist/lib/esm/obsidian-instance.d.mts +18 -8
- package/dist/lib/esm/obsidian-instance.mjs +3 -3
- package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
- package/dist/lib/esm/obsidian-metadata.mjs +1 -1
- package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
- package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
- package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
- package/dist/lib/esm/obsidian-version.d.mts +15 -5
- package/dist/lib/esm/obsidian-version.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
- package/dist/lib/esm/owned-vault-seed.mjs +1 -1
- package/dist/lib/esm/parent-liveness.d.mts +7 -3
- package/dist/lib/esm/parent-liveness.mjs +3 -3
- package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
- package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
- package/dist/lib/esm/poll-until.d.mts +21 -7
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +21 -7
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
- package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
- package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
- package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
- package/dist/lib/esm/setup-lock.d.mts +6 -2
- package/dist/lib/esm/setup-lock.mjs +26 -26
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
- package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
- package/dist/lib/esm/spawn-options.d.mts +3 -1
- package/dist/lib/esm/spawn-options.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +3 -3
- package/dist/lib/esm/strict-proxy.mjs +25 -25
- package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
- package/dist/lib/esm/temporary-vault.mjs +157 -0
- package/dist/lib/esm/transport-appium.d.mts +7 -3
- package/dist/lib/esm/transport-appium.mjs +7 -7
- package/dist/lib/esm/transport-desktop-cdp.d.mts +29 -17
- package/dist/lib/esm/transport-desktop-cdp.mjs +67 -67
- package/dist/lib/esm/transport-factory.mjs +71 -72
- package/dist/lib/esm/type-guards.d.mts +2 -2
- package/dist/lib/esm/type-guards.mjs +3 -3
- package/dist/lib/esm/vault-path-match.d.mts +11 -11
- package/dist/lib/esm/vault-path-match.mjs +7 -7
- package/dist/lib/esm/version-matrix.d.mts +51 -17
- package/dist/lib/esm/version-matrix.mjs +1 -1
- package/dist/lib/esm/visibility.d.mts +5 -5
- package/dist/lib/esm/visibility.mjs +5 -5
- package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
- package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
- package/dist/lib/esm/vitest/global-setup.mjs +8 -8
- package/dist/lib/esm/vitest/setup.mjs +2 -2
- package/dist/lib/esm/vitest/typings.d.mts +2 -2
- package/dist/obsidian-integration-testing-10.0.0.tgz +0 -0
- package/package.json +15 -13
- package/dist/lib/cjs/emulator-args.cjs +0 -36
- package/dist/lib/cjs/temp-vault.cjs +0 -166
- package/dist/lib/esm/emulator-args.mjs +0 -12
- package/dist/lib/esm/temp-vault.mjs +0 -157
- package/dist/obsidian-integration-testing-9.2.2.tgz +0 -0
|
@@ -16,7 +16,7 @@ import type { ContextId } from './context-id.mjs';
|
|
|
16
16
|
import type { ElectronCompatibility } from './electron-compatibility.mjs';
|
|
17
17
|
import type { EvalInObsidianParams, GenericObject } from './eval-in-obsidian.mjs';
|
|
18
18
|
import type { InstallerCompatibility } from './installer-compatibility.mjs';
|
|
19
|
-
import {
|
|
19
|
+
import { TemporaryVault } from './temporary-vault.mjs';
|
|
20
20
|
/**
|
|
21
21
|
* A live connection to a CDP-enabled Obsidian instance with the runtime helper
|
|
22
22
|
* namespace bootstrapped.
|
|
@@ -70,15 +70,15 @@ export interface CdpConnection extends AsyncDisposable {
|
|
|
70
70
|
readonly electronCompatibility?: ElectronCompatibility | undefined;
|
|
71
71
|
/**
|
|
72
72
|
* Evaluates a self-contained function inside Obsidian via the rich helper
|
|
73
|
-
* path, receiving `{ app, lib, obsidianModule, context }` plus any `
|
|
73
|
+
* path, receiving `{ app, lib, obsidianModule, context }` plus any `input`
|
|
74
74
|
* (shared helpers like `typeIntoEditor` / `waitUntil` live on `lib`). Mirrors
|
|
75
75
|
* the top-level `evalInObsidian`, with the transport and vault path pre-bound
|
|
76
76
|
* to this connection.
|
|
77
77
|
*
|
|
78
|
-
* @param params - The evaluation parameters (`
|
|
79
|
-
* @returns A {@link Promise} that resolves to the return value of `
|
|
78
|
+
* @param params - The evaluation parameters (`callback`, optional `input`/`contextId`).
|
|
79
|
+
* @returns A {@link Promise} that resolves to the return value of `callback`.
|
|
80
80
|
*/
|
|
81
|
-
evalInObsidian<
|
|
81
|
+
evalInObsidian<Input extends GenericObject, Result, TContextId extends ContextId<unknown> | undefined = undefined>(params: Except<EvalInObsidianParams<Input, Result, TContextId>, 'transport' | 'vaultPath'>): Promise<Result>;
|
|
82
82
|
/**
|
|
83
83
|
* Evaluates a raw JavaScript expression inside Obsidian and returns the
|
|
84
84
|
* normalized string result (e.g. `'5'`, a JSON string, or `'(no output)'`).
|
|
@@ -95,7 +95,7 @@ export interface CdpConnection extends AsyncDisposable {
|
|
|
95
95
|
/**
|
|
96
96
|
* The opened vault. Exposes `path` and `populate(...)` for seeding files.
|
|
97
97
|
*/
|
|
98
|
-
readonly vault:
|
|
98
|
+
readonly vault: TemporaryVault;
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Options for {@link connectToCdp}.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { evalInObsidian } from "./eval-in-obsidian.mjs";
|
|
2
2
|
import {
|
|
3
3
|
resolveLeftoverMaxAgeInMilliseconds,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
sweepHostLeftovers,
|
|
5
|
+
willSweepLeftovers
|
|
6
6
|
} from "./leftover-cleanup.mjs";
|
|
7
7
|
import { log } from "./log.mjs";
|
|
8
8
|
import { normalizeOptionalProperties } from "./normalize-optional-properties.mjs";
|
|
9
|
-
import {
|
|
9
|
+
import { TemporaryVault } from "./temporary-vault.mjs";
|
|
10
10
|
import { DesktopCdpTransport } from "./transport-desktop-cdp.mjs";
|
|
11
11
|
import { createTransportFromOptions } from "./transport-factory.mjs";
|
|
12
12
|
const DEFAULT_CDP_HOST = "localhost";
|
|
@@ -14,7 +14,7 @@ async function connectToCdp(options) {
|
|
|
14
14
|
const transportOptions = buildCdpTransportOptions(options);
|
|
15
15
|
await sweepLeftovers(transportOptions);
|
|
16
16
|
const transport = await createTransportFromOptions(transportOptions);
|
|
17
|
-
const vault = new
|
|
17
|
+
const vault = new TemporaryVault(options?.vault);
|
|
18
18
|
const shouldRemoveVaultOnDispose = options?.shouldRemoveVaultOnDispose ?? options?.vault === void 0;
|
|
19
19
|
await vault.register(transport);
|
|
20
20
|
const { host, port } = resolveEndpoint(transport, options);
|
|
@@ -81,7 +81,7 @@ function resolveEndpoint(transport, options) {
|
|
|
81
81
|
throw new Error("connectToCdp: could not determine the CDP port.");
|
|
82
82
|
}
|
|
83
83
|
async function sweepLeftovers(transportOptions) {
|
|
84
|
-
if (!
|
|
84
|
+
if (!willSweepLeftovers(transportOptions)) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
try {
|
|
@@ -100,4 +100,4 @@ async function sweepLeftovers(transportOptions) {
|
|
|
100
100
|
export {
|
|
101
101
|
connectToCdp
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Nvbm5lY3QtdG8tY2RwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvZ3JhbW1hdGljIGhlbHBlciB0byBsYXVuY2ggKG9yIGF0dGFjaCB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZVxuICogd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgZm9yIGFkLWhvYyByZWFsLWFwcCBkZWJ1Z2dpbmcuXG4gKlxuICogQSBzaW5nbGUge0BsaW5rIGNvbm5lY3RUb0NkcH0gY2FsbCByZXNvbHZlcyB0aGUgb3duZWQtaW5zdGFuY2UgY29uZmlnLCBvcGVucyBhXG4gKiB2YXVsdCwgYW5kIGJvb3RzdHJhcHMgYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCAoc28gYGV2YWxXcmFwcGVyYCxcbiAqIHRoZSBiYXNlIGBsaWJgIGhlbHBlcnMsIGBlcnJvclRvU3RyaW5nYCwgYGdldE9ic2lkaWFuTW9kdWxlYCwgXHUyMDI2IGFyZSBhdmFpbGFibGUpLCB0aGVuXG4gKiBoYW5kcyBiYWNrIGEgZGlzcG9zYWJsZSB7QGxpbmsgQ2RwQ29ubmVjdGlvbn0gZXhwb3NpbmcgdGhlIGNob3NlbiBDRFAgcG9ydCwgYVxuICogcmF3IHtAbGluayBDZHBDb25uZWN0aW9uLmludm9rZX0gYW5kIHRoZSByaWNoIHtAbGluayBDZHBDb25uZWN0aW9uLmV2YWxJbk9ic2lkaWFufS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW50ZWdyYXRpb24tdGltZSBjb2RlIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRXhjZXB0IH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHR5cGUgeyBBc2FyRmFsbGJhY2sgfSBmcm9tICcuL2FzYXItZmFsbGJhY2stZGV0ZWN0aW9uLm1qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5tanMnO1xuaW1wb3J0IHR5cGUgeyBFbGVjdHJvbkNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkubWpzJztcbmltcG9ydCB0eXBlIHtcbiAgRXZhbEluT2JzaWRpYW5QYXJhbXMsXG4gIEdlbmVyaWNPYmplY3Rcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLm1qcyc7XG5pbXBvcnQgdHlwZSB7IEluc3RhbGxlckNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5Lm1qcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMubWpzJztcblxuaW1wb3J0IHsgZXZhbEluT2JzaWRpYW4gfSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4ubWpzJztcbmltcG9ydCB7XG4gIHJlc29sdmVMZWZ0b3Zlck1heEFnZUluTWlsbGlzZWNvbmRzLFxuICByZXNvbHZlU2hvdWxkU3dlZXBMZWZ0b3ZlcnMsXG4gIHN3ZWVwSG9zdExlZnRvdmVyc1xufSBmcm9tICcuL2xlZnRvdmVyLWNsZWFudXAubWpzJztcbmltcG9ydCB7IGxvZyB9IGZyb20gJy4vbG9nLm1qcyc7XG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICcuL25vcm1hbGl6ZS1vcHRpb25hbC1wcm9wZXJ0aWVzLm1qcyc7XG5pbXBvcnQgeyBUZW1wVmF1bHQgfSBmcm9tICcuL3RlbXAtdmF1bHQubWpzJztcbmltcG9ydCB7IERlc2t0b3BDZHBUcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1kZXNrdG9wLWNkcC5tanMnO1xuaW1wb3J0IHsgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1mYWN0b3J5Lm1qcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0RQX0hPU1QgPSAnbG9jYWxob3N0JztcblxuLyoqXG4gKiBBIGxpdmUgY29ubmVjdGlvbiB0byBhIENEUC1lbmFibGVkIE9ic2lkaWFuIGluc3RhbmNlIHdpdGggdGhlIHJ1bnRpbWUgaGVscGVyXG4gKiBuYW1lc3BhY2UgYm9vdHN0cmFwcGVkLlxuICpcbiAqIEltcGxlbWVudHMgYEFzeW5jRGlzcG9zYWJsZWAsIHNvIGBhd2FpdCB1c2luZyBjb25uID0gYXdhaXQgY29ubmVjdFRvQ2RwKFx1MjAyNilgXG4gKiBkaXNwb3NlcyBpdCAoa2lsbGluZyBhbiBvd25lZCBpbnN0YW5jZSBhbmQgXHUyMDE0IGZvciBhIHRocm93LWF3YXkgdGVtcCB2YXVsdCBcdTIwMTRcbiAqIHJlbW92aW5nIGl0cyBkaXJlY3RvcnkpIGF1dG9tYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RwQ29ubmVjdGlvbiBleHRlbmRzIEFzeW5jRGlzcG9zYWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgc2lsZW50LWFzYXItZmFsbGJhY2sgdmVyZGljdCBmb3IgYW4gb3duZWQgaW5zdGFuY2UsIHJlYWQgbGl2ZSBhZnRlciBib290OlxuICAgKiB3aGV0aGVyIHRoZSBhcHAgdmVyc2lvbiBpdCBpcyBhY3R1YWxseSBydW5uaW5nIG1hdGNoZXMgdGhlIHN3YXBwZWQtaW4gcGluLCBvclxuICAgKiB0aGUgaW5zdGFsbGVyIHNpbGVudGx5IHJldmVydGVkIHRvIGl0cyBvd24gYnVuZGxlZCBhc2FyLiBgdW5kZWZpbmVkYCBpbiBhdHRhY2hcbiAgICogbW9kZSwgd2hlbiBubyBhc2FyIHdhcyBzd2FwcGVkLCBvciB3aGVuIHRoZSBydW5uaW5nIHZlcnNpb24gd2FzIHVucmVhZGFibGUuIEFcbiAgICogYCdmYWxsYmFjaydgIHZlcmRpY3QgcmVhY2hlcyBoZXJlIG9ubHkgd2hlbiB0aGUgdGhyb3cgaXMgZGlzYWJsZWRcbiAgICogKHtAbGluayBDb25uZWN0VG9DZHBPcHRpb25zLnNob3VsZFRocm93T25TaWxlbnRBc2FyRmFsbGJhY2t9IGBmYWxzZWApO1xuICAgKiBvdGhlcndpc2UgaXQgdGhyb3dzIGBTaWxlbnRBc2FyRmFsbGJhY2tFcnJvcmAgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBhc2FyRmFsbGJhY2s/OiBBc2FyRmFsbGJhY2sgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIENEUCBVUkwsIGUuZy4gYGh0dHA6Ly9sb2NhbGhvc3Q6NTE4ODhgLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RwVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvbHZlZCBpbnN0YWxsZXJcdTIxOTRhcHAgY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhbiBvd25lZCBpbnN0YW5jZSwgd2hlblxuICAgKiBpdCBjb3VsZCBiZSBkZXRlcm1pbmVkLiBgdW5kZWZpbmVkYCBpbiBhdHRhY2ggbW9kZSwgb3Igd2hlbiB0aGUgdmVyZGljdCBpc1xuICAgKiB1bmtub3duICh1bmRldGVjdGFibGUgc2hlbGwgdmVyc2lvbiwgb3IgdGhlIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZVxuICAgKiB0YWJsZSkuIEFuIGAndW5ydW5uYWJsZSdgIHZlcmRpY3QgcmVhY2hlcyBoZXJlIG9ubHkgd2hlbiB0aGUgcHJvYWN0aXZlIHRocm93XG4gICAqIGlzIGRpc2FibGVkICh7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9ucy5zaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyfVxuICAgKiBgZmFsc2VgKTsgb3RoZXJ3aXNlIGl0IHRocm93cyBgSW5jb21wYXRpYmxlSW5zdGFsbGVyVmVyc2lvbkVycm9yYCBiZWZvcmUgdGhlXG4gICAqIGNvbm5lY3Rpb24gaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhdGliaWxpdHk/OiBJbnN0YWxsZXJDb21wYXRpYmlsaXR5IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBEaXNwb3NlcyB0aGUgY29ubmVjdGlvbjoga2lsbHMgYW4gb3duZWQgaW5zdGFuY2UgYW5kIHJlbW92ZXMgaXRzIGlzb2xhdGVkXG4gICAqIHVzZXItZGF0YSBkaXIuIFRoZSB2YXVsdCBkaXJlY3RvcnkgaXMgcmVtb3ZlZCBvbmx5IHdoZW4gaXQgaXMgYSB0aHJvdy1hd2F5XG4gICAqIHRlbXAgdmF1bHQgKHNlZSB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9ucy5zaG91bGRSZW1vdmVWYXVsdE9uRGlzcG9zZX0pOyBhXG4gICAqIHJlYWwgdmF1bHQgcGFzc2VkIHZpYSB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9ucy52YXVsdH0gaXMgbmV2ZXIgZGVsZXRlZC5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIGRpc3Bvc2FsIGNvbXBsZXRlcy5cbiAgICovXG4gIGRpc3Bvc2UoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogVGhlIHJ1bnRpbWUgRWxlY3Ryb24gY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhbiBvd25lZCBpbnN0YW5jZSwgcmVhZCBsaXZlXG4gICAqIGFmdGVyIGJvb3Q6IHdoZXRoZXIgdGhlIEVsZWN0cm9uIHZlcnNpb24gaXQgaXMgYWN0dWFsbHkgcnVubmluZyBpcyBuZXcgZW5vdWdoXG4gICAqIGZvciB0aGUgcnVubmluZyBhcHAgdmVyc2lvbi4gYHVuZGVmaW5lZGAgaW4gYXR0YWNoIG1vZGUsIG9yIHdoZW4gdGhlIHZlcmRpY3RcbiAgICogaXMgdW5rbm93biAodGhlIGxpdmUgdmVyc2lvbiB3YXMgdW5yZWFkYWJsZSwgb3IgdGhlIGFwcCB2ZXJzaW9uIGNhcnJpZXMgbm9cbiAgICogcmVjb21tZW5kZWQgRWxlY3Ryb24gdmVyc2lvbikuIEFuIG9sZCBFbGVjdHJvbiBuZXZlciBibG9ja3MgXHUyMDE0IGl0IG9ubHkgd2FybnMgXHUyMDE0XG4gICAqIHNvIHVubGlrZSB7QGxpbmsgY29tcGF0aWJpbGl0eX0gdGhlcmUgaXMgbm8gdGhyb3dpbmcgdGllci5cbiAgICovXG4gIHJlYWRvbmx5IGVsZWN0cm9uQ29tcGF0aWJpbGl0eT86IEVsZWN0cm9uQ29tcGF0aWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRXZhbHVhdGVzIGEgc2VsZi1jb250YWluZWQgZnVuY3Rpb24gaW5zaWRlIE9ic2lkaWFuIHZpYSB0aGUgcmljaCBoZWxwZXJcbiAgICogcGF0aCwgcmVjZWl2aW5nIGB7IGFwcCwgbGliLCBvYnNpZGlhbk1vZHVsZSwgY29udGV4dCB9YCBwbHVzIGFueSBgYXJnc2BcbiAgICogKHNoYXJlZCBoZWxwZXJzIGxpa2UgYHR5cGVJbnRvRWRpdG9yYCAvIGB3YWl0VW50aWxgIGxpdmUgb24gYGxpYmApLiBNaXJyb3JzXG4gICAqIHRoZSB0b3AtbGV2ZWwgYGV2YWxJbk9ic2lkaWFuYCwgd2l0aCB0aGUgdHJhbnNwb3J0IGFuZCB2YXVsdCBwYXRoIHByZS1ib3VuZFxuICAgKiB0byB0aGlzIGNvbm5lY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZXZhbHVhdGlvbiBwYXJhbWV0ZXJzIChgZm5gLCBvcHRpb25hbCBgYXJnc2AvYGNvbnRleHRJZGApLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgYGZuYC5cbiAgICovXG4gIGV2YWxJbk9ic2lkaWFuPEFyZ3MgZXh0ZW5kcyBHZW5lcmljT2JqZWN0LCBSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgIHBhcmFtczogRXhjZXB0PEV2YWxJbk9ic2lkaWFuUGFyYW1zPEFyZ3MsIFJlc3VsdCwgVENvbnRleHRJZD4sICd0cmFuc3BvcnQnIHwgJ3ZhdWx0UGF0aCc+XG4gICk6IFByb21pc2U8UmVzdWx0PjtcblxuICAvKipcbiAgICogRXZhbHVhdGVzIGEgcmF3IEphdmFTY3JpcHQgZXhwcmVzc2lvbiBpbnNpZGUgT2JzaWRpYW4gYW5kIHJldHVybnMgdGhlXG4gICAqIG5vcm1hbGl6ZWQgc3RyaW5nIHJlc3VsdCAoZS5nLiBgJzUnYCwgYSBKU09OIHN0cmluZywgb3IgYCcobm8gb3V0cHV0KSdgKS5cbiAgICpcbiAgICogQHBhcmFtIGV4cHJlc3Npb24gLSBBIHNlbGYtY29udGFpbmVkIEphdmFTY3JpcHQgZXhwcmVzc2lvbi5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcmF3IHJlc3VsdCBzdHJpbmcuXG4gICAqL1xuICBpbnZva2UoZXhwcmVzc2lvbjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgQ0RQIHBvcnQgdGhlIGluc3RhbmNlIGlzIHJlYWNoYWJsZSBvbiAodGhlIGZyZWUgcG9ydCBjaG9zZW4gZm9yIGFuXG4gICAqIG93bmVkIGluc3RhbmNlLCBvciB0aGUgYXR0YWNoZWQge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMucG9ydH0pLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlbmVkIHZhdWx0LiBFeHBvc2VzIGBwYXRoYCBhbmQgYHBvcHVsYXRlKC4uLilgIGZvciBzZWVkaW5nIGZpbGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgdmF1bHQ6IFRlbXBWYXVsdDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY29ubmVjdFRvQ2RwfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0VG9DZHBPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIGZvciBpbmRpdmlkdWFsIENEUCBjb21tYW5kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYDMwMDAwYFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZFRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogR3JhY2Ugd2luZG93IGluIG1pbGxpc2Vjb25kcyBmb3IgZmFzdC1mYWlsaW5nIGEgZGVhZCBib290IG9mIHRoZSBvd25lZFxuICAgKiBpbnN0YW5jZSBcdTIwMTQgdGhlIHJlbmRlcmVyIGxvYWRlZCBidXQgdGhlIGFwcCBuZXZlciBib290c3RyYXBwZWQgKGVtcHR5XG4gICAqIGA8Ym9keT5gLCBubyBgd2luZG93LmFwcGApLCB0aGUgdGVybWluYWwgc3RhdGUgd2hlbiB0aGUgYXNhciBjYW5ub3QgcnVuIG9uXG4gICAqIHRoZSBsYXVuY2hlZCBFbGVjdHJvbiBzaGVsbC4gT25jZSBpdCBoYXMgaGVsZCB0aGlzIGxvbmcgYVxuICAgKiBgUmVuZGVyZXJGYWlsZWRUb0luaXRpYWxpemVFcnJvcmAgaXMgdGhyb3duIGluc3RlYWQgb2Ygd2FpdGluZyBvdXQgdGhlIGZ1bGxcbiAgICogcmVhZGluZXNzIHRpbWVvdXQuIElnbm9yZWQgaW4gYXR0YWNoIG1vZGUgKHtAbGluayBwb3J0fSBzZXQpLiBTZXQgYDBgIHRvXG4gICAqIGRpc2FibGUgZmFzdC1mYWlsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgMTAwMDBgXG4gICAqL1xuICByZWFkb25seSBkZWFkQm9vdEdyYWNlSW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENEUCBob3N0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJ2xvY2FsaG9zdCdgXG4gICAqL1xuICByZWFkb25seSBob3N0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBPYnNpZGlhbiB3aW5kb3cgaXMgc2hvd24gb24gc2NyZWVuLiBEZWZhdWx0cyB0byBgdHJ1ZWA7IHNldFxuICAgKiBgZmFsc2VgIHRvIGxhdW5jaCBpdCBvZmYtc2NyZWVuLlxuICAgKiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBpc09ic2lkaWFuQXBwVmlzaWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBpbnMgdGhlIEVsZWN0cm9uIHNoZWxsIChpbnN0YWxsZXIgYnVpbGQpIHRoZSBvd25lZCBpbnN0YW5jZSBydW5zLiBBY2NlcHRzXG4gICAqIGAneC55LnonYCwgYCdwdWJsaWMtbGF0ZXN0J2AsIG9yIGAnY2F0YWx5c3QtbGF0ZXN0J2AuIElnbm9yZWQgd2hlblxuICAgKiB7QGxpbmsgcG9ydH0gKGF0dGFjaCBtb2RlKSBpcyBzZXQuIFdoZW4gb21pdHRlZCwgdGhlIGluc3RhbGxlZCBzaGVsbCBpcyB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaW5zIHRoZSBPYnNpZGlhbiBhcHAgdmVyc2lvbiAoYXNhcikgdGhlIG93bmVkIGluc3RhbmNlIHJ1bnMuIEFjY2VwdHNcbiAgICogYCd4LnkueidgLCBgJ3B1YmxpYy1sYXRlc3QnYCwgb3IgYCdjYXRhbHlzdC1sYXRlc3QnYC4gSWdub3JlZCB3aGVuXG4gICAqIHtAbGluayBwb3J0fSAoYXR0YWNoIG1vZGUpIGlzIHNldC4gV2hlbiBvbWl0dGVkLCB0aGUgaW5zdGFsbGVkIHZlcnNpb24gaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RQIHBvcnQgb2YgYW4gYWxyZWFkeS1ydW5uaW5nIE9ic2lkaWFuIHRvICoqYXR0YWNoKiogdG8uIFdoZW4gb21pdHRlZCwgYW5cbiAgICogaXNvbGF0ZWQgaW5zdGFuY2UgaXMgbGF1bmNoZWQgb24gYW4gYXV0b21hdGljYWxseSBjaG9zZW4gZnJlZSBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdW5kZWZpbmVkYFxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBsYXVuY2ggdGhlIG93bmVkIGluc3RhbmNlIHdpdGggQ2hyb21pdW0ncyBzYW5kYm94IGRpc2FibGVkXG4gICAqIChgLS1uby1zYW5kYm94YCkuXG4gICAqXG4gICAqIE5lZWRlZCB0byBib290IG9uIExpbnV4IHdpdGhvdXQgYSBjb3JyZWN0bHktY29uZmlndXJlZCBzZXR1aWRcbiAgICogYGNocm9tZS1zYW5kYm94YCBoZWxwZXIgKGUuZy4gYW4gaW5zdGFsbGVyLWV4dHJhY3RlZCBwb3J0YWJsZSBzaGVsbCwgb3IgQ0lcbiAgICogcnVubmluZyBhcyBhIG5vbi1yb290IHVzZXIpOyBoYXJtbGVzcyBvbiBXaW5kb3dzL21hY09TLiBJZ25vcmVkIGluIGF0dGFjaFxuICAgKiBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRGlzYWJsZVNhbmRib3g/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlbW92ZSB0aGUgdmF1bHQgZGlyZWN0b3J5IG9uIHtAbGluayBDZHBDb25uZWN0aW9uLmRpc3Bvc2V9LlxuICAgKlxuICAgKiBXaGVuIG9taXR0ZWQsIGRlZmF1bHRzIHRvIGB0cnVlYCBmb3IgYW4gaW1wbGljaXQgdGhyb3ctYXdheSB0ZW1wIHZhdWx0XG4gICAqICh7QGxpbmsgdmF1bHR9IG5vdCBnaXZlbikgYW5kIGBmYWxzZWAgd2hlbiBhIHtAbGluayB2YXVsdH0gcGF0aCBpcyBnaXZlbiwgc29cbiAgICogYSByZWFsIHZhdWx0IGlzIG5ldmVyIGRlbGV0ZWQuIFNldCBleHBsaWNpdGx5IHRvIG92ZXJyaWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuICoqdW5ydW5uYWJsZSoqIGluc3RhbGxlclx1MjE5NGFwcCB2ZXJzaW9uIHBhaXIgZmFpbHMgZmFzdCBiZWZvcmUgbGF1bmNoLlxuICAgKlxuICAgKiBXaGVuIGB0cnVlYCAodGhlIGRlZmF1bHQpLCBhbiBpbnN0YWxsZXIgYmVsb3cgdGhlIGFwcCdzIHJ1biBmbG9vciB0aHJvd3NcbiAgICogYEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcmAgZnJvbSB2ZXJzaW9uIHJlc29sdXRpb24gYmVmb3JlIGFueXRoaW5nIGlzXG4gICAqIGRvd25sb2FkZWQgb3IgbGF1bmNoZWQuIFNldCBgZmFsc2VgIHRvIGxldCB0aGUgcGluIHByb2NlZWQgdG8gbGF1bmNoIFx1MjAxNCB3aGVyZVxuICAgKiB0aGUgcmVhY3RpdmUgZGVhZC1ib290IGZhc3QtZmFpbCBzdGlsbCBjYXRjaGVzIHRoZSBibGFjay1zY3JlZW4gYm9vdCwgYW5kIHRoZVxuICAgKiBgJ3VucnVubmFibGUnYCB2ZXJkaWN0IGlzIHN1cmZhY2VkIG9uIHtAbGluayBDZHBDb25uZWN0aW9uLmNvbXBhdGliaWxpdHl9XG4gICAqIHJhdGhlciB0aGFuIHRocm93bi4gSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBwb3N0LWJvb3QgKipzaWxlbnQgYXNhciBmYWxsYmFjayoqIGZhaWxzIGZhc3QuXG4gICAqXG4gICAqIFdoZW4gYW4gYXNhciBpcyBzd2FwcGVkIG9udG8gYW4gaW5zdGFsbGVyIHNoZWxsIHRvbyBvbGQgZm9yIGl0LCB0aGUgaW5zdGFuY2VcbiAgICogbWF5IHNpbGVudGx5IHJldmVydCB0byB0aGUgaW5zdGFsbGVyJ3Mgb3duIGJ1bmRsZWQgYXNhciBhbmQgcnVuIHRoZSAqKndyb25nXG4gICAqIChvbGRlcikqKiB2ZXJzaW9uIGJlaGluZCBhIGhlYWx0aHkgVUkuIFdoZW4gYHRydWVgICh0aGUgZGVmYXVsdCksIHRoZSBydW5uaW5nXG4gICAqIGFwcCB2ZXJzaW9uIGlzIHZlcmlmaWVkIGFnYWluc3QgdGhlIHBpbiBwb3N0LWJvb3QgYW5kIGEgbWlzbWF0Y2ggdGhyb3dzXG4gICAqIGBTaWxlbnRBc2FyRmFsbGJhY2tFcnJvcmAuIFNldCBgZmFsc2VgIHRvIGxldCB0aGUgYm9vdCBwcm9jZWVkIFx1MjAxNCB0aGUgbWlzbWF0Y2hcbiAgICogaXMgdGhlbiBzdXJmYWNlZCBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5hc2FyRmFsbGJhY2t9IHJhdGhlciB0aGFuIHRocm93bi5cbiAgICogSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkgYW5kIHdoZW4gbm8gYXNhciBpcyBzd2FwcGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFRocm93T25TaWxlbnRBc2FyRmFsbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvd25lZC1pbnN0YW5jZSBjb21wYXRpYmlsaXR5ICoqbmFnIHdhcm5pbmdzKiogYXJlIGVtaXR0ZWQuXG4gICAqXG4gICAqIENvdmVycyBib3RoIHRoZSBvZmZsaW5lIGluc3RhbGxlclx1MjE5NGFwcCB3YXJuaW5nIGFuZCB0aGUgcG9zdC1ib290XG4gICAqIHJ1bnRpbWUtRWxlY3Ryb24gd2FybmluZy4gV2hlbiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSBlYWNoIGZpcmVzIHZpYSB0aGUgaGFybmVzc1xuICAgKiBsb2c7IHNldCBgZmFsc2VgIHRvIHNpbGVuY2UgYm90aCBcdTIwMTQgdGhlIHZlcmRpY3RzIGFyZSBzdGlsbCBzdXJmYWNlZCBvblxuICAgKiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5jb21wYXRpYmlsaXR5fSAvIHtAbGluayBDZHBDb25uZWN0aW9uLmVsZWN0cm9uQ29tcGF0aWJpbGl0eX0sXG4gICAqIG9ubHkgdGhlIGxvZyBpcyBzdXBwcmVzc2VkLiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRXYXJuT25Db21wYXRpYmlsaXR5SXNzdWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byBhbiBleGlzdGluZyB2YXVsdCB0byBvcGVuLiBXaGVuIG9taXR0ZWQsIGFuIGVtcHR5IHRlbXBvcmFyeVxuICAgKiB2YXVsdCBpcyBjcmVhdGVkIChhbmQgcmVtb3ZlZCBvbiBkaXNwb3NlIHVubGVzc1xuICAgKiB7QGxpbmsgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9IHNheXMgb3RoZXJ3aXNlKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcmVzb2x2ZWQgQ0RQIGhvc3QvcG9ydCBwYWlyLlxuICovXG5pbnRlcmZhY2UgUmVzb2x2ZWRFbmRwb2ludCB7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xufVxuXG4vKipcbiAqIExhdW5jaGVzIChvciBhdHRhY2hlcyB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZSwgb3BlbnMgYSB2YXVsdCwgYW5kXG4gKiBib290c3RyYXBzIHRoZSBydW50aW1lIGhlbHBlciBuYW1lc3BhY2UsIHJldHVybmluZyBhIGRpc3Bvc2FibGUgY29ubmVjdGlvbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGxpdmUge0BsaW5rIENkcENvbm5lY3Rpb259LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29ubmVjdFRvQ2RwKG9wdGlvbnM/OiBDb25uZWN0VG9DZHBPcHRpb25zKTogUHJvbWlzZTxDZHBDb25uZWN0aW9uPiB7XG4gIGNvbnN0IHRyYW5zcG9ydE9wdGlvbnMgPSBidWlsZENkcFRyYW5zcG9ydE9wdGlvbnMob3B0aW9ucyk7XG4gIGF3YWl0IHN3ZWVwTGVmdG92ZXJzKHRyYW5zcG9ydE9wdGlvbnMpO1xuICBjb25zdCB0cmFuc3BvcnQgPSBhd2FpdCBjcmVhdGVUcmFuc3BvcnRGcm9tT3B0aW9ucyh0cmFuc3BvcnRPcHRpb25zKTtcbiAgY29uc3QgdmF1bHQgPSBuZXcgVGVtcFZhdWx0KG9wdGlvbnM/LnZhdWx0KTtcbiAgY29uc3Qgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2UgPSBvcHRpb25zPy5zaG91bGRSZW1vdmVWYXVsdE9uRGlzcG9zZSA/PyAob3B0aW9ucz8udmF1bHQgPT09IHVuZGVmaW5lZCk7XG5cbiAgLy8gUmVnaXN0ZXJpbmcgdGhlIHZhdWx0IGlzIHdoYXQgbGF1bmNoZXMgdGhlIG93bmVkIGluc3RhbmNlIChwcm92aXNpb25zIHRoZVxuICAvLyBBc2FyLCBvcGVucyB0aGUgdmF1bHQsIGFuZCBib290c3RyYXBzIHRoZSBoZWxwZXIgbmFtZXNwYWNlKSwgb3Igb3BlbnMgdGhlXG4gIC8vIFZhdWx0IGluIHRoZSBhdHRhY2hlZCBpbnN0YW5jZS5cbiAgYXdhaXQgdmF1bHQucmVnaXN0ZXIodHJhbnNwb3J0KTtcblxuICBjb25zdCB7IGhvc3QsIHBvcnQgfSA9IHJlc29sdmVFbmRwb2ludCh0cmFuc3BvcnQsIG9wdGlvbnMpO1xuICBjb25zdCBjZHBVcmwgPSBgaHR0cDovLyR7aG9zdH06JHtTdHJpbmcocG9ydCl9YDtcbiAgY29uc3QgYXNhckZhbGxiYWNrID0gdHJhbnNwb3J0IGluc3RhbmNlb2YgRGVza3RvcENkcFRyYW5zcG9ydCA/IHRyYW5zcG9ydC5nZXRBc2FyRmFsbGJhY2soKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgY29tcGF0aWJpbGl0eSA9IHRyYW5zcG9ydCBpbnN0YW5jZW9mIERlc2t0b3BDZHBUcmFuc3BvcnQgPyB0cmFuc3BvcnQuZ2V0Q29tcGF0aWJpbGl0eSgpIDogdW5kZWZpbmVkO1xuICBjb25zdCBlbGVjdHJvbkNvbXBhdGliaWxpdHkgPSB0cmFuc3BvcnQgaW5zdGFuY2VvZiBEZXNrdG9wQ2RwVHJhbnNwb3J0ID8gdHJhbnNwb3J0LmdldEVsZWN0cm9uQ29tcGF0aWJpbGl0eSgpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb246IENkcENvbm5lY3Rpb24gPSB7XG4gICAgY2RwVXJsLFxuICAgIC4uLihhc2FyRmFsbGJhY2sgJiYgeyBhc2FyRmFsbGJhY2sgfSksXG4gICAgLi4uKGNvbXBhdGliaWxpdHkgJiYgeyBjb21wYXRpYmlsaXR5IH0pLFxuICAgIC4uLihlbGVjdHJvbkNvbXBhdGliaWxpdHkgJiYgeyBlbGVjdHJvbkNvbXBhdGliaWxpdHkgfSksXG5cbiAgICBhc3luYyBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlKSB7XG4gICAgICAgICAgYXdhaXQgdmF1bHQuZGlzcG9zZSh0cmFuc3BvcnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRyYW5zcG9ydC51bnJlZ2lzdGVyVmF1bHQodmF1bHQucGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGF3YWl0IHRyYW5zcG9ydC5kaXNwb3NlPy4oKTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgZXZhbEluT2JzaWRpYW48QXJncyBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFJlc3VsdCwgVENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgICBwYXJhbXM6IEV4Y2VwdDxFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+LCAndHJhbnNwb3J0JyB8ICd2YXVsdFBhdGgnPlxuICAgICk6IFByb21pc2U8UmVzdWx0PiB7XG4gICAgICByZXR1cm4gZXZhbEluT2JzaWRpYW48QXJncywgUmVzdWx0LCBUQ29udGV4dElkPih7IC4uLnBhcmFtcywgdHJhbnNwb3J0LCB2YXVsdFBhdGg6IHZhdWx0LnBhdGggfSk7XG4gICAgfSxcblxuICAgIGFzeW5jIGludm9rZShleHByZXNzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIHRyYW5zcG9ydC5ldmFsdWF0ZShleHByZXNzaW9uLCB7IGN3ZDogdmF1bHQucGF0aCB9KTtcbiAgICB9LFxuXG4gICAgcG9ydCxcblxuICAgIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uZGlzcG9zZSgpO1xuICAgIH0sXG5cbiAgICB2YXVsdFxuICB9O1xuXG4gIHJldHVybiBjb25uZWN0aW9uO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUge0BsaW5rIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9uc30gZm9yIGEgY29ubmVjdGlvbiwgdGhyZWFkaW5nIG9ubHlcbiAqIHRoZSBwcm92aWRlZCB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9uc30gdGhyb3VnaCAob3duZWQtdmlzaWJsZSBkZWZhdWx0cyB0b1xuICogYHRydWVgLCB1bmxpa2UgdGhlIGhpZGRlbi1ieS1kZWZhdWx0IHRlc3QgdHJhbnNwb3J0cykuIFVuc2V0IGtub2JzIHBhc3MgdGhyb3VnaFxuICogYXMgYHVuZGVmaW5lZGAgYW5kIGFyZSByZWFkIHdpdGggYD8/IGRlZmF1bHRgIC8gYCE9PSB1bmRlZmluZWRgIGd1YXJkc1xuICogZG93bnN0cmVhbSwgc28gYW4gZXhwbGljaXQgYHVuZGVmaW5lZGAgaXMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBhbiBhYnNlbnQga2V5LlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGNvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0cmFuc3BvcnQgb3B0aW9ucyB0byBjcmVhdGUgdGhlIGNvbm5lY3Rpb24ncyB0cmFuc3BvcnQgZnJvbS5cbiAqL1xuZnVuY3Rpb24gYnVpbGRDZHBUcmFuc3BvcnRPcHRpb25zKG9wdGlvbnM/OiBDb25uZWN0VG9DZHBPcHRpb25zKTogT2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnM+KHtcbiAgICBjb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzOiBvcHRpb25zPy5jb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzLFxuICAgIGRlYWRCb290R3JhY2VJbk1pbGxpc2Vjb25kczogb3B0aW9ucz8uZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzLFxuICAgIGhvc3Q6IG9wdGlvbnM/Lmhvc3QsXG4gICAgaXNPYnNpZGlhbkFwcFZpc2libGU6IG9wdGlvbnM/LmlzT2JzaWRpYW5BcHBWaXNpYmxlID8/IHRydWUsXG4gICAgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uOiBvcHRpb25zPy5vYnNpZGlhbkluc3RhbGxlclZlcnNpb24sXG4gICAgb2JzaWRpYW5WZXJzaW9uOiBvcHRpb25zPy5vYnNpZGlhblZlcnNpb24sXG4gICAgcG9ydDogb3B0aW9ucz8ucG9ydCxcbiAgICBzaG91bGREaXNhYmxlU2FuZGJveDogb3B0aW9ucz8uc2hvdWxkRGlzYWJsZVNhbmRib3gsXG4gICAgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcjogb3B0aW9ucz8uc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcixcbiAgICBzaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrOiBvcHRpb25zPy5zaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrLFxuICAgIHNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXM6IG9wdGlvbnM/LnNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXMsXG4gICAgdHlwZTogJ29ic2lkaWFuLWNkcCdcbiAgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIENEUCBob3N0L3BvcnQgZm9yIHRoZSBjb25uZWN0aW9uOiBmcm9tIHRoZSBvd25lZCBpbnN0YW5jZSdzXG4gKiBsYXVuY2hlZCBlbmRwb2ludCB3aGVuIHByZXNlbnQsIG90aGVyd2lzZSBmcm9tIHRoZSBhdHRhY2ggb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0gdHJhbnNwb3J0IC0gVGhlIHRyYW5zcG9ydCBjcmVhdGVkIGZvciB0aGlzIGNvbm5lY3Rpb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjb25uZWN0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgaG9zdCBhbmQgcG9ydC5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHBvcnQgY2Fubm90IGJlIGRldGVybWluZWQuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVFbmRwb2ludCh0cmFuc3BvcnQ6IHVua25vd24sIG9wdGlvbnM6IENvbm5lY3RUb0NkcE9wdGlvbnMgfCB1bmRlZmluZWQpOiBSZXNvbHZlZEVuZHBvaW50IHtcbiAgaWYgKHRyYW5zcG9ydCBpbnN0YW5jZW9mIERlc2t0b3BDZHBUcmFuc3BvcnQpIHtcbiAgICBjb25zdCBlbmRwb2ludCA9IHRyYW5zcG9ydC5nZXRPd25lZEluc3RhbmNlRW5kcG9pbnQoKTtcbiAgICBpZiAoZW5kcG9pbnQpIHtcbiAgICAgIHJldHVybiB7IGhvc3Q6IGVuZHBvaW50Lmhvc3QsIHBvcnQ6IGVuZHBvaW50LnBvcnQgfTtcbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucz8ucG9ydCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsgaG9zdDogb3B0aW9ucy5ob3N0ID8/IERFRkFVTFRfQ0RQX0hPU1QsIHBvcnQ6IG9wdGlvbnMucG9ydCB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCdjb25uZWN0VG9DZHA6IGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIENEUCBwb3J0LicpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGhvc3Qtc2lkZSB0ZW1wIGRpcmVjdG9yaWVzIGVhcmxpZXIgcnVucyBsZWFrZWQsIGJlZm9yZSB0aGlzXG4gKiBjb25uZWN0aW9uIGFkZHMgaXRzIG93bi5cbiAqXG4gKiBgY29ubmVjdFRvQ2RwYCBtaW50cyB0aGUgc2FtZSBgdGVtcC12YXVsdC0qYCAvIG93bmVkIGB1c2VyZGF0YS0qYCBkaXJlY3Rvcmllc1xuICogdGhlIHRlc3QgZ2xvYmFsIHNldHVwIGRvZXMsIGFuZCBhbiBhZC1ob2MgZGVidWdnaW5nIHNlc3Npb24gaXMgZXhhY3RseSB0aGVcbiAqIGtpbmQgdGhhdCBnZXRzIGtpbGxlZCB3aXRoIGEgbGVmdG92ZXIgYmVoaW5kIFx1MjAxNCBzbyBpdCBzd2VlcHMgdG9vLiBBZ2UtZ2F0ZWQgYW5kXG4gKiBiZXN0LWVmZm9ydDsgc2VlIHRoZSBjb3JlJ3MgYHN3ZWVwTGVmdG92ZXJzYC5cbiAqXG4gKiBAcGFyYW0gdHJhbnNwb3J0T3B0aW9ucyAtIFRoZSByZXNvbHZlZCB0cmFuc3BvcnQgb3B0aW9ucyAoc291cmNlIG9mIHRoZSBzd2VlcCBrbm9icykuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN3ZWVwTGVmdG92ZXJzKHRyYW5zcG9ydE9wdGlvbnM6IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXJlc29sdmVTaG91bGRTd2VlcExlZnRvdmVycyh0cmFuc3BvcnRPcHRpb25zKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3dlZXBIb3N0TGVmdG92ZXJzKHtcbiAgICAgIG1heEFnZUluTWlsbGlzZWNvbmRzOiByZXNvbHZlTGVmdG92ZXJNYXhBZ2VJbk1pbGxpc2Vjb25kcyh0cmFuc3BvcnRPcHRpb25zKVxuICAgIH0pO1xuICAgIGlmIChyZXN1bHQucmVtb3ZlZENvdW50ID4gMCB8fCByZXN1bHQuZmFpbGVkQ291bnQgPiAwKSB7XG4gICAgICBsb2coXG4gICAgICAgIGBbY29ubmVjdC10by1jZHBdIFN3ZXB0ICR7U3RyaW5nKHJlc3VsdC5yZW1vdmVkQ291bnQpfSBsZWZ0b3ZlciB0ZW1wIGRpcmVjdG9yKGllcykgZnJvbSBlYXJsaWVyIHJ1bnMgYFxuICAgICAgICAgICsgYCgke1N0cmluZyhyZXN1bHQuZmFpbGVkQ291bnQpfSBzdGlsbCBpbiB1c2UpLmBcbiAgICAgICk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGxvZyhgW2Nvbm5lY3QtdG8tY2RwXSBMZWZ0b3ZlciBzd2VlcCBlcnJvciAobm9uLWZhdGFsKTogJHtTdHJpbmcoZXJyb3IpfWApO1xuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiQUEyQkEsU0FBUyxzQkFBc0I7QUFDL0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsaUJBQWlCO0FBQzFCLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsa0NBQWtDO0FBRTNDLE1BQU0sbUJBQW1CO0FBd1B6QixlQUFzQixhQUFhLFNBQXVEO0FBQ3hGLFFBQU0sbUJBQW1CLHlCQUF5QixPQUFPO0FBQ3pELFFBQU0sZUFBZSxnQkFBZ0I7QUFDckMsUUFBTSxZQUFZLE1BQU0sMkJBQTJCLGdCQUFnQjtBQUNuRSxRQUFNLFFBQVEsSUFBSSxVQUFVLFNBQVMsS0FBSztBQUMxQyxRQUFNLDZCQUE2QixTQUFTLDhCQUErQixTQUFTLFVBQVU7QUFLOUYsUUFBTSxNQUFNLFNBQVMsU0FBUztBQUU5QixRQUFNLEVBQUUsTUFBTSxLQUFLLElBQUksZ0JBQWdCLFdBQVcsT0FBTztBQUN6RCxRQUFNLFNBQVMsVUFBVSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUM7QUFDN0MsUUFBTSxlQUFlLHFCQUFxQixzQkFBc0IsVUFBVSxnQkFBZ0IsSUFBSTtBQUM5RixRQUFNLGdCQUFnQixxQkFBcUIsc0JBQXNCLFVBQVUsaUJBQWlCLElBQUk7QUFDaEcsUUFBTSx3QkFBd0IscUJBQXFCLHNCQUFzQixVQUFVLHlCQUF5QixJQUFJO0FBRWhILFFBQU0sYUFBNEI7QUFBQSxJQUNoQztBQUFBLElBQ0EsR0FBSSxnQkFBZ0IsRUFBRSxhQUFhO0FBQUEsSUFDbkMsR0FBSSxpQkFBaUIsRUFBRSxjQUFjO0FBQUEsSUFDckMsR0FBSSx5QkFBeUIsRUFBRSxzQkFBc0I7QUFBQSxJQUVyRCxNQUFNLFVBQXlCO0FBQzdCLFVBQUk7QUFDRixZQUFJLDRCQUE0QjtBQUM5QixnQkFBTSxNQUFNLFFBQVEsU0FBUztBQUFBLFFBQy9CLE9BQU87QUFDTCxnQkFBTSxVQUFVLGdCQUFnQixNQUFNLElBQUk7QUFBQSxRQUM1QztBQUFBLE1BQ0YsVUFBRTtBQUNBLGNBQU0sVUFBVSxVQUFVO0FBQUEsTUFDNUI7QUFBQSxJQUNGO0FBQUEsSUFFQSxNQUFNLGVBQ0osUUFDaUI7QUFDakIsYUFBTyxlQUF5QyxFQUFFLEdBQUcsUUFBUSxXQUFXLFdBQVcsTUFBTSxLQUFLLENBQUM7QUFBQSxJQUNqRztBQUFBLElBRUEsTUFBTSxPQUFPLFlBQXFDO0FBQ2hELGFBQU8sVUFBVSxTQUFTLFlBQVksRUFBRSxLQUFLLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFDM0Q7QUFBQSxJQUVBO0FBQUEsSUFFQSxPQUFPLE9BQU8sWUFBWSxJQUFtQjtBQUMzQyxZQUFNLFdBQVcsUUFBUTtBQUFBLElBQzNCO0FBQUEsSUFFQTtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFZQSxTQUFTLHlCQUF5QixTQUE0RDtBQUM1RixTQUFPLDRCQUF5RDtBQUFBLElBQzlELDhCQUE4QixTQUFTO0FBQUEsSUFDdkMsNkJBQTZCLFNBQVM7QUFBQSxJQUN0QyxNQUFNLFNBQVM7QUFBQSxJQUNmLHNCQUFzQixTQUFTLHdCQUF3QjtBQUFBLElBQ3ZELDBCQUEwQixTQUFTO0FBQUEsSUFDbkMsaUJBQWlCLFNBQVM7QUFBQSxJQUMxQixNQUFNLFNBQVM7QUFBQSxJQUNmLHNCQUFzQixTQUFTO0FBQUEsSUFDL0Isb0NBQW9DLFNBQVM7QUFBQSxJQUM3QyxpQ0FBaUMsU0FBUztBQUFBLElBQzFDLGlDQUFpQyxTQUFTO0FBQUEsSUFDMUMsTUFBTTtBQUFBLEVBQ1IsQ0FBQztBQUNIO0FBV0EsU0FBUyxnQkFBZ0IsV0FBb0IsU0FBNEQ7QUFDdkcsTUFBSSxxQkFBcUIscUJBQXFCO0FBQzVDLFVBQU0sV0FBVyxVQUFVLHlCQUF5QjtBQUNwRCxRQUFJLFVBQVU7QUFDWixhQUFPLEVBQUUsTUFBTSxTQUFTLE1BQU0sTUFBTSxTQUFTLEtBQUs7QUFBQSxJQUNwRDtBQUFBLEVBQ0Y7QUFFQSxNQUFJLFNBQVMsU0FBUyxRQUFXO0FBQy9CLFdBQU8sRUFBRSxNQUFNLFFBQVEsUUFBUSxrQkFBa0IsTUFBTSxRQUFRLEtBQUs7QUFBQSxFQUN0RTtBQUVBLFFBQU0sSUFBSSxNQUFNLGlEQUFpRDtBQUNuRTtBQWFBLGVBQWUsZUFBZSxrQkFBOEQ7QUFDMUYsTUFBSSxDQUFDLDRCQUE0QixnQkFBZ0IsR0FBRztBQUNsRDtBQUFBLEVBQ0Y7QUFFQSxNQUFJO0FBQ0YsVUFBTSxTQUFTLE1BQU0sbUJBQW1CO0FBQUEsTUFDdEMsc0JBQXNCLG9DQUFvQyxnQkFBZ0I7QUFBQSxJQUM1RSxDQUFDO0FBQ0QsUUFBSSxPQUFPLGVBQWUsS0FBSyxPQUFPLGNBQWMsR0FBRztBQUNyRDtBQUFBLFFBQ0UsMEJBQTBCLE9BQU8sT0FBTyxZQUFZLENBQUMsbURBQzdDLE9BQU8sT0FBTyxXQUFXLENBQUM7QUFBQSxNQUNwQztBQUFBLElBQ0Y7QUFBQSxFQUNGLFNBQVMsT0FBZ0I7QUFDdkIsUUFBSSxzREFBc0QsT0FBTyxLQUFLLENBQUMsRUFBRTtBQUFBLEVBQzNFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Nvbm5lY3QtdG8tY2RwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvZ3JhbW1hdGljIGhlbHBlciB0byBsYXVuY2ggKG9yIGF0dGFjaCB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZVxuICogd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgZm9yIGFkLWhvYyByZWFsLWFwcCBkZWJ1Z2dpbmcuXG4gKlxuICogQSBzaW5nbGUge0BsaW5rIGNvbm5lY3RUb0NkcH0gY2FsbCByZXNvbHZlcyB0aGUgb3duZWQtaW5zdGFuY2UgY29uZmlnLCBvcGVucyBhXG4gKiB2YXVsdCwgYW5kIGJvb3RzdHJhcHMgYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCAoc28gYGV2YWxXcmFwcGVyYCxcbiAqIHRoZSBiYXNlIGBsaWJgIGhlbHBlcnMsIGBlcnJvclRvU3RyaW5nYCwgYGdldE9ic2lkaWFuTW9kdWxlYCwgXHUyMDI2IGFyZSBhdmFpbGFibGUpLCB0aGVuXG4gKiBoYW5kcyBiYWNrIGEgZGlzcG9zYWJsZSB7QGxpbmsgQ2RwQ29ubmVjdGlvbn0gZXhwb3NpbmcgdGhlIGNob3NlbiBDRFAgcG9ydCwgYVxuICogcmF3IHtAbGluayBDZHBDb25uZWN0aW9uLmludm9rZX0gYW5kIHRoZSByaWNoIHtAbGluayBDZHBDb25uZWN0aW9uLmV2YWxJbk9ic2lkaWFufS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW50ZWdyYXRpb24tdGltZSBjb2RlIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRXhjZXB0IH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHR5cGUgeyBBc2FyRmFsbGJhY2sgfSBmcm9tICcuL2FzYXItZmFsbGJhY2stZGV0ZWN0aW9uLm1qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5tanMnO1xuaW1wb3J0IHR5cGUgeyBFbGVjdHJvbkNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkubWpzJztcbmltcG9ydCB0eXBlIHtcbiAgRXZhbEluT2JzaWRpYW5QYXJhbXMsXG4gIEdlbmVyaWNPYmplY3Rcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLm1qcyc7XG5pbXBvcnQgdHlwZSB7IEluc3RhbGxlckNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5Lm1qcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMubWpzJztcblxuaW1wb3J0IHsgZXZhbEluT2JzaWRpYW4gfSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4ubWpzJztcbmltcG9ydCB7XG4gIHJlc29sdmVMZWZ0b3Zlck1heEFnZUluTWlsbGlzZWNvbmRzLFxuICBzd2VlcEhvc3RMZWZ0b3ZlcnMsXG4gIHdpbGxTd2VlcExlZnRvdmVyc1xufSBmcm9tICcuL2xlZnRvdmVyLWNsZWFudXAubWpzJztcbmltcG9ydCB7IGxvZyB9IGZyb20gJy4vbG9nLm1qcyc7XG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICcuL25vcm1hbGl6ZS1vcHRpb25hbC1wcm9wZXJ0aWVzLm1qcyc7XG5pbXBvcnQgeyBUZW1wb3JhcnlWYXVsdCB9IGZyb20gJy4vdGVtcG9yYXJ5LXZhdWx0Lm1qcyc7XG5pbXBvcnQgeyBEZXNrdG9wQ2RwVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAubWpzJztcbmltcG9ydCB7IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5tanMnO1xuXG5jb25zdCBERUZBVUxUX0NEUF9IT1NUID0gJ2xvY2FsaG9zdCc7XG5cbi8qKlxuICogQSBsaXZlIGNvbm5lY3Rpb24gdG8gYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZSB3aXRoIHRoZSBydW50aW1lIGhlbHBlclxuICogbmFtZXNwYWNlIGJvb3RzdHJhcHBlZC5cbiAqXG4gKiBJbXBsZW1lbnRzIGBBc3luY0Rpc3Bvc2FibGVgLCBzbyBgYXdhaXQgdXNpbmcgY29ubiA9IGF3YWl0IGNvbm5lY3RUb0NkcChcdTIwMjYpYFxuICogZGlzcG9zZXMgaXQgKGtpbGxpbmcgYW4gb3duZWQgaW5zdGFuY2UgYW5kIFx1MjAxNCBmb3IgYSB0aHJvdy1hd2F5IHRlbXAgdmF1bHQgXHUyMDE0XG4gKiByZW1vdmluZyBpdHMgZGlyZWN0b3J5KSBhdXRvbWF0aWNhbGx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENkcENvbm5lY3Rpb24gZXh0ZW5kcyBBc3luY0Rpc3Bvc2FibGUge1xuICAvKipcbiAgICogVGhlIHNpbGVudC1hc2FyLWZhbGxiYWNrIHZlcmRpY3QgZm9yIGFuIG93bmVkIGluc3RhbmNlLCByZWFkIGxpdmUgYWZ0ZXIgYm9vdDpcbiAgICogd2hldGhlciB0aGUgYXBwIHZlcnNpb24gaXQgaXMgYWN0dWFsbHkgcnVubmluZyBtYXRjaGVzIHRoZSBzd2FwcGVkLWluIHBpbiwgb3JcbiAgICogdGhlIGluc3RhbGxlciBzaWxlbnRseSByZXZlcnRlZCB0byBpdHMgb3duIGJ1bmRsZWQgYXNhci4gYHVuZGVmaW5lZGAgaW4gYXR0YWNoXG4gICAqIG1vZGUsIHdoZW4gbm8gYXNhciB3YXMgc3dhcHBlZCwgb3Igd2hlbiB0aGUgcnVubmluZyB2ZXJzaW9uIHdhcyB1bnJlYWRhYmxlLiBBXG4gICAqIGAnZmFsbGJhY2snYCB2ZXJkaWN0IHJlYWNoZXMgaGVyZSBvbmx5IHdoZW4gdGhlIHRocm93IGlzIGRpc2FibGVkXG4gICAqICh7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9ucy5zaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrfSBgZmFsc2VgKTtcbiAgICogb3RoZXJ3aXNlIGl0IHRocm93cyBgU2lsZW50QXNhckZhbGxiYWNrRXJyb3JgIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNhckZhbGxiYWNrPzogQXNhckZhbGxiYWNrIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBDRFAgVVJMLCBlLmcuIGBodHRwOi8vbG9jYWxob3N0OjUxODg4YC5cbiAgICovXG4gIHJlYWRvbmx5IGNkcFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyXHUyMTk0YXBwIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYW4gb3duZWQgaW5zdGFuY2UsIHdoZW5cbiAgICogaXQgY291bGQgYmUgZGV0ZXJtaW5lZC4gYHVuZGVmaW5lZGAgaW4gYXR0YWNoIG1vZGUsIG9yIHdoZW4gdGhlIHZlcmRpY3QgaXNcbiAgICogdW5rbm93biAodW5kZXRlY3RhYmxlIHNoZWxsIHZlcnNpb24sIG9yIHRoZSBhcHAgdmVyc2lvbiBpcyBhYnNlbnQgZnJvbSB0aGVcbiAgICogdGFibGUpLiBBbiBgJ3VucnVubmFibGUnYCB2ZXJkaWN0IHJlYWNoZXMgaGVyZSBvbmx5IHdoZW4gdGhlIHByb2FjdGl2ZSB0aHJvd1xuICAgKiBpcyBkaXNhYmxlZCAoe0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMuc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcn1cbiAgICogYGZhbHNlYCk7IG90aGVyd2lzZSBpdCB0aHJvd3MgYEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcmAgYmVmb3JlIHRoZVxuICAgKiBjb25uZWN0aW9uIGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb21wYXRpYmlsaXR5PzogSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRGlzcG9zZXMgdGhlIGNvbm5lY3Rpb246IGtpbGxzIGFuIG93bmVkIGluc3RhbmNlIGFuZCByZW1vdmVzIGl0cyBpc29sYXRlZFxuICAgKiB1c2VyLWRhdGEgZGlyLiBUaGUgdmF1bHQgZGlyZWN0b3J5IGlzIHJlbW92ZWQgb25seSB3aGVuIGl0IGlzIGEgdGhyb3ctYXdheVxuICAgKiB0ZW1wIHZhdWx0IChzZWUge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMuc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9KTsgYVxuICAgKiByZWFsIHZhdWx0IHBhc3NlZCB2aWEge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMudmF1bHR9IGlzIG5ldmVyIGRlbGV0ZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBkaXNwb3NhbCBjb21wbGV0ZXMuXG4gICAqL1xuICBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFRoZSBydW50aW1lIEVsZWN0cm9uIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYW4gb3duZWQgaW5zdGFuY2UsIHJlYWQgbGl2ZVxuICAgKiBhZnRlciBib290OiB3aGV0aGVyIHRoZSBFbGVjdHJvbiB2ZXJzaW9uIGl0IGlzIGFjdHVhbGx5IHJ1bm5pbmcgaXMgbmV3IGVub3VnaFxuICAgKiBmb3IgdGhlIHJ1bm5pbmcgYXBwIHZlcnNpb24uIGB1bmRlZmluZWRgIGluIGF0dGFjaCBtb2RlLCBvciB3aGVuIHRoZSB2ZXJkaWN0XG4gICAqIGlzIHVua25vd24gKHRoZSBsaXZlIHZlcnNpb24gd2FzIHVucmVhZGFibGUsIG9yIHRoZSBhcHAgdmVyc2lvbiBjYXJyaWVzIG5vXG4gICAqIHJlY29tbWVuZGVkIEVsZWN0cm9uIHZlcnNpb24pLiBBbiBvbGQgRWxlY3Ryb24gbmV2ZXIgYmxvY2tzIFx1MjAxNCBpdCBvbmx5IHdhcm5zIFx1MjAxNFxuICAgKiBzbyB1bmxpa2Uge0BsaW5rIGNvbXBhdGliaWxpdHl9IHRoZXJlIGlzIG5vIHRocm93aW5nIHRpZXIuXG4gICAqL1xuICByZWFkb25seSBlbGVjdHJvbkNvbXBhdGliaWxpdHk/OiBFbGVjdHJvbkNvbXBhdGliaWxpdHkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIGluc2lkZSBPYnNpZGlhbiB2aWEgdGhlIHJpY2ggaGVscGVyXG4gICAqIHBhdGgsIHJlY2VpdmluZyBgeyBhcHAsIGxpYiwgb2JzaWRpYW5Nb2R1bGUsIGNvbnRleHQgfWAgcGx1cyBhbnkgYGlucHV0YFxuICAgKiAoc2hhcmVkIGhlbHBlcnMgbGlrZSBgdHlwZUludG9FZGl0b3JgIC8gYHdhaXRVbnRpbGAgbGl2ZSBvbiBgbGliYCkuIE1pcnJvcnNcbiAgICogdGhlIHRvcC1sZXZlbCBgZXZhbEluT2JzaWRpYW5gLCB3aXRoIHRoZSB0cmFuc3BvcnQgYW5kIHZhdWx0IHBhdGggcHJlLWJvdW5kXG4gICAqIHRvIHRoaXMgY29ubmVjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBldmFsdWF0aW9uIHBhcmFtZXRlcnMgKGBjYWxsYmFja2AsIG9wdGlvbmFsIGBpbnB1dGAvYGNvbnRleHRJZGApLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgYGNhbGxiYWNrYC5cbiAgICovXG4gIGV2YWxJbk9ic2lkaWFuPElucHV0IGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgICBwYXJhbXM6IEV4Y2VwdDxFdmFsSW5PYnNpZGlhblBhcmFtczxJbnB1dCwgUmVzdWx0LCBUQ29udGV4dElkPiwgJ3RyYW5zcG9ydCcgfCAndmF1bHRQYXRoJz5cbiAgKTogUHJvbWlzZTxSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgYSByYXcgSmF2YVNjcmlwdCBleHByZXNzaW9uIGluc2lkZSBPYnNpZGlhbiBhbmQgcmV0dXJucyB0aGVcbiAgICogbm9ybWFsaXplZCBzdHJpbmcgcmVzdWx0IChlLmcuIGAnNSdgLCBhIEpTT04gc3RyaW5nLCBvciBgJyhubyBvdXRwdXQpJ2ApLlxuICAgKlxuICAgKiBAcGFyYW0gZXhwcmVzc2lvbiAtIEEgc2VsZi1jb250YWluZWQgSmF2YVNjcmlwdCBleHByZXNzaW9uLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSByYXcgcmVzdWx0IHN0cmluZy5cbiAgICovXG4gIGludm9rZShleHByZXNzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBDRFAgcG9ydCB0aGUgaW5zdGFuY2UgaXMgcmVhY2hhYmxlIG9uICh0aGUgZnJlZSBwb3J0IGNob3NlbiBmb3IgYW5cbiAgICogb3duZWQgaW5zdGFuY2UsIG9yIHRoZSBhdHRhY2hlZCB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9ucy5wb3J0fSkuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVuZWQgdmF1bHQuIEV4cG9zZXMgYHBhdGhgIGFuZCBgcG9wdWxhdGUoLi4uKWAgZm9yIHNlZWRpbmcgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSB2YXVsdDogVGVtcG9yYXJ5VmF1bHQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNvbm5lY3RUb0NkcH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFRvQ2RwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgaW5kaXZpZHVhbCBDRFAgY29tbWFuZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAzMDAwMGBcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdyYWNlIHdpbmRvdyBpbiBtaWxsaXNlY29uZHMgZm9yIGZhc3QtZmFpbGluZyBhIGRlYWQgYm9vdCBvZiB0aGUgb3duZWRcbiAgICogaW5zdGFuY2UgXHUyMDE0IHRoZSByZW5kZXJlciBsb2FkZWQgYnV0IHRoZSBhcHAgbmV2ZXIgYm9vdHN0cmFwcGVkIChlbXB0eVxuICAgKiBgPGJvZHk+YCwgbm8gYHdpbmRvdy5hcHBgKSwgdGhlIHRlcm1pbmFsIHN0YXRlIHdoZW4gdGhlIGFzYXIgY2Fubm90IHJ1biBvblxuICAgKiB0aGUgbGF1bmNoZWQgRWxlY3Ryb24gc2hlbGwuIE9uY2UgaXQgaGFzIGhlbGQgdGhpcyBsb25nIGFcbiAgICogYFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3JgIGlzIHRocm93biBpbnN0ZWFkIG9mIHdhaXRpbmcgb3V0IHRoZSBmdWxsXG4gICAqIHJlYWRpbmVzcyB0aW1lb3V0LiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS4gU2V0IGAwYCB0b1xuICAgKiBkaXNhYmxlIGZhc3QtZmFpbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYDEwMDAwYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDRFAgaG9zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCdsb2NhbGhvc3QnYFxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgT2JzaWRpYW4gd2luZG93IGlzIHNob3duIG9uIHNjcmVlbi4gRGVmYXVsdHMgdG8gYHRydWVgOyBzZXRcbiAgICogYGZhbHNlYCB0byBsYXVuY2ggaXQgb2ZmLXNjcmVlbi5cbiAgICogSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNPYnNpZGlhbkFwcFZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQaW5zIHRoZSBFbGVjdHJvbiBzaGVsbCAoaW5zdGFsbGVyIGJ1aWxkKSB0aGUgb3duZWQgaW5zdGFuY2UgcnVucy4gQWNjZXB0c1xuICAgKiBgJ3gueS56J2AsIGAncHVibGljLWxhdGVzdCdgLCBvciBgJ2NhdGFseXN0LWxhdGVzdCdgLiBJZ25vcmVkIHdoZW5cbiAgICoge0BsaW5rIHBvcnR9IChhdHRhY2ggbW9kZSkgaXMgc2V0LiBXaGVuIG9taXR0ZWQsIHRoZSBpbnN0YWxsZWQgc2hlbGwgaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGlucyB0aGUgT2JzaWRpYW4gYXBwIHZlcnNpb24gKGFzYXIpIHRoZSBvd25lZCBpbnN0YW5jZSBydW5zLiBBY2NlcHRzXG4gICAqIGAneC55LnonYCwgYCdwdWJsaWMtbGF0ZXN0J2AsIG9yIGAnY2F0YWx5c3QtbGF0ZXN0J2AuIElnbm9yZWQgd2hlblxuICAgKiB7QGxpbmsgcG9ydH0gKGF0dGFjaCBtb2RlKSBpcyBzZXQuIFdoZW4gb21pdHRlZCwgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIGlzIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEUCBwb3J0IG9mIGFuIGFscmVhZHktcnVubmluZyBPYnNpZGlhbiB0byAqKmF0dGFjaCoqIHRvLiBXaGVuIG9taXR0ZWQsIGFuXG4gICAqIGlzb2xhdGVkIGluc3RhbmNlIGlzIGxhdW5jaGVkIG9uIGFuIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGZyZWUgcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gbGF1bmNoIHRoZSBvd25lZCBpbnN0YW5jZSB3aXRoIENocm9taXVtJ3Mgc2FuZGJveCBkaXNhYmxlZFxuICAgKiAoYC0tbm8tc2FuZGJveGApLlxuICAgKlxuICAgKiBOZWVkZWQgdG8gYm9vdCBvbiBMaW51eCB3aXRob3V0IGEgY29ycmVjdGx5LWNvbmZpZ3VyZWQgc2V0dWlkXG4gICAqIGBjaHJvbWUtc2FuZGJveGAgaGVscGVyIChlLmcuIGFuIGluc3RhbGxlci1leHRyYWN0ZWQgcG9ydGFibGUgc2hlbGwsIG9yIENJXG4gICAqIHJ1bm5pbmcgYXMgYSBub24tcm9vdCB1c2VyKTsgaGFybWxlc3Mgb24gV2luZG93cy9tYWNPUy4gSWdub3JlZCBpbiBhdHRhY2hcbiAgICogbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERpc2FibGVTYW5kYm94PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZW1vdmUgdGhlIHZhdWx0IGRpcmVjdG9yeSBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5kaXNwb3NlfS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkLCBkZWZhdWx0cyB0byBgdHJ1ZWAgZm9yIGFuIGltcGxpY2l0IHRocm93LWF3YXkgdGVtcCB2YXVsdFxuICAgKiAoe0BsaW5rIHZhdWx0fSBub3QgZ2l2ZW4pIGFuZCBgZmFsc2VgIHdoZW4gYSB7QGxpbmsgdmF1bHR9IHBhdGggaXMgZ2l2ZW4sIHNvXG4gICAqIGEgcmVhbCB2YXVsdCBpcyBuZXZlciBkZWxldGVkLiBTZXQgZXhwbGljaXRseSB0byBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBhbiAqKnVucnVubmFibGUqKiBpbnN0YWxsZXJcdTIxOTRhcHAgdmVyc2lvbiBwYWlyIGZhaWxzIGZhc3QgYmVmb3JlIGxhdW5jaC5cbiAgICpcbiAgICogV2hlbiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSwgYW4gaW5zdGFsbGVyIGJlbG93IHRoZSBhcHAncyBydW4gZmxvb3IgdGhyb3dzXG4gICAqIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGZyb20gdmVyc2lvbiByZXNvbHV0aW9uIGJlZm9yZSBhbnl0aGluZyBpc1xuICAgKiBkb3dubG9hZGVkIG9yIGxhdW5jaGVkLiBTZXQgYGZhbHNlYCB0byBsZXQgdGhlIHBpbiBwcm9jZWVkIHRvIGxhdW5jaCBcdTIwMTQgd2hlcmVcbiAgICogdGhlIHJlYWN0aXZlIGRlYWQtYm9vdCBmYXN0LWZhaWwgc3RpbGwgY2F0Y2hlcyB0aGUgYmxhY2stc2NyZWVuIGJvb3QsIGFuZCB0aGVcbiAgICogYCd1bnJ1bm5hYmxlJ2AgdmVyZGljdCBpcyBzdXJmYWNlZCBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5jb21wYXRpYmlsaXR5fVxuICAgKiByYXRoZXIgdGhhbiB0aHJvd24uIElnbm9yZWQgaW4gYXR0YWNoIG1vZGUgKHtAbGluayBwb3J0fSBzZXQpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgcG9zdC1ib290ICoqc2lsZW50IGFzYXIgZmFsbGJhY2sqKiBmYWlscyBmYXN0LlxuICAgKlxuICAgKiBXaGVuIGFuIGFzYXIgaXMgc3dhcHBlZCBvbnRvIGFuIGluc3RhbGxlciBzaGVsbCB0b28gb2xkIGZvciBpdCwgdGhlIGluc3RhbmNlXG4gICAqIG1heSBzaWxlbnRseSByZXZlcnQgdG8gdGhlIGluc3RhbGxlcidzIG93biBidW5kbGVkIGFzYXIgYW5kIHJ1biB0aGUgKip3cm9uZ1xuICAgKiAob2xkZXIpKiogdmVyc2lvbiBiZWhpbmQgYSBoZWFsdGh5IFVJLiBXaGVuIGB0cnVlYCAodGhlIGRlZmF1bHQpLCB0aGUgcnVubmluZ1xuICAgKiBhcHAgdmVyc2lvbiBpcyB2ZXJpZmllZCBhZ2FpbnN0IHRoZSBwaW4gcG9zdC1ib290IGFuZCBhIG1pc21hdGNoIHRocm93c1xuICAgKiBgU2lsZW50QXNhckZhbGxiYWNrRXJyb3JgLiBTZXQgYGZhbHNlYCB0byBsZXQgdGhlIGJvb3QgcHJvY2VlZCBcdTIwMTQgdGhlIG1pc21hdGNoXG4gICAqIGlzIHRoZW4gc3VyZmFjZWQgb24ge0BsaW5rIENkcENvbm5lY3Rpb24uYXNhckZhbGxiYWNrfSByYXRoZXIgdGhhbiB0aHJvd24uXG4gICAqIElnbm9yZWQgaW4gYXR0YWNoIG1vZGUgKHtAbGluayBwb3J0fSBzZXQpIGFuZCB3aGVuIG5vIGFzYXIgaXMgc3dhcHBlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3duZWQtaW5zdGFuY2UgY29tcGF0aWJpbGl0eSAqKm5hZyB3YXJuaW5ncyoqIGFyZSBlbWl0dGVkLlxuICAgKlxuICAgKiBDb3ZlcnMgYm90aCB0aGUgb2ZmbGluZSBpbnN0YWxsZXJcdTIxOTRhcHAgd2FybmluZyBhbmQgdGhlIHBvc3QtYm9vdFxuICAgKiBydW50aW1lLUVsZWN0cm9uIHdhcm5pbmcuIFdoZW4gYHRydWVgICh0aGUgZGVmYXVsdCkgZWFjaCBmaXJlcyB2aWEgdGhlIGhhcm5lc3NcbiAgICogbG9nOyBzZXQgYGZhbHNlYCB0byBzaWxlbmNlIGJvdGggXHUyMDE0IHRoZSB2ZXJkaWN0cyBhcmUgc3RpbGwgc3VyZmFjZWQgb25cbiAgICoge0BsaW5rIENkcENvbm5lY3Rpb24uY29tcGF0aWJpbGl0eX0gLyB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5lbGVjdHJvbkNvbXBhdGliaWxpdHl9LFxuICAgKiBvbmx5IHRoZSBsb2cgaXMgc3VwcHJlc3NlZC4gSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3Vlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gYW4gZXhpc3RpbmcgdmF1bHQgdG8gb3Blbi4gV2hlbiBvbWl0dGVkLCBhbiBlbXB0eSB0ZW1wb3JhcnlcbiAgICogdmF1bHQgaXMgY3JlYXRlZCAoYW5kIHJlbW92ZWQgb24gZGlzcG9zZSB1bmxlc3NcbiAgICoge0BsaW5rIHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlfSBzYXlzIG90aGVyd2lzZSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSB2YXVsdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHJlc29sdmVkIENEUCBob3N0L3BvcnQgcGFpci5cbiAqL1xuaW50ZXJmYWNlIFJlc29sdmVkRW5kcG9pbnQge1xuICBob3N0OiBzdHJpbmc7XG4gIHBvcnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMYXVuY2hlcyAob3IgYXR0YWNoZXMgdG8pIGEgQ0RQLWVuYWJsZWQgT2JzaWRpYW4gaW5zdGFuY2UsIG9wZW5zIGEgdmF1bHQsIGFuZFxuICogYm9vdHN0cmFwcyB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlLCByZXR1cm5pbmcgYSBkaXNwb3NhYmxlIGNvbm5lY3Rpb24uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBDb25uZWN0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBsaXZlIHtAbGluayBDZHBDb25uZWN0aW9ufS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RUb0NkcChvcHRpb25zPzogQ29ubmVjdFRvQ2RwT3B0aW9ucyk6IFByb21pc2U8Q2RwQ29ubmVjdGlvbj4ge1xuICBjb25zdCB0cmFuc3BvcnRPcHRpb25zID0gYnVpbGRDZHBUcmFuc3BvcnRPcHRpb25zKG9wdGlvbnMpO1xuICBhd2FpdCBzd2VlcExlZnRvdmVycyh0cmFuc3BvcnRPcHRpb25zKTtcbiAgY29uc3QgdHJhbnNwb3J0ID0gYXdhaXQgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnModHJhbnNwb3J0T3B0aW9ucyk7XG4gIGNvbnN0IHZhdWx0ID0gbmV3IFRlbXBvcmFyeVZhdWx0KG9wdGlvbnM/LnZhdWx0KTtcbiAgY29uc3Qgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2UgPSBvcHRpb25zPy5zaG91bGRSZW1vdmVWYXVsdE9uRGlzcG9zZSA/PyAob3B0aW9ucz8udmF1bHQgPT09IHVuZGVmaW5lZCk7XG5cbiAgLy8gUmVnaXN0ZXJpbmcgdGhlIHZhdWx0IGlzIHdoYXQgbGF1bmNoZXMgdGhlIG93bmVkIGluc3RhbmNlIChwcm92aXNpb25zIHRoZVxuICAvLyBBc2FyLCBvcGVucyB0aGUgdmF1bHQsIGFuZCBib290c3RyYXBzIHRoZSBoZWxwZXIgbmFtZXNwYWNlKSwgb3Igb3BlbnMgdGhlXG4gIC8vIFZhdWx0IGluIHRoZSBhdHRhY2hlZCBpbnN0YW5jZS5cbiAgYXdhaXQgdmF1bHQucmVnaXN0ZXIodHJhbnNwb3J0KTtcblxuICBjb25zdCB7IGhvc3QsIHBvcnQgfSA9IHJlc29sdmVFbmRwb2ludCh0cmFuc3BvcnQsIG9wdGlvbnMpO1xuICBjb25zdCBjZHBVcmwgPSBgaHR0cDovLyR7aG9zdH06JHtTdHJpbmcocG9ydCl9YDtcbiAgY29uc3QgYXNhckZhbGxiYWNrID0gdHJhbnNwb3J0IGluc3RhbmNlb2YgRGVza3RvcENkcFRyYW5zcG9ydCA/IHRyYW5zcG9ydC5nZXRBc2FyRmFsbGJhY2soKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgY29tcGF0aWJpbGl0eSA9IHRyYW5zcG9ydCBpbnN0YW5jZW9mIERlc2t0b3BDZHBUcmFuc3BvcnQgPyB0cmFuc3BvcnQuZ2V0Q29tcGF0aWJpbGl0eSgpIDogdW5kZWZpbmVkO1xuICBjb25zdCBlbGVjdHJvbkNvbXBhdGliaWxpdHkgPSB0cmFuc3BvcnQgaW5zdGFuY2VvZiBEZXNrdG9wQ2RwVHJhbnNwb3J0ID8gdHJhbnNwb3J0LmdldEVsZWN0cm9uQ29tcGF0aWJpbGl0eSgpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb246IENkcENvbm5lY3Rpb24gPSB7XG4gICAgY2RwVXJsLFxuICAgIC4uLihhc2FyRmFsbGJhY2sgJiYgeyBhc2FyRmFsbGJhY2sgfSksXG4gICAgLi4uKGNvbXBhdGliaWxpdHkgJiYgeyBjb21wYXRpYmlsaXR5IH0pLFxuICAgIC4uLihlbGVjdHJvbkNvbXBhdGliaWxpdHkgJiYgeyBlbGVjdHJvbkNvbXBhdGliaWxpdHkgfSksXG5cbiAgICBhc3luYyBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlKSB7XG4gICAgICAgICAgYXdhaXQgdmF1bHQuZGlzcG9zZSh0cmFuc3BvcnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRyYW5zcG9ydC51bnJlZ2lzdGVyVmF1bHQodmF1bHQucGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGF3YWl0IHRyYW5zcG9ydC5kaXNwb3NlPy4oKTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgZXZhbEluT2JzaWRpYW48SW5wdXQgZXh0ZW5kcyBHZW5lcmljT2JqZWN0LCBSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgICAgcGFyYW1zOiBFeGNlcHQ8RXZhbEluT2JzaWRpYW5QYXJhbXM8SW5wdXQsIFJlc3VsdCwgVENvbnRleHRJZD4sICd0cmFuc3BvcnQnIHwgJ3ZhdWx0UGF0aCc+XG4gICAgKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgICAgIHJldHVybiBldmFsSW5PYnNpZGlhbjxJbnB1dCwgUmVzdWx0LCBUQ29udGV4dElkPih7IC4uLnBhcmFtcywgdHJhbnNwb3J0LCB2YXVsdFBhdGg6IHZhdWx0LnBhdGggfSk7XG4gICAgfSxcblxuICAgIGFzeW5jIGludm9rZShleHByZXNzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIHRyYW5zcG9ydC5ldmFsdWF0ZShleHByZXNzaW9uLCB7IGN3ZDogdmF1bHQucGF0aCB9KTtcbiAgICB9LFxuXG4gICAgcG9ydCxcblxuICAgIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uZGlzcG9zZSgpO1xuICAgIH0sXG5cbiAgICB2YXVsdFxuICB9O1xuXG4gIHJldHVybiBjb25uZWN0aW9uO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUge0BsaW5rIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9uc30gZm9yIGEgY29ubmVjdGlvbiwgdGhyZWFkaW5nIG9ubHlcbiAqIHRoZSBwcm92aWRlZCB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9uc30gdGhyb3VnaCAob3duZWQtdmlzaWJsZSBkZWZhdWx0cyB0b1xuICogYHRydWVgLCB1bmxpa2UgdGhlIGhpZGRlbi1ieS1kZWZhdWx0IHRlc3QgdHJhbnNwb3J0cykuIFVuc2V0IGtub2JzIHBhc3MgdGhyb3VnaFxuICogYXMgYHVuZGVmaW5lZGAgYW5kIGFyZSByZWFkIHdpdGggYD8/IGRlZmF1bHRgIC8gYCE9PSB1bmRlZmluZWRgIGd1YXJkc1xuICogZG93bnN0cmVhbSwgc28gYW4gZXhwbGljaXQgYHVuZGVmaW5lZGAgaXMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBhbiBhYnNlbnQga2V5LlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGNvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0cmFuc3BvcnQgb3B0aW9ucyB0byBjcmVhdGUgdGhlIGNvbm5lY3Rpb24ncyB0cmFuc3BvcnQgZnJvbS5cbiAqL1xuZnVuY3Rpb24gYnVpbGRDZHBUcmFuc3BvcnRPcHRpb25zKG9wdGlvbnM/OiBDb25uZWN0VG9DZHBPcHRpb25zKTogT2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnM+KHtcbiAgICBjb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzOiBvcHRpb25zPy5jb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzLFxuICAgIGRlYWRCb290R3JhY2VJbk1pbGxpc2Vjb25kczogb3B0aW9ucz8uZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzLFxuICAgIGhvc3Q6IG9wdGlvbnM/Lmhvc3QsXG4gICAgaXNPYnNpZGlhbkFwcFZpc2libGU6IG9wdGlvbnM/LmlzT2JzaWRpYW5BcHBWaXNpYmxlID8/IHRydWUsXG4gICAgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uOiBvcHRpb25zPy5vYnNpZGlhbkluc3RhbGxlclZlcnNpb24sXG4gICAgb2JzaWRpYW5WZXJzaW9uOiBvcHRpb25zPy5vYnNpZGlhblZlcnNpb24sXG4gICAgcG9ydDogb3B0aW9ucz8ucG9ydCxcbiAgICBzaG91bGREaXNhYmxlU2FuZGJveDogb3B0aW9ucz8uc2hvdWxkRGlzYWJsZVNhbmRib3gsXG4gICAgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcjogb3B0aW9ucz8uc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcixcbiAgICBzaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrOiBvcHRpb25zPy5zaG91bGRUaHJvd09uU2lsZW50QXNhckZhbGxiYWNrLFxuICAgIHNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXM6IG9wdGlvbnM/LnNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXMsXG4gICAgdHlwZTogJ29ic2lkaWFuLWNkcCdcbiAgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIENEUCBob3N0L3BvcnQgZm9yIHRoZSBjb25uZWN0aW9uOiBmcm9tIHRoZSBvd25lZCBpbnN0YW5jZSdzXG4gKiBsYXVuY2hlZCBlbmRwb2ludCB3aGVuIHByZXNlbnQsIG90aGVyd2lzZSBmcm9tIHRoZSBhdHRhY2ggb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0gdHJhbnNwb3J0IC0gVGhlIHRyYW5zcG9ydCBjcmVhdGVkIGZvciB0aGlzIGNvbm5lY3Rpb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjb25uZWN0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgaG9zdCBhbmQgcG9ydC5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHBvcnQgY2Fubm90IGJlIGRldGVybWluZWQuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVFbmRwb2ludCh0cmFuc3BvcnQ6IHVua25vd24sIG9wdGlvbnM6IENvbm5lY3RUb0NkcE9wdGlvbnMgfCB1bmRlZmluZWQpOiBSZXNvbHZlZEVuZHBvaW50IHtcbiAgaWYgKHRyYW5zcG9ydCBpbnN0YW5jZW9mIERlc2t0b3BDZHBUcmFuc3BvcnQpIHtcbiAgICBjb25zdCBlbmRwb2ludCA9IHRyYW5zcG9ydC5nZXRPd25lZEluc3RhbmNlRW5kcG9pbnQoKTtcbiAgICBpZiAoZW5kcG9pbnQpIHtcbiAgICAgIHJldHVybiB7IGhvc3Q6IGVuZHBvaW50Lmhvc3QsIHBvcnQ6IGVuZHBvaW50LnBvcnQgfTtcbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucz8ucG9ydCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsgaG9zdDogb3B0aW9ucy5ob3N0ID8/IERFRkFVTFRfQ0RQX0hPU1QsIHBvcnQ6IG9wdGlvbnMucG9ydCB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCdjb25uZWN0VG9DZHA6IGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIENEUCBwb3J0LicpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGhvc3Qtc2lkZSB0ZW1wIGRpcmVjdG9yaWVzIGVhcmxpZXIgcnVucyBsZWFrZWQsIGJlZm9yZSB0aGlzXG4gKiBjb25uZWN0aW9uIGFkZHMgaXRzIG93bi5cbiAqXG4gKiBgY29ubmVjdFRvQ2RwYCBtaW50cyB0aGUgc2FtZSBgdGVtcC12YXVsdC0qYCAvIG93bmVkIGB1c2VyZGF0YS0qYCBkaXJlY3Rvcmllc1xuICogdGhlIHRlc3QgZ2xvYmFsIHNldHVwIGRvZXMsIGFuZCBhbiBhZC1ob2MgZGVidWdnaW5nIHNlc3Npb24gaXMgZXhhY3RseSB0aGVcbiAqIGtpbmQgdGhhdCBnZXRzIGtpbGxlZCB3aXRoIGEgbGVmdG92ZXIgYmVoaW5kIFx1MjAxNCBzbyBpdCBzd2VlcHMgdG9vLiBBZ2UtZ2F0ZWQgYW5kXG4gKiBiZXN0LWVmZm9ydDsgc2VlIHRoZSBjb3JlJ3MgYHN3ZWVwTGVmdG92ZXJzYC5cbiAqXG4gKiBAcGFyYW0gdHJhbnNwb3J0T3B0aW9ucyAtIFRoZSByZXNvbHZlZCB0cmFuc3BvcnQgb3B0aW9ucyAoc291cmNlIG9mIHRoZSBzd2VlcCBrbm9icykuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN3ZWVwTGVmdG92ZXJzKHRyYW5zcG9ydE9wdGlvbnM6IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXdpbGxTd2VlcExlZnRvdmVycyh0cmFuc3BvcnRPcHRpb25zKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3dlZXBIb3N0TGVmdG92ZXJzKHtcbiAgICAgIG1heEFnZUluTWlsbGlzZWNvbmRzOiByZXNvbHZlTGVmdG92ZXJNYXhBZ2VJbk1pbGxpc2Vjb25kcyh0cmFuc3BvcnRPcHRpb25zKVxuICAgIH0pO1xuICAgIGlmIChyZXN1bHQucmVtb3ZlZENvdW50ID4gMCB8fCByZXN1bHQuZmFpbGVkQ291bnQgPiAwKSB7XG4gICAgICBsb2coXG4gICAgICAgIGBbY29ubmVjdC10by1jZHBdIFN3ZXB0ICR7U3RyaW5nKHJlc3VsdC5yZW1vdmVkQ291bnQpfSBsZWZ0b3ZlciB0ZW1wIGRpcmVjdG9yKGllcykgZnJvbSBlYXJsaWVyIHJ1bnMgYFxuICAgICAgICAgICsgYCgke1N0cmluZyhyZXN1bHQuZmFpbGVkQ291bnQpfSBzdGlsbCBpbiB1c2UpLmBcbiAgICAgICk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGxvZyhgW2Nvbm5lY3QtdG8tY2RwXSBMZWZ0b3ZlciBzd2VlcCBlcnJvciAobm9uLWZhdGFsKTogJHtTdHJpbmcoZXJyb3IpfWApO1xuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiQUEyQkEsU0FBUyxzQkFBc0I7QUFDL0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsa0NBQWtDO0FBRTNDLE1BQU0sbUJBQW1CO0FBd1B6QixlQUFzQixhQUFhLFNBQXVEO0FBQ3hGLFFBQU0sbUJBQW1CLHlCQUF5QixPQUFPO0FBQ3pELFFBQU0sZUFBZSxnQkFBZ0I7QUFDckMsUUFBTSxZQUFZLE1BQU0sMkJBQTJCLGdCQUFnQjtBQUNuRSxRQUFNLFFBQVEsSUFBSSxlQUFlLFNBQVMsS0FBSztBQUMvQyxRQUFNLDZCQUE2QixTQUFTLDhCQUErQixTQUFTLFVBQVU7QUFLOUYsUUFBTSxNQUFNLFNBQVMsU0FBUztBQUU5QixRQUFNLEVBQUUsTUFBTSxLQUFLLElBQUksZ0JBQWdCLFdBQVcsT0FBTztBQUN6RCxRQUFNLFNBQVMsVUFBVSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUM7QUFDN0MsUUFBTSxlQUFlLHFCQUFxQixzQkFBc0IsVUFBVSxnQkFBZ0IsSUFBSTtBQUM5RixRQUFNLGdCQUFnQixxQkFBcUIsc0JBQXNCLFVBQVUsaUJBQWlCLElBQUk7QUFDaEcsUUFBTSx3QkFBd0IscUJBQXFCLHNCQUFzQixVQUFVLHlCQUF5QixJQUFJO0FBRWhILFFBQU0sYUFBNEI7QUFBQSxJQUNoQztBQUFBLElBQ0EsR0FBSSxnQkFBZ0IsRUFBRSxhQUFhO0FBQUEsSUFDbkMsR0FBSSxpQkFBaUIsRUFBRSxjQUFjO0FBQUEsSUFDckMsR0FBSSx5QkFBeUIsRUFBRSxzQkFBc0I7QUFBQSxJQUVyRCxNQUFNLFVBQXlCO0FBQzdCLFVBQUk7QUFDRixZQUFJLDRCQUE0QjtBQUM5QixnQkFBTSxNQUFNLFFBQVEsU0FBUztBQUFBLFFBQy9CLE9BQU87QUFDTCxnQkFBTSxVQUFVLGdCQUFnQixNQUFNLElBQUk7QUFBQSxRQUM1QztBQUFBLE1BQ0YsVUFBRTtBQUNBLGNBQU0sVUFBVSxVQUFVO0FBQUEsTUFDNUI7QUFBQSxJQUNGO0FBQUEsSUFFQSxNQUFNLGVBQ0osUUFDaUI7QUFDakIsYUFBTyxlQUEwQyxFQUFFLEdBQUcsUUFBUSxXQUFXLFdBQVcsTUFBTSxLQUFLLENBQUM7QUFBQSxJQUNsRztBQUFBLElBRUEsTUFBTSxPQUFPLFlBQXFDO0FBQ2hELGFBQU8sVUFBVSxTQUFTLFlBQVksRUFBRSxLQUFLLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFDM0Q7QUFBQSxJQUVBO0FBQUEsSUFFQSxPQUFPLE9BQU8sWUFBWSxJQUFtQjtBQUMzQyxZQUFNLFdBQVcsUUFBUTtBQUFBLElBQzNCO0FBQUEsSUFFQTtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFZQSxTQUFTLHlCQUF5QixTQUE0RDtBQUM1RixTQUFPLDRCQUF5RDtBQUFBLElBQzlELDhCQUE4QixTQUFTO0FBQUEsSUFDdkMsNkJBQTZCLFNBQVM7QUFBQSxJQUN0QyxNQUFNLFNBQVM7QUFBQSxJQUNmLHNCQUFzQixTQUFTLHdCQUF3QjtBQUFBLElBQ3ZELDBCQUEwQixTQUFTO0FBQUEsSUFDbkMsaUJBQWlCLFNBQVM7QUFBQSxJQUMxQixNQUFNLFNBQVM7QUFBQSxJQUNmLHNCQUFzQixTQUFTO0FBQUEsSUFDL0Isb0NBQW9DLFNBQVM7QUFBQSxJQUM3QyxpQ0FBaUMsU0FBUztBQUFBLElBQzFDLGlDQUFpQyxTQUFTO0FBQUEsSUFDMUMsTUFBTTtBQUFBLEVBQ1IsQ0FBQztBQUNIO0FBV0EsU0FBUyxnQkFBZ0IsV0FBb0IsU0FBNEQ7QUFDdkcsTUFBSSxxQkFBcUIscUJBQXFCO0FBQzVDLFVBQU0sV0FBVyxVQUFVLHlCQUF5QjtBQUNwRCxRQUFJLFVBQVU7QUFDWixhQUFPLEVBQUUsTUFBTSxTQUFTLE1BQU0sTUFBTSxTQUFTLEtBQUs7QUFBQSxJQUNwRDtBQUFBLEVBQ0Y7QUFFQSxNQUFJLFNBQVMsU0FBUyxRQUFXO0FBQy9CLFdBQU8sRUFBRSxNQUFNLFFBQVEsUUFBUSxrQkFBa0IsTUFBTSxRQUFRLEtBQUs7QUFBQSxFQUN0RTtBQUVBLFFBQU0sSUFBSSxNQUFNLGlEQUFpRDtBQUNuRTtBQWFBLGVBQWUsZUFBZSxrQkFBOEQ7QUFDMUYsTUFBSSxDQUFDLG1CQUFtQixnQkFBZ0IsR0FBRztBQUN6QztBQUFBLEVBQ0Y7QUFFQSxNQUFJO0FBQ0YsVUFBTSxTQUFTLE1BQU0sbUJBQW1CO0FBQUEsTUFDdEMsc0JBQXNCLG9DQUFvQyxnQkFBZ0I7QUFBQSxJQUM1RSxDQUFDO0FBQ0QsUUFBSSxPQUFPLGVBQWUsS0FBSyxPQUFPLGNBQWMsR0FBRztBQUNyRDtBQUFBLFFBQ0UsMEJBQTBCLE9BQU8sT0FBTyxZQUFZLENBQUMsbURBQzdDLE9BQU8sT0FBTyxXQUFXLENBQUM7QUFBQSxNQUNwQztBQUFBLElBQ0Y7QUFBQSxFQUNGLFNBQVMsT0FBZ0I7QUFDdkIsUUFBSSxzREFBc0QsT0FBTyxLQUFLLENBQUMsRUFBRTtBQUFBLEVBQzNFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Wraps a {@link ContextOf} extraction into an object with a `context` property.
|
|
9
9
|
*/
|
|
10
|
-
export interface
|
|
10
|
+
export interface ContextArguments<TContextId extends ContextId<unknown> | undefined = undefined> {
|
|
11
11
|
context: ContextOf<TContextId>;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -15,17 +15,17 @@ class ContextId {
|
|
|
15
15
|
*/
|
|
16
16
|
async dispose(vaultPath) {
|
|
17
17
|
await evalInObsidian({
|
|
18
|
-
args: { id: this.id },
|
|
19
18
|
/* v8 ignore start -- Serialized via toString() and executed inside the Obsidian process. Covered by integration tests. */
|
|
20
|
-
|
|
21
|
-
const holder =
|
|
19
|
+
callback({ id }) {
|
|
20
|
+
const holder = globalThis;
|
|
22
21
|
if (holder.__obsidianIntegrationTesting?.contexts) {
|
|
23
22
|
delete holder.__obsidianIntegrationTesting.contexts[id];
|
|
24
23
|
}
|
|
25
24
|
},
|
|
25
|
+
input: { id: this.id },
|
|
26
26
|
/* v8 ignore stop */
|
|
27
27
|
shouldSkipPreflightChecks: true,
|
|
28
|
-
...vaultPath
|
|
28
|
+
...vaultPath !== void 0 && { vaultPath }
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -56,4 +56,4 @@ class ContextId {
|
|
|
56
56
|
export {
|
|
57
57
|
ContextId
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbnRleHQtaWQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUeXBlZCBjb250ZXh0IGlkZW50aWZpZXJzIGZvciBwZXJzaXN0aW5nIG5vbi1zZXJpYWxpemFibGUgdmFsdWVzXG4gKiBhY3Jvc3Mge0BsaW5rIGV2YWxJbk9ic2lkaWFufSBjYWxscy5cbiAqL1xuXG5pbXBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5tanMnO1xuXG4vKipcbiAqIFdyYXBzIGEge0BsaW5rIENvbnRleHRPZn0gZXh0cmFjdGlvbiBpbnRvIGFuIG9iamVjdCB3aXRoIGEgYGNvbnRleHRgIHByb3BlcnR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRBcmd1bWVudHM8VENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4ge1xuICBjb250ZXh0OiBDb250ZXh0T2Y8VENvbnRleHRJZD47XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGNvbnRleHQgdHlwZSBmcm9tIGEge0BsaW5rIENvbnRleHRJZH0uXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRleHRPZjxUPiA9IFQgZXh0ZW5kcyBDb250ZXh0SWQ8aW5mZXIgQ29udGV4dD4gPyBDb250ZXh0IDogbmV2ZXI7XG5cbi8qKlxuICogQSB0eXBlZCBjb250ZXh0IGlkZW50aWZpZXIgZm9yIHBlcnNpc3Rpbmcgbm9uLXNlcmlhbGl6YWJsZSB2YWx1ZXNcbiAqIGFjcm9zcyB7QGxpbmsgZXZhbEluT2JzaWRpYW59IGNhbGxzLlxuICpcbiAqIFRoZSBjb250ZXh0IGlzIGEgcGVyc2lzdGVudCBvYmplY3Qgc3RvcmVkIG9uIGB3aW5kb3dgIGluIHRoZSBPYnNpZGlhbiBwcm9jZXNzLlxuICogQWxsIGNhbGxzIHNoYXJpbmcgdGhlIHNhbWUgYENvbnRleHRJZGAgc2hhcmUgdGhlIHNhbWUgY29udGV4dCBvYmplY3QsXG4gKiBhbGxvd2luZyBub24tc2VyaWFsaXphYmxlIHZhbHVlcyAoZS5nLiBgVEZpbGVgLCBgRWRpdG9yYCkgdG8gc3Vydml2ZSBhY3Jvc3MgY2FsbHMuXG4gKlxuICogSW1wbGVtZW50cyBgQXN5bmNEaXNwb3NhYmxlYCBmb3IgdXNlIHdpdGggYGF3YWl0IHVzaW5nYC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnRleHRJZDxfQ29udGV4dD4gaW1wbGVtZW50cyBBc3luY0Rpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29udGV4dCBpZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBTTElDRV9TVEFSVCA9IDI7XG4gICAgdGhpcy5pZCA9IGBfX2N0eF8ke1N0cmluZyhNYXRoLnJhbmRvbSgpKS5zbGljZShTTElDRV9TVEFSVCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoaXMgY29udGV4dCBmcm9tIHRoZSBPYnNpZGlhbiBwcm9jZXNzLlxuICAgKlxuICAgKiBAcGFyYW0gdmF1bHRQYXRoIC0gVGhlIHBhdGggdG8gdGhlIE9ic2lkaWFuIHZhdWx0LiBEZWZhdWx0cyB0byBgcHJvY2Vzcy5jd2QoKWAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzcG9zZSh2YXVsdFBhdGg/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBldmFsSW5PYnNpZGlhbih7XG4gICAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gU2VyaWFsaXplZCB2aWEgdG9TdHJpbmcoKSBhbmQgZXhlY3V0ZWQgaW5zaWRlIHRoZSBPYnNpZGlhbiBwcm9jZXNzLiBDb3ZlcmVkIGJ5IGludGVncmF0aW9uIHRlc3RzLiAqL1xuICAgICAgY2FsbGJhY2soeyBpZCB9KTogdm9pZCB7XG4gICAgICAgIGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RpbmdDb250ZXh0cyB7XG4gICAgICAgICAgY29udGV4dHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgICB9XG4gICAgICAgIGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXIge1xuICAgICAgICAgIF9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc6IEludGVncmF0aW9uVGVzdGluZ0NvbnRleHRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tIEFwcHJvdmVkIGRvdWJsZSBjYXN0OiBgX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ2AgaXMgb3VyIGludGVybmFsIFdpbmRvdyBhdWdtZW50YXRpb24sIGludGVudGlvbmFsbHkga2VwdCBsb2NhbCAobm90IGRlY2xhcmVkIGdsb2JhbGx5KSB0byBhdm9pZCBsZWFraW5nIGludG8gY29uc3VtZXIgdHlwZXMuXG4gICAgICAgIGNvbnN0IGhvbGRlciA9IGdsb2JhbFRoaXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPEludGVncmF0aW9uVGVzdGluZ0hvbGRlcj47XG4gICAgICAgIGlmIChob2xkZXIuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8uY29udGV4dHMpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlIC0tIE5vIG90aGVyIHdheS5cbiAgICAgICAgICBkZWxldGUgaG9sZGVyLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcuY29udGV4dHNbaWRdO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaW5wdXQ6IHsgaWQ6IHRoaXMuaWQgfSxcbiAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICBzaG91bGRTa2lwUHJlZmxpZ2h0Q2hlY2tzOiB0cnVlLFxuICAgICAgLi4uKHZhdWx0UGF0aCAhPT0gdW5kZWZpbmVkICYmIHsgdmF1bHRQYXRoIH0pXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgdGhpcyBjb250ZXh0IGlkLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb250ZXh0IGlkIGlzIGRpc3Bvc2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZXh0IGlkLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGV4dCBpZC5cbiAgICovXG4gIHB1YmxpYyB0b0pTT04oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbnRleHQgaWQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbnRleHQgaWQuXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBT0EsU0FBUyxzQkFBc0I7QUF3QnhCLE1BQU0sVUFBK0M7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1YsY0FBYztBQUNuQixVQUFNLGNBQWM7QUFDcEIsU0FBSyxLQUFLLFNBQVMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUEsRUFDN0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUFhLFFBQVEsV0FBbUM7QUFDdEQsVUFBTSxlQUFlO0FBQUE7QUFBQSxNQUVuQixTQUFTLEVBQUUsR0FBRyxHQUFTO0FBU3JCLGNBQU0sU0FBUztBQUNmLFlBQUksT0FBTyw4QkFBOEIsVUFBVTtBQUVqRCxpQkFBTyxPQUFPLDZCQUE2QixTQUFTLEVBQUU7QUFBQSxRQUN4RDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLE9BQU8sRUFBRSxJQUFJLEtBQUssR0FBRztBQUFBO0FBQUEsTUFFckIsMkJBQTJCO0FBQUEsTUFDM0IsR0FBSSxjQUFjLFVBQWEsRUFBRSxVQUFVO0FBQUEsSUFDN0MsQ0FBQztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sWUFBWSxJQUFtQjtBQUNsRCxVQUFNLEtBQUssUUFBUTtBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sU0FBaUI7QUFDdEIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFdBQW1CO0FBQ3hCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -33,13 +33,13 @@ export declare function getVaultPath(): string | undefined;
|
|
|
33
33
|
* Registers a resolver function for transport options. Called by framework
|
|
34
34
|
* adapters at module load time to bridge their native injection mechanisms.
|
|
35
35
|
*
|
|
36
|
-
* @param
|
|
36
|
+
* @param callback - The resolver function.
|
|
37
37
|
*/
|
|
38
|
-
export declare function setTransportOptionsResolver(
|
|
38
|
+
export declare function setTransportOptionsResolver(callback: TransportOptionsResolver): void;
|
|
39
39
|
/**
|
|
40
40
|
* Registers a resolver function for the vault path. Called by framework
|
|
41
41
|
* adapters at module load time to bridge their native injection mechanisms.
|
|
42
42
|
*
|
|
43
|
-
* @param
|
|
43
|
+
* @param callback - The resolver function.
|
|
44
44
|
*/
|
|
45
|
-
export declare function setVaultPathResolver(
|
|
45
|
+
export declare function setVaultPathResolver(callback: VaultPathResolver): void;
|
|
@@ -6,11 +6,11 @@ function getTransportOptions() {
|
|
|
6
6
|
function getVaultPath() {
|
|
7
7
|
return vaultPathResolver?.();
|
|
8
8
|
}
|
|
9
|
-
function setTransportOptionsResolver(
|
|
10
|
-
transportOptionsResolver =
|
|
9
|
+
function setTransportOptionsResolver(callback) {
|
|
10
|
+
transportOptionsResolver = callback;
|
|
11
11
|
}
|
|
12
|
-
function setVaultPathResolver(
|
|
13
|
-
vaultPathResolver =
|
|
12
|
+
function setVaultPathResolver(callback) {
|
|
13
|
+
vaultPathResolver = callback;
|
|
14
14
|
}
|
|
15
15
|
export {
|
|
16
16
|
getTransportOptions,
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
setTransportOptionsResolver,
|
|
19
19
|
setVaultPathResolver
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbnRleHQtcHJvdmlkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBGcmFtZXdvcmstbmV1dHJhbCBjb250ZXh0IHByb3ZpZGVyIGZvciBpbnRlZ3JhdGlvbiB0ZXN0IHN0YXRlLlxuICpcbiAqIEVhY2ggZnJhbWV3b3JrIGFkYXB0ZXIgKHZpdGVzdCwgamVzdCkgcmVnaXN0ZXJzIHJlc29sdmVycyB2aWFcbiAqIHtAbGluayBzZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXJ9IGFuZCB7QGxpbmsgc2V0VmF1bHRQYXRoUmVzb2x2ZXJ9XG4gKiBkdXJpbmcgbW9kdWxlIGluaXRpYWxpemF0aW9uLiBDb3JlIG1vZHVsZXMgY2FsbCB0aGUgY29ycmVzcG9uZGluZ1xuICogZ2V0dGVycyB0byByZXRyaWV2ZSBzdGF0ZSB3aXRob3V0IGRlcGVuZGluZyBvbiBhbnkgc3BlY2lmaWMgdGVzdCBmcmFtZXdvcmsuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLm1qcyc7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJlc29sdmVzIHRoZSBjdXJyZW50IHRyYW5zcG9ydCBvcHRpb25zLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIgPSAoKSA9PiBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJlc29sdmVzIHRoZSBjdXJyZW50IHZhdWx0IHBhdGguXG4gKi9cbmV4cG9ydCB0eXBlIFZhdWx0UGF0aFJlc29sdmVyID0gKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5sZXQgdHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyOiBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIgfCB1bmRlZmluZWQ7XG5sZXQgdmF1bHRQYXRoUmVzb2x2ZXI6IHVuZGVmaW5lZCB8IFZhdWx0UGF0aFJlc29sdmVyO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHRyYW5zcG9ydCBvcHRpb25zIHJlc29sdmVkIGJ5IHRoZSByZWdpc3RlcmVkIGZyYW1ld29yayBhZGFwdGVyLlxuICpcbiAqIEByZXR1cm5zIFRoZSB0cmFuc3BvcnQgb3B0aW9ucywgb3IgYHVuZGVmaW5lZGAgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc3BvcnRPcHRpb25zKCk6IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0cmFuc3BvcnRPcHRpb25zUmVzb2x2ZXI/
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbnRleHQtcHJvdmlkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBGcmFtZXdvcmstbmV1dHJhbCBjb250ZXh0IHByb3ZpZGVyIGZvciBpbnRlZ3JhdGlvbiB0ZXN0IHN0YXRlLlxuICpcbiAqIEVhY2ggZnJhbWV3b3JrIGFkYXB0ZXIgKHZpdGVzdCwgamVzdCkgcmVnaXN0ZXJzIHJlc29sdmVycyB2aWFcbiAqIHtAbGluayBzZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXJ9IGFuZCB7QGxpbmsgc2V0VmF1bHRQYXRoUmVzb2x2ZXJ9XG4gKiBkdXJpbmcgbW9kdWxlIGluaXRpYWxpemF0aW9uLiBDb3JlIG1vZHVsZXMgY2FsbCB0aGUgY29ycmVzcG9uZGluZ1xuICogZ2V0dGVycyB0byByZXRyaWV2ZSBzdGF0ZSB3aXRob3V0IGRlcGVuZGluZyBvbiBhbnkgc3BlY2lmaWMgdGVzdCBmcmFtZXdvcmsuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLm1qcyc7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJlc29sdmVzIHRoZSBjdXJyZW50IHRyYW5zcG9ydCBvcHRpb25zLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIgPSAoKSA9PiBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJlc29sdmVzIHRoZSBjdXJyZW50IHZhdWx0IHBhdGguXG4gKi9cbmV4cG9ydCB0eXBlIFZhdWx0UGF0aFJlc29sdmVyID0gKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5sZXQgdHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyOiBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIgfCB1bmRlZmluZWQ7XG5sZXQgdmF1bHRQYXRoUmVzb2x2ZXI6IHVuZGVmaW5lZCB8IFZhdWx0UGF0aFJlc29sdmVyO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHRyYW5zcG9ydCBvcHRpb25zIHJlc29sdmVkIGJ5IHRoZSByZWdpc3RlcmVkIGZyYW1ld29yayBhZGFwdGVyLlxuICpcbiAqIEByZXR1cm5zIFRoZSB0cmFuc3BvcnQgb3B0aW9ucywgb3IgYHVuZGVmaW5lZGAgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc3BvcnRPcHRpb25zKCk6IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0cmFuc3BvcnRPcHRpb25zUmVzb2x2ZXI/LigpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHZhdWx0IHBhdGggcmVzb2x2ZWQgYnkgdGhlIHJlZ2lzdGVyZWQgZnJhbWV3b3JrIGFkYXB0ZXIuXG4gKlxuICogQHJldHVybnMgVGhlIHZhdWx0IHBhdGgsIG9yIGB1bmRlZmluZWRgIGlmIG5vdCBjb25maWd1cmVkIChmYWxscyBiYWNrIHRvIGBwcm9jZXNzLmN3ZCgpYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYXVsdFBhdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhdWx0UGF0aFJlc29sdmVyPy4oKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYSByZXNvbHZlciBmdW5jdGlvbiBmb3IgdHJhbnNwb3J0IG9wdGlvbnMuIENhbGxlZCBieSBmcmFtZXdvcmtcbiAqIGFkYXB0ZXJzIGF0IG1vZHVsZSBsb2FkIHRpbWUgdG8gYnJpZGdlIHRoZWlyIG5hdGl2ZSBpbmplY3Rpb24gbWVjaGFuaXNtcy5cbiAqXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIoY2FsbGJhY2s6IFRyYW5zcG9ydE9wdGlvbnNSZXNvbHZlcik6IHZvaWQge1xuICB0cmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIgPSBjYWxsYmFjaztcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYSByZXNvbHZlciBmdW5jdGlvbiBmb3IgdGhlIHZhdWx0IHBhdGguIENhbGxlZCBieSBmcmFtZXdvcmtcbiAqIGFkYXB0ZXJzIGF0IG1vZHVsZSBsb2FkIHRpbWUgdG8gYnJpZGdlIHRoZWlyIG5hdGl2ZSBpbmplY3Rpb24gbWVjaGFuaXNtcy5cbiAqXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRWYXVsdFBhdGhSZXNvbHZlcihjYWxsYmFjazogVmF1bHRQYXRoUmVzb2x2ZXIpOiB2b2lkIHtcbiAgdmF1bHRQYXRoUmVzb2x2ZXIgPSBjYWxsYmFjaztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQXVCQSxJQUFJO0FBQ0osSUFBSTtBQU9HLFNBQVMsc0JBQTREO0FBQzFFLFNBQU8sMkJBQTJCO0FBQ3BDO0FBT08sU0FBUyxlQUFtQztBQUNqRCxTQUFPLG9CQUFvQjtBQUM3QjtBQVFPLFNBQVMsNEJBQTRCLFVBQTBDO0FBQ3BGLDZCQUEyQjtBQUM3QjtBQVFPLFNBQVMscUJBQXFCLFVBQW1DO0FBQ3RFLHNCQUFvQjtBQUN0QjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* that turns them on. It intentionally does NOT write `community-plugins.json` — the harness owns that file
|
|
11
11
|
* (it lists the plugin-under-test), and enabling the extras persists them.
|
|
12
12
|
*/
|
|
13
|
-
import type { PopulateFilesParams } from './
|
|
13
|
+
import type { PopulateFilesParams } from './temporary-vault.mjs';
|
|
14
14
|
/**
|
|
15
15
|
* Parameters for {@link buildDemoVaultPopulate}.
|
|
16
16
|
*/
|
|
@@ -46,7 +46,7 @@ export interface BuildDemoVaultPopulateParams {
|
|
|
46
46
|
export interface InjectPluginParams {
|
|
47
47
|
/**
|
|
48
48
|
* Overlay written as `.obsidian/plugins/<pluginId>/data.json` (JSON, 2-space indent). Omit to keep whatever
|
|
49
|
-
* `data.json` (if any) already lives in {@link InjectPluginParams.
|
|
49
|
+
* `data.json` (if any) already lives in {@link InjectPluginParams.sourceDirectory}.
|
|
50
50
|
*/
|
|
51
51
|
readonly data?: unknown;
|
|
52
52
|
/**
|
|
@@ -59,13 +59,13 @@ export interface InjectPluginParams {
|
|
|
59
59
|
*
|
|
60
60
|
* @default `<demoVaultPath>/.obsidian/plugins/<pluginId>`
|
|
61
61
|
*/
|
|
62
|
-
readonly
|
|
62
|
+
readonly sourceDirectory?: string;
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Builds the full populate map for a plugin's `demo-vault/`: the note tree, the selected `.obsidian/*` config
|
|
66
66
|
* files, and every injected plugin's binaries (+ optional `data.json`).
|
|
67
67
|
*
|
|
68
68
|
* @param params - The {@link BuildDemoVaultPopulateParams}.
|
|
69
|
-
* @returns The populate map, ready to hand to a global setup's `populate` or {@link
|
|
69
|
+
* @returns The populate map, ready to hand to a global setup's `populate` or {@link TemporaryVault.populate}.
|
|
70
70
|
*/
|
|
71
71
|
export declare function buildDemoVaultPopulate(params: BuildDemoVaultPopulateParams): PopulateFilesParams;
|
|
@@ -29,13 +29,13 @@ function buildDemoVaultPopulate(params) {
|
|
|
29
29
|
}
|
|
30
30
|
function seedPlugin(demoVaultPath, plugin, map) {
|
|
31
31
|
const { data, pluginId } = plugin;
|
|
32
|
-
const
|
|
32
|
+
const sourceDirectory = plugin.sourceDirectory ?? join(demoVaultPath, OBSIDIAN_CONFIG_DIR, PLUGINS_DIR, pluginId);
|
|
33
33
|
const pluginPrefix = `${OBSIDIAN_CONFIG_DIR}/${PLUGINS_DIR}/${pluginId}`;
|
|
34
|
-
const fileNames = existsSync(
|
|
34
|
+
const fileNames = existsSync(sourceDirectory) ? readdirSync(sourceDirectory, { withFileTypes: true }).filter((entry) => entry.isFile()).map((entry) => entry.name) : [];
|
|
35
35
|
for (const requiredFile of [MAIN_JS, MANIFEST_JSON]) {
|
|
36
36
|
if (!fileNames.includes(requiredFile)) {
|
|
37
37
|
throw new Error(
|
|
38
|
-
`Community plugin "${pluginId}" is not installed in the demo vault (${join(
|
|
38
|
+
`Community plugin "${pluginId}" is not installed in the demo vault (${join(sourceDirectory, requiredFile)} missing). Open demo-vault/ in Obsidian once so demo-vault-helper installs it, then re-run.`
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -43,7 +43,7 @@ function seedPlugin(demoVaultPath, plugin, map) {
|
|
|
43
43
|
if (fileName === DATA_JSON && data !== void 0) {
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
|
-
map[`${pluginPrefix}/${fileName}`] = readFileSync(join(
|
|
46
|
+
map[`${pluginPrefix}/${fileName}`] = readFileSync(join(sourceDirectory, fileName));
|
|
47
47
|
}
|
|
48
48
|
if (data !== void 0) {
|
|
49
49
|
const dataJson = ensureNonNullable(JSON.stringify(data, null, DATA_JSON_INDENT));
|
|
@@ -54,4 +54,4 @@ function seedPlugin(demoVaultPath, plugin, map) {
|
|
|
54
54
|
export {
|
|
55
55
|
buildDemoVaultPopulate
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtcG9wdWxhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCdWlsZHMgYSBjb21wbGV0ZSB7QGxpbmsgUG9wdWxhdGVGaWxlc1BhcmFtc30gbWFwIGZvciBhIHBsdWdpbidzIGluLXJlcG8gYGRlbW8tdmF1bHQvYCwgcmVhZHkgdG8gc2VlZCBpbnRvXG4gKiB0aGUgdGVtcCB2YXVsdCBiZWZvcmUgT2JzaWRpYW4gb3BlbnMgaXQuIENvbXBvc2VzIHtAbGluayByZWFkRGVtb1ZhdWx0VHJlZX0gKHRoZSBub3RlIHRyZWUpIHdpdGggdGhlIHR3b1xuICogcGllY2VzIGl0IGRlbGliZXJhdGVseSBvbWl0czogc2VsZWN0ZWQgYC5vYnNpZGlhbi8qYCBjb25maWcgZmlsZXMsIGFuZCB0aGUgYnVpbHQgYmluYXJpZXMgKCsgYGRhdGEuanNvbmApXG4gKiBvZiBhbnkgZXh0cmEgY29tbXVuaXR5IHBsdWdpbnMgdGhlIGRlbW8gdmF1bHQgZGVwZW5kcyBvbiAoZS5nLiBDb2RlU2NyaXB0IFRvb2xraXQsIGBkZW1vLXZhdWx0LWhlbHBlcmApLlxuICpcbiAqIFBhaXJzIHdpdGggdGhlIGBlbmFibGVDb21tdW5pdHlQbHVnaW5zYCBvcHRpb24gb2YgdGhlIGdsb2JhbC1zZXR1cCBgY3JlYXRlU2V0dXBgOiB0aGlzIHNlZWRzIHRoZSBiaW5hcmllcyxcbiAqIHRoYXQgdHVybnMgdGhlbSBvbi4gSXQgaW50ZW50aW9uYWxseSBkb2VzIE5PVCB3cml0ZSBgY29tbXVuaXR5LXBsdWdpbnMuanNvbmAgXHUyMDE0IHRoZSBoYXJuZXNzIG93bnMgdGhhdCBmaWxlXG4gKiAoaXQgbGlzdHMgdGhlIHBsdWdpbi11bmRlci10ZXN0KSwgYW5kIGVuYWJsaW5nIHRoZSBleHRyYXMgcGVyc2lzdHMgdGhlbS5cbiAqL1xuXG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgcmVhZEZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgUG9wdWxhdGVGaWxlc1BhcmFtcyB9IGZyb20gJy4vdGVtcC12YXVsdC5tanMnO1xuXG5pbXBvcnQgeyByZWFkRGVtb1ZhdWx0VHJlZSB9IGZyb20gJy4vZGVtby12YXVsdC10cmVlLm1qcyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4vdHlwZS1ndWFyZHMubWpzJztcblxuY29uc3QgT0JTSURJQU5fQ09ORklHX0RJUiA9ICcub2JzaWRpYW4nO1xuY29uc3QgUExVR0lOU19ESVIgPSAncGx1Z2lucyc7XG5jb25zdCBEQVRBX0pTT04gPSAnZGF0YS5qc29uJztcbmNvbnN0IE1BTklGRVNUX0pTT04gPSAnbWFuaWZlc3QuanNvbic7XG5jb25zdCBNQUlOX0pTID0gJ21haW4uanMnO1xuY29uc3QgREFUQV9KU09OX0lOREVOVCA9IDI7XG5cbmNvbnN0IERFRkFVTFRfT0JTSURJQU5fQ09ORklHX0ZJTEVTID0gWydhcHAuanNvbicsICdhcHBlYXJhbmNlLmpzb24nLCAnY29yZS1wbHVnaW5zLmpzb24nXTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYnVpbGREZW1vVmF1bHRQb3B1bGF0ZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREZW1vVmF1bHRQb3B1bGF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBwbHVnaW4gcmVwbydzIGBkZW1vLXZhdWx0L2AgZGlyZWN0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb1ZhdWx0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lcyAob2YgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIG1hdGNoZWQgYXQgYW55IGRlcHRoKSB0byBza2lwIHdoaWxlIHJlYWRpbmcgdGhlIG5vdGUgdHJlZSBcdTIwMTQgZm9yd2FyZGVkIHRvXG4gICAqIHtAbGluayByZWFkRGVtb1ZhdWx0VHJlZX0uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbJy5naXQnLCAnLm9ic2lkaWFuJ11gXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlZE5hbWVzPzogSXRlcmFibGU8c3RyaW5nPjtcblxuICAvKipcbiAgICogQ29tbXVuaXR5IHBsdWdpbnMgdG8gc2VlZCBpbnRvIGAub2JzaWRpYW4vcGx1Z2lucy88cGx1Z2luSWQ+L2AgKGJpbmFyaWVzICsgb3B0aW9uYWwgYGRhdGEuanNvbmApLiBUdXJuXG4gICAqIHRoZW0gb24gd2l0aCB0aGUgZ2xvYmFsLXNldHVwIGBjcmVhdGVTZXR1cCh7IGVuYWJsZUNvbW11bml0eVBsdWdpbnMgfSlgIG9wdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGluamVjdFBsdWdpbnM/OiByZWFkb25seSBJbmplY3RQbHVnaW5QYXJhbXNbXTtcblxuICAvKipcbiAgICogYC5vYnNpZGlhbi8qYCBjb25maWcgZmlsZXMgdG8gY2Fycnkgb3ZlciBmcm9tIHRoZSBkZW1vIHZhdWx0LiB7QGxpbmsgcmVhZERlbW9WYXVsdFRyZWV9IGV4Y2x1ZGVzIHRoZSB3aG9sZVxuICAgKiBgLm9ic2lkaWFuYCBkaXJlY3RvcnksIHNvIGNvbmZpZyB0aGUgdmF1bHQgcmVsaWVzIG9uIChwcmV2aWV3LW1vZGUgZGVmYXVsdCwgY29yZSBwbHVnaW5zLCBhcHBlYXJhbmNlKSBtdXN0XG4gICAqIGJlIHJlLWFkZGVkIGV4cGxpY2l0bHkuIEZpbGVzIHRoYXQgZG8gbm90IGV4aXN0IGFyZSBza2lwcGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgWydhcHAuanNvbicsICdhcHBlYXJhbmNlLmpzb24nLCAnY29yZS1wbHVnaW5zLmpzb24nXWBcbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRmlsZXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBIGNvbW11bml0eSBwbHVnaW4gdG8gc2VlZCBpbnRvIHRoZSBkZW1vIHZhdWx0IGFsb25nc2lkZSB0aGUgbm90ZSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdFBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBPdmVybGF5IHdyaXR0ZW4gYXMgYC5vYnNpZGlhbi9wbHVnaW5zLzxwbHVnaW5JZD4vZGF0YS5qc29uYCAoSlNPTiwgMi1zcGFjZSBpbmRlbnQpLiBPbWl0IHRvIGtlZXAgd2hhdGV2ZXJcbiAgICogYGRhdGEuanNvbmAgKGlmIGFueSkgYWxyZWFkeSBsaXZlcyBpbiB7QGxpbmsgSW5qZWN0UGx1Z2luUGFyYW1zLnNvdXJjZURpcn0uXG4gICAqL1xuICByZWFkb25seSBkYXRhPzogdW5rbm93bjtcblxuICAvKipcbiAgICogVGhlIGNvbW11bml0eSBwbHVnaW4ncyBpZCAoaXRzIGAub2JzaWRpYW4vcGx1Z2lucy88cGx1Z2luSWQ+YCBmb2xkZXIgbmFtZSkuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaXJlY3RvcnkgdG8gcmVhZCB0aGUgcGx1Z2luJ3MgYnVpbHQgZmlsZXMgZnJvbS4gRXZlcnkgZmlsZSBkaXJlY3RseSBpbnNpZGUgaXQgaXMgY29waWVkIGludG9cbiAgICogYC5vYnNpZGlhbi9wbHVnaW5zLzxwbHVnaW5JZD4vYDsgYG1haW4uanNgIGFuZCBgbWFuaWZlc3QuanNvbmAgYXJlIHJlcXVpcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgPGRlbW9WYXVsdFBhdGg+Ly5vYnNpZGlhbi9wbHVnaW5zLzxwbHVnaW5JZD5gXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VEaXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBmdWxsIHBvcHVsYXRlIG1hcCBmb3IgYSBwbHVnaW4ncyBgZGVtby12YXVsdC9gOiB0aGUgbm90ZSB0cmVlLCB0aGUgc2VsZWN0ZWQgYC5vYnNpZGlhbi8qYCBjb25maWdcbiAqIGZpbGVzLCBhbmQgZXZlcnkgaW5qZWN0ZWQgcGx1Z2luJ3MgYmluYXJpZXMgKCsgb3B0aW9uYWwgYGRhdGEuanNvbmApLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGVQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIHBvcHVsYXRlIG1hcCwgcmVhZHkgdG8gaGFuZCB0byBhIGdsb2JhbCBzZXR1cCdzIGBwb3B1bGF0ZWAgb3Ige0BsaW5rIFRlbXBWYXVsdC5wb3B1bGF0ZX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERlbW9WYXVsdFBvcHVsYXRlKHBhcmFtczogQnVpbGREZW1vVmF1bHRQb3B1bGF0ZVBhcmFtcyk6IFBvcHVsYXRlRmlsZXNQYXJhbXMge1xuICBjb25zdCB7IGRlbW9WYXVsdFBhdGgsIGV4Y2x1ZGVkTmFtZXMsIGluamVjdFBsdWdpbnMgPSBbXSwgb2JzaWRpYW5Db25maWdGaWxlcyA9IERFRkFVTFRfT0JTSURJQU5fQ09ORklHX0ZJTEVTIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgbWFwID0gcmVhZERlbW9WYXVsdFRyZWUoZXhjbHVkZWROYW1lcyA9PT0gdW5kZWZpbmVkID8geyBkZW1vVmF1bHRQYXRoIH0gOiB7IGRlbW9WYXVsdFBhdGgsIGV4Y2x1ZGVkTmFtZXMgfSk7XG5cbiAgZm9yIChjb25zdCBjb25maWdGaWxlIG9mIG9ic2lkaWFuQ29uZmlnRmlsZXMpIHtcbiAgICBjb25zdCBjb25maWdQYXRoID0gam9pbihkZW1vVmF1bHRQYXRoLCBPQlNJRElBTl9DT05GSUdfRElSLCBjb25maWdGaWxlKTtcbiAgICBpZiAoZXhpc3RzU3luYyhjb25maWdQYXRoKSkge1xuICAgICAgbWFwW2Ake09CU0lESUFOX0NPTkZJR19ESVJ9LyR7Y29uZmlnRmlsZX1gXSA9IHJlYWRGaWxlU3luYyhjb25maWdQYXRoKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IHBsdWdpbiBvZiBpbmplY3RQbHVnaW5zKSB7XG4gICAgc2VlZFBsdWdpbihkZW1vVmF1bHRQYXRoLCBwbHVnaW4sIG1hcCk7XG4gIH1cblxuICByZXR1cm4gbWFwO1xufVxuXG4vKipcbiAqIFNlZWRzIG9uZSBpbmplY3RlZCBwbHVnaW4ncyBiaW5hcmllcyAoYW5kIG9wdGlvbmFsIGBkYXRhLmpzb25gKSBpbnRvIHRoZSBwb3B1bGF0ZSBtYXAuXG4gKlxuICogQHBhcmFtIGRlbW9WYXVsdFBhdGggLSBUaGUgZGVtbyB2YXVsdCByb290LCB1c2VkIHRvIHJlc29sdmUgdGhlIGRlZmF1bHQgc291cmNlIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHNlZWQuXG4gKiBAcGFyYW0gbWFwIC0gVGhlIHBvcHVsYXRlIG1hcCB0byB3cml0ZSBpbnRvLlxuICovXG5mdW5jdGlvbiBzZWVkUGx1Z2luKGRlbW9WYXVsdFBhdGg6IHN0cmluZywgcGx1Z2luOiBJbmplY3RQbHVnaW5QYXJhbXMsIG1hcDogUG9wdWxhdGVGaWxlc1BhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGRhdGEsIHBsdWdpbklkIH0gPSBwbHVnaW47XG4gIGNvbnN0IHNvdXJjZURpciA9IHBsdWdpbi5zb3VyY2VEaXIgPz8gam9pbihkZW1vVmF1bHRQYXRoLCBPQlNJRElBTl9DT05GSUdfRElSLCBQTFVHSU5TX0RJUiwgcGx1Z2luSWQpO1xuICBjb25zdCBwbHVnaW5QcmVmaXggPSBgJHtPQlNJRElBTl9DT05GSUdfRElSfS8ke1BMVUdJTlNfRElSfS8ke3BsdWdpbklkfWA7XG5cbiAgY29uc3QgZmlsZU5hbWVzID0gZXhpc3RzU3luYyhzb3VyY2VEaXIpXG4gICAgPyByZWFkZGlyU3luYyhzb3VyY2VEaXIsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSkubWFwKChlbnRyeSkgPT4gZW50cnkubmFtZSlcbiAgICA6IFtdO1xuXG4gIGZvciAoY29uc3QgcmVxdWlyZWRGaWxlIG9mIFtNQUlOX0pTLCBNQU5JRkVTVF9KU09OXSkge1xuICAgIGlmICghZmlsZU5hbWVzLmluY2x1ZGVzKHJlcXVpcmVkRmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENvbW11bml0eSBwbHVnaW4gXCIke3BsdWdpbklkfVwiIGlzIG5vdCBpbnN0YWxsZWQgaW4gdGhlIGRlbW8gdmF1bHQgKCR7am9pbihzb3VyY2VEaXIsIHJlcXVpcmVkRmlsZSl9IG1pc3NpbmcpLiBgXG4gICAgICAgICAgKyAnT3BlbiBkZW1vLXZhdWx0LyBpbiBPYnNpZGlhbiBvbmNlIHNvIGRlbW8tdmF1bHQtaGVscGVyIGluc3RhbGxzIGl0LCB0aGVuIHJlLXJ1bi4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZmlsZU5hbWVzKSB7XG4gICAgLy8gYGRhdGEuanNvbmAgaXMgcmVnZW5lcmF0ZWQgZnJvbSBgZGF0YWAgYmVsb3cgKHdoZW4gcHJvdmlkZWQpOyBza2lwIHRoZSBvbi1kaXNrIGNvcHkgdG8gYXZvaWQgc2VlZGluZyBpdCB0d2ljZS5cbiAgICBpZiAoZmlsZU5hbWUgPT09IERBVEFfSlNPTiAmJiBkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBtYXBbYCR7cGx1Z2luUHJlZml4fS8ke2ZpbGVOYW1lfWBdID0gcmVhZEZpbGVTeW5jKGpvaW4oc291cmNlRGlyLCBmaWxlTmFtZSkpO1xuICB9XG5cbiAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGFKc29uOiBzdHJpbmcgPSBlbnN1cmVOb25OdWxsYWJsZShKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCBEQVRBX0pTT05fSU5ERU5UKSk7XG4gICAgbWFwW2Ake3BsdWdpblByZWZpeH0vJHtEQVRBX0pTT059YF0gPSBgJHtkYXRhSnNvbn1cXG5gO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFhQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLFlBQVk7QUFJckIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyx5QkFBeUI7QUFFbEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sWUFBWTtBQUNsQixNQUFNLGdCQUFnQjtBQUN0QixNQUFNLFVBQVU7QUFDaEIsTUFBTSxtQkFBbUI7QUFFekIsTUFBTSxnQ0FBZ0MsQ0FBQyxZQUFZLG1CQUFtQixtQkFBbUI7QUFrRWxGLFNBQVMsdUJBQXVCLFFBQTJEO0FBQ2hHLFFBQU0sRUFBRSxlQUFlLGVBQWUsZ0JBQWdCLENBQUMsR0FBRyxzQkFBc0IsOEJBQThCLElBQUk7QUFFbEgsUUFBTSxNQUFNLGtCQUFrQixrQkFBa0IsU0FBWSxFQUFFLGNBQWMsSUFBSSxFQUFFLGVBQWUsY0FBYyxDQUFDO0FBRWhILGFBQVcsY0FBYyxxQkFBcUI7QUFDNUMsVUFBTSxhQUFhLEtBQUssZUFBZSxxQkFBcUIsVUFBVTtBQUN0RSxRQUFJLFdBQVcsVUFBVSxHQUFHO0FBQzFCLFVBQUksR0FBRyxtQkFBbUIsSUFBSSxVQUFVLEVBQUUsSUFBSSxhQUFhLFVBQVU7QUFBQSxJQUN2RTtBQUFBLEVBQ0Y7QUFFQSxhQUFXLFVBQVUsZUFBZTtBQUNsQyxlQUFXLGVBQWUsUUFBUSxHQUFHO0FBQUEsRUFDdkM7QUFFQSxTQUFPO0FBQ1Q7QUFTQSxTQUFTLFdBQVcsZUFBdUIsUUFBNEIsS0FBZ0M7QUFDckcsUUFBTSxFQUFFLE1BQU0sU0FBUyxJQUFJO0FBQzNCLFFBQU0sWUFBWSxPQUFPLGFBQWEsS0FBSyxlQUFlLHFCQUFxQixhQUFhLFFBQVE7QUFDcEcsUUFBTSxlQUFlLEdBQUcsbUJBQW1CLElBQUksV0FBVyxJQUFJLFFBQVE7QUFFdEUsUUFBTSxZQUFZLFdBQVcsU0FBUyxJQUNsQyxZQUFZLFdBQVcsRUFBRSxlQUFlLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLE1BQU0sT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLElBQzNHLENBQUM7QUFFTCxhQUFXLGdCQUFnQixDQUFDLFNBQVMsYUFBYSxHQUFHO0FBQ25ELFFBQUksQ0FBQyxVQUFVLFNBQVMsWUFBWSxHQUFHO0FBQ3JDLFlBQU0sSUFBSTtBQUFBLFFBQ1IscUJBQXFCLFFBQVEseUNBQXlDLEtBQUssV0FBVyxZQUFZLENBQUM7QUFBQSxNQUVyRztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsYUFBVyxZQUFZLFdBQVc7QUFFaEMsUUFBSSxhQUFhLGFBQWEsU0FBUyxRQUFXO0FBQ2hEO0FBQUEsSUFDRjtBQUNBLFFBQUksR0FBRyxZQUFZLElBQUksUUFBUSxFQUFFLElBQUksYUFBYSxLQUFLLFdBQVcsUUFBUSxDQUFDO0FBQUEsRUFDN0U7QUFFQSxNQUFJLFNBQVMsUUFBVztBQUN0QixVQUFNLFdBQW1CLGtCQUFrQixLQUFLLFVBQVUsTUFBTSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLFFBQUksR0FBRyxZQUFZLElBQUksU0FBUyxFQUFFLElBQUksR0FBRyxRQUFRO0FBQUE7QUFBQSxFQUNuRDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtcG9wdWxhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCdWlsZHMgYSBjb21wbGV0ZSB7QGxpbmsgUG9wdWxhdGVGaWxlc1BhcmFtc30gbWFwIGZvciBhIHBsdWdpbidzIGluLXJlcG8gYGRlbW8tdmF1bHQvYCwgcmVhZHkgdG8gc2VlZCBpbnRvXG4gKiB0aGUgdGVtcCB2YXVsdCBiZWZvcmUgT2JzaWRpYW4gb3BlbnMgaXQuIENvbXBvc2VzIHtAbGluayByZWFkRGVtb1ZhdWx0VHJlZX0gKHRoZSBub3RlIHRyZWUpIHdpdGggdGhlIHR3b1xuICogcGllY2VzIGl0IGRlbGliZXJhdGVseSBvbWl0czogc2VsZWN0ZWQgYC5vYnNpZGlhbi8qYCBjb25maWcgZmlsZXMsIGFuZCB0aGUgYnVpbHQgYmluYXJpZXMgKCsgYGRhdGEuanNvbmApXG4gKiBvZiBhbnkgZXh0cmEgY29tbXVuaXR5IHBsdWdpbnMgdGhlIGRlbW8gdmF1bHQgZGVwZW5kcyBvbiAoZS5nLiBDb2RlU2NyaXB0IFRvb2xraXQsIGBkZW1vLXZhdWx0LWhlbHBlcmApLlxuICpcbiAqIFBhaXJzIHdpdGggdGhlIGBlbmFibGVDb21tdW5pdHlQbHVnaW5zYCBvcHRpb24gb2YgdGhlIGdsb2JhbC1zZXR1cCBgY3JlYXRlU2V0dXBgOiB0aGlzIHNlZWRzIHRoZSBiaW5hcmllcyxcbiAqIHRoYXQgdHVybnMgdGhlbSBvbi4gSXQgaW50ZW50aW9uYWxseSBkb2VzIE5PVCB3cml0ZSBgY29tbXVuaXR5LXBsdWdpbnMuanNvbmAgXHUyMDE0IHRoZSBoYXJuZXNzIG93bnMgdGhhdCBmaWxlXG4gKiAoaXQgbGlzdHMgdGhlIHBsdWdpbi11bmRlci10ZXN0KSwgYW5kIGVuYWJsaW5nIHRoZSBleHRyYXMgcGVyc2lzdHMgdGhlbS5cbiAqL1xuXG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgcmVhZEZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgUG9wdWxhdGVGaWxlc1BhcmFtcyB9IGZyb20gJy4vdGVtcG9yYXJ5LXZhdWx0Lm1qcyc7XG5cbmltcG9ydCB7IHJlYWREZW1vVmF1bHRUcmVlIH0gZnJvbSAnLi9kZW1vLXZhdWx0LXRyZWUubWpzJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnLi90eXBlLWd1YXJkcy5tanMnO1xuXG5jb25zdCBPQlNJRElBTl9DT05GSUdfRElSID0gJy5vYnNpZGlhbic7XG5jb25zdCBQTFVHSU5TX0RJUiA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTiA9ICdkYXRhLmpzb24nO1xuY29uc3QgTUFOSUZFU1RfSlNPTiA9ICdtYW5pZmVzdC5qc29uJztcbmNvbnN0IE1BSU5fSlMgPSAnbWFpbi5qcyc7XG5jb25zdCBEQVRBX0pTT05fSU5ERU5UID0gMjtcblxuY29uc3QgREVGQVVMVF9PQlNJRElBTl9DT05GSUdfRklMRVMgPSBbJ2FwcC5qc29uJywgJ2FwcGVhcmFuY2UuanNvbicsICdjb3JlLXBsdWdpbnMuanNvbiddO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBidWlsZERlbW9WYXVsdFBvcHVsYXRlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZERlbW9WYXVsdFBvcHVsYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIHBsdWdpbiByZXBvJ3MgYGRlbW8tdmF1bHQvYCBkaXJlY3RvcnkuXG4gICAqL1xuICByZWFkb25seSBkZW1vVmF1bHRQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVzIChvZiBmaWxlcyBvciBkaXJlY3RvcmllcywgbWF0Y2hlZCBhdCBhbnkgZGVwdGgpIHRvIHNraXAgd2hpbGUgcmVhZGluZyB0aGUgbm90ZSB0cmVlIFx1MjAxNCBmb3J3YXJkZWQgdG9cbiAgICoge0BsaW5rIHJlYWREZW1vVmF1bHRUcmVlfS5cbiAgICpcbiAgICogQGRlZmF1bHQgYFsnLmdpdCcsICcub2JzaWRpYW4nXWBcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVkTmFtZXM/OiBJdGVyYWJsZTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBDb21tdW5pdHkgcGx1Z2lucyB0byBzZWVkIGludG8gYC5vYnNpZGlhbi9wbHVnaW5zLzxwbHVnaW5JZD4vYCAoYmluYXJpZXMgKyBvcHRpb25hbCBgZGF0YS5qc29uYCkuIFR1cm5cbiAgICogdGhlbSBvbiB3aXRoIHRoZSBnbG9iYWwtc2V0dXAgYGNyZWF0ZVNldHVwKHsgZW5hYmxlQ29tbXVuaXR5UGx1Z2lucyB9KWAgb3B0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5qZWN0UGx1Z2lucz86IHJlYWRvbmx5IEluamVjdFBsdWdpblBhcmFtc1tdO1xuXG4gIC8qKlxuICAgKiBgLm9ic2lkaWFuLypgIGNvbmZpZyBmaWxlcyB0byBjYXJyeSBvdmVyIGZyb20gdGhlIGRlbW8gdmF1bHQuIHtAbGluayByZWFkRGVtb1ZhdWx0VHJlZX0gZXhjbHVkZXMgdGhlIHdob2xlXG4gICAqIGAub2JzaWRpYW5gIGRpcmVjdG9yeSwgc28gY29uZmlnIHRoZSB2YXVsdCByZWxpZXMgb24gKHByZXZpZXctbW9kZSBkZWZhdWx0LCBjb3JlIHBsdWdpbnMsIGFwcGVhcmFuY2UpIG11c3RcbiAgICogYmUgcmUtYWRkZWQgZXhwbGljaXRseS4gRmlsZXMgdGhhdCBkbyBub3QgZXhpc3QgYXJlIHNraXBwZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbJ2FwcC5qc29uJywgJ2FwcGVhcmFuY2UuanNvbicsICdjb3JlLXBsdWdpbnMuanNvbiddYFxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGaWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgY29tbXVuaXR5IHBsdWdpbiB0byBzZWVkIGludG8gdGhlIGRlbW8gdmF1bHQgYWxvbmdzaWRlIHRoZSBub3RlIHRyZWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0UGx1Z2luUGFyYW1zIHtcbiAgLyoqXG4gICAqIE92ZXJsYXkgd3JpdHRlbiBhcyBgLm9ic2lkaWFuL3BsdWdpbnMvPHBsdWdpbklkPi9kYXRhLmpzb25gIChKU09OLCAyLXNwYWNlIGluZGVudCkuIE9taXQgdG8ga2VlcCB3aGF0ZXZlclxuICAgKiBgZGF0YS5qc29uYCAoaWYgYW55KSBhbHJlYWR5IGxpdmVzIGluIHtAbGluayBJbmplY3RQbHVnaW5QYXJhbXMuc291cmNlRGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE/OiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tbXVuaXR5IHBsdWdpbidzIGlkIChpdHMgYC5vYnNpZGlhbi9wbHVnaW5zLzxwbHVnaW5JZD5gIGZvbGRlciBuYW1lKS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSB0byByZWFkIHRoZSBwbHVnaW4ncyBidWlsdCBmaWxlcyBmcm9tLiBFdmVyeSBmaWxlIGRpcmVjdGx5IGluc2lkZSBpdCBpcyBjb3BpZWQgaW50b1xuICAgKiBgLm9ic2lkaWFuL3BsdWdpbnMvPHBsdWdpbklkPi9gOyBgbWFpbi5qc2AgYW5kIGBtYW5pZmVzdC5qc29uYCBhcmUgcmVxdWlyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGA8ZGVtb1ZhdWx0UGF0aD4vLm9ic2lkaWFuL3BsdWdpbnMvPHBsdWdpbklkPmBcbiAgICovXG5cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgZnVsbCBwb3B1bGF0ZSBtYXAgZm9yIGEgcGx1Z2luJ3MgYGRlbW8tdmF1bHQvYDogdGhlIG5vdGUgdHJlZSwgdGhlIHNlbGVjdGVkIGAub2JzaWRpYW4vKmAgY29uZmlnXG4gKiBmaWxlcywgYW5kIGV2ZXJ5IGluamVjdGVkIHBsdWdpbidzIGJpbmFyaWVzICgrIG9wdGlvbmFsIGBkYXRhLmpzb25gKS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBCdWlsZERlbW9WYXVsdFBvcHVsYXRlUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBwb3B1bGF0ZSBtYXAsIHJlYWR5IHRvIGhhbmQgdG8gYSBnbG9iYWwgc2V0dXAncyBgcG9wdWxhdGVgIG9yIHtAbGluayBUZW1wb3JhcnlWYXVsdC5wb3B1bGF0ZX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERlbW9WYXVsdFBvcHVsYXRlKHBhcmFtczogQnVpbGREZW1vVmF1bHRQb3B1bGF0ZVBhcmFtcyk6IFBvcHVsYXRlRmlsZXNQYXJhbXMge1xuICBjb25zdCB7IGRlbW9WYXVsdFBhdGgsIGV4Y2x1ZGVkTmFtZXMsIGluamVjdFBsdWdpbnMgPSBbXSwgb2JzaWRpYW5Db25maWdGaWxlcyA9IERFRkFVTFRfT0JTSURJQU5fQ09ORklHX0ZJTEVTIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgbWFwID0gcmVhZERlbW9WYXVsdFRyZWUoZXhjbHVkZWROYW1lcyA9PT0gdW5kZWZpbmVkID8geyBkZW1vVmF1bHRQYXRoIH0gOiB7IGRlbW9WYXVsdFBhdGgsIGV4Y2x1ZGVkTmFtZXMgfSk7XG5cbiAgZm9yIChjb25zdCBjb25maWdGaWxlIG9mIG9ic2lkaWFuQ29uZmlnRmlsZXMpIHtcbiAgICBjb25zdCBjb25maWdQYXRoID0gam9pbihkZW1vVmF1bHRQYXRoLCBPQlNJRElBTl9DT05GSUdfRElSLCBjb25maWdGaWxlKTtcbiAgICBpZiAoZXhpc3RzU3luYyhjb25maWdQYXRoKSkge1xuICAgICAgbWFwW2Ake09CU0lESUFOX0NPTkZJR19ESVJ9LyR7Y29uZmlnRmlsZX1gXSA9IHJlYWRGaWxlU3luYyhjb25maWdQYXRoKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IHBsdWdpbiBvZiBpbmplY3RQbHVnaW5zKSB7XG4gICAgc2VlZFBsdWdpbihkZW1vVmF1bHRQYXRoLCBwbHVnaW4sIG1hcCk7XG4gIH1cblxuICByZXR1cm4gbWFwO1xufVxuXG4vKipcbiAqIFNlZWRzIG9uZSBpbmplY3RlZCBwbHVnaW4ncyBiaW5hcmllcyAoYW5kIG9wdGlvbmFsIGBkYXRhLmpzb25gKSBpbnRvIHRoZSBwb3B1bGF0ZSBtYXAuXG4gKlxuICogQHBhcmFtIGRlbW9WYXVsdFBhdGggLSBUaGUgZGVtbyB2YXVsdCByb290LCB1c2VkIHRvIHJlc29sdmUgdGhlIGRlZmF1bHQgc291cmNlIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHNlZWQuXG4gKiBAcGFyYW0gbWFwIC0gVGhlIHBvcHVsYXRlIG1hcCB0byB3cml0ZSBpbnRvLlxuICovXG5mdW5jdGlvbiBzZWVkUGx1Z2luKGRlbW9WYXVsdFBhdGg6IHN0cmluZywgcGx1Z2luOiBJbmplY3RQbHVnaW5QYXJhbXMsIG1hcDogUG9wdWxhdGVGaWxlc1BhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGRhdGEsIHBsdWdpbklkIH0gPSBwbHVnaW47XG4gIGNvbnN0IHNvdXJjZURpcmVjdG9yeSA9IHBsdWdpbi5zb3VyY2VEaXJlY3RvcnkgPz8gam9pbihkZW1vVmF1bHRQYXRoLCBPQlNJRElBTl9DT05GSUdfRElSLCBQTFVHSU5TX0RJUiwgcGx1Z2luSWQpO1xuICBjb25zdCBwbHVnaW5QcmVmaXggPSBgJHtPQlNJRElBTl9DT05GSUdfRElSfS8ke1BMVUdJTlNfRElSfS8ke3BsdWdpbklkfWA7XG5cbiAgY29uc3QgZmlsZU5hbWVzID0gZXhpc3RzU3luYyhzb3VyY2VEaXJlY3RvcnkpXG4gICAgPyByZWFkZGlyU3luYyhzb3VyY2VEaXJlY3RvcnksIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSkubWFwKChlbnRyeSkgPT4gZW50cnkubmFtZSlcbiAgICA6IFtdO1xuXG4gIGZvciAoY29uc3QgcmVxdWlyZWRGaWxlIG9mIFtNQUlOX0pTLCBNQU5JRkVTVF9KU09OXSkge1xuICAgIGlmICghZmlsZU5hbWVzLmluY2x1ZGVzKHJlcXVpcmVkRmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENvbW11bml0eSBwbHVnaW4gXCIke3BsdWdpbklkfVwiIGlzIG5vdCBpbnN0YWxsZWQgaW4gdGhlIGRlbW8gdmF1bHQgKCR7am9pbihzb3VyY2VEaXJlY3RvcnksIHJlcXVpcmVkRmlsZSl9IG1pc3NpbmcpLiBgXG4gICAgICAgICAgKyAnT3BlbiBkZW1vLXZhdWx0LyBpbiBPYnNpZGlhbiBvbmNlIHNvIGRlbW8tdmF1bHQtaGVscGVyIGluc3RhbGxzIGl0LCB0aGVuIHJlLXJ1bi4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZmlsZU5hbWVzKSB7XG4gICAgLy8gYGRhdGEuanNvbmAgaXMgcmVnZW5lcmF0ZWQgZnJvbSBgZGF0YWAgYmVsb3cgKHdoZW4gcHJvdmlkZWQpOyBza2lwIHRoZSBvbi1kaXNrIGNvcHkgdG8gYXZvaWQgc2VlZGluZyBpdCB0d2ljZS5cbiAgICBpZiAoZmlsZU5hbWUgPT09IERBVEFfSlNPTiAmJiBkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBtYXBbYCR7cGx1Z2luUHJlZml4fS8ke2ZpbGVOYW1lfWBdID0gcmVhZEZpbGVTeW5jKGpvaW4oc291cmNlRGlyZWN0b3J5LCBmaWxlTmFtZSkpO1xuICB9XG5cbiAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGFKc29uOiBzdHJpbmcgPSBlbnN1cmVOb25OdWxsYWJsZShKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCBEQVRBX0pTT05fSU5ERU5UKSk7XG4gICAgbWFwW2Ake3BsdWdpblByZWZpeH0vJHtEQVRBX0pTT059YF0gPSBgJHtkYXRhSnNvbn1cXG5gO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFhQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLFlBQVk7QUFJckIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyx5QkFBeUI7QUFFbEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sWUFBWTtBQUNsQixNQUFNLGdCQUFnQjtBQUN0QixNQUFNLFVBQVU7QUFDaEIsTUFBTSxtQkFBbUI7QUFFekIsTUFBTSxnQ0FBZ0MsQ0FBQyxZQUFZLG1CQUFtQixtQkFBbUI7QUFtRWxGLFNBQVMsdUJBQXVCLFFBQTJEO0FBQ2hHLFFBQU0sRUFBRSxlQUFlLGVBQWUsZ0JBQWdCLENBQUMsR0FBRyxzQkFBc0IsOEJBQThCLElBQUk7QUFFbEgsUUFBTSxNQUFNLGtCQUFrQixrQkFBa0IsU0FBWSxFQUFFLGNBQWMsSUFBSSxFQUFFLGVBQWUsY0FBYyxDQUFDO0FBRWhILGFBQVcsY0FBYyxxQkFBcUI7QUFDNUMsVUFBTSxhQUFhLEtBQUssZUFBZSxxQkFBcUIsVUFBVTtBQUN0RSxRQUFJLFdBQVcsVUFBVSxHQUFHO0FBQzFCLFVBQUksR0FBRyxtQkFBbUIsSUFBSSxVQUFVLEVBQUUsSUFBSSxhQUFhLFVBQVU7QUFBQSxJQUN2RTtBQUFBLEVBQ0Y7QUFFQSxhQUFXLFVBQVUsZUFBZTtBQUNsQyxlQUFXLGVBQWUsUUFBUSxHQUFHO0FBQUEsRUFDdkM7QUFFQSxTQUFPO0FBQ1Q7QUFTQSxTQUFTLFdBQVcsZUFBdUIsUUFBNEIsS0FBZ0M7QUFDckcsUUFBTSxFQUFFLE1BQU0sU0FBUyxJQUFJO0FBQzNCLFFBQU0sa0JBQWtCLE9BQU8sbUJBQW1CLEtBQUssZUFBZSxxQkFBcUIsYUFBYSxRQUFRO0FBQ2hILFFBQU0sZUFBZSxHQUFHLG1CQUFtQixJQUFJLFdBQVcsSUFBSSxRQUFRO0FBRXRFLFFBQU0sWUFBWSxXQUFXLGVBQWUsSUFDeEMsWUFBWSxpQkFBaUIsRUFBRSxlQUFlLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLE1BQU0sT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLElBQ2pILENBQUM7QUFFTCxhQUFXLGdCQUFnQixDQUFDLFNBQVMsYUFBYSxHQUFHO0FBQ25ELFFBQUksQ0FBQyxVQUFVLFNBQVMsWUFBWSxHQUFHO0FBQ3JDLFlBQU0sSUFBSTtBQUFBLFFBQ1IscUJBQXFCLFFBQVEseUNBQXlDLEtBQUssaUJBQWlCLFlBQVksQ0FBQztBQUFBLE1BRTNHO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxhQUFXLFlBQVksV0FBVztBQUVoQyxRQUFJLGFBQWEsYUFBYSxTQUFTLFFBQVc7QUFDaEQ7QUFBQSxJQUNGO0FBQ0EsUUFBSSxHQUFHLFlBQVksSUFBSSxRQUFRLEVBQUUsSUFBSSxhQUFhLEtBQUssaUJBQWlCLFFBQVEsQ0FBQztBQUFBLEVBQ25GO0FBRUEsTUFBSSxTQUFTLFFBQVc7QUFDdEIsVUFBTSxXQUFtQixrQkFBa0IsS0FBSyxVQUFVLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixRQUFJLEdBQUcsWUFBWSxJQUFJLFNBQVMsRUFBRSxJQUFJLEdBQUcsUUFBUTtBQUFBO0FBQUEsRUFDbkQ7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Reads a plugin's in-repo `demo-vault/` tree into a populate map so a Vitest/Jest global setup can
|
|
5
5
|
* seed it into the temp vault BEFORE Obsidian opens it. Seeding pre-launch lets Obsidian's startup scan
|
|
6
6
|
* index every note in one pass, avoiding the file-watcher race that silently drops events under a bulk
|
|
7
|
-
* post-launch {@link
|
|
7
|
+
* post-launch {@link TemporaryVault.populate}.
|
|
8
8
|
*/
|
|
9
|
-
import type { PopulateFilesParams } from './
|
|
9
|
+
import type { PopulateFilesParams } from './temporary-vault.mjs';
|
|
10
10
|
/**
|
|
11
11
|
* Parameters for {@link readDemoVaultTree}.
|
|
12
12
|
*/
|
|
@@ -29,6 +29,6 @@ export interface ReadDemoVaultTreeParams {
|
|
|
29
29
|
* POSIX path to file bytes), skipping {@link ReadDemoVaultTreeParams.excludedNames}.
|
|
30
30
|
*
|
|
31
31
|
* @param params - The {@link ReadDemoVaultTreeParams}.
|
|
32
|
-
* @returns The populate map, ready to hand to {@link
|
|
32
|
+
* @returns The populate map, ready to hand to {@link TemporaryVault.populate} or a global setup's `populate`.
|
|
33
33
|
*/
|
|
34
34
|
export declare function readDemoVaultTree(params: ReadDemoVaultTreeParams): PopulateFilesParams;
|
|
@@ -15,12 +15,12 @@ function readDemoVaultTree(params) {
|
|
|
15
15
|
collect(demoVaultPath, demoVaultPath, excludedNames, map);
|
|
16
16
|
return map;
|
|
17
17
|
}
|
|
18
|
-
function collect(root,
|
|
19
|
-
for (const entry of readdirSync(
|
|
18
|
+
function collect(root, directory, excludedNames, map) {
|
|
19
|
+
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
20
20
|
if (excludedNames.has(entry.name)) {
|
|
21
21
|
continue;
|
|
22
22
|
}
|
|
23
|
-
const absolutePath = join(
|
|
23
|
+
const absolutePath = join(directory, entry.name);
|
|
24
24
|
if (entry.isDirectory()) {
|
|
25
25
|
collect(root, absolutePath, excludedNames, map);
|
|
26
26
|
continue;
|
|
@@ -32,4 +32,4 @@ function collect(root, dir, excludedNames, map) {
|
|
|
32
32
|
export {
|
|
33
33
|
readDemoVaultTree
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtdHJlZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlYWRzIGEgcGx1Z2luJ3MgaW4tcmVwbyBgZGVtby12YXVsdC9gIHRyZWUgaW50byBhIHBvcHVsYXRlIG1hcCBzbyBhIFZpdGVzdC9KZXN0IGdsb2JhbCBzZXR1cCBjYW5cbiAqIHNlZWQgaXQgaW50byB0aGUgdGVtcCB2YXVsdCBCRUZPUkUgT2JzaWRpYW4gb3BlbnMgaXQuIFNlZWRpbmcgcHJlLWxhdW5jaCBsZXRzIE9ic2lkaWFuJ3Mgc3RhcnR1cCBzY2FuXG4gKiBpbmRleCBldmVyeSBub3RlIGluIG9uZSBwYXNzLCBhdm9pZGluZyB0aGUgZmlsZS13YXRjaGVyIHJhY2UgdGhhdCBzaWxlbnRseSBkcm9wcyBldmVudHMgdW5kZXIgYSBidWxrXG4gKiBwb3N0LWxhdW5jaCB7QGxpbmsgVGVtcG9yYXJ5VmF1bHQucG9wdWxhdGV9LlxuICovXG5cbmltcG9ydCB7XG4gIHJlYWRkaXJTeW5jLFxuICByZWFkRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZSxcbiAgc2VwXG59IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgUG9wdWxhdGVGaWxlc1BhcmFtcyB9IGZyb20gJy4vdGVtcG9yYXJ5LXZhdWx0Lm1qcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlYWREZW1vVmF1bHRUcmVlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWFkRGVtb1ZhdWx0VHJlZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBkZW1vIHZhdWx0IGRpcmVjdG9yeSB0byByZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb1ZhdWx0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lcyAob2YgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIG1hdGNoZWQgYXQgYW55IGRlcHRoKSB0byBza2lwLiBEZWZhdWx0cyB0byBgLmdpdGAgYW5kIGAub2JzaWRpYW5gOlxuICAgKiB0aGUgaGFybmVzcyBwcm92aXNpb25zIGAub2JzaWRpYW4vcGx1Z2lucy88aWQ+YCBpdHNlbGYsIHNvIHRoZSB2YXVsdCdzIG93biBgLm9ic2lkaWFuYCBtdXN0IG5vdCBiZVxuICAgKiBjb3BpZWQgb3ZlciBpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYFsnLmdpdCcsICcub2JzaWRpYW4nXWBcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVkTmFtZXM/OiBJdGVyYWJsZTxzdHJpbmc+O1xufVxuXG5jb25zdCBERUZBVUxUX0VYQ0xVREVEX05BTUVTID0gWycuZ2l0JywgJy5vYnNpZGlhbiddO1xuXG4vKipcbiAqIFJlYWRzIGEgZGVtbyB2YXVsdCBkaXJlY3RvcnkgdHJlZSByZWN1cnNpdmVseSBpbnRvIGEge0BsaW5rIFBvcHVsYXRlRmlsZXNQYXJhbXN9IG1hcCAodmF1bHQtcmVsYXRpdmVcbiAqIFBPU0lYIHBhdGggdG8gZmlsZSBieXRlcyksIHNraXBwaW5nIHtAbGluayBSZWFkRGVtb1ZhdWx0VHJlZVBhcmFtcy5leGNsdWRlZE5hbWVzfS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZWFkRGVtb1ZhdWx0VHJlZVBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgcG9wdWxhdGUgbWFwLCByZWFkeSB0byBoYW5kIHRvIHtAbGluayBUZW1wb3JhcnlWYXVsdC5wb3B1bGF0ZX0gb3IgYSBnbG9iYWwgc2V0dXAncyBgcG9wdWxhdGVgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZERlbW9WYXVsdFRyZWUocGFyYW1zOiBSZWFkRGVtb1ZhdWx0VHJlZVBhcmFtcyk6IFBvcHVsYXRlRmlsZXNQYXJhbXMge1xuICBjb25zdCB7IGRlbW9WYXVsdFBhdGggfSA9IHBhcmFtcztcbiAgY29uc3QgZXhjbHVkZWROYW1lcyA9IG5ldyBTZXQocGFyYW1zLmV4Y2x1ZGVkTmFtZXMgPz8gREVGQVVMVF9FWENMVURFRF9OQU1FUyk7XG4gIGNvbnN0IG1hcDogUG9wdWxhdGVGaWxlc1BhcmFtcyA9IHt9O1xuICBjb2xsZWN0KGRlbW9WYXVsdFBhdGgsIGRlbW9WYXVsdFBhdGgsIGV4Y2x1ZGVkTmFtZXMsIG1hcCk7XG4gIHJldHVybiBtYXA7XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3Qocm9vdDogc3RyaW5nLCBkaXJlY3Rvcnk6IHN0cmluZywgZXhjbHVkZWROYW1lczogU2V0PHN0cmluZz4sIG1hcDogUG9wdWxhdGVGaWxlc1BhcmFtcyk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIHJlYWRkaXJTeW5jKGRpcmVjdG9yeSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pKSB7XG4gICAgaWYgKGV4Y2x1ZGVkTmFtZXMuaGFzKGVudHJ5Lm5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBqb2luKGRpcmVjdG9yeSwgZW50cnkubmFtZSk7XG4gICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbGxlY3Qocm9vdCwgYWJzb2x1dGVQYXRoLCBleGNsdWRlZE5hbWVzLCBtYXApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpdmVQYXRoID0gcmVsYXRpdmUocm9vdCwgYWJzb2x1dGVQYXRoKS5zcGxpdChzZXApLmpvaW4oJy8nKTtcbiAgICBtYXBbcmVsYXRpdmVQYXRoXSA9IHJlYWRGaWxlU3luYyhhYnNvbHV0ZVBhdGgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFTQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQXVCUCxNQUFNLHlCQUF5QixDQUFDLFFBQVEsV0FBVztBQVM1QyxTQUFTLGtCQUFrQixRQUFzRDtBQUN0RixRQUFNLEVBQUUsY0FBYyxJQUFJO0FBQzFCLFFBQU0sZ0JBQWdCLElBQUksSUFBSSxPQUFPLGlCQUFpQixzQkFBc0I7QUFDNUUsUUFBTSxNQUEyQixDQUFDO0FBQ2xDLFVBQVEsZUFBZSxlQUFlLGVBQWUsR0FBRztBQUN4RCxTQUFPO0FBQ1Q7QUFFQSxTQUFTLFFBQVEsTUFBYyxXQUFtQixlQUE0QixLQUFnQztBQUM1RyxhQUFXLFNBQVMsWUFBWSxXQUFXLEVBQUUsZUFBZSxLQUFLLENBQUMsR0FBRztBQUNuRSxRQUFJLGNBQWMsSUFBSSxNQUFNLElBQUksR0FBRztBQUNqQztBQUFBLElBQ0Y7QUFFQSxVQUFNLGVBQWUsS0FBSyxXQUFXLE1BQU0sSUFBSTtBQUMvQyxRQUFJLE1BQU0sWUFBWSxHQUFHO0FBQ3ZCLGNBQVEsTUFBTSxjQUFjLGVBQWUsR0FBRztBQUM5QztBQUFBLElBQ0Y7QUFFQSxVQUFNLGVBQWUsU0FBUyxNQUFNLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFLLEdBQUc7QUFDckUsUUFBSSxZQUFZLElBQUksYUFBYSxZQUFZO0FBQUEsRUFDL0M7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -23,9 +23,13 @@ export declare const DEFAULT_DEVICE_IDLE_TIMEOUT_IN_MILLISECONDS = 60000;
|
|
|
23
23
|
* Parameters for {@link checkDeviceIdle}.
|
|
24
24
|
*/
|
|
25
25
|
export interface CheckDeviceIdleParams {
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
/**
|
|
27
|
+
Raw stdout of `adb shell getprop init.svc.bootanim`.
|
|
28
|
+
*/
|
|
29
|
+
readonly bootAnimationProperty: string;
|
|
30
|
+
/**
|
|
31
|
+
Raw stdout of `adb shell cmd package list packages`.
|
|
32
|
+
*/
|
|
29
33
|
readonly packageListOutput: string;
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
@@ -2,8 +2,8 @@ const BOOT_ANIMATION_STOPPED_STATE = "stopped";
|
|
|
2
2
|
const PACKAGE_LINE_PREFIX = "package:";
|
|
3
3
|
const DEFAULT_DEVICE_IDLE_TIMEOUT_IN_MILLISECONDS = 6e4;
|
|
4
4
|
function checkDeviceIdle(params) {
|
|
5
|
-
const isBootAnimationStopped = params.
|
|
6
|
-
const isPackageManagerReady = params.packageListOutput.split("\n").some((line) => line.
|
|
5
|
+
const isBootAnimationStopped = params.bootAnimationProperty.trim() === BOOT_ANIMATION_STOPPED_STATE;
|
|
6
|
+
const isPackageManagerReady = params.packageListOutput.split("\n").some((line) => line.trimStart().startsWith(PACKAGE_LINE_PREFIX));
|
|
7
7
|
return isBootAnimationStopped && isPackageManagerReady;
|
|
8
8
|
}
|
|
9
9
|
function resolveDeviceIdleTimeoutInMilliseconds(options) {
|
|
@@ -14,4 +14,4 @@ export {
|
|
|
14
14
|
checkDeviceIdle,
|
|
15
15
|
resolveDeviceIdleTimeoutInMilliseconds
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RldmljZS1yZWFkaW5lc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIGRlY2lkaW5nIHdoZW4gYSBmcmVzaGx5LWJvb3RlZCBBbmRyb2lkIGVtdWxhdG9yIGlzIGlkbGVcbiAqIGVub3VnaCB0byBlc3RhYmxpc2ggYW4gQXBwaXVtIHNlc3Npb24sIHBsdXMgcmVzb2x2aW5nIHRoZSBpZGxlLXdhaXQgdGltZW91dFxuICogZnJvbSB0aGUgdHJhbnNwb3J0IG9wdGlvbnMuIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seVxuICogYHRyYW5zcG9ydC1mYWN0b3J5YCBzbyB0aGUgcGFyc2luZyBhbmQgZGVmYXVsdCByZXNvbHV0aW9uIHN0YXkgdW5pdC10ZXN0YWJsZVxuICogKHRoZSBmYWN0b3J5IGl0c2VsZiBuZWVkcyBhIHJlYWwgZW11bGF0b3IgYW5kIGlzIGV4Y2x1ZGVkIGZyb20gdW5pdCB0ZXN0cykuXG4gKlxuICogYHN5cy5ib290X2NvbXBsZXRlZGAgZmlyZXMgKmJlZm9yZSogdGhlIGd1ZXN0IGlzIGFjdHVhbGx5IGlkbGU6IHBhY2thZ2VcbiAqIG9wdGltaXphdGlvbiAoYGRleDJvYXRgKSBhbmQgc3lzdGVtIHNlcnZpY2VzIGtlZXAgY2h1cm5pbmcgYWZ0ZXIgaXQsIHNvIGFcbiAqIHNlc3Npb24gZXN0YWJsaXNoZWQgdGhlIGluc3RhbnQgaXQgZmlyZXMgbWFrZXMgZXZlcnkgb25lIG9mIFVpQXV0b21hdG9yMidzXG4gKiBzZXJpYWxpemVkIGBhZGJgIHJvdW5kLXRyaXBzIGNvbnRlbmQgd2l0aCB0aGF0IHdvcmsgYW5kIGluZmxhdGUgfjN4LiBHYXRpbmdcbiAqIHRoZSBzZXNzaW9uIG9uIGEgbGF0ZXIsIHF1aWV0ZXIgc2lnbmFsICh0aGUgYm9vdCBhbmltYXRpb24gaGFzIHN0b3BwZWQgYW5kXG4gKiB0aGUgcGFja2FnZSBtYW5hZ2VyIGlzIHNlcnZpbmcpIGxldHMgaXQgcnVuIGFnYWluc3QgYW4gaWRsZSBndWVzdCBpbnN0ZWFkLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMubWpzJztcblxuY29uc3QgQk9PVF9BTklNQVRJT05fU1RPUFBFRF9TVEFURSA9ICdzdG9wcGVkJztcbmNvbnN0IFBBQ0tBR0VfTElORV9QUkVGSVggPSAncGFja2FnZTonO1xuXG4vKipcbiAqIERlZmF1bHQgZm9yIHtAbGluayBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLmRldmljZUlkbGVUaW1lb3V0SW5NaWxsaXNlY29uZHN9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVZJQ0VfSURMRV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDYwXzAwMDtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY2hlY2tEZXZpY2VJZGxlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja0RldmljZUlkbGVQYXJhbXMge1xuICAvKipcbiAgUmF3IHN0ZG91dCBvZiBgYWRiIHNoZWxsIGdldHByb3AgaW5pdC5zdmMuYm9vdGFuaW1gLlxuICAgKi9cbiAgcmVhZG9ubHkgYm9vdEFuaW1hdGlvblByb3BlcnR5OiBzdHJpbmc7XG5cbiAgLyoqXG4gIFJhdyBzdGRvdXQgb2YgYGFkYiBzaGVsbCBjbWQgcGFja2FnZSBsaXN0IHBhY2thZ2VzYC5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VMaXN0T3V0cHV0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgYm9vdGVkIGVtdWxhdG9yIGlzIGlkbGUgZW5vdWdoIHRvIHN0YXJ0IGFuIEFwcGl1bSBzZXNzaW9uLFxuICogZnJvbSB0aGUgcmF3IG91dHB1dCBvZiB0aGUgdHdvIHByb2JlIGNvbW1hbmRzLlxuICpcbiAqIFRoZSBndWVzdCBpcyBjb25zaWRlcmVkIGlkbGUgb25jZSB0aGUgYm9vdCBhbmltYXRpb24gaGFzIHN0b3BwZWQgKiphbmQqKiB0aGVcbiAqIHBhY2thZ2UgbWFuYWdlciBpcyBzZXJ2aW5nIChpdCBsaXN0cyBhdCBsZWFzdCBvbmUgcGFja2FnZSkuIEJvdGggYXJlIGJpbmFyeSxcbiAqIGxhdGVyLXRoYW4tYHN5cy5ib290X2NvbXBsZXRlZGAgc2lnbmFscywgc28gdGhpcyByZXR1cm5zIGB0cnVlYCB3ZWxsIGFmdGVyIHRoZVxuICogcHJlbWF0dXJlIGJvb3QtY29tcGxldGVkIGZsYWcgYnV0IHdpdGhvdXQgYW55IGxhdGVuY3kgdGhyZXNob2xkcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHNhbXBsZWQgcHJvYmUgb3V0cHV0cy5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBndWVzdCBpcyBpZGxlIGVub3VnaCB0byBwcm9jZWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEZXZpY2VJZGxlKHBhcmFtczogQ2hlY2tEZXZpY2VJZGxlUGFyYW1zKTogYm9vbGVhbiB7XG4gIGNvbnN0IGlzQm9vdEFuaW1hdGlvblN0b3BwZWQgPSBwYXJhbXMuYm9vdEFuaW1hdGlvblByb3BlcnR5LnRyaW0oKSA9PT0gQk9PVF9BTklNQVRJT05fU1RPUFBFRF9TVEFURTtcbiAgY29uc3QgaXNQYWNrYWdlTWFuYWdlclJlYWR5ID0gcGFyYW1zLnBhY2thZ2VMaXN0T3V0cHV0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5zb21lKChsaW5lKSA9PiBsaW5lLnRyaW1TdGFydCgpLnN0YXJ0c1dpdGgoUEFDS0FHRV9MSU5FX1BSRUZJWCkpO1xuICByZXR1cm4gaXNCb290QW5pbWF0aW9uU3RvcHBlZCAmJiBpc1BhY2thZ2VNYW5hZ2VyUmVhZHk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBvc3QtYm9vdCBkZXZpY2UtaWRsZSB3YWl0IHRpbWVvdXQsIGFwcGx5aW5nIHRoZSBkZWZhdWx0IHdoZW5cbiAqIHRoZSBvcHRpb24gaXMgb21pdHRlZC5cbiAqXG4gKiBUaGlzIGJvdW5kcyBob3cgbG9uZyB0aGUgZmFjdG9yeSB3YWl0cyBmb3IgYSBmcmVzaGx5LXN0YXJ0ZWQgZW11bGF0b3IgdG9cbiAqIGJlY29tZSBpZGxlIChzZWUge0BsaW5rIGNoZWNrRGV2aWNlSWRsZX0pIGJlZm9yZSBlc3RhYmxpc2hpbmcgdGhlIHNlc3Npb24uIEFcbiAqIHZhbHVlIG9mIGAwYCBza2lwcyB0aGUgd2FpdCBlbnRpcmVseS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBBbmRyb2lkIEFwcGl1bSB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVEZXZpY2VJZGxlVGltZW91dEluTWlsbGlzZWNvbmRzKFxuICBvcHRpb25zOiBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zXG4pOiBudW1iZXIge1xuICByZXR1cm4gb3B0aW9ucy5kZXZpY2VJZGxlVGltZW91dEluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfREVWSUNFX0lETEVfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFtQkEsTUFBTSwrQkFBK0I7QUFDckMsTUFBTSxzQkFBc0I7QUFLckIsTUFBTSw4Q0FBOEM7QUE2QnBELFNBQVMsZ0JBQWdCLFFBQXdDO0FBQ3RFLFFBQU0seUJBQXlCLE9BQU8sc0JBQXNCLEtBQUssTUFBTTtBQUN2RSxRQUFNLHdCQUF3QixPQUFPLGtCQUNsQyxNQUFNLElBQUksRUFDVixLQUFLLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRSxXQUFXLG1CQUFtQixDQUFDO0FBQ2xFLFNBQU8sMEJBQTBCO0FBQ25DO0FBYU8sU0FBUyx1Q0FDZCxTQUNRO0FBQ1IsU0FBTyxRQUFRLG1DQUFtQztBQUNwRDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -36,4 +36,4 @@ function deriveEcmaScriptVersion(chromeVersion) {
|
|
|
36
36
|
export {
|
|
37
37
|
deriveEcmaScriptVersion
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VjbWFzY3JpcHQtdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgZGVyaXZhdGlvbiBvZiB0aGUgRUNNQVNjcmlwdCBsYW5ndWFnZSBsZXZlbCBzdXBwb3J0ZWQgYnkgYSBnaXZlblxuICogQ2hyb21pdW0gKFY4KSB2ZXJzaW9uLCBleHByZXNzZWQgYXMgYW4gRUNNQVNjcmlwdC1lZGl0aW9uIHN0cmluZyAoZS5nLiBgJ0VTMjAyMidgKS5cbiAqXG4gKiBBIHNlcmlhbGl6ZWQgYGV2YWxJbk9ic2lkaWFuYCBjbG9zdXJlIHJ1bnMgaW4gT2JzaWRpYW4ncyBDaHJvbWl1bSByZW5kZXJlciwgc29cbiAqIHRoZSBFUyBmZWF0dXJlcyBpdCBtYXkgc2FmZWx5IHVzZSBhcmUgYm91bmRlZCBieSB0aGF0IHNoZWxsJ3MgQ2hyb21pdW0gdmVyc2lvbi5cbiAqIFRoZSBlbXBpcmljYWxseS1jb2xsZWN0ZWQgYHJ1bnRpbWVWZXJzaW9ucy5jaHJvbWVgIChzZWVcbiAqIHtAbGluayBPYnNpZGlhblJ1bnRpbWVWZXJzaW9uc30gYW5kIGBzY3JpcHRzL2NvbGxlY3QtcnVudGltZS12ZXJzaW9ucy50c2ApIGlzXG4gKiBmZWQgdGhyb3VnaCB7QGxpbmsgZGVyaXZlRWNtYVNjcmlwdFZlcnNpb259IHRvIGJha2UgYSBwZXItdmVyc2lvblxuICogYGVjbWFTY3JpcHRWZXJzaW9uYCBpbnRvIGBtZXRhZGF0YS5qc29uYCwgc28gYSBjb25zdW1lciBwaW5uaW5nIGFuIGluc3RhbGxlciBjYW5cbiAqIHRlbGwgb2ZmbGluZSB3aGljaCBFUyBsZXZlbCBpcyBzYWZlLlxuICpcbiAqIFRoZSBDaHJvbWl1bS1tYWpvciBcdTIxOTIgRVMteWVhciBicmVha3BvaW50cyBiZWxvdyBhcmUgdGhlIENocm9taXVtIHJlbGVhc2VzIGF0XG4gKiB3aGljaCBlYWNoIHllYXJseSBFQ01BU2NyaXB0IGVkaXRpb24gYmVjYW1lIGZ1bGx5IHN1cHBvcnRlZCwgcGVyIE1ETiAvXG4gKiBjYW5pdXNlIC8gdGhlIEVDTUFTY3JpcHQgY29tcGF0aWJpbGl0eSB0YWJsZXMuIFRoZXkgYXJlIGEgY3VyYXRlZCB0YWJsZSwgbm90XG4gKiBkZXJpdmVkIGZyb20gYW55dGhpbmcgZWxzZSwgc28gdGhpcyBtb2R1bGUgaXMgcHVyZSBhbmQgdW5pdC10ZXN0ZWQgdG8gdGhlIDEwMCUgZ2F0ZS5cbiAqL1xuXG4vKipcbiAqIE9uZSBDaHJvbWl1bS1tYWpvciBcdTIxOTIgRUNNQVNjcmlwdC1lZGl0aW9uIGJyZWFrcG9pbnQuXG4gKi9cbmludGVyZmFjZSBFY21hU2NyaXB0QnJlYWtwb2ludCB7XG4gIC8qKlxuICBUaGUgRUNNQVNjcmlwdC1lZGl0aW9uIGxhYmVsIChlLmcuIGAnRVMyMDIyJ2ApIHN1cHBvcnRlZCBmcm9tIHtAbGluayBtaW5DaHJvbWVNYWpvcn0gb253YXJkLlxuICAgKi9cbiAgcmVhZG9ubHkgZWNtYVNjcmlwdFZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgVGhlIGxvd2VzdCBDaHJvbWl1bSBtYWpvciB0aGF0IGZ1bGx5IHN1cHBvcnRzIHtAbGluayBlY21hU2NyaXB0VmVyc2lvbn0uXG4gICAqL1xuICByZWFkb25seSBtaW5DaHJvbWVNYWpvcjogbnVtYmVyO1xufVxuXG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxNSA9IDUxO1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMTYgPSA1MjtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE3ID0gNTg7XG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxOCA9IDY0O1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMTkgPSA3MztcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDIwID0gODA7XG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMSA9IDg1O1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMjIgPSA5NDtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDIzID0gMTEwO1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMjQgPSAxMjI7XG5cbi8qKlxuICogQ2hyb21pdW0tbWFqb3IgXHUyMTkyIEVDTUFTY3JpcHQtZWRpdGlvbiBicmVha3BvaW50cywgc29ydGVkIGJ5XG4gKiB7QGxpbmsgRWNtYVNjcmlwdEJyZWFrcG9pbnQubWluQ2hyb21lTWFqb3J9IGRlc2NlbmRpbmcgc28gdGhlIGZpcnN0IGVudHJ5IHdob3NlXG4gKiB0aHJlc2hvbGQgaXMgbWV0IGlzIHRoZSBoaWdoZXN0IHN1cHBvcnRlZCBlZGl0aW9uIChmaXJzdC1tYXRjaC13aW5zKS5cbiAqL1xuY29uc3QgRUNNQV9TQ1JJUFRfQlJFQUtQT0lOVFM6IHJlYWRvbmx5IEVjbWFTY3JpcHRCcmVha3BvaW50W10gPSBbXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMjQnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMjQgfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAyMycsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMyB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDIyJywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDIyIH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMjEnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMjEgfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAyMCcsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMCB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDE5JywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE5IH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMTgnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMTggfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAxNycsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxNyB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDE2JywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE2IH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMTUnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMTUgfVxuXTtcblxuY29uc3QgREVDSU1BTF9SQURJWCA9IDEwO1xuXG4vKipcbiAqIERlcml2ZXMgdGhlIGhpZ2hlc3QgZnVsbHktc3VwcG9ydGVkIEVDTUFTY3JpcHQgZWRpdGlvbiBmb3IgYSBDaHJvbWl1bSB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSBjaHJvbWVWZXJzaW9uIC0gQSBDaHJvbWl1bSB2ZXJzaW9uIHN0cmluZyAoZS5nLiBgJzExNC4wLjU3MzUuMjg5J2ApO1xuICogICBvbmx5IHRoZSBsZWFkaW5nIG1ham9yIHNlZ21lbnQgaXMgc2lnbmlmaWNhbnQuXG4gKiBAcmV0dXJucyBUaGUgRUNNQVNjcmlwdC1lZGl0aW9uIGxhYmVsIChlLmcuIGAnRVMyMDIyJ2ApLCBvciBgdW5kZWZpbmVkYCB3aGVuIHRoZVxuICogICB2ZXJzaW9uIGNhbm5vdCBiZSBwYXJzZWQgb3IgaXRzIENocm9taXVtIG1ham9yIHByZWRhdGVzIHRoZSBlYXJsaWVzdCB0cmFja2VkIGVkaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVFY21hU2NyaXB0VmVyc2lvbihjaHJvbWVWZXJzaW9uOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAvLyBgcGFyc2VJbnRgIHJlYWRzIHRoZSBsZWFkaW5nIGludGVnZXIsIHNvIGAnMTE0LjAuNTczNS4yODknYCB5aWVsZHMgMTE0LlxuICAvLyBBIG5vbi1udW1lcmljIHN0cmluZyB5aWVsZHMgYE5hTmAgXHUyMDE0IG5vIHNwbGl0LCBzbyBubyBkZWFkIGluZGV4LWFjY2VzcyBicmFuY2guXG4gIGNvbnN0IGNocm9tZU1ham9yID0gTnVtYmVyLnBhcnNlSW50KGNocm9tZVZlcnNpb24sIERFQ0lNQUxfUkFESVgpO1xuICBpZiAoTnVtYmVyLmlzTmFOKGNocm9tZU1ham9yKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBmb3IgKGNvbnN0IGJyZWFrcG9pbnQgb2YgRUNNQV9TQ1JJUFRfQlJFQUtQT0lOVFMpIHtcbiAgICBpZiAoY2hyb21lTWFqb3IgPj0gYnJlYWtwb2ludC5taW5DaHJvbWVNYWpvcikge1xuICAgICAgcmV0dXJuIGJyZWFrcG9pbnQuZWNtYVNjcmlwdFZlcnNpb247XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQW1DQSxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQU9oQyxNQUFNLDBCQUEyRDtBQUFBLEVBQy9ELEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUFBLEVBQ3ZFLEVBQUUsbUJBQW1CLFVBQVUsZ0JBQWdCLHdCQUF3QjtBQUN6RTtBQUVBLE1BQU0sZ0JBQWdCO0FBVWYsU0FBUyx3QkFBd0IsZUFBMkM7QUFHakYsUUFBTSxjQUFjLE9BQU8sU0FBUyxlQUFlLGFBQWE7QUFDaEUsTUFBSSxPQUFPLE1BQU0sV0FBVyxHQUFHO0FBQzdCLFdBQU87QUFBQSxFQUNUO0FBRUEsYUFBVyxjQUFjLHlCQUF5QjtBQUNoRCxRQUFJLGVBQWUsV0FBVyxnQkFBZ0I7QUFDNUMsYUFBTyxXQUFXO0FBQUEsSUFDcEI7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|