obsidian-integration-testing 8.2.0 → 8.3.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.
Files changed (38) hide show
  1. package/dist/lib/cjs/compatibility-options.cjs +51 -0
  2. package/dist/lib/cjs/compatibility-options.d.cts +71 -0
  3. package/dist/lib/cjs/connect-to-cdp.cjs +11 -2
  4. package/dist/lib/cjs/connect-to-cdp.d.cts +39 -2
  5. package/dist/lib/cjs/electron-compatibility.cjs +46 -0
  6. package/dist/lib/cjs/electron-compatibility.d.cts +74 -0
  7. package/dist/lib/cjs/index.cjs +4 -1
  8. package/dist/lib/cjs/index.d.cts +2 -0
  9. package/dist/lib/cjs/installer-compatibility.cjs +1 -1
  10. package/dist/lib/cjs/installer-compatibility.d.cts +4 -1
  11. package/dist/lib/cjs/library.cjs +1 -1
  12. package/dist/lib/cjs/spawn-options.cjs +42 -0
  13. package/dist/lib/cjs/spawn-options.d.cts +60 -0
  14. package/dist/lib/cjs/transport-desktop-cdp.cjs +55 -1
  15. package/dist/lib/cjs/transport-desktop-cdp.d.cts +46 -1
  16. package/dist/lib/cjs/transport-factory.cjs +34 -11
  17. package/dist/lib/cjs/transport-options.cjs +1 -1
  18. package/dist/lib/cjs/transport-options.d.cts +32 -0
  19. package/dist/lib/esm/compatibility-options.d.mts +71 -0
  20. package/dist/lib/esm/compatibility-options.mjs +25 -0
  21. package/dist/lib/esm/connect-to-cdp.d.mts +39 -2
  22. package/dist/lib/esm/connect-to-cdp.mjs +11 -2
  23. package/dist/lib/esm/electron-compatibility.d.mts +74 -0
  24. package/dist/lib/esm/electron-compatibility.mjs +22 -0
  25. package/dist/lib/esm/index.d.mts +2 -0
  26. package/dist/lib/esm/index.mjs +3 -1
  27. package/dist/lib/esm/installer-compatibility.d.mts +4 -1
  28. package/dist/lib/esm/installer-compatibility.mjs +1 -1
  29. package/dist/lib/esm/library.mjs +1 -1
  30. package/dist/lib/esm/spawn-options.d.mts +60 -0
  31. package/dist/lib/esm/spawn-options.mjs +17 -0
  32. package/dist/lib/esm/transport-desktop-cdp.d.mts +46 -1
  33. package/dist/lib/esm/transport-desktop-cdp.mjs +55 -1
  34. package/dist/lib/esm/transport-factory.mjs +41 -11
  35. package/dist/lib/esm/transport-options.d.mts +32 -0
  36. package/dist/obsidian-integration-testing-8.3.0.tgz +0 -0
  37. package/package.json +9 -9
  38. package/dist/obsidian-integration-testing-8.2.0.tgz +0 -0
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var compatibility_options_exports = {};
20
+ __export(compatibility_options_exports, {
21
+ resolveInstallerCompatibilityAction: () => resolveInstallerCompatibilityAction,
22
+ resolveShouldThrowOnIncompatibleInstaller: () => resolveShouldThrowOnIncompatibleInstaller,
23
+ resolveShouldWarnOnCompatibilityIssues: () => resolveShouldWarnOnCompatibilityIssues
24
+ });
25
+ module.exports = __toCommonJS(compatibility_options_exports);
26
+ function resolveInstallerCompatibilityAction(params) {
27
+ const { shouldThrowOnIncompatibleInstaller, shouldWarnOnCompatibilityIssues, tier } = params;
28
+ if (tier === "unrunnable") {
29
+ if (shouldThrowOnIncompatibleInstaller) {
30
+ return "throw";
31
+ }
32
+ return shouldWarnOnCompatibilityIssues ? "warn-unrunnable" : "silent";
33
+ }
34
+ if (tier === "nagged") {
35
+ return shouldWarnOnCompatibilityIssues ? "warn-nagged" : "silent";
36
+ }
37
+ return "silent";
38
+ }
39
+ function resolveShouldThrowOnIncompatibleInstaller(shouldThrowOnIncompatibleInstaller) {
40
+ return shouldThrowOnIncompatibleInstaller ?? true;
41
+ }
42
+ function resolveShouldWarnOnCompatibilityIssues(shouldWarnOnCompatibilityIssues) {
43
+ return shouldWarnOnCompatibilityIssues ?? true;
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ resolveInstallerCompatibilityAction,
48
+ resolveShouldThrowOnIncompatibleInstaller,
49
+ resolveShouldWarnOnCompatibilityIssues
50
+ });
51
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbXBhdGliaWxpdHktb3B0aW9ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgcmVzb2x1dGlvbiBvZiB0aGUgdHdvIG93bmVkLWluc3RhbmNlIGNvbXBhdGliaWxpdHkga25vYnMgXHUyMDE0IHdoZXRoZXIgdGhlXG4gKiBpbnN0YWxsZXJcdTIxOTRhcHAgLyBydW50aW1lLUVsZWN0cm9uIG5hZyB3YXJuaW5ncyBhcmUgZW1pdHRlZCwgYW5kIHdoZXRoZXIgYW5cbiAqIGAndW5ydW5uYWJsZSdgIGluc3RhbGxlclx1MjE5NGFwcCBwYWlyIGZhaWxzIGZhc3Qgd2l0aFxuICoge0BsaW5rIEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcn0gYmVmb3JlIGxhdW5jaC5cbiAqXG4gKiBCb3RoIGRlZmF1bHQgdG8gdG9kYXkncyBiZWhhdmlvciAoYHRydWVgKTogd2FybmluZ3Mgb24sIGFuZCBhbiB1bnJ1bm5hYmxlIHBpblxuICogdGhyb3dzIHByb2FjdGl2ZWx5LiBTZXR0aW5nIGBzaG91bGRXYXJuT25Db21wYXRpYmlsaXR5SXNzdWVzYCB0byBgZmFsc2VgXG4gKiBzaWxlbmNlcyBib3RoIG5hZ3MgKHRoZSB2ZXJkaWN0cyBhcmUgc3RpbGwgY29tcHV0ZWQgYW5kIHN1cmZhY2VkIGFzIGRhdGEpO1xuICogc2V0dGluZyBgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcmAgdG8gYGZhbHNlYCBsZXRzIGFuIHVucnVubmFibGUgcGluXG4gKiBwcm9jZWVkIHRvIGxhdW5jaCwgd2hlcmUgdGhlIHJlYWN0aXZlIGRlYWQtYm9vdCBmYXN0LWZhaWxcbiAqIChgUmVuZGVyZXJGYWlsZWRUb0luaXRpYWxpemVFcnJvcmApIHN0aWxsIGNhdGNoZXMgaXQuXG4gKlxuICogS2VwdCBzZXBhcmF0ZSBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IGxhdW5jaCBjb2RlIChgdHJhbnNwb3J0LWZhY3RvcnlgLFxuICogYHRyYW5zcG9ydC1kZXNrdG9wLWNkcGAsIGJvdGggZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKSBzbyB0aGUgZGVmYXVsdFxuICogcmVzb2x1dGlvbiBzdGF5cyB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGB2aXNpYmlsaXR5LnRzYCAvXG4gKiBgYXBwaXVtLXNlc3Npb24tY29uZmlnLnRzYCBwdXJlLXJlc29sdmVyIHNwbGl0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgSW5zdGFsbGVyQ29tcGF0aWJpbGl0eVRpZXIgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LmNqcyc7XG5cbi8qKlxuICogVGhlIGFjdGlvbiB0byB0YWtlIGZvciBhIHJlc29sdmVkIGluc3RhbGxlclx1MjE5NGFwcCBjb21wYXRpYmlsaXR5IHZlcmRpY3QsIGdpdmVuXG4gKiB0aGUgdGhyb3cvd2FybiBrbm9icy5cbiAqXG4gKiAtIGAndGhyb3cnYCBcdTIwMTQgdGhlIHZlcmRpY3QgaXMgYCd1bnJ1bm5hYmxlJ2AgYW5kIHRoZSBwcm9hY3RpdmUgdGhyb3cgaXMgZW5hYmxlZDtcbiAqICAgdGhlIGNhbGxlciB0aHJvd3MgYEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcmAgYmVmb3JlIGxhdW5jaC5cbiAqIC0gYCd3YXJuLXVucnVubmFibGUnYCBcdTIwMTQgdGhlIHZlcmRpY3QgaXMgYCd1bnJ1bm5hYmxlJ2AgYnV0IHRoZSB0aHJvdyBpcyBkaXNhYmxlZFxuICogICBhbmQgd2FybmluZ3MgYXJlIG9uOyB0aGUgY2FsbGVyIGxvZ3MgYSBcInByb2NlZWRpbmcgdG8gbGF1bmNoXCIgd2FybmluZyBhbmRcbiAqICAgbGV0cyB0aGUgYm9vdCBwcm9jZWVkICh3aGVyZSB0aGUgcmVhY3RpdmUgZGVhZC1ib290IGZhc3QtZmFpbCBjYXRjaGVzIGl0KS5cbiAqIC0gYCd3YXJuLW5hZ2dlZCdgIFx1MjAxNCB0aGUgdmVyZGljdCBpcyBgJ25hZ2dlZCdgIGFuZCB3YXJuaW5ncyBhcmUgb247IHRoZSBjYWxsZXJcbiAqICAgbG9ncyB0aGUgcmVjb21tZW5kZWQtaW5zdGFsbGVyIHdhcm5pbmcuXG4gKiAtIGAnc2lsZW50J2AgXHUyMDE0IG5vdGhpbmcgdG8gZG8gKGAnb2snYCAvIGAndW5rbm93bidgLCBvciB3YXJuaW5ncyBkaXNhYmxlZCkuXG4gKi9cbmV4cG9ydCB0eXBlIEluc3RhbGxlckNvbXBhdGliaWxpdHlBY3Rpb24gPSAnc2lsZW50JyB8ICd0aHJvdycgfCAnd2Fybi1uYWdnZWQnIHwgJ3dhcm4tdW5ydW5uYWJsZSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVJbnN0YWxsZXJDb21wYXRpYmlsaXR5QWN0aW9ufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlSW5zdGFsbGVyQ29tcGF0aWJpbGl0eUFjdGlvblBhcmFtcyB7XG4gIC8qKiBXaGV0aGVyIGFuIGAndW5ydW5uYWJsZSdgIHZlcmRpY3QgdGhyb3dzICh2cy4gcHJvY2VlZHMgdG8gbGF1bmNoKS4gKi9cbiAgcmVhZG9ubHkgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcjogYm9vbGVhbjtcblxuICAvKiogV2hldGhlciBhIG5hZyAvIHByb2NlZWRpbmctdW5ydW5uYWJsZSB2ZXJkaWN0IGlzIGxvZ2dlZC4gKi9cbiAgcmVhZG9ubHkgc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlczogYm9vbGVhbjtcblxuICAvKiogVGhlIHJlc29sdmVkIGluc3RhbGxlclx1MjE5NGFwcCBjb21wYXRpYmlsaXR5IHRpZXIuICovXG4gIHJlYWRvbmx5IHRpZXI6IEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHdoYXQgdG8gZG8gZm9yIGFuIGluc3RhbGxlclx1MjE5NGFwcCBjb21wYXRpYmlsaXR5IHZlcmRpY3QsIGdpdmVuIHRoZVxuICogdGhyb3cvd2FybiBrbm9icy4gUHVyZSBcdTIwMTQgdGhlIGNhbGxlciBwZXJmb3JtcyB0aGUgdGhyb3cvbG9nIHNpZGUgZWZmZWN0cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHZlcmRpY3QgdGllciBhbmQgdGhlIHJlc29sdmVkIHRocm93L3dhcm4ga25vYnMuXG4gKiBAcmV0dXJucyBUaGUgYWN0aW9uIHRoZSBjYWxsZXIgc2hvdWxkIHRha2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSW5zdGFsbGVyQ29tcGF0aWJpbGl0eUFjdGlvbihwYXJhbXM6IFJlc29sdmVJbnN0YWxsZXJDb21wYXRpYmlsaXR5QWN0aW9uUGFyYW1zKTogSW5zdGFsbGVyQ29tcGF0aWJpbGl0eUFjdGlvbiB7XG4gIGNvbnN0IHsgc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlciwgc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlcywgdGllciB9ID0gcGFyYW1zO1xuXG4gIGlmICh0aWVyID09PSAndW5ydW5uYWJsZScpIHtcbiAgICBpZiAoc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcikge1xuICAgICAgcmV0dXJuICd0aHJvdyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXMgPyAnd2Fybi11bnJ1bm5hYmxlJyA6ICdzaWxlbnQnO1xuICB9XG5cbiAgaWYgKHRpZXIgPT09ICduYWdnZWQnKSB7XG4gICAgcmV0dXJuIHNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXMgPyAnd2Fybi1uYWdnZWQnIDogJ3NpbGVudCc7XG4gIH1cblxuICByZXR1cm4gJ3NpbGVudCc7XG59XG5cbi8qKlxuICogV2hldGhlciBhbiBgJ3VucnVubmFibGUnYCBpbnN0YWxsZXJcdTIxOTRhcHAgcGFpciBzaG91bGQgZmFpbCBmYXN0IHdpdGhcbiAqIHtAbGluayBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3J9IGJlZm9yZSBsYXVuY2guXG4gKlxuICogQHBhcmFtIHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXIgLSBUaGUgcmVzb2x2ZWQgb3B0aW9uIHZhbHVlIChvbWl0dGVkIFx1MjE5MiB0aHJvdykuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiBhbiB1bnJ1bm5hYmxlIHBpbiBzaG91bGQgdGhyb3cgKHRoZSBkZWZhdWx0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyKHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXI/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiBzaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyID8/IHRydWU7XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgb3duZWQtaW5zdGFuY2UgY29tcGF0aWJpbGl0eSBuYWcgd2FybmluZ3Mgc2hvdWxkIGJlIGVtaXR0ZWQgKGJvdGhcbiAqIHRoZSBpbnN0YWxsZXJcdTIxOTRhcHAgYCduYWdnZWQnYCB3YXJuaW5nIGFuZCB0aGUgcnVudGltZS1FbGVjdHJvbiBgJ25hZ2dlZCdgXG4gKiB3YXJuaW5nKS5cbiAqXG4gKiBAcGFyYW0gc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlcyAtIFRoZSByZXNvbHZlZCBvcHRpb24gdmFsdWUgKG9taXR0ZWQgXHUyMTkyIHdhcm4pLlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIHdhcm5pbmdzIHNob3VsZCBiZSBlbWl0dGVkICh0aGUgZGVmYXVsdCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlcyhzaG91bGRXYXJuT25Db21wYXRpYmlsaXR5SXNzdWVzPzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICByZXR1cm4gc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlcyA/PyB0cnVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyRE8sU0FBUyxvQ0FBb0MsUUFBaUY7QUFDbkksUUFBTSxFQUFFLG9DQUFvQyxpQ0FBaUMsS0FBSyxJQUFJO0FBRXRGLE1BQUksU0FBUyxjQUFjO0FBQ3pCLFFBQUksb0NBQW9DO0FBQ3RDLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxrQ0FBa0Msb0JBQW9CO0FBQUEsRUFDL0Q7QUFFQSxNQUFJLFNBQVMsVUFBVTtBQUNyQixXQUFPLGtDQUFrQyxnQkFBZ0I7QUFBQSxFQUMzRDtBQUVBLFNBQU87QUFDVDtBQVNPLFNBQVMsMENBQTBDLG9DQUF1RDtBQUMvRyxTQUFPLHNDQUFzQztBQUMvQztBQVVPLFNBQVMsdUNBQXVDLGlDQUFvRDtBQUN6RyxTQUFPLG1DQUFtQztBQUM1QzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Pure resolution of the two owned-instance compatibility knobs — whether the
5
+ * installer↔app / runtime-Electron nag warnings are emitted, and whether an
6
+ * `'unrunnable'` installer↔app pair fails fast with
7
+ * {@link IncompatibleInstallerVersionError} before launch.
8
+ *
9
+ * Both default to today's behavior (`true`): warnings on, and an unrunnable pin
10
+ * throws proactively. Setting `shouldWarnOnCompatibilityIssues` to `false`
11
+ * silences both nags (the verdicts are still computed and surfaced as data);
12
+ * setting `shouldThrowOnIncompatibleInstaller` to `false` lets an unrunnable pin
13
+ * proceed to launch, where the reactive dead-boot fast-fail
14
+ * (`RendererFailedToInitializeError`) still catches it.
15
+ *
16
+ * Kept separate from the integration-only launch code (`transport-factory`,
17
+ * `transport-desktop-cdp`, both excluded from unit tests) so the default
18
+ * resolution stays unit-testable — mirroring the `visibility.ts` /
19
+ * `appium-session-config.ts` pure-resolver split.
20
+ */
21
+ import type { InstallerCompatibilityTier } from './installer-compatibility.cjs';
22
+ /**
23
+ * The action to take for a resolved installer↔app compatibility verdict, given
24
+ * the throw/warn knobs.
25
+ *
26
+ * - `'throw'` — the verdict is `'unrunnable'` and the proactive throw is enabled;
27
+ * the caller throws `IncompatibleInstallerVersionError` before launch.
28
+ * - `'warn-unrunnable'` — the verdict is `'unrunnable'` but the throw is disabled
29
+ * and warnings are on; the caller logs a "proceeding to launch" warning and
30
+ * lets the boot proceed (where the reactive dead-boot fast-fail catches it).
31
+ * - `'warn-nagged'` — the verdict is `'nagged'` and warnings are on; the caller
32
+ * logs the recommended-installer warning.
33
+ * - `'silent'` — nothing to do (`'ok'` / `'unknown'`, or warnings disabled).
34
+ */
35
+ export type InstallerCompatibilityAction = 'silent' | 'throw' | 'warn-nagged' | 'warn-unrunnable';
36
+ /**
37
+ * Parameters for {@link resolveInstallerCompatibilityAction}.
38
+ */
39
+ export interface ResolveInstallerCompatibilityActionParams {
40
+ /** Whether an `'unrunnable'` verdict throws (vs. proceeds to launch). */
41
+ readonly shouldThrowOnIncompatibleInstaller: boolean;
42
+ /** Whether a nag / proceeding-unrunnable verdict is logged. */
43
+ readonly shouldWarnOnCompatibilityIssues: boolean;
44
+ /** The resolved installer↔app compatibility tier. */
45
+ readonly tier: InstallerCompatibilityTier;
46
+ }
47
+ /**
48
+ * Resolves what to do for an installer↔app compatibility verdict, given the
49
+ * throw/warn knobs. Pure — the caller performs the throw/log side effects.
50
+ *
51
+ * @param params - The verdict tier and the resolved throw/warn knobs.
52
+ * @returns The action the caller should take.
53
+ */
54
+ export declare function resolveInstallerCompatibilityAction(params: ResolveInstallerCompatibilityActionParams): InstallerCompatibilityAction;
55
+ /**
56
+ * Whether an `'unrunnable'` installer↔app pair should fail fast with
57
+ * {@link IncompatibleInstallerVersionError} before launch.
58
+ *
59
+ * @param shouldThrowOnIncompatibleInstaller - The resolved option value (omitted → throw).
60
+ * @returns `true` when an unrunnable pin should throw (the default).
61
+ */
62
+ export declare function resolveShouldThrowOnIncompatibleInstaller(shouldThrowOnIncompatibleInstaller?: boolean): boolean;
63
+ /**
64
+ * Whether the owned-instance compatibility nag warnings should be emitted (both
65
+ * the installer↔app `'nagged'` warning and the runtime-Electron `'nagged'`
66
+ * warning).
67
+ *
68
+ * @param shouldWarnOnCompatibilityIssues - The resolved option value (omitted → warn).
69
+ * @returns `true` when the warnings should be emitted (the default).
70
+ */
71
+ export declare function resolveShouldWarnOnCompatibilityIssues(shouldWarnOnCompatibilityIssues?: boolean): boolean;
@@ -34,9 +34,11 @@ async function connectToCdp(options) {
34
34
  const { host, port } = resolveEndpoint(transport, options);
35
35
  const cdpUrl = `http://${host}:${String(port)}`;
36
36
  const compatibility = transport instanceof import_transport_desktop_cdp.DesktopCdpTransport ? transport.getCompatibility() : void 0;
37
+ const electronCompatibility = transport instanceof import_transport_desktop_cdp.DesktopCdpTransport ? transport.getElectronCompatibility() : void 0;
37
38
  const connection = {
38
39
  cdpUrl,
39
40
  ...compatibility && { compatibility },
41
+ ...electronCompatibility && { electronCompatibility },
40
42
  async dispose() {
41
43
  try {
42
44
  if (shouldRemoveVaultOnDispose) {
@@ -72,7 +74,14 @@ function buildCdpTransportOptions(options) {
72
74
  ...options?.obsidianInstallerVersion !== void 0 && { obsidianInstallerVersion: options.obsidianInstallerVersion },
73
75
  ...options?.obsidianVersion !== void 0 && { obsidianVersion: options.obsidianVersion },
74
76
  ...options?.port !== void 0 && { port: options.port },
75
- ...options?.shouldDisableSandbox !== void 0 && { shouldDisableSandbox: options.shouldDisableSandbox }
77
+ ...options?.shouldDisableSandbox !== void 0 && { shouldDisableSandbox: options.shouldDisableSandbox },
78
+ ...buildCompatibilityTransportOptions(options)
79
+ };
80
+ }
81
+ function buildCompatibilityTransportOptions(options) {
82
+ return {
83
+ ...options?.shouldThrowOnIncompatibleInstaller !== void 0 && { shouldThrowOnIncompatibleInstaller: options.shouldThrowOnIncompatibleInstaller },
84
+ ...options?.shouldWarnOnCompatibilityIssues !== void 0 && { shouldWarnOnCompatibilityIssues: options.shouldWarnOnCompatibilityIssues }
76
85
  };
77
86
  }
78
87
  function resolveEndpoint(transport, options) {
@@ -91,4 +100,4 @@ function resolveEndpoint(transport, options) {
91
100
  0 && (module.exports = {
92
101
  connectToCdp
93
102
  });
94
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Nvbm5lY3QtdG8tY2RwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvZ3JhbW1hdGljIGhlbHBlciB0byBsYXVuY2ggKG9yIGF0dGFjaCB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZVxuICogd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgZm9yIGFkLWhvYyByZWFsLWFwcCBkZWJ1Z2dpbmcuXG4gKlxuICogQSBzaW5nbGUge0BsaW5rIGNvbm5lY3RUb0NkcH0gY2FsbCByZXNvbHZlcyB0aGUgb3duZWQtaW5zdGFuY2UgY29uZmlnLCBvcGVucyBhXG4gKiB2YXVsdCwgYW5kIGJvb3RzdHJhcHMgYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCAoc28gYGV2YWxXcmFwcGVyYCxcbiAqIHRoZSBiYXNlIGBsaWJgIGhlbHBlcnMsIGBlcnJvclRvU3RyaW5nYCwgYGdldE9ic2lkaWFuTW9kdWxlYCwgXHUyMDI2IGFyZSBhdmFpbGFibGUpLCB0aGVuXG4gKiBoYW5kcyBiYWNrIGEgZGlzcG9zYWJsZSB7QGxpbmsgQ2RwQ29ubmVjdGlvbn0gZXhwb3NpbmcgdGhlIGNob3NlbiBDRFAgcG9ydCwgYVxuICogcmF3IHtAbGluayBDZHBDb25uZWN0aW9uLmludm9rZX0gYW5kIHRoZSByaWNoIHtAbGluayBDZHBDb25uZWN0aW9uLmV2YWxJbk9ic2lkaWFufS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW50ZWdyYXRpb24tdGltZSBjb2RlIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRXhjZXB0IH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHR5cGUgeyBDb250ZXh0SWQgfSBmcm9tICcuL2NvbnRleHQtaWQuY2pzJztcbmltcG9ydCB0eXBlIHtcbiAgRXZhbEluT2JzaWRpYW5QYXJhbXMsXG4gIEdlbmVyaWNPYmplY3Rcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5pbXBvcnQgdHlwZSB7IEluc3RhbGxlckNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LmNqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuaW1wb3J0IHsgZXZhbEluT2JzaWRpYW4gfSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4uY2pzJztcbmltcG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuaW1wb3J0IHsgRGVza3RvcENkcFRyYW5zcG9ydCB9IGZyb20gJy4vdHJhbnNwb3J0LWRlc2t0b3AtY2RwLmNqcyc7XG5pbXBvcnQgeyBjcmVhdGVUcmFuc3BvcnRGcm9tT3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LWZhY3RvcnkuY2pzJztcblxuY29uc3QgREVGQVVMVF9DRFBfSE9TVCA9ICdsb2NhbGhvc3QnO1xuXG4vKipcbiAqIEEgbGl2ZSBjb25uZWN0aW9uIHRvIGEgQ0RQLWVuYWJsZWQgT2JzaWRpYW4gaW5zdGFuY2Ugd2l0aCB0aGUgcnVudGltZSBoZWxwZXJcbiAqIG5hbWVzcGFjZSBib290c3RyYXBwZWQuXG4gKlxuICogSW1wbGVtZW50cyBgQXN5bmNEaXNwb3NhYmxlYCwgc28gYGF3YWl0IHVzaW5nIGNvbm4gPSBhd2FpdCBjb25uZWN0VG9DZHAoXHUyMDI2KWBcbiAqIGRpc3Bvc2VzIGl0IChraWxsaW5nIGFuIG93bmVkIGluc3RhbmNlIGFuZCBcdTIwMTQgZm9yIGEgdGhyb3ctYXdheSB0ZW1wIHZhdWx0IFx1MjAxNFxuICogcmVtb3ZpbmcgaXRzIGRpcmVjdG9yeSkgYXV0b21hdGljYWxseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZHBDb25uZWN0aW9uIGV4dGVuZHMgQXN5bmNEaXNwb3NhYmxlIHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIENEUCBVUkwsIGUuZy4gYGh0dHA6Ly9sb2NhbGhvc3Q6NTE4ODhgLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RwVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvbHZlZCBpbnN0YWxsZXJcdTIxOTRhcHAgY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhbiBvd25lZCBpbnN0YW5jZSwgd2hlblxuICAgKiBpdCBjb3VsZCBiZSBkZXRlcm1pbmVkLiBgdW5kZWZpbmVkYCBpbiBhdHRhY2ggbW9kZSwgb3Igd2hlbiB0aGUgdmVyZGljdCBpc1xuICAgKiB1bmtub3duICh1bmRldGVjdGFibGUgc2hlbGwgdmVyc2lvbiwgb3IgdGhlIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZVxuICAgKiB0YWJsZSkuIEFuIGAndW5ydW5uYWJsZSdgIHZlcmRpY3QgbmV2ZXIgcmVhY2hlcyBoZXJlIFx1MjAxNCBpdCB0aHJvd3NcbiAgICogYEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcmAgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb21wYXRpYmlsaXR5PzogSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRGlzcG9zZXMgdGhlIGNvbm5lY3Rpb246IGtpbGxzIGFuIG93bmVkIGluc3RhbmNlIGFuZCByZW1vdmVzIGl0cyBpc29sYXRlZFxuICAgKiB1c2VyLWRhdGEgZGlyLiBUaGUgdmF1bHQgZGlyZWN0b3J5IGlzIHJlbW92ZWQgb25seSB3aGVuIGl0IGlzIGEgdGhyb3ctYXdheVxuICAgKiB0ZW1wIHZhdWx0IChzZWUge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMuc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9KTsgYVxuICAgKiByZWFsIHZhdWx0IHBhc3NlZCB2aWEge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMudmF1bHR9IGlzIG5ldmVyIGRlbGV0ZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBkaXNwb3NhbCBjb21wbGV0ZXMuXG4gICAqL1xuICBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIGluc2lkZSBPYnNpZGlhbiB2aWEgdGhlIHJpY2ggaGVscGVyXG4gICAqIHBhdGgsIHJlY2VpdmluZyBgeyBhcHAsIGxpYiwgb2JzaWRpYW5Nb2R1bGUsIGNvbnRleHQgfWAgcGx1cyBhbnkgYGFyZ3NgXG4gICAqIChzaGFyZWQgaGVscGVycyBsaWtlIGB0eXBlSW50b0VkaXRvcmAgLyBgd2FpdFVudGlsYCBsaXZlIG9uIGBsaWJgKS4gTWlycm9yc1xuICAgKiB0aGUgdG9wLWxldmVsIGBldmFsSW5PYnNpZGlhbmAsIHdpdGggdGhlIHRyYW5zcG9ydCBhbmQgdmF1bHQgcGF0aCBwcmUtYm91bmRcbiAgICogdG8gdGhpcyBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGV2YWx1YXRpb24gcGFyYW1ldGVycyAoYGZuYCwgb3B0aW9uYWwgYGFyZ3NgL2Bjb250ZXh0SWRgKS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIGBmbmAuXG4gICAqL1xuICBldmFsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgICBwYXJhbXM6IEV4Y2VwdDxFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+LCAndHJhbnNwb3J0JyB8ICd2YXVsdFBhdGgnPlxuICApOiBQcm9taXNlPFJlc3VsdD47XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIHJhdyBKYXZhU2NyaXB0IGV4cHJlc3Npb24gaW5zaWRlIE9ic2lkaWFuIGFuZCByZXR1cm5zIHRoZVxuICAgKiBub3JtYWxpemVkIHN0cmluZyByZXN1bHQgKGUuZy4gYCc1J2AsIGEgSlNPTiBzdHJpbmcsIG9yIGAnKG5vIG91dHB1dCknYCkuXG4gICAqXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIC0gQSBzZWxmLWNvbnRhaW5lZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24uXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJhdyByZXN1bHQgc3RyaW5nLlxuICAgKi9cbiAgaW52b2tlKGV4cHJlc3Npb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIENEUCBwb3J0IHRoZSBpbnN0YW5jZSBpcyByZWFjaGFibGUgb24gKHRoZSBmcmVlIHBvcnQgY2hvc2VuIGZvciBhblxuICAgKiBvd25lZCBpbnN0YW5jZSwgb3IgdGhlIGF0dGFjaGVkIHtAbGluayBDb25uZWN0VG9DZHBPcHRpb25zLnBvcnR9KS5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9wZW5lZCB2YXVsdC4gRXhwb3NlcyBgcGF0aGAgYW5kIGBwb3B1bGF0ZSguLi4pYCBmb3Igc2VlZGluZyBmaWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0OiBUZW1wVmF1bHQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNvbm5lY3RUb0NkcH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFRvQ2RwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgaW5kaXZpZHVhbCBDRFAgY29tbWFuZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAzMDAwMGBcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdyYWNlIHdpbmRvdyBpbiBtaWxsaXNlY29uZHMgZm9yIGZhc3QtZmFpbGluZyBhIGRlYWQgYm9vdCBvZiB0aGUgb3duZWRcbiAgICogaW5zdGFuY2UgXHUyMDE0IHRoZSByZW5kZXJlciBsb2FkZWQgYnV0IHRoZSBhcHAgbmV2ZXIgYm9vdHN0cmFwcGVkIChlbXB0eVxuICAgKiBgPGJvZHk+YCwgbm8gYHdpbmRvdy5hcHBgKSwgdGhlIHRlcm1pbmFsIHN0YXRlIHdoZW4gdGhlIGFzYXIgY2Fubm90IHJ1biBvblxuICAgKiB0aGUgbGF1bmNoZWQgRWxlY3Ryb24gc2hlbGwuIE9uY2UgaXQgaGFzIGhlbGQgdGhpcyBsb25nIGFcbiAgICogYFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3JgIGlzIHRocm93biBpbnN0ZWFkIG9mIHdhaXRpbmcgb3V0IHRoZSBmdWxsXG4gICAqIHJlYWRpbmVzcyB0aW1lb3V0LiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS4gU2V0IGAwYCB0b1xuICAgKiBkaXNhYmxlIGZhc3QtZmFpbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYDEwMDAwYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDRFAgaG9zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCdsb2NhbGhvc3QnYFxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgT2JzaWRpYW4gd2luZG93IGlzIHNob3duIG9uIHNjcmVlbi4gRGVmYXVsdHMgdG8gYHRydWVgOyBzZXRcbiAgICogYGZhbHNlYCB0byBsYXVuY2ggaXQgb2ZmLXNjcmVlbi5cbiAgICogSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNPYnNpZGlhbkFwcFZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQaW5zIHRoZSBFbGVjdHJvbiBzaGVsbCAoaW5zdGFsbGVyIGJ1aWxkKSB0aGUgb3duZWQgaW5zdGFuY2UgcnVucy4gQWNjZXB0c1xuICAgKiBgJ3gueS56J2AsIGAncHVibGljLWxhdGVzdCdgLCBvciBgJ2NhdGFseXN0LWxhdGVzdCdgLiBJZ25vcmVkIHdoZW5cbiAgICoge0BsaW5rIHBvcnR9IChhdHRhY2ggbW9kZSkgaXMgc2V0LiBXaGVuIG9taXR0ZWQsIHRoZSBpbnN0YWxsZWQgc2hlbGwgaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGlucyB0aGUgT2JzaWRpYW4gYXBwIHZlcnNpb24gKGFzYXIpIHRoZSBvd25lZCBpbnN0YW5jZSBydW5zLiBBY2NlcHRzXG4gICAqIGAneC55LnonYCwgYCdwdWJsaWMtbGF0ZXN0J2AsIG9yIGAnY2F0YWx5c3QtbGF0ZXN0J2AuIElnbm9yZWQgd2hlblxuICAgKiB7QGxpbmsgcG9ydH0gKGF0dGFjaCBtb2RlKSBpcyBzZXQuIFdoZW4gb21pdHRlZCwgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIGlzIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEUCBwb3J0IG9mIGFuIGFscmVhZHktcnVubmluZyBPYnNpZGlhbiB0byAqKmF0dGFjaCoqIHRvLiBXaGVuIG9taXR0ZWQsIGFuXG4gICAqIGlzb2xhdGVkIGluc3RhbmNlIGlzIGxhdW5jaGVkIG9uIGFuIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGZyZWUgcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gbGF1bmNoIHRoZSBvd25lZCBpbnN0YW5jZSB3aXRoIENocm9taXVtJ3Mgc2FuZGJveCBkaXNhYmxlZFxuICAgKiAoYC0tbm8tc2FuZGJveGApLlxuICAgKlxuICAgKiBOZWVkZWQgdG8gYm9vdCBvbiBMaW51eCB3aXRob3V0IGEgY29ycmVjdGx5LWNvbmZpZ3VyZWQgc2V0dWlkXG4gICAqIGBjaHJvbWUtc2FuZGJveGAgaGVscGVyIChlLmcuIGFuIGluc3RhbGxlci1leHRyYWN0ZWQgcG9ydGFibGUgc2hlbGwsIG9yIENJXG4gICAqIHJ1bm5pbmcgYXMgYSBub24tcm9vdCB1c2VyKTsgaGFybWxlc3Mgb24gV2luZG93cy9tYWNPUy4gSWdub3JlZCBpbiBhdHRhY2hcbiAgICogbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERpc2FibGVTYW5kYm94PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZW1vdmUgdGhlIHZhdWx0IGRpcmVjdG9yeSBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5kaXNwb3NlfS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkLCBkZWZhdWx0cyB0byBgdHJ1ZWAgZm9yIGFuIGltcGxpY2l0IHRocm93LWF3YXkgdGVtcCB2YXVsdFxuICAgKiAoe0BsaW5rIHZhdWx0fSBub3QgZ2l2ZW4pIGFuZCBgZmFsc2VgIHdoZW4gYSB7QGxpbmsgdmF1bHR9IHBhdGggaXMgZ2l2ZW4sIHNvXG4gICAqIGEgcmVhbCB2YXVsdCBpcyBuZXZlciBkZWxldGVkLiBTZXQgZXhwbGljaXRseSB0byBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byBhbiBleGlzdGluZyB2YXVsdCB0byBvcGVuLiBXaGVuIG9taXR0ZWQsIGFuIGVtcHR5IHRlbXBvcmFyeVxuICAgKiB2YXVsdCBpcyBjcmVhdGVkIChhbmQgcmVtb3ZlZCBvbiBkaXNwb3NlIHVubGVzc1xuICAgKiB7QGxpbmsgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9IHNheXMgb3RoZXJ3aXNlKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcmVzb2x2ZWQgQ0RQIGhvc3QvcG9ydCBwYWlyLlxuICovXG5pbnRlcmZhY2UgUmVzb2x2ZWRFbmRwb2ludCB7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xufVxuXG4vKipcbiAqIExhdW5jaGVzIChvciBhdHRhY2hlcyB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZSwgb3BlbnMgYSB2YXVsdCwgYW5kXG4gKiBib290c3RyYXBzIHRoZSBydW50aW1lIGhlbHBlciBuYW1lc3BhY2UsIHJldHVybmluZyBhIGRpc3Bvc2FibGUgY29ubmVjdGlvbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGxpdmUge0BsaW5rIENkcENvbm5lY3Rpb259LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29ubmVjdFRvQ2RwKG9wdGlvbnM/OiBDb25uZWN0VG9DZHBPcHRpb25zKTogUHJvbWlzZTxDZHBDb25uZWN0aW9uPiB7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IGF3YWl0IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zKGJ1aWxkQ2RwVHJhbnNwb3J0T3B0aW9ucyhvcHRpb25zKSk7XG4gIGNvbnN0IHZhdWx0ID0gbmV3IFRlbXBWYXVsdChvcHRpb25zPy52YXVsdCk7XG4gIGNvbnN0IHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlID0gb3B0aW9ucz8uc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2UgPz8gKG9wdGlvbnM/LnZhdWx0ID09PSB1bmRlZmluZWQpO1xuXG4gIC8vIFJlZ2lzdGVyaW5nIHRoZSB2YXVsdCBpcyB3aGF0IGxhdW5jaGVzIHRoZSBvd25lZCBpbnN0YW5jZSAocHJvdmlzaW9ucyB0aGVcbiAgLy8gQXNhciwgb3BlbnMgdGhlIHZhdWx0LCBhbmQgYm9vdHN0cmFwcyB0aGUgaGVscGVyIG5hbWVzcGFjZSksIG9yIG9wZW5zIHRoZVxuICAvLyBWYXVsdCBpbiB0aGUgYXR0YWNoZWQgaW5zdGFuY2UuXG4gIGF3YWl0IHZhdWx0LnJlZ2lzdGVyKHRyYW5zcG9ydCk7XG5cbiAgY29uc3QgeyBob3N0LCBwb3J0IH0gPSByZXNvbHZlRW5kcG9pbnQodHJhbnNwb3J0LCBvcHRpb25zKTtcbiAgY29uc3QgY2RwVXJsID0gYGh0dHA6Ly8ke2hvc3R9OiR7U3RyaW5nKHBvcnQpfWA7XG4gIGNvbnN0IGNvbXBhdGliaWxpdHkgPSB0cmFuc3BvcnQgaW5zdGFuY2VvZiBEZXNrdG9wQ2RwVHJhbnNwb3J0ID8gdHJhbnNwb3J0LmdldENvbXBhdGliaWxpdHkoKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBjb25uZWN0aW9uOiBDZHBDb25uZWN0aW9uID0ge1xuICAgIGNkcFVybCxcbiAgICAuLi4oY29tcGF0aWJpbGl0eSAmJiB7IGNvbXBhdGliaWxpdHkgfSksXG5cbiAgICBhc3luYyBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlKSB7XG4gICAgICAgICAgYXdhaXQgdmF1bHQuZGlzcG9zZSh0cmFuc3BvcnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRyYW5zcG9ydC51bnJlZ2lzdGVyVmF1bHQodmF1bHQucGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGF3YWl0IHRyYW5zcG9ydC5kaXNwb3NlPy4oKTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgZXZhbEluT2JzaWRpYW48QXJncyBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFJlc3VsdCwgVENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgICBwYXJhbXM6IEV4Y2VwdDxFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+LCAndHJhbnNwb3J0JyB8ICd2YXVsdFBhdGgnPlxuICAgICk6IFByb21pc2U8UmVzdWx0PiB7XG4gICAgICByZXR1cm4gZXZhbEluT2JzaWRpYW48QXJncywgUmVzdWx0LCBUQ29udGV4dElkPih7IC4uLnBhcmFtcywgdHJhbnNwb3J0LCB2YXVsdFBhdGg6IHZhdWx0LnBhdGggfSk7XG4gICAgfSxcblxuICAgIGFzeW5jIGludm9rZShleHByZXNzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIHRyYW5zcG9ydC5ldmFsdWF0ZShleHByZXNzaW9uLCB7IGN3ZDogdmF1bHQucGF0aCB9KTtcbiAgICB9LFxuXG4gICAgcG9ydCxcblxuICAgIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uZGlzcG9zZSgpO1xuICAgIH0sXG5cbiAgICB2YXVsdFxuICB9O1xuXG4gIHJldHVybiBjb25uZWN0aW9uO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUge0BsaW5rIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9uc30gZm9yIGEgY29ubmVjdGlvbiwgdGhyZWFkaW5nIG9ubHlcbiAqIHRoZSBwcm92aWRlZCB7QGxpbmsgQ29ubmVjdFRvQ2RwT3B0aW9uc30gdGhyb3VnaCAob3duZWQtdmlzaWJsZSBkZWZhdWx0cyB0b1xuICogYHRydWVgLCB1bmxpa2UgdGhlIGhpZGRlbi1ieS1kZWZhdWx0IHRlc3QgdHJhbnNwb3J0cykuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgY29ubmVjdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHRyYW5zcG9ydCBvcHRpb25zIHRvIGNyZWF0ZSB0aGUgY29ubmVjdGlvbidzIHRyYW5zcG9ydCBmcm9tLlxuICovXG5mdW5jdGlvbiBidWlsZENkcFRyYW5zcG9ydE9wdGlvbnMob3B0aW9ucz86IENvbm5lY3RUb0NkcE9wdGlvbnMpOiBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGlzT2JzaWRpYW5BcHBWaXNpYmxlOiBvcHRpb25zPy5pc09ic2lkaWFuQXBwVmlzaWJsZSA/PyB0cnVlLFxuICAgIHR5cGU6ICdvYnNpZGlhbi1jZHAnLFxuICAgIC4uLihvcHRpb25zPy5jb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzICE9PSB1bmRlZmluZWQgJiYgeyBjb21tYW5kVGltZW91dEluTWlsbGlzZWNvbmRzOiBvcHRpb25zLmNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHMgfSksXG4gICAgLi4uKG9wdGlvbnM/LmRlYWRCb290R3JhY2VJbk1pbGxpc2Vjb25kcyAhPT0gdW5kZWZpbmVkICYmIHsgZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzOiBvcHRpb25zLmRlYWRCb290R3JhY2VJbk1pbGxpc2Vjb25kcyB9KSxcbiAgICAuLi4ob3B0aW9ucz8uaG9zdCAhPT0gdW5kZWZpbmVkICYmIHsgaG9zdDogb3B0aW9ucy5ob3N0IH0pLFxuICAgIC4uLihvcHRpb25zPy5vYnNpZGlhbkluc3RhbGxlclZlcnNpb24gIT09IHVuZGVmaW5lZCAmJiB7IG9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbjogb3B0aW9ucy5vYnNpZGlhbkluc3RhbGxlclZlcnNpb24gfSksXG4gICAgLi4uKG9wdGlvbnM/Lm9ic2lkaWFuVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIHsgb2JzaWRpYW5WZXJzaW9uOiBvcHRpb25zLm9ic2lkaWFuVmVyc2lvbiB9KSxcbiAgICAuLi4ob3B0aW9ucz8ucG9ydCAhPT0gdW5kZWZpbmVkICYmIHsgcG9ydDogb3B0aW9ucy5wb3J0IH0pLFxuICAgIC4uLihvcHRpb25zPy5zaG91bGREaXNhYmxlU2FuZGJveCAhPT0gdW5kZWZpbmVkICYmIHsgc2hvdWxkRGlzYWJsZVNhbmRib3g6IG9wdGlvbnMuc2hvdWxkRGlzYWJsZVNhbmRib3ggfSlcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgQ0RQIGhvc3QvcG9ydCBmb3IgdGhlIGNvbm5lY3Rpb246IGZyb20gdGhlIG93bmVkIGluc3RhbmNlJ3NcbiAqIGxhdW5jaGVkIGVuZHBvaW50IHdoZW4gcHJlc2VudCwgb3RoZXJ3aXNlIGZyb20gdGhlIGF0dGFjaCBvcHRpb25zLlxuICpcbiAqIEBwYXJhbSB0cmFuc3BvcnQgLSBUaGUgdHJhbnNwb3J0IGNyZWF0ZWQgZm9yIHRoaXMgY29ubmVjdGlvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGNvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBob3N0IGFuZCBwb3J0LlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgcG9ydCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUVuZHBvaW50KHRyYW5zcG9ydDogdW5rbm93biwgb3B0aW9uczogQ29ubmVjdFRvQ2RwT3B0aW9ucyB8IHVuZGVmaW5lZCk6IFJlc29sdmVkRW5kcG9pbnQge1xuICBpZiAodHJhbnNwb3J0IGluc3RhbmNlb2YgRGVza3RvcENkcFRyYW5zcG9ydCkge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdHJhbnNwb3J0LmdldE93bmVkSW5zdGFuY2VFbmRwb2ludCgpO1xuICAgIGlmIChlbmRwb2ludCkge1xuICAgICAgcmV0dXJuIHsgaG9zdDogZW5kcG9pbnQuaG9zdCwgcG9ydDogZW5kcG9pbnQucG9ydCB9O1xuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRpb25zPy5wb3J0ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBob3N0OiBvcHRpb25zLmhvc3QgPz8gREVGQVVMVF9DRFBfSE9TVCwgcG9ydDogb3B0aW9ucy5wb3J0IH07XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ2Nvbm5lY3RUb0NkcDogY291bGQgbm90IGRldGVybWluZSB0aGUgQ0RQIHBvcnQuJyk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBeUJBLDhCQUErQjtBQUMvQix3QkFBMEI7QUFDMUIsbUNBQW9DO0FBQ3BDLCtCQUEyQztBQUUzQyxNQUFNLG1CQUFtQjtBQXVMekIsZUFBc0IsYUFBYSxTQUF1RDtBQUN4RixRQUFNLFlBQVksVUFBTSxxREFBMkIseUJBQXlCLE9BQU8sQ0FBQztBQUNwRixRQUFNLFFBQVEsSUFBSSw0QkFBVSxTQUFTLEtBQUs7QUFDMUMsUUFBTSw2QkFBNkIsU0FBUyw4QkFBK0IsU0FBUyxVQUFVO0FBSzlGLFFBQU0sTUFBTSxTQUFTLFNBQVM7QUFFOUIsUUFBTSxFQUFFLE1BQU0sS0FBSyxJQUFJLGdCQUFnQixXQUFXLE9BQU87QUFDekQsUUFBTSxTQUFTLFVBQVUsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQzdDLFFBQU0sZ0JBQWdCLHFCQUFxQixtREFBc0IsVUFBVSxpQkFBaUIsSUFBSTtBQUVoRyxRQUFNLGFBQTRCO0FBQUEsSUFDaEM7QUFBQSxJQUNBLEdBQUksaUJBQWlCLEVBQUUsY0FBYztBQUFBLElBRXJDLE1BQU0sVUFBeUI7QUFDN0IsVUFBSTtBQUNGLFlBQUksNEJBQTRCO0FBQzlCLGdCQUFNLE1BQU0sUUFBUSxTQUFTO0FBQUEsUUFDL0IsT0FBTztBQUNMLGdCQUFNLFVBQVUsZ0JBQWdCLE1BQU0sSUFBSTtBQUFBLFFBQzVDO0FBQUEsTUFDRixVQUFFO0FBQ0EsY0FBTSxVQUFVLFVBQVU7QUFBQSxNQUM1QjtBQUFBLElBQ0Y7QUFBQSxJQUVBLE1BQU0sZUFDSixRQUNpQjtBQUNqQixpQkFBTyx3Q0FBeUMsRUFBRSxHQUFHLFFBQVEsV0FBVyxXQUFXLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFDakc7QUFBQSxJQUVBLE1BQU0sT0FBTyxZQUFxQztBQUNoRCxhQUFPLFVBQVUsU0FBUyxZQUFZLEVBQUUsS0FBSyxNQUFNLEtBQUssQ0FBQztBQUFBLElBQzNEO0FBQUEsSUFFQTtBQUFBLElBRUEsT0FBTyxPQUFPLFlBQVksSUFBbUI7QUFDM0MsWUFBTSxXQUFXLFFBQVE7QUFBQSxJQUMzQjtBQUFBLElBRUE7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUO0FBVUEsU0FBUyx5QkFBeUIsU0FBNEQ7QUFDNUYsU0FBTztBQUFBLElBQ0wsc0JBQXNCLFNBQVMsd0JBQXdCO0FBQUEsSUFDdkQsTUFBTTtBQUFBLElBQ04sR0FBSSxTQUFTLGlDQUFpQyxVQUFhLEVBQUUsOEJBQThCLFFBQVEsNkJBQTZCO0FBQUEsSUFDaEksR0FBSSxTQUFTLGdDQUFnQyxVQUFhLEVBQUUsNkJBQTZCLFFBQVEsNEJBQTRCO0FBQUEsSUFDN0gsR0FBSSxTQUFTLFNBQVMsVUFBYSxFQUFFLE1BQU0sUUFBUSxLQUFLO0FBQUEsSUFDeEQsR0FBSSxTQUFTLDZCQUE2QixVQUFhLEVBQUUsMEJBQTBCLFFBQVEseUJBQXlCO0FBQUEsSUFDcEgsR0FBSSxTQUFTLG9CQUFvQixVQUFhLEVBQUUsaUJBQWlCLFFBQVEsZ0JBQWdCO0FBQUEsSUFDekYsR0FBSSxTQUFTLFNBQVMsVUFBYSxFQUFFLE1BQU0sUUFBUSxLQUFLO0FBQUEsSUFDeEQsR0FBSSxTQUFTLHlCQUF5QixVQUFhLEVBQUUsc0JBQXNCLFFBQVEscUJBQXFCO0FBQUEsRUFDMUc7QUFDRjtBQVdBLFNBQVMsZ0JBQWdCLFdBQW9CLFNBQTREO0FBQ3ZHLE1BQUkscUJBQXFCLGtEQUFxQjtBQUM1QyxVQUFNLFdBQVcsVUFBVSx5QkFBeUI7QUFDcEQsUUFBSSxVQUFVO0FBQ1osYUFBTyxFQUFFLE1BQU0sU0FBUyxNQUFNLE1BQU0sU0FBUyxLQUFLO0FBQUEsSUFDcEQ7QUFBQSxFQUNGO0FBRUEsTUFBSSxTQUFTLFNBQVMsUUFBVztBQUMvQixXQUFPLEVBQUUsTUFBTSxRQUFRLFFBQVEsa0JBQWtCLE1BQU0sUUFBUSxLQUFLO0FBQUEsRUFDdEU7QUFFQSxRQUFNLElBQUksTUFBTSxpREFBaUQ7QUFDbkU7IiwKICAibmFtZXMiOiBbXQp9Cg==
103
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Nvbm5lY3QtdG8tY2RwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvZ3JhbW1hdGljIGhlbHBlciB0byBsYXVuY2ggKG9yIGF0dGFjaCB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZVxuICogd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgZm9yIGFkLWhvYyByZWFsLWFwcCBkZWJ1Z2dpbmcuXG4gKlxuICogQSBzaW5nbGUge0BsaW5rIGNvbm5lY3RUb0NkcH0gY2FsbCByZXNvbHZlcyB0aGUgb3duZWQtaW5zdGFuY2UgY29uZmlnLCBvcGVucyBhXG4gKiB2YXVsdCwgYW5kIGJvb3RzdHJhcHMgYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCAoc28gYGV2YWxXcmFwcGVyYCxcbiAqIHRoZSBiYXNlIGBsaWJgIGhlbHBlcnMsIGBlcnJvclRvU3RyaW5nYCwgYGdldE9ic2lkaWFuTW9kdWxlYCwgXHUyMDI2IGFyZSBhdmFpbGFibGUpLCB0aGVuXG4gKiBoYW5kcyBiYWNrIGEgZGlzcG9zYWJsZSB7QGxpbmsgQ2RwQ29ubmVjdGlvbn0gZXhwb3NpbmcgdGhlIGNob3NlbiBDRFAgcG9ydCwgYVxuICogcmF3IHtAbGluayBDZHBDb25uZWN0aW9uLmludm9rZX0gYW5kIHRoZSByaWNoIHtAbGluayBDZHBDb25uZWN0aW9uLmV2YWxJbk9ic2lkaWFufS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW50ZWdyYXRpb24tdGltZSBjb2RlIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRXhjZXB0IH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHR5cGUgeyBDb250ZXh0SWQgfSBmcm9tICcuL2NvbnRleHQtaWQuY2pzJztcbmltcG9ydCB0eXBlIHsgRWxlY3Ryb25Db21wYXRpYmlsaXR5IH0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBHZW5lcmljT2JqZWN0XG59IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuaW1wb3J0IHR5cGUgeyBJbnN0YWxsZXJDb21wYXRpYmlsaXR5IH0gZnJvbSAnLi9pbnN0YWxsZXItY29tcGF0aWJpbGl0eS5janMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5cbmltcG9ydCB7IGV2YWxJbk9ic2lkaWFuIH0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5pbXBvcnQgeyBUZW1wVmF1bHQgfSBmcm9tICcuL3RlbXAtdmF1bHQuY2pzJztcbmltcG9ydCB7IERlc2t0b3BDZHBUcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1kZXNrdG9wLWNkcC5janMnO1xuaW1wb3J0IHsgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1mYWN0b3J5LmNqcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0RQX0hPU1QgPSAnbG9jYWxob3N0JztcblxuLyoqXG4gKiBBIGxpdmUgY29ubmVjdGlvbiB0byBhIENEUC1lbmFibGVkIE9ic2lkaWFuIGluc3RhbmNlIHdpdGggdGhlIHJ1bnRpbWUgaGVscGVyXG4gKiBuYW1lc3BhY2UgYm9vdHN0cmFwcGVkLlxuICpcbiAqIEltcGxlbWVudHMgYEFzeW5jRGlzcG9zYWJsZWAsIHNvIGBhd2FpdCB1c2luZyBjb25uID0gYXdhaXQgY29ubmVjdFRvQ2RwKFx1MjAyNilgXG4gKiBkaXNwb3NlcyBpdCAoa2lsbGluZyBhbiBvd25lZCBpbnN0YW5jZSBhbmQgXHUyMDE0IGZvciBhIHRocm93LWF3YXkgdGVtcCB2YXVsdCBcdTIwMTRcbiAqIHJlbW92aW5nIGl0cyBkaXJlY3RvcnkpIGF1dG9tYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RwQ29ubmVjdGlvbiBleHRlbmRzIEFzeW5jRGlzcG9zYWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBDRFAgVVJMLCBlLmcuIGBodHRwOi8vbG9jYWxob3N0OjUxODg4YC5cbiAgICovXG4gIHJlYWRvbmx5IGNkcFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyXHUyMTk0YXBwIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYW4gb3duZWQgaW5zdGFuY2UsIHdoZW5cbiAgICogaXQgY291bGQgYmUgZGV0ZXJtaW5lZC4gYHVuZGVmaW5lZGAgaW4gYXR0YWNoIG1vZGUsIG9yIHdoZW4gdGhlIHZlcmRpY3QgaXNcbiAgICogdW5rbm93biAodW5kZXRlY3RhYmxlIHNoZWxsIHZlcnNpb24sIG9yIHRoZSBhcHAgdmVyc2lvbiBpcyBhYnNlbnQgZnJvbSB0aGVcbiAgICogdGFibGUpLiBBbiBgJ3VucnVubmFibGUnYCB2ZXJkaWN0IHJlYWNoZXMgaGVyZSBvbmx5IHdoZW4gdGhlIHByb2FjdGl2ZSB0aHJvd1xuICAgKiBpcyBkaXNhYmxlZCAoe0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMuc2hvdWxkVGhyb3dPbkluY29tcGF0aWJsZUluc3RhbGxlcn1cbiAgICogYGZhbHNlYCk7IG90aGVyd2lzZSBpdCB0aHJvd3MgYEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvcmAgYmVmb3JlIHRoZVxuICAgKiBjb25uZWN0aW9uIGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb21wYXRpYmlsaXR5PzogSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRGlzcG9zZXMgdGhlIGNvbm5lY3Rpb246IGtpbGxzIGFuIG93bmVkIGluc3RhbmNlIGFuZCByZW1vdmVzIGl0cyBpc29sYXRlZFxuICAgKiB1c2VyLWRhdGEgZGlyLiBUaGUgdmF1bHQgZGlyZWN0b3J5IGlzIHJlbW92ZWQgb25seSB3aGVuIGl0IGlzIGEgdGhyb3ctYXdheVxuICAgKiB0ZW1wIHZhdWx0IChzZWUge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMuc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9KTsgYVxuICAgKiByZWFsIHZhdWx0IHBhc3NlZCB2aWEge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnMudmF1bHR9IGlzIG5ldmVyIGRlbGV0ZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBkaXNwb3NhbCBjb21wbGV0ZXMuXG4gICAqL1xuICBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFRoZSBydW50aW1lIEVsZWN0cm9uIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYW4gb3duZWQgaW5zdGFuY2UsIHJlYWQgbGl2ZVxuICAgKiBhZnRlciBib290OiB3aGV0aGVyIHRoZSBFbGVjdHJvbiB2ZXJzaW9uIGl0IGlzIGFjdHVhbGx5IHJ1bm5pbmcgaXMgbmV3IGVub3VnaFxuICAgKiBmb3IgdGhlIHJ1bm5pbmcgYXBwIHZlcnNpb24uIGB1bmRlZmluZWRgIGluIGF0dGFjaCBtb2RlLCBvciB3aGVuIHRoZSB2ZXJkaWN0XG4gICAqIGlzIHVua25vd24gKHRoZSBsaXZlIHZlcnNpb24gd2FzIHVucmVhZGFibGUsIG9yIHRoZSBhcHAgdmVyc2lvbiBjYXJyaWVzIG5vXG4gICAqIHJlY29tbWVuZGVkIEVsZWN0cm9uIHZlcnNpb24pLiBBbiBvbGQgRWxlY3Ryb24gbmV2ZXIgYmxvY2tzIFx1MjAxNCBpdCBvbmx5IHdhcm5zIFx1MjAxNFxuICAgKiBzbyB1bmxpa2Uge0BsaW5rIGNvbXBhdGliaWxpdHl9IHRoZXJlIGlzIG5vIHRocm93aW5nIHRpZXIuXG4gICAqL1xuICByZWFkb25seSBlbGVjdHJvbkNvbXBhdGliaWxpdHk/OiBFbGVjdHJvbkNvbXBhdGliaWxpdHkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIGluc2lkZSBPYnNpZGlhbiB2aWEgdGhlIHJpY2ggaGVscGVyXG4gICAqIHBhdGgsIHJlY2VpdmluZyBgeyBhcHAsIGxpYiwgb2JzaWRpYW5Nb2R1bGUsIGNvbnRleHQgfWAgcGx1cyBhbnkgYGFyZ3NgXG4gICAqIChzaGFyZWQgaGVscGVycyBsaWtlIGB0eXBlSW50b0VkaXRvcmAgLyBgd2FpdFVudGlsYCBsaXZlIG9uIGBsaWJgKS4gTWlycm9yc1xuICAgKiB0aGUgdG9wLWxldmVsIGBldmFsSW5PYnNpZGlhbmAsIHdpdGggdGhlIHRyYW5zcG9ydCBhbmQgdmF1bHQgcGF0aCBwcmUtYm91bmRcbiAgICogdG8gdGhpcyBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGV2YWx1YXRpb24gcGFyYW1ldGVycyAoYGZuYCwgb3B0aW9uYWwgYGFyZ3NgL2Bjb250ZXh0SWRgKS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIGBmbmAuXG4gICAqL1xuICBldmFsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgICBwYXJhbXM6IEV4Y2VwdDxFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+LCAndHJhbnNwb3J0JyB8ICd2YXVsdFBhdGgnPlxuICApOiBQcm9taXNlPFJlc3VsdD47XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIHJhdyBKYXZhU2NyaXB0IGV4cHJlc3Npb24gaW5zaWRlIE9ic2lkaWFuIGFuZCByZXR1cm5zIHRoZVxuICAgKiBub3JtYWxpemVkIHN0cmluZyByZXN1bHQgKGUuZy4gYCc1J2AsIGEgSlNPTiBzdHJpbmcsIG9yIGAnKG5vIG91dHB1dCknYCkuXG4gICAqXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIC0gQSBzZWxmLWNvbnRhaW5lZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24uXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJhdyByZXN1bHQgc3RyaW5nLlxuICAgKi9cbiAgaW52b2tlKGV4cHJlc3Npb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIENEUCBwb3J0IHRoZSBpbnN0YW5jZSBpcyByZWFjaGFibGUgb24gKHRoZSBmcmVlIHBvcnQgY2hvc2VuIGZvciBhblxuICAgKiBvd25lZCBpbnN0YW5jZSwgb3IgdGhlIGF0dGFjaGVkIHtAbGluayBDb25uZWN0VG9DZHBPcHRpb25zLnBvcnR9KS5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9wZW5lZCB2YXVsdC4gRXhwb3NlcyBgcGF0aGAgYW5kIGBwb3B1bGF0ZSguLi4pYCBmb3Igc2VlZGluZyBmaWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0OiBUZW1wVmF1bHQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNvbm5lY3RUb0NkcH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFRvQ2RwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgaW5kaXZpZHVhbCBDRFAgY29tbWFuZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAzMDAwMGBcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdyYWNlIHdpbmRvdyBpbiBtaWxsaXNlY29uZHMgZm9yIGZhc3QtZmFpbGluZyBhIGRlYWQgYm9vdCBvZiB0aGUgb3duZWRcbiAgICogaW5zdGFuY2UgXHUyMDE0IHRoZSByZW5kZXJlciBsb2FkZWQgYnV0IHRoZSBhcHAgbmV2ZXIgYm9vdHN0cmFwcGVkIChlbXB0eVxuICAgKiBgPGJvZHk+YCwgbm8gYHdpbmRvdy5hcHBgKSwgdGhlIHRlcm1pbmFsIHN0YXRlIHdoZW4gdGhlIGFzYXIgY2Fubm90IHJ1biBvblxuICAgKiB0aGUgbGF1bmNoZWQgRWxlY3Ryb24gc2hlbGwuIE9uY2UgaXQgaGFzIGhlbGQgdGhpcyBsb25nIGFcbiAgICogYFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3JgIGlzIHRocm93biBpbnN0ZWFkIG9mIHdhaXRpbmcgb3V0IHRoZSBmdWxsXG4gICAqIHJlYWRpbmVzcyB0aW1lb3V0LiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS4gU2V0IGAwYCB0b1xuICAgKiBkaXNhYmxlIGZhc3QtZmFpbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYDEwMDAwYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDRFAgaG9zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCdsb2NhbGhvc3QnYFxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgT2JzaWRpYW4gd2luZG93IGlzIHNob3duIG9uIHNjcmVlbi4gRGVmYXVsdHMgdG8gYHRydWVgOyBzZXRcbiAgICogYGZhbHNlYCB0byBsYXVuY2ggaXQgb2ZmLXNjcmVlbi5cbiAgICogSWdub3JlZCBpbiBhdHRhY2ggbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNPYnNpZGlhbkFwcFZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQaW5zIHRoZSBFbGVjdHJvbiBzaGVsbCAoaW5zdGFsbGVyIGJ1aWxkKSB0aGUgb3duZWQgaW5zdGFuY2UgcnVucy4gQWNjZXB0c1xuICAgKiBgJ3gueS56J2AsIGAncHVibGljLWxhdGVzdCdgLCBvciBgJ2NhdGFseXN0LWxhdGVzdCdgLiBJZ25vcmVkIHdoZW5cbiAgICoge0BsaW5rIHBvcnR9IChhdHRhY2ggbW9kZSkgaXMgc2V0LiBXaGVuIG9taXR0ZWQsIHRoZSBpbnN0YWxsZWQgc2hlbGwgaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGlucyB0aGUgT2JzaWRpYW4gYXBwIHZlcnNpb24gKGFzYXIpIHRoZSBvd25lZCBpbnN0YW5jZSBydW5zLiBBY2NlcHRzXG4gICAqIGAneC55LnonYCwgYCdwdWJsaWMtbGF0ZXN0J2AsIG9yIGAnY2F0YWx5c3QtbGF0ZXN0J2AuIElnbm9yZWQgd2hlblxuICAgKiB7QGxpbmsgcG9ydH0gKGF0dGFjaCBtb2RlKSBpcyBzZXQuIFdoZW4gb21pdHRlZCwgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIGlzIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB1bmRlZmluZWRgXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEUCBwb3J0IG9mIGFuIGFscmVhZHktcnVubmluZyBPYnNpZGlhbiB0byAqKmF0dGFjaCoqIHRvLiBXaGVuIG9taXR0ZWQsIGFuXG4gICAqIGlzb2xhdGVkIGluc3RhbmNlIGlzIGxhdW5jaGVkIG9uIGFuIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGZyZWUgcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gbGF1bmNoIHRoZSBvd25lZCBpbnN0YW5jZSB3aXRoIENocm9taXVtJ3Mgc2FuZGJveCBkaXNhYmxlZFxuICAgKiAoYC0tbm8tc2FuZGJveGApLlxuICAgKlxuICAgKiBOZWVkZWQgdG8gYm9vdCBvbiBMaW51eCB3aXRob3V0IGEgY29ycmVjdGx5LWNvbmZpZ3VyZWQgc2V0dWlkXG4gICAqIGBjaHJvbWUtc2FuZGJveGAgaGVscGVyIChlLmcuIGFuIGluc3RhbGxlci1leHRyYWN0ZWQgcG9ydGFibGUgc2hlbGwsIG9yIENJXG4gICAqIHJ1bm5pbmcgYXMgYSBub24tcm9vdCB1c2VyKTsgaGFybWxlc3Mgb24gV2luZG93cy9tYWNPUy4gSWdub3JlZCBpbiBhdHRhY2hcbiAgICogbW9kZSAoe0BsaW5rIHBvcnR9IHNldCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERpc2FibGVTYW5kYm94PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZW1vdmUgdGhlIHZhdWx0IGRpcmVjdG9yeSBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5kaXNwb3NlfS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkLCBkZWZhdWx0cyB0byBgdHJ1ZWAgZm9yIGFuIGltcGxpY2l0IHRocm93LWF3YXkgdGVtcCB2YXVsdFxuICAgKiAoe0BsaW5rIHZhdWx0fSBub3QgZ2l2ZW4pIGFuZCBgZmFsc2VgIHdoZW4gYSB7QGxpbmsgdmF1bHR9IHBhdGggaXMgZ2l2ZW4sIHNvXG4gICAqIGEgcmVhbCB2YXVsdCBpcyBuZXZlciBkZWxldGVkLiBTZXQgZXhwbGljaXRseSB0byBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBhbiAqKnVucnVubmFibGUqKiBpbnN0YWxsZXJcdTIxOTRhcHAgdmVyc2lvbiBwYWlyIGZhaWxzIGZhc3QgYmVmb3JlIGxhdW5jaC5cbiAgICpcbiAgICogV2hlbiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSwgYW4gaW5zdGFsbGVyIGJlbG93IHRoZSBhcHAncyBydW4gZmxvb3IgdGhyb3dzXG4gICAqIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGZyb20gdmVyc2lvbiByZXNvbHV0aW9uIGJlZm9yZSBhbnl0aGluZyBpc1xuICAgKiBkb3dubG9hZGVkIG9yIGxhdW5jaGVkLiBTZXQgYGZhbHNlYCB0byBsZXQgdGhlIHBpbiBwcm9jZWVkIHRvIGxhdW5jaCBcdTIwMTQgd2hlcmVcbiAgICogdGhlIHJlYWN0aXZlIGRlYWQtYm9vdCBmYXN0LWZhaWwgc3RpbGwgY2F0Y2hlcyB0aGUgYmxhY2stc2NyZWVuIGJvb3QsIGFuZCB0aGVcbiAgICogYCd1bnJ1bm5hYmxlJ2AgdmVyZGljdCBpcyBzdXJmYWNlZCBvbiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5jb21wYXRpYmlsaXR5fVxuICAgKiByYXRoZXIgdGhhbiB0aHJvd24uIElnbm9yZWQgaW4gYXR0YWNoIG1vZGUgKHtAbGluayBwb3J0fSBzZXQpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvd25lZC1pbnN0YW5jZSBjb21wYXRpYmlsaXR5ICoqbmFnIHdhcm5pbmdzKiogYXJlIGVtaXR0ZWQuXG4gICAqXG4gICAqIENvdmVycyBib3RoIHRoZSBvZmZsaW5lIGluc3RhbGxlclx1MjE5NGFwcCB3YXJuaW5nIGFuZCB0aGUgcG9zdC1ib290XG4gICAqIHJ1bnRpbWUtRWxlY3Ryb24gd2FybmluZy4gV2hlbiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSBlYWNoIGZpcmVzIHZpYSB0aGUgaGFybmVzc1xuICAgKiBsb2c7IHNldCBgZmFsc2VgIHRvIHNpbGVuY2UgYm90aCBcdTIwMTQgdGhlIHZlcmRpY3RzIGFyZSBzdGlsbCBzdXJmYWNlZCBvblxuICAgKiB7QGxpbmsgQ2RwQ29ubmVjdGlvbi5jb21wYXRpYmlsaXR5fSAvIHtAbGluayBDZHBDb25uZWN0aW9uLmVsZWN0cm9uQ29tcGF0aWJpbGl0eX0sXG4gICAqIG9ubHkgdGhlIGxvZyBpcyBzdXBwcmVzc2VkLiBJZ25vcmVkIGluIGF0dGFjaCBtb2RlICh7QGxpbmsgcG9ydH0gc2V0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRXYXJuT25Db21wYXRpYmlsaXR5SXNzdWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byBhbiBleGlzdGluZyB2YXVsdCB0byBvcGVuLiBXaGVuIG9taXR0ZWQsIGFuIGVtcHR5IHRlbXBvcmFyeVxuICAgKiB2YXVsdCBpcyBjcmVhdGVkIChhbmQgcmVtb3ZlZCBvbiBkaXNwb3NlIHVubGVzc1xuICAgKiB7QGxpbmsgc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2V9IHNheXMgb3RoZXJ3aXNlKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHVuZGVmaW5lZGBcbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcmVzb2x2ZWQgQ0RQIGhvc3QvcG9ydCBwYWlyLlxuICovXG5pbnRlcmZhY2UgUmVzb2x2ZWRFbmRwb2ludCB7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xufVxuXG4vKipcbiAqIExhdW5jaGVzIChvciBhdHRhY2hlcyB0bykgYSBDRFAtZW5hYmxlZCBPYnNpZGlhbiBpbnN0YW5jZSwgb3BlbnMgYSB2YXVsdCwgYW5kXG4gKiBib290c3RyYXBzIHRoZSBydW50aW1lIGhlbHBlciBuYW1lc3BhY2UsIHJldHVybmluZyBhIGRpc3Bvc2FibGUgY29ubmVjdGlvbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGxpdmUge0BsaW5rIENkcENvbm5lY3Rpb259LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29ubmVjdFRvQ2RwKG9wdGlvbnM/OiBDb25uZWN0VG9DZHBPcHRpb25zKTogUHJvbWlzZTxDZHBDb25uZWN0aW9uPiB7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IGF3YWl0IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zKGJ1aWxkQ2RwVHJhbnNwb3J0T3B0aW9ucyhvcHRpb25zKSk7XG4gIGNvbnN0IHZhdWx0ID0gbmV3IFRlbXBWYXVsdChvcHRpb25zPy52YXVsdCk7XG4gIGNvbnN0IHNob3VsZFJlbW92ZVZhdWx0T25EaXNwb3NlID0gb3B0aW9ucz8uc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2UgPz8gKG9wdGlvbnM/LnZhdWx0ID09PSB1bmRlZmluZWQpO1xuXG4gIC8vIFJlZ2lzdGVyaW5nIHRoZSB2YXVsdCBpcyB3aGF0IGxhdW5jaGVzIHRoZSBvd25lZCBpbnN0YW5jZSAocHJvdmlzaW9ucyB0aGVcbiAgLy8gQXNhciwgb3BlbnMgdGhlIHZhdWx0LCBhbmQgYm9vdHN0cmFwcyB0aGUgaGVscGVyIG5hbWVzcGFjZSksIG9yIG9wZW5zIHRoZVxuICAvLyBWYXVsdCBpbiB0aGUgYXR0YWNoZWQgaW5zdGFuY2UuXG4gIGF3YWl0IHZhdWx0LnJlZ2lzdGVyKHRyYW5zcG9ydCk7XG5cbiAgY29uc3QgeyBob3N0LCBwb3J0IH0gPSByZXNvbHZlRW5kcG9pbnQodHJhbnNwb3J0LCBvcHRpb25zKTtcbiAgY29uc3QgY2RwVXJsID0gYGh0dHA6Ly8ke2hvc3R9OiR7U3RyaW5nKHBvcnQpfWA7XG4gIGNvbnN0IGNvbXBhdGliaWxpdHkgPSB0cmFuc3BvcnQgaW5zdGFuY2VvZiBEZXNrdG9wQ2RwVHJhbnNwb3J0ID8gdHJhbnNwb3J0LmdldENvbXBhdGliaWxpdHkoKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgZWxlY3Ryb25Db21wYXRpYmlsaXR5ID0gdHJhbnNwb3J0IGluc3RhbmNlb2YgRGVza3RvcENkcFRyYW5zcG9ydCA/IHRyYW5zcG9ydC5nZXRFbGVjdHJvbkNvbXBhdGliaWxpdHkoKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBjb25uZWN0aW9uOiBDZHBDb25uZWN0aW9uID0ge1xuICAgIGNkcFVybCxcbiAgICAuLi4oY29tcGF0aWJpbGl0eSAmJiB7IGNvbXBhdGliaWxpdHkgfSksXG4gICAgLi4uKGVsZWN0cm9uQ29tcGF0aWJpbGl0eSAmJiB7IGVsZWN0cm9uQ29tcGF0aWJpbGl0eSB9KSxcblxuICAgIGFzeW5jIGRpc3Bvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlVmF1bHRPbkRpc3Bvc2UpIHtcbiAgICAgICAgICBhd2FpdCB2YXVsdC5kaXNwb3NlKHRyYW5zcG9ydCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgdHJhbnNwb3J0LnVucmVnaXN0ZXJWYXVsdCh2YXVsdC5wYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgYXdhaXQgdHJhbnNwb3J0LmRpc3Bvc2U/LigpO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBldmFsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgICAgIHBhcmFtczogRXhjZXB0PEV2YWxJbk9ic2lkaWFuUGFyYW1zPEFyZ3MsIFJlc3VsdCwgVENvbnRleHRJZD4sICd0cmFuc3BvcnQnIHwgJ3ZhdWx0UGF0aCc+XG4gICAgKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgICAgIHJldHVybiBldmFsSW5PYnNpZGlhbjxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+KHsgLi4ucGFyYW1zLCB0cmFuc3BvcnQsIHZhdWx0UGF0aDogdmF1bHQucGF0aCB9KTtcbiAgICB9LFxuXG4gICAgYXN5bmMgaW52b2tlKGV4cHJlc3Npb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gdHJhbnNwb3J0LmV2YWx1YXRlKGV4cHJlc3Npb24sIHsgY3dkOiB2YXVsdC5wYXRoIH0pO1xuICAgIH0sXG5cbiAgICBwb3J0LFxuXG4gICAgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgYXdhaXQgY29ubmVjdGlvbi5kaXNwb3NlKCk7XG4gICAgfSxcblxuICAgIHZhdWx0XG4gIH07XG5cbiAgcmV0dXJuIGNvbm5lY3Rpb247XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSB7QGxpbmsgT2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zfSBmb3IgYSBjb25uZWN0aW9uLCB0aHJlYWRpbmcgb25seVxuICogdGhlIHByb3ZpZGVkIHtAbGluayBDb25uZWN0VG9DZHBPcHRpb25zfSB0aHJvdWdoIChvd25lZC12aXNpYmxlIGRlZmF1bHRzIHRvXG4gKiBgdHJ1ZWAsIHVubGlrZSB0aGUgaGlkZGVuLWJ5LWRlZmF1bHQgdGVzdCB0cmFuc3BvcnRzKS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjb25uZWN0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgdHJhbnNwb3J0IG9wdGlvbnMgdG8gY3JlYXRlIHRoZSBjb25uZWN0aW9uJ3MgdHJhbnNwb3J0IGZyb20uXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkQ2RwVHJhbnNwb3J0T3B0aW9ucyhvcHRpb25zPzogQ29ubmVjdFRvQ2RwT3B0aW9ucyk6IE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyB7XG4gIHJldHVybiB7XG4gICAgaXNPYnNpZGlhbkFwcFZpc2libGU6IG9wdGlvbnM/LmlzT2JzaWRpYW5BcHBWaXNpYmxlID8/IHRydWUsXG4gICAgdHlwZTogJ29ic2lkaWFuLWNkcCcsXG4gICAgLi4uKG9wdGlvbnM/LmNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHMgIT09IHVuZGVmaW5lZCAmJiB7IGNvbW1hbmRUaW1lb3V0SW5NaWxsaXNlY29uZHM6IG9wdGlvbnMuY29tbWFuZFRpbWVvdXRJbk1pbGxpc2Vjb25kcyB9KSxcbiAgICAuLi4ob3B0aW9ucz8uZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzICE9PSB1bmRlZmluZWQgJiYgeyBkZWFkQm9vdEdyYWNlSW5NaWxsaXNlY29uZHM6IG9wdGlvbnMuZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzIH0pLFxuICAgIC4uLihvcHRpb25zPy5ob3N0ICE9PSB1bmRlZmluZWQgJiYgeyBob3N0OiBvcHRpb25zLmhvc3QgfSksXG4gICAgLi4uKG9wdGlvbnM/Lm9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIHsgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uOiBvcHRpb25zLm9ic2lkaWFuSW5zdGFsbGVyVmVyc2lvbiB9KSxcbiAgICAuLi4ob3B0aW9ucz8ub2JzaWRpYW5WZXJzaW9uICE9PSB1bmRlZmluZWQgJiYgeyBvYnNpZGlhblZlcnNpb246IG9wdGlvbnMub2JzaWRpYW5WZXJzaW9uIH0pLFxuICAgIC4uLihvcHRpb25zPy5wb3J0ICE9PSB1bmRlZmluZWQgJiYgeyBwb3J0OiBvcHRpb25zLnBvcnQgfSksXG4gICAgLi4uKG9wdGlvbnM/LnNob3VsZERpc2FibGVTYW5kYm94ICE9PSB1bmRlZmluZWQgJiYgeyBzaG91bGREaXNhYmxlU2FuZGJveDogb3B0aW9ucy5zaG91bGREaXNhYmxlU2FuZGJveCB9KSxcbiAgICAuLi5idWlsZENvbXBhdGliaWxpdHlUcmFuc3BvcnRPcHRpb25zKG9wdGlvbnMpXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBjb21wYXRpYmlsaXR5LWtub2IgcGFzc3Rocm91Z2ggb3B0aW9ucyAoe0BsaW5rIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucy5zaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyfVxuICogLyB7QGxpbmsgT2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zLnNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXN9KSBmb3IgYVxuICogY29ubmVjdGlvbiwgc3BsaXQgb3V0IG9mIHtAbGluayBidWlsZENkcFRyYW5zcG9ydE9wdGlvbnN9IHRvIGtlZXAgaXRzXG4gKiBjb21wbGV4aXR5IGluIGJvdW5kcy4gT25seSBmb3J3YXJkcyBrbm9icyB0aGUgY2FsbGVyIGFjdHVhbGx5IHNldC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjb25uZWN0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgY29tcGF0aWJpbGl0eSBwYXNzdGhyb3VnaCBvcHRpb25zIChwb3NzaWJseSBlbXB0eSkuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkQ29tcGF0aWJpbGl0eVRyYW5zcG9ydE9wdGlvbnMob3B0aW9ucz86IENvbm5lY3RUb0NkcE9wdGlvbnMpOiBQYXJ0aWFsPE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucz4ge1xuICByZXR1cm4ge1xuICAgIC4uLihvcHRpb25zPy5zaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyICE9PSB1bmRlZmluZWQgJiYgeyBzaG91bGRUaHJvd09uSW5jb21wYXRpYmxlSW5zdGFsbGVyOiBvcHRpb25zLnNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXIgfSksXG4gICAgLi4uKG9wdGlvbnM/LnNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXMgIT09IHVuZGVmaW5lZCAmJiB7IHNob3VsZFdhcm5PbkNvbXBhdGliaWxpdHlJc3N1ZXM6IG9wdGlvbnMuc2hvdWxkV2Fybk9uQ29tcGF0aWJpbGl0eUlzc3VlcyB9KVxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBDRFAgaG9zdC9wb3J0IGZvciB0aGUgY29ubmVjdGlvbjogZnJvbSB0aGUgb3duZWQgaW5zdGFuY2Unc1xuICogbGF1bmNoZWQgZW5kcG9pbnQgd2hlbiBwcmVzZW50LCBvdGhlcndpc2UgZnJvbSB0aGUgYXR0YWNoIG9wdGlvbnMuXG4gKlxuICogQHBhcmFtIHRyYW5zcG9ydCAtIFRoZSB0cmFuc3BvcnQgY3JlYXRlZCBmb3IgdGhpcyBjb25uZWN0aW9uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgY29ubmVjdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGhvc3QgYW5kIHBvcnQuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBwb3J0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICovXG5mdW5jdGlvbiByZXNvbHZlRW5kcG9pbnQodHJhbnNwb3J0OiB1bmtub3duLCBvcHRpb25zOiBDb25uZWN0VG9DZHBPcHRpb25zIHwgdW5kZWZpbmVkKTogUmVzb2x2ZWRFbmRwb2ludCB7XG4gIGlmICh0cmFuc3BvcnQgaW5zdGFuY2VvZiBEZXNrdG9wQ2RwVHJhbnNwb3J0KSB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSB0cmFuc3BvcnQuZ2V0T3duZWRJbnN0YW5jZUVuZHBvaW50KCk7XG4gICAgaWYgKGVuZHBvaW50KSB7XG4gICAgICByZXR1cm4geyBob3N0OiBlbmRwb2ludC5ob3N0LCBwb3J0OiBlbmRwb2ludC5wb3J0IH07XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnM/LnBvcnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGhvc3Q6IG9wdGlvbnMuaG9zdCA/PyBERUZBVUxUX0NEUF9IT1NULCBwb3J0OiBvcHRpb25zLnBvcnQgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignY29ubmVjdFRvQ2RwOiBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBDRFAgcG9ydC4nKTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEwQkEsOEJBQStCO0FBQy9CLHdCQUEwQjtBQUMxQixtQ0FBb0M7QUFDcEMsK0JBQTJDO0FBRTNDLE1BQU0sbUJBQW1CO0FBOE56QixlQUFzQixhQUFhLFNBQXVEO0FBQ3hGLFFBQU0sWUFBWSxVQUFNLHFEQUEyQix5QkFBeUIsT0FBTyxDQUFDO0FBQ3BGLFFBQU0sUUFBUSxJQUFJLDRCQUFVLFNBQVMsS0FBSztBQUMxQyxRQUFNLDZCQUE2QixTQUFTLDhCQUErQixTQUFTLFVBQVU7QUFLOUYsUUFBTSxNQUFNLFNBQVMsU0FBUztBQUU5QixRQUFNLEVBQUUsTUFBTSxLQUFLLElBQUksZ0JBQWdCLFdBQVcsT0FBTztBQUN6RCxRQUFNLFNBQVMsVUFBVSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUM7QUFDN0MsUUFBTSxnQkFBZ0IscUJBQXFCLG1EQUFzQixVQUFVLGlCQUFpQixJQUFJO0FBQ2hHLFFBQU0sd0JBQXdCLHFCQUFxQixtREFBc0IsVUFBVSx5QkFBeUIsSUFBSTtBQUVoSCxRQUFNLGFBQTRCO0FBQUEsSUFDaEM7QUFBQSxJQUNBLEdBQUksaUJBQWlCLEVBQUUsY0FBYztBQUFBLElBQ3JDLEdBQUkseUJBQXlCLEVBQUUsc0JBQXNCO0FBQUEsSUFFckQsTUFBTSxVQUF5QjtBQUM3QixVQUFJO0FBQ0YsWUFBSSw0QkFBNEI7QUFDOUIsZ0JBQU0sTUFBTSxRQUFRLFNBQVM7QUFBQSxRQUMvQixPQUFPO0FBQ0wsZ0JBQU0sVUFBVSxnQkFBZ0IsTUFBTSxJQUFJO0FBQUEsUUFDNUM7QUFBQSxNQUNGLFVBQUU7QUFDQSxjQUFNLFVBQVUsVUFBVTtBQUFBLE1BQzVCO0FBQUEsSUFDRjtBQUFBLElBRUEsTUFBTSxlQUNKLFFBQ2lCO0FBQ2pCLGlCQUFPLHdDQUF5QyxFQUFFLEdBQUcsUUFBUSxXQUFXLFdBQVcsTUFBTSxLQUFLLENBQUM7QUFBQSxJQUNqRztBQUFBLElBRUEsTUFBTSxPQUFPLFlBQXFDO0FBQ2hELGFBQU8sVUFBVSxTQUFTLFlBQVksRUFBRSxLQUFLLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFDM0Q7QUFBQSxJQUVBO0FBQUEsSUFFQSxPQUFPLE9BQU8sWUFBWSxJQUFtQjtBQUMzQyxZQUFNLFdBQVcsUUFBUTtBQUFBLElBQzNCO0FBQUEsSUFFQTtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFVQSxTQUFTLHlCQUF5QixTQUE0RDtBQUM1RixTQUFPO0FBQUEsSUFDTCxzQkFBc0IsU0FBUyx3QkFBd0I7QUFBQSxJQUN2RCxNQUFNO0FBQUEsSUFDTixHQUFJLFNBQVMsaUNBQWlDLFVBQWEsRUFBRSw4QkFBOEIsUUFBUSw2QkFBNkI7QUFBQSxJQUNoSSxHQUFJLFNBQVMsZ0NBQWdDLFVBQWEsRUFBRSw2QkFBNkIsUUFBUSw0QkFBNEI7QUFBQSxJQUM3SCxHQUFJLFNBQVMsU0FBUyxVQUFhLEVBQUUsTUFBTSxRQUFRLEtBQUs7QUFBQSxJQUN4RCxHQUFJLFNBQVMsNkJBQTZCLFVBQWEsRUFBRSwwQkFBMEIsUUFBUSx5QkFBeUI7QUFBQSxJQUNwSCxHQUFJLFNBQVMsb0JBQW9CLFVBQWEsRUFBRSxpQkFBaUIsUUFBUSxnQkFBZ0I7QUFBQSxJQUN6RixHQUFJLFNBQVMsU0FBUyxVQUFhLEVBQUUsTUFBTSxRQUFRLEtBQUs7QUFBQSxJQUN4RCxHQUFJLFNBQVMseUJBQXlCLFVBQWEsRUFBRSxzQkFBc0IsUUFBUSxxQkFBcUI7QUFBQSxJQUN4RyxHQUFHLG1DQUFtQyxPQUFPO0FBQUEsRUFDL0M7QUFDRjtBQVdBLFNBQVMsbUNBQW1DLFNBQXFFO0FBQy9HLFNBQU87QUFBQSxJQUNMLEdBQUksU0FBUyx1Q0FBdUMsVUFBYSxFQUFFLG9DQUFvQyxRQUFRLG1DQUFtQztBQUFBLElBQ2xKLEdBQUksU0FBUyxvQ0FBb0MsVUFBYSxFQUFFLGlDQUFpQyxRQUFRLGdDQUFnQztBQUFBLEVBQzNJO0FBQ0Y7QUFXQSxTQUFTLGdCQUFnQixXQUFvQixTQUE0RDtBQUN2RyxNQUFJLHFCQUFxQixrREFBcUI7QUFDNUMsVUFBTSxXQUFXLFVBQVUseUJBQXlCO0FBQ3BELFFBQUksVUFBVTtBQUNaLGFBQU8sRUFBRSxNQUFNLFNBQVMsTUFBTSxNQUFNLFNBQVMsS0FBSztBQUFBLElBQ3BEO0FBQUEsRUFDRjtBQUVBLE1BQUksU0FBUyxTQUFTLFFBQVc7QUFDL0IsV0FBTyxFQUFFLE1BQU0sUUFBUSxRQUFRLGtCQUFrQixNQUFNLFFBQVEsS0FBSztBQUFBLEVBQ3RFO0FBRUEsUUFBTSxJQUFJLE1BQU0saURBQWlEO0FBQ25FOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import type { Except } from 'type-fest';
14
14
  import type { ContextId } from './context-id.cjs';
15
+ import type { ElectronCompatibility } from './electron-compatibility.cjs';
15
16
  import type { EvalInObsidianParams, GenericObject } from './eval-in-obsidian.cjs';
16
17
  import type { InstallerCompatibility } from './installer-compatibility.cjs';
17
18
  import { TempVault } from './temp-vault.cjs';
@@ -32,8 +33,10 @@ export interface CdpConnection extends AsyncDisposable {
32
33
  * The resolved installer↔app compatibility verdict for an owned instance, when
33
34
  * it could be determined. `undefined` in attach mode, or when the verdict is
34
35
  * unknown (undetectable shell version, or the app version is absent from the
35
- * table). An `'unrunnable'` verdict never reaches here it throws
36
- * `IncompatibleInstallerVersionError` before the connection is created.
36
+ * table). An `'unrunnable'` verdict reaches here only when the proactive throw
37
+ * is disabled ({@link ConnectToCdpOptions.shouldThrowOnIncompatibleInstaller}
38
+ * `false`); otherwise it throws `IncompatibleInstallerVersionError` before the
39
+ * connection is created.
37
40
  */
38
41
  readonly compatibility?: InstallerCompatibility | undefined;
39
42
  /**
@@ -45,6 +48,15 @@ export interface CdpConnection extends AsyncDisposable {
45
48
  * @returns A {@link Promise} that resolves once disposal completes.
46
49
  */
47
50
  dispose(): Promise<void>;
51
+ /**
52
+ * The runtime Electron compatibility verdict for an owned instance, read live
53
+ * after boot: whether the Electron version it is actually running is new enough
54
+ * for the running app version. `undefined` in attach mode, or when the verdict
55
+ * is unknown (the live version was unreadable, or the app version carries no
56
+ * recommended Electron version). An old Electron never blocks — it only warns —
57
+ * so unlike {@link compatibility} there is no throwing tier.
58
+ */
59
+ readonly electronCompatibility?: ElectronCompatibility | undefined;
48
60
  /**
49
61
  * Evaluates a self-contained function inside Obsidian via the rich helper
50
62
  * path, receiving `{ app, lib, obsidianModule, context }` plus any `args`
@@ -153,6 +165,31 @@ export interface ConnectToCdpOptions {
153
165
  * a real vault is never deleted. Set explicitly to override.
154
166
  */
155
167
  readonly shouldRemoveVaultOnDispose?: boolean;
168
+ /**
169
+ * Whether an **unrunnable** installer↔app version pair fails fast before launch.
170
+ *
171
+ * When `true` (the default), an installer below the app's run floor throws
172
+ * `IncompatibleInstallerVersionError` from version resolution before anything is
173
+ * downloaded or launched. Set `false` to let the pin proceed to launch — where
174
+ * the reactive dead-boot fast-fail still catches the black-screen boot, and the
175
+ * `'unrunnable'` verdict is surfaced on {@link CdpConnection.compatibility}
176
+ * rather than thrown. Ignored in attach mode ({@link port} set).
177
+ *
178
+ * @default `true`
179
+ */
180
+ readonly shouldThrowOnIncompatibleInstaller?: boolean;
181
+ /**
182
+ * Whether the owned-instance compatibility **nag warnings** are emitted.
183
+ *
184
+ * Covers both the offline installer↔app warning and the post-boot
185
+ * runtime-Electron warning. When `true` (the default) each fires via the harness
186
+ * log; set `false` to silence both — the verdicts are still surfaced on
187
+ * {@link CdpConnection.compatibility} / {@link CdpConnection.electronCompatibility},
188
+ * only the log is suppressed. Ignored in attach mode ({@link port} set).
189
+ *
190
+ * @default `true`
191
+ */
192
+ readonly shouldWarnOnCompatibilityIssues?: boolean;
156
193
  /**
157
194
  * Absolute path to an existing vault to open. When omitted, an empty temporary
158
195
  * vault is created (and removed on dispose unless
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var electron_compatibility_exports = {};
20
+ __export(electron_compatibility_exports, {
21
+ checkElectronCompatibility: () => checkElectronCompatibility
22
+ });
23
+ module.exports = __toCommonJS(electron_compatibility_exports);
24
+ var import_obsidian_version = require("./obsidian-version.cjs");
25
+ function checkElectronCompatibility(params) {
26
+ const { actualElectronVersion, appVersion, metadata } = params;
27
+ const minRecommendedElectronVersion = metadata?.minRecommendedElectronVersion;
28
+ if (actualElectronVersion === void 0 || minRecommendedElectronVersion === void 0) {
29
+ return { actualElectronVersion: actualElectronVersion ?? null, appVersion, tier: "unknown" };
30
+ }
31
+ if ((0, import_obsidian_version.compareVersions)(actualElectronVersion, minRecommendedElectronVersion) < 0) {
32
+ return {
33
+ actualElectronVersion,
34
+ appVersion,
35
+ message: `Obsidian ${appVersion} runs on Electron ${actualElectronVersion} but recommends Electron ${minRecommendedElectronVersion} or newer; pin a newer obsidianInstallerVersion for full compatibility.`,
36
+ minRecommendedElectronVersion,
37
+ tier: "nagged"
38
+ };
39
+ }
40
+ return { actualElectronVersion, appVersion, minRecommendedElectronVersion, tier: "ok" };
41
+ }
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ checkElectronCompatibility
45
+ });
46
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIHZlcmRpY3Qgb24gd2hldGhlciB0aGUgRWxlY3Ryb24gdmVyc2lvbiBhbiBvd25lZCBPYnNpZGlhbiBpbnN0YW5jZSBpc1xuICogYWN0dWFsbHkgcnVubmluZyBpcyBuZXcgZW5vdWdoIGZvciB0aGUgcmVzb2x2ZWQgYXBwIHZlcnNpb24uIEtlcHQgc2VwYXJhdGUgZnJvbVxuICogdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1kZXNrdG9wLWNkcGAgKHdoaWNoIHJlYWRzIHRoZSBsaXZlIHZlcnNpb24gb3ZlclxuICogQ0RQIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzIHVuaXQtdGVzdGFibGUgXHUyMDE0XG4gKiBtaXJyb3JpbmcgdGhlIGBpbnN0YWxsZXItY29tcGF0aWJpbGl0eWAgLyBgcmVuZGVyZXItYm9vdC1kZXRlY3Rpb25gIHNwbGl0LlxuICpcbiAqIFRoaXMgaXMgdGhlIHRpZXItMiBjb21wYW5pb24gdG8gYGluc3RhbGxlci1jb21wYXRpYmlsaXR5YC4gVGhhdCBvbmUgaXMgZnVsbHlcbiAqIG9mZmxpbmUgXHUyMDE0IGl0IGNvbXBhcmVzIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIgdmVyc2lvbiBhZ2FpbnN0IGluc3RhbGxlci12ZXJzaW9uXG4gKiB0aHJlc2hvbGRzLiBCdXQgdGhlIGFwcCdzIHJlYWwgcmVxdWlyZW1lbnQgaXMgYSAqKm1pbmltdW0gRWxlY3Ryb24gdmVyc2lvbioqXG4gKiBoYXJkY29kZWQgaW5zaWRlIGBhcHAuanNgIChlLmcuIGAxLjEzLjFgIG5lZWRzIEVsZWN0cm9uIGAyOC4yLjNgKSwgYW5kIHRoZVxuICogaW5zdGFsbGVyJ3MgYnVuZGxlZCBFbGVjdHJvbiBpcyBub3QgZGVyaXZhYmxlIG9mZmxpbmUgKHNlZVxuICoge0BsaW5rIE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhLm1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9ufSkuIFNvIHRoaXMgdmVyZGljdFxuICogdGFrZXMgdGhlICoqbGl2ZSoqIGBwcm9jZXNzLnZlcnNpb25zLmVsZWN0cm9uYCByZWFkIGZyb20gdGhlIGJvb3RlZCByZW5kZXJlciBhbmRcbiAqIGNvbXBhcmVzIGl0IHRvIGBtaW5SZWNvbW1lbmRlZEVsZWN0cm9uVmVyc2lvbmAgZnJvbSBgbWV0YWRhdGEuanNvbmAuXG4gKlxuICogQW4gRWxlY3Ryb24gYmVsb3cgdGhlIHJlY29tbWVuZGF0aW9uIHJ1bnMgYnV0IGlzIG5hZ2dlZCAoYCduYWdnZWQnYCkgXHUyMDE0IE9ic2lkaWFuXG4gKiB3b3VsZCBzaG93IGl0cyBcImluc3RhbGxlciB0b28gb2xkXCIgcmVjb21tZW5kYXRpb247IGl0IG5ldmVyIGJsb2Nrcywgc28gdGhlcmUgaXNcbiAqIG5vIGAndW5ydW5uYWJsZSdgIHRpZXIgaGVyZS4gV2hlbiB0aGUgbGl2ZSB2ZXJzaW9uIGlzIHVucmVhZGFibGUgb3IgdGhlIGFwcFxuICogdmVyc2lvbiBjYXJyaWVzIG5vIHJlY29tbWVuZGVkIEVsZWN0cm9uLCB0aGUgdmVyZGljdCBpcyBgJ3Vua25vd24nYCBhbmQgbm90aGluZ1xuICogaXMgd2FybmVkLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5WZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5cbmltcG9ydCB7IGNvbXBhcmVWZXJzaW9ucyB9IGZyb20gJy4vb2JzaWRpYW4tdmVyc2lvbi5janMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBjaGVja0VsZWN0cm9uQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMge1xuICAvKiogVGhlIEVsZWN0cm9uIHZlcnNpb24gdGhlIGluc3RhbmNlIGlzIGFjdHVhbGx5IHJ1bm5pbmcsIG9yIGB1bmRlZmluZWRgIHdoZW4gdW5yZWFkYWJsZS4gKi9cbiAgcmVhZG9ubHkgYWN0dWFsRWxlY3Ryb25WZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFRoZSByZXNvbHZlZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24gdGhhdCBpcyBydW5uaW5nLiAqL1xuICByZWFkb25seSBhcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBgbWV0YWRhdGEuanNvbmAgZW50cnkgZm9yIHtAbGluayBhcHBWZXJzaW9ufSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBhYnNlbnQuICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhOiBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUaGUgcnVudGltZSBFbGVjdHJvbiBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLCBjYXJyaWVkXG4gKiBhcyBkYXRhIG9uIHRoZSB0cmFuc3BvcnQgLyBjb25uZWN0aW9uIHJlc3VsdCBzbyBjb25zdW1lcnMgY2FuIGFzc2VydCBvbiBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGVjdHJvbkNvbXBhdGliaWxpdHkge1xuICAvKiogVGhlIEVsZWN0cm9uIHZlcnNpb24gdGhlIGluc3RhbmNlIGlzIGFjdHVhbGx5IHJ1bm5pbmcsIG9yIGBudWxsYCB3aGVuIHVucmVhZGFibGUuICovXG4gIHJlYWRvbmx5IGFjdHVhbEVsZWN0cm9uVmVyc2lvbjogbnVsbCB8IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbiB0aGF0IGlzIHJ1bm5pbmcuICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKiogQSBodW1hbi1yZWFkYWJsZSBleHBsYW5hdGlvbiwgcHJlc2VudCBmb3IgdGhlIGAnbmFnZ2VkJ2AgdGllci4gKi9cbiAgcmVhZG9ubHkgbWVzc2FnZT86IHN0cmluZztcblxuICAvKiogVGhlIGFwcCdzIHJlY29tbWVuZGVkLW1pbmltdW0gRWxlY3Ryb24gdmVyc2lvbiwgd2hlbiB0aGUgdGFibGUgY2FycmllcyBvbmUuICovXG4gIHJlYWRvbmx5IG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgY29tcGF0aWJpbGl0eSB0aWVyLiAqL1xuICByZWFkb25seSB0aWVyOiBFbGVjdHJvbkNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBydW50aW1lIEVsZWN0cm9uIGNvbXBhdGliaWxpdHkgdGllciBmb3IgYSBib290ZWQgb3duZWQgaW5zdGFuY2UuXG4gKlxuICogLSBgJ29rJ2AgXHUyMDE0IHRoZSBydW5uaW5nIEVsZWN0cm9uIGlzIGF0IG9yIGFib3ZlIHRoZSBhcHAncyByZWNvbW1lbmRlZCBtaW5pbXVtLlxuICogLSBgJ25hZ2dlZCdgIFx1MjAxNCB0aGUgcnVubmluZyBFbGVjdHJvbiBpcyBiZWxvdyB0aGUgcmVjb21tZW5kZWQgbWluaW11bTsgT2JzaWRpYW5cbiAqICAgcnVucyBidXQgd291bGQgc2hvdyBpdHMgXCJpbnN0YWxsZXIgdG9vIG9sZFwiIHJlY29tbWVuZGF0aW9uLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKHRoZSBsaXZlIHZlcnNpb24gd2FzIHVucmVhZGFibGUsIG9yIHRoZVxuICogICBhcHAgdmVyc2lvbiBjYXJyaWVzIG5vIHJlY29tbWVuZGVkIEVsZWN0cm9uIHZlcnNpb24gaW4gdGhlIHRhYmxlKS5cbiAqL1xuZXhwb3J0IHR5cGUgRWxlY3Ryb25Db21wYXRpYmlsaXR5VGllciA9ICduYWdnZWQnIHwgJ29rJyB8ICd1bmtub3duJztcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgcnVudGltZSBFbGVjdHJvbiBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLlxuICpcbiAqIE9ubHkgYCduYWdnZWQnYCB3YXJyYW50cyBhIHdhcm5pbmc7IGAnb2snYCBhbmQgYCd1bmtub3duJ2AgYXJlIHNpbGVudC4gQW5cbiAqIEVsZWN0cm9uIG1pc21hdGNoIG5ldmVyIGJsb2Nrcywgc28gdGhlcmUgaXMgbm8gZXJyb3IgdGllci4gQ29tcGFyaXNvbnMgYXJlIHB1cmVcbiAqIGB4LnkuemAgdmVyc2lvbiBjb21wYXJlcyBcdTIwMTQgbm8gSS9PLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcnVubmluZyBhcHAgdmVyc2lvbiwgdGhlIGxpdmUgRWxlY3Ryb24gdmVyc2lvbiwgYW5kIHRoZSBhcHBcbiAqICAgdmVyc2lvbidzIG1ldGFkYXRhIGVudHJ5LlxuICogQHJldHVybnMgVGhlIGNvbXBhdGliaWxpdHkgdmVyZGljdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5KHBhcmFtczogQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMpOiBFbGVjdHJvbkNvbXBhdGliaWxpdHkge1xuICBjb25zdCB7IGFjdHVhbEVsZWN0cm9uVmVyc2lvbiwgYXBwVmVyc2lvbiwgbWV0YWRhdGEgfSA9IHBhcmFtcztcbiAgY29uc3QgbWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb24gPSBtZXRhZGF0YT8ubWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb247XG5cbiAgaWYgKGFjdHVhbEVsZWN0cm9uVmVyc2lvbiA9PT0gdW5kZWZpbmVkIHx8IG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBhY3R1YWxFbGVjdHJvblZlcnNpb246IGFjdHVhbEVsZWN0cm9uVmVyc2lvbiA/PyBudWxsLCBhcHBWZXJzaW9uLCB0aWVyOiAndW5rbm93bicgfTtcbiAgfVxuXG4gIGlmIChjb21wYXJlVmVyc2lvbnMoYWN0dWFsRWxlY3Ryb25WZXJzaW9uLCBtaW5SZWNvbW1lbmRlZEVsZWN0cm9uVmVyc2lvbikgPCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdHVhbEVsZWN0cm9uVmVyc2lvbixcbiAgICAgIGFwcFZlcnNpb24sXG4gICAgICBtZXNzYWdlOiBgT2JzaWRpYW4gJHthcHBWZXJzaW9ufSBydW5zIG9uIEVsZWN0cm9uICR7YWN0dWFsRWxlY3Ryb25WZXJzaW9ufSBidXQgcmVjb21tZW5kcyBFbGVjdHJvbiBgXG4gICAgICAgICsgYCR7bWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb259IG9yIG5ld2VyOyBwaW4gYSBuZXdlciBvYnNpZGlhbkluc3RhbGxlclZlcnNpb24gZm9yIGZ1bGwgY29tcGF0aWJpbGl0eS5gLFxuICAgICAgbWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb24sXG4gICAgICB0aWVyOiAnbmFnZ2VkJ1xuICAgIH07XG4gIH1cblxuICByZXR1cm4geyBhY3R1YWxFbGVjdHJvblZlcnNpb24sIGFwcFZlcnNpb24sIG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uLCB0aWVyOiAnb2snIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMkJBLDhCQUFnQztBQTJEekIsU0FBUywyQkFBMkIsUUFBaUU7QUFDMUcsUUFBTSxFQUFFLHVCQUF1QixZQUFZLFNBQVMsSUFBSTtBQUN4RCxRQUFNLGdDQUFnQyxVQUFVO0FBRWhELE1BQUksMEJBQTBCLFVBQWEsa0NBQWtDLFFBQVc7QUFDdEYsV0FBTyxFQUFFLHVCQUF1Qix5QkFBeUIsTUFBTSxZQUFZLE1BQU0sVUFBVTtBQUFBLEVBQzdGO0FBRUEsVUFBSSx5Q0FBZ0IsdUJBQXVCLDZCQUE2QixJQUFJLEdBQUc7QUFDN0UsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQSxTQUFTLFlBQVksVUFBVSxxQkFBcUIscUJBQXFCLDRCQUNsRSw2QkFBNkI7QUFBQSxNQUNwQztBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsU0FBTyxFQUFFLHVCQUF1QixZQUFZLCtCQUErQixNQUFNLEtBQUs7QUFDeEY7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Pure verdict on whether the Electron version an owned Obsidian instance is
5
+ * actually running is new enough for the resolved app version. Kept separate from
6
+ * the integration-only `transport-desktop-cdp` (which reads the live version over
7
+ * CDP and is excluded from unit tests) so the tier logic stays unit-testable —
8
+ * mirroring the `installer-compatibility` / `renderer-boot-detection` split.
9
+ *
10
+ * This is the tier-2 companion to `installer-compatibility`. That one is fully
11
+ * offline — it compares the resolved installer version against installer-version
12
+ * thresholds. But the app's real requirement is a **minimum Electron version**
13
+ * hardcoded inside `app.js` (e.g. `1.13.1` needs Electron `28.2.3`), and the
14
+ * installer's bundled Electron is not derivable offline (see
15
+ * {@link ObsidianVersionMetadata.minRecommendedElectronVersion}). So this verdict
16
+ * takes the **live** `process.versions.electron` read from the booted renderer and
17
+ * compares it to `minRecommendedElectronVersion` from `metadata.json`.
18
+ *
19
+ * An Electron below the recommendation runs but is nagged (`'nagged'`) — Obsidian
20
+ * would show its "installer too old" recommendation; it never blocks, so there is
21
+ * no `'unrunnable'` tier here. When the live version is unreadable or the app
22
+ * version carries no recommended Electron, the verdict is `'unknown'` and nothing
23
+ * is warned.
24
+ */
25
+ import type { ObsidianVersionMetadata } from './obsidian-metadata.cjs';
26
+ /**
27
+ * Parameters for {@link checkElectronCompatibility}.
28
+ */
29
+ export interface CheckElectronCompatibilityParams {
30
+ /** The Electron version the instance is actually running, or `undefined` when unreadable. */
31
+ readonly actualElectronVersion: string | undefined;
32
+ /** The resolved Obsidian app (asar) version that is running. */
33
+ readonly appVersion: string;
34
+ /** The `metadata.json` entry for {@link appVersion}, or `undefined` when absent. */
35
+ readonly metadata: ObsidianVersionMetadata | undefined;
36
+ }
37
+ /**
38
+ * The runtime Electron compatibility verdict for a booted owned instance, carried
39
+ * as data on the transport / connection result so consumers can assert on it.
40
+ */
41
+ export interface ElectronCompatibility {
42
+ /** The Electron version the instance is actually running, or `null` when unreadable. */
43
+ readonly actualElectronVersion: null | string;
44
+ /** The resolved Obsidian app (asar) version that is running. */
45
+ readonly appVersion: string;
46
+ /** A human-readable explanation, present for the `'nagged'` tier. */
47
+ readonly message?: string;
48
+ /** The app's recommended-minimum Electron version, when the table carries one. */
49
+ readonly minRecommendedElectronVersion?: string;
50
+ /** The resolved compatibility tier. */
51
+ readonly tier: ElectronCompatibilityTier;
52
+ }
53
+ /**
54
+ * The runtime Electron compatibility tier for a booted owned instance.
55
+ *
56
+ * - `'ok'` — the running Electron is at or above the app's recommended minimum.
57
+ * - `'nagged'` — the running Electron is below the recommended minimum; Obsidian
58
+ * runs but would show its "installer too old" recommendation.
59
+ * - `'unknown'` — cannot be determined (the live version was unreadable, or the
60
+ * app version carries no recommended Electron version in the table).
61
+ */
62
+ export type ElectronCompatibilityTier = 'nagged' | 'ok' | 'unknown';
63
+ /**
64
+ * Computes the runtime Electron compatibility verdict for a booted owned instance.
65
+ *
66
+ * Only `'nagged'` warrants a warning; `'ok'` and `'unknown'` are silent. An
67
+ * Electron mismatch never blocks, so there is no error tier. Comparisons are pure
68
+ * `x.y.z` version compares — no I/O.
69
+ *
70
+ * @param params - The running app version, the live Electron version, and the app
71
+ * version's metadata entry.
72
+ * @returns The compatibility verdict.
73
+ */
74
+ export declare function checkElectronCompatibility(params: CheckElectronCompatibilityParams): ElectronCompatibility;
@@ -24,6 +24,7 @@ __export(index_exports, {
24
24
  IncompatibleInstallerVersionError: () => import_incompatible_installer_version_error.IncompatibleInstallerVersionError,
25
25
  RendererFailedToInitializeError: () => import_renderer_failed_to_initialize_error.RendererFailedToInitializeError,
26
26
  TempVault: () => import_temp_vault.TempVault,
27
+ checkElectronCompatibility: () => import_electron_compatibility.checkElectronCompatibility,
27
28
  checkInstallerCompatibility: () => import_installer_compatibility.checkInstallerCompatibility,
28
29
  connectToCdp: () => import_connect_to_cdp.connectToCdp,
29
30
  createTransportFromOptions: () => import_transport_factory.createTransportFromOptions,
@@ -39,6 +40,7 @@ module.exports = __toCommonJS(index_exports);
39
40
  var import_connect_to_cdp = require("./connect-to-cdp.cjs");
40
41
  var import_context_id = require("./context-id.cjs");
41
42
  var import_context_provider = require("./context-provider.cjs");
43
+ var import_electron_compatibility = require("./electron-compatibility.cjs");
42
44
  var import_eval_in_obsidian = require("./eval-in-obsidian.cjs");
43
45
  var import_incompatible_installer_version_error = require("./incompatible-installer-version-error.cjs");
44
46
  var import_installer_compatibility = require("./installer-compatibility.cjs");
@@ -58,6 +60,7 @@ var import_vault_registry = require("./vault-registry.cjs");
58
60
  IncompatibleInstallerVersionError,
59
61
  RendererFailedToInitializeError,
60
62
  TempVault,
63
+ checkElectronCompatibility,
61
64
  checkInstallerCompatibility,
62
65
  connectToCdp,
63
66
  createTransportFromOptions,
@@ -69,4 +72,4 @@ var import_vault_registry = require("./vault-registry.cjs");
69
72
  setVaultPathResolver,
70
73
  unregisterVault
71
74
  });
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBDZHBDb25uZWN0aW9uLFxuICBDb25uZWN0VG9DZHBPcHRpb25zXG59IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuZXhwb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgRXZhbEluT2JzaWRpYW5QYXJhbXMsXG4gIEhvdmVyRWxlbWVudFBhcmFtcyxcbiAgTGliLFxuICBNb3ZlTW91c2VQYXJhbXMsXG4gIFByZXNzS2V5UGFyYW1zLFxuICBUeXBlSW50b0VkaXRvclBhcmFtcyxcbiAgVW5ob3ZlckVsZW1lbnRQYXJhbXMsXG4gIFdhaXRVbnRpbFBhcmFtc1xufSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4uY2pzJztcbmV4cG9ydCB7IGV2YWxJbk9ic2lkaWFuIH0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgdHlwZSB7IEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi9pbmNvbXBhdGlibGUtaW5zdGFsbGVyLXZlcnNpb24tZXJyb3IuY2pzJztcbmV4cG9ydCB7IEluY29tcGF0aWJsZUluc3RhbGxlclZlcnNpb25FcnJvciB9IGZyb20gJy4vaW5jb21wYXRpYmxlLWluc3RhbGxlci12ZXJzaW9uLWVycm9yLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIENoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eVBhcmFtcyxcbiAgSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSxcbiAgSW5zdGFsbGVyQ29tcGF0aWJpbGl0eVRpZXJcbn0gZnJvbSAnLi9pbnN0YWxsZXItY29tcGF0aWJpbGl0eS5janMnO1xuZXhwb3J0IHsgY2hlY2tJbnN0YWxsZXJDb21wYXRpYmlsaXR5IH0gZnJvbSAnLi9pbnN0YWxsZXItY29tcGF0aWJpbGl0eS5janMnO1xuZXhwb3J0IHR5cGUgeyBMaWJSZXNvbHZlciB9IGZyb20gJy4vbGliLXJlZ2lzdHJ5LmNqcyc7XG5leHBvcnQgeyByZWdpc3RlckxpYlJlc29sdmVyIH0gZnJvbSAnLi9saWItcmVnaXN0cnkuY2pzJztcbmV4cG9ydCB0eXBlIHsgT2JzaWRpYW5WZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQgeyBnZXRWZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQgeyBSZW5kZXJlckZhaWxlZFRvSW5pdGlhbGl6ZUVycm9yIH0gZnJvbSAnLi9yZW5kZXJlci1mYWlsZWQtdG8taW5pdGlhbGl6ZS1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBQb3B1bGF0ZUZpbGVDb250ZW50LFxuICBQb3B1bGF0ZUZpbGVzUGFyYW1zXG59IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuZXhwb3J0IHsgVGVtcFZhdWx0IH0gZnJvbSAnLi90ZW1wLXZhdWx0LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEFwcGl1bVNlc3Npb25JbmZvLFxuICBBcHBpdW1UcmFuc3BvcnRDb25maWdcbn0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgeyBBcHBpdW1UcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1hcHBpdW0uY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgRGVza3RvcENkcFRyYW5zcG9ydENvbmZpZyxcbiAgT3duZWRJbnN0YW5jZUFzYXIsXG4gIE93bmVkSW5zdGFuY2VDb25maWdcbn0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IERlc2t0b3BDZHBUcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1kZXNrdG9wLWNkcC5janMnO1xuZXhwb3J0IHsgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1mYWN0b3J5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyxcbiAgT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zXG59IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5UcmFuc3BvcnQsXG4gIFRyYW5zcG9ydEV2YWxPcHRpb25zXG59IGZyb20gJy4vdHJhbnNwb3J0LmNqcyc7XG5leHBvcnQge1xuICByZWdpc3RlclZhdWx0LFxuICB1bnJlZ2lzdGVyVmF1bHRcbn0gZnJvbSAnLi92YXVsdC1yZWdpc3RyeS5janMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLDRCQUE2QjtBQUM3Qix3QkFBMEI7QUFLMUIsOEJBR087QUFXUCw4QkFBK0I7QUFFL0Isa0RBQWtEO0FBTWxELHFDQUE0QztBQUU1QywwQkFBb0M7QUFFcEMsK0JBQW1DO0FBQ25DLGlEQUFnRDtBQUtoRCx3QkFBMEI7QUFLMUIsOEJBQWdDO0FBTWhDLG1DQUFvQztBQUNwQywrQkFBMkM7QUFVM0MsNEJBR087IiwKICAibmFtZXMiOiBbXQp9Cg==
75
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBDZHBDb25uZWN0aW9uLFxuICBDb25uZWN0VG9DZHBPcHRpb25zXG59IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuZXhwb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEVsZWN0cm9uQ29tcGF0aWJpbGl0eSxcbiAgRWxlY3Ryb25Db21wYXRpYmlsaXR5VGllclxufSBmcm9tICcuL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5IH0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIExpYixcbiAgTW92ZU1vdXNlUGFyYW1zLFxuICBQcmVzc0tleVBhcmFtcyxcbiAgVHlwZUludG9FZGl0b3JQYXJhbXMsXG4gIFVuaG92ZXJFbGVtZW50UGFyYW1zLFxuICBXYWl0VW50aWxQYXJhbXNcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHR5cGUgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vaW5jb21wYXRpYmxlLWluc3RhbGxlci12ZXJzaW9uLWVycm9yLmNqcyc7XG5leHBvcnQgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3IgfSBmcm9tICcuL2luY29tcGF0aWJsZS1pbnN0YWxsZXItdmVyc2lvbi1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHksXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyXG59IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB9IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB0eXBlIHsgTGliUmVzb2x2ZXIgfSBmcm9tICcuL2xpYi1yZWdpc3RyeS5janMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJy4vbGliLXJlZ2lzdHJ5LmNqcyc7XG5leHBvcnQgdHlwZSB7IE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhIH0gZnJvbSAnLi9vYnNpZGlhbi1tZXRhZGF0YS5janMnO1xuZXhwb3J0IHsgZ2V0VmVyc2lvbk1ldGFkYXRhIH0gZnJvbSAnLi9vYnNpZGlhbi1tZXRhZGF0YS5janMnO1xuZXhwb3J0IHsgUmVuZGVyZXJGYWlsZWRUb0luaXRpYWxpemVFcnJvciB9IGZyb20gJy4vcmVuZGVyZXItZmFpbGVkLXRvLWluaXRpYWxpemUtZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wdWxhdGVGaWxlQ29udGVudCxcbiAgUG9wdWxhdGVGaWxlc1BhcmFtc1xufSBmcm9tICcuL3RlbXAtdmF1bHQuY2pzJztcbmV4cG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBBcHBpdW1TZXNzaW9uSW5mbyxcbiAgQXBwaXVtVHJhbnNwb3J0Q29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWFwcGl1bS5janMnO1xuZXhwb3J0IHsgQXBwaXVtVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIERlc2t0b3BDZHBUcmFuc3BvcnRDb25maWcsXG4gIE93bmVkSW5zdGFuY2VBc2FyLFxuICBPd25lZEluc3RhbmNlQ29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWRlc2t0b3AtY2RwLmNqcyc7XG5leHBvcnQgeyBEZXNrdG9wQ2RwVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLFxuICBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuVHJhbnNwb3J0LFxuICBUcmFuc3BvcnRFdmFsT3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC5janMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJWYXVsdCxcbiAgdW5yZWdpc3RlclZhdWx0XG59IGZyb20gJy4vdmF1bHQtcmVnaXN0cnkuY2pzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLDRCQUE2QjtBQUM3Qix3QkFBMEI7QUFLMUIsOEJBR087QUFNUCxvQ0FBMkM7QUFXM0MsOEJBQStCO0FBRS9CLGtEQUFrRDtBQU1sRCxxQ0FBNEM7QUFFNUMsMEJBQW9DO0FBRXBDLCtCQUFtQztBQUNuQyxpREFBZ0Q7QUFLaEQsd0JBQTBCO0FBSzFCLDhCQUFnQztBQU1oQyxtQ0FBb0M7QUFDcEMsK0JBQTJDO0FBVTNDLDRCQUdPOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -8,6 +8,8 @@ export { connectToCdp } from './connect-to-cdp.cjs';
8
8
  export { ContextId } from './context-id.cjs';
9
9
  export type { TransportOptionsResolver, VaultPathResolver } from './context-provider.cjs';
10
10
  export { setTransportOptionsResolver, setVaultPathResolver } from './context-provider.cjs';
11
+ export type { CheckElectronCompatibilityParams, ElectronCompatibility, ElectronCompatibilityTier } from './electron-compatibility.cjs';
12
+ export { checkElectronCompatibility } from './electron-compatibility.cjs';
11
13
  export type { EvalInObsidianParams, HoverElementParams, Lib, MoveMouseParams, PressKeyParams, TypeIntoEditorParams, UnhoverElementParams, WaitUntilParams } from './eval-in-obsidian.cjs';
12
14
  export { evalInObsidian } from './eval-in-obsidian.cjs';
13
15
  export type { IncompatibleInstallerVersionErrorConstructorParams } from './incompatible-installer-version-error.cjs';
@@ -61,4 +61,4 @@ function checkInstallerCompatibility(params) {
61
61
  0 && (module.exports = {
62
62
  checkInstallerCompatibility
63
63
  });
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSByZXNvbHZlZCAoT2JzaWRpYW4gYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpciBpc1xuICogY29tcGF0aWJsZSwgY29tcHV0ZWQgb2ZmbGluZSBmcm9tIHRoZSBgbWV0YWRhdGEuanNvbmAgdGhyZXNob2xkcy4gS2VwdCBzZXBhcmF0ZVxuICogZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSBgdHJhbnNwb3J0LWZhY3RvcnlgICh3aGljaCBkcml2ZXMgcmVhbFxuICogZG93bmxvYWRzL2xhdW5jaGVzIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGByZW5kZXJlci1ib290LWRldGVjdGlvbmAgc3BsaXQuXG4gKlxuICogVHdvIHRocmVzaG9sZHMgZHJpdmUgdGhlIHZlcmRpY3QsIGJvdGggaW5zdGFsbGVyIHZlcnNpb25zIGRpcmVjdGx5IGNvbXBhcmFibGVcbiAqIHRvIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIvc2hlbGwgdmVyc2lvbjpcbiAqXG4gKiAtIGBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb25gIFx1MjAxNCB0aGUgcnVuIGZsb29yLiBCZWxvdyBpdCB0aGUgYXBwIGNhbm5vdCBib290XG4gKiAgIChgJ3VucnVubmFibGUnYCk7IHRoZSBjYWxsZXIgdHVybnMgdGhpcyBpbnRvIGEgcHJvYWN0aXZlXG4gKiAgIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGJlZm9yZSBhbnkgZG93bmxvYWQvbGF1bmNoLlxuICogLSBgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uYCBcdTIwMTQgdGhlIHJlY29tbWVuZGVkIGZsb29yIChvbGRlciB2ZXJzaW9uc1xuICogICBvbmx5KS4gQXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhpcywgdGhlIGFwcCBydW5zIGJ1dCBpcyBiZWxvd1xuICogICBPYnNpZGlhbidzIHJlY29tbWVuZGF0aW9uIChgJ25hZ2dlZCdgKSwgc3VyZmFjZWQgYXMgYSB3YXJuaW5nLlxuICpcbiAqIFdoZW4gdGhlIGluc3RhbGxlciB2ZXJzaW9uIGlzIHVua25vd24gKGUuZy4gYW4gdW5kZXRlY3RhYmxlIExpbnV4IHNoZWxsKSBvciB0aGVcbiAqIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZSB0YWJsZSwgdGhlIHZlcmRpY3QgaXMgYCd1bmtub3duJ2AgYW5kIG5vdGhpbmcgaXNcbiAqIHRocm93biBvciB3YXJuZWQgXHUyMDE0IHRoZSByZWFjdGl2ZSBkZWFkLWJvb3QgZmFzdC1mYWlsIHJlbWFpbnMgdGhlIHNhZmV0eSBuZXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tJbnN0YWxsZXJDb21wYXRpYmlsaXR5UGFyYW1zIHtcbiAgLyoqIFRoZSByZXNvbHZlZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIGluc3RhbGxlci9FbGVjdHJvbiBzaGVsbCB2ZXJzaW9uLCBvciBgdW5kZWZpbmVkYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVGhlIGBtZXRhZGF0YS5qc29uYCBlbnRyeSBmb3Ige0BsaW5rIGFwcFZlcnNpb259LCBvciBgdW5kZWZpbmVkYCB3aGVuIGFic2VudC4gKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgcmVzb2x2ZWQgKGFwcCwgaW5zdGFsbGVyKSB2ZXJzaW9uIHBhaXIsIGNhcnJpZWRcbiAqIGFzIGRhdGEgb24gdGhlIHRyYW5zcG9ydCAvIGNvbm5lY3Rpb24gcmVzdWx0IHNvIGNvbnN1bWVycyBjYW4gYXNzZXJ0IG9uIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbGxlckNvbXBhdGliaWxpdHkge1xuICAvKiogVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbi4gKi9cbiAgcmVhZG9ubHkgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyL0VsZWN0cm9uIHNoZWxsIHZlcnNpb24sIG9yIGBudWxsYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IG51bGwgfCBzdHJpbmc7XG5cbiAgLyoqIEEgaHVtYW4tcmVhZGFibGUgZXhwbGFuYXRpb24sIHByZXNlbnQgZm9yIHRoZSBgJ25hZ2dlZCdgIHRpZXIuICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBpbnN0YWxsZXIgZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBydW4gZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZXNvbHZlZCBjb21wYXRpYmlsaXR5IHRpZXIuICovXG4gIHJlYWRvbmx5IHRpZXI6IEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHRpZXIgb2YgYSByZXNvbHZlZCAoYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpci5cbiAqXG4gKiAtIGAnb2snYCBcdTIwMTQgdGhlIGluc3RhbGxlciBpcyBhdCBvciBhYm92ZSB0aGUgcmVjb21tZW5kZWQgZmxvb3IgKG9yIG5vXG4gKiAgIHJlY29tbWVuZGVkIGZsb29yIGlzIGtub3duKTsgcnVucyB3aXRoIGZ1bGwgY29tcGF0aWJpbGl0eS5cbiAqIC0gYCduYWdnZWQnYCBcdTIwMTQgYXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhlIHJlY29tbWVuZGVkIGZsb29yOyBydW5zIGJ1dFxuICogICBPYnNpZGlhbiB3b3VsZCBzaG93IGl0cyBcImluc3RhbGxlciB0b28gb2xkXCIgcmVjb21tZW5kYXRpb24uXG4gKiAtIGAndW5ydW5uYWJsZSdgIFx1MjAxNCBiZWxvdyB0aGUgcnVuIGZsb29yOyB0aGUgYXBwIGNhbm5vdCBib290IG9uIHRoaXMgaW5zdGFsbGVyLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKGluc3RhbGxlciB2ZXJzaW9uIHVua25vd24sIG9yIHRoZSBhcHBcbiAqICAgdmVyc2lvbiBpcyBhYnNlbnQgZnJvbSB0aGUgdGFibGUpLlxuICovXG5leHBvcnQgdHlwZSBJbnN0YWxsZXJDb21wYXRpYmlsaXR5VGllciA9ICduYWdnZWQnIHwgJ29rJyB8ICd1bmtub3duJyB8ICd1bnJ1bm5hYmxlJztcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhIHJlc29sdmVkIChhcHAsIGluc3RhbGxlcikgdmVyc2lvbiBwYWlyLlxuICpcbiAqIE9ubHkgYCd1bnJ1bm5hYmxlJ2Agd2FycmFudHMgYW4gZXJyb3I7IGAnbmFnZ2VkJ2Agd2FycmFudHMgYSB3YXJuaW5nOyBgJ29rJ2AgYW5kXG4gKiBgJ3Vua25vd24nYCBhcmUgc2lsZW50LiBDb21wYXJpc29ucyBhcmUgcHVyZSBgeC55LnpgIHZlcnNpb24gY29tcGFyZXMgXHUyMDE0IG5vIEkvTy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHJlc29sdmVkIHZlcnNpb25zIGFuZCB0aGUgYXBwIHZlcnNpb24ncyBtZXRhZGF0YSBlbnRyeS5cbiAqIEByZXR1cm5zIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHkocGFyYW1zOiBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMpOiBJbnN0YWxsZXJDb21wYXRpYmlsaXR5IHtcbiAgY29uc3QgeyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uLCBtZXRhZGF0YSB9ID0gcGFyYW1zO1xuICBjb25zdCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uO1xuICBjb25zdCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uO1xuXG4gIGlmIChpbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQgfHwgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uOiBpbnN0YWxsZXJWZXJzaW9uID8/IG51bGwsIHRpZXI6ICd1bmtub3duJyB9O1xuICB9XG5cbiAgY29uc3QgcmVjb21tZW5kZWRGbG9vciA9IG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIHsgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uIH07XG5cbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1pblJ1bm5hYmxlSW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIHRpZXI6ICd1bnJ1bm5hYmxlJyxcbiAgICAgIC4uLnJlY29tbWVuZGVkRmxvb3JcbiAgICB9O1xuICB9XG5cbiAgaWYgKG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1lc3NhZ2U6IGBPYnNpZGlhbiBpbnN0YWxsZXIgJHtpbnN0YWxsZXJWZXJzaW9ufSBydW5zIE9ic2lkaWFuICR7YXBwVmVyc2lvbn0gYnV0IGlzIG9sZGVyIHRoYW4gdGhlIGBcbiAgICAgICAgKyBgcmVjb21tZW5kZWQgaW5zdGFsbGVyICR7bWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9ufTsgdXBkYXRlIHRoZSBpbnN0YWxsZXIgZm9yIGZ1bGwgY29tcGF0aWJpbGl0eS5gLFxuICAgICAgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgdGllcjogJ25hZ2dlZCdcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhcHBWZXJzaW9uLFxuICAgIGluc3RhbGxlclZlcnNpb24sXG4gICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgIHRpZXI6ICdvaycsXG4gICAgLi4ucmVjb21tZW5kZWRGbG9vclxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQSw4QkFBZ0M7QUE4RHpCLFNBQVMsNEJBQTRCLFFBQW1FO0FBQzdHLFFBQU0sRUFBRSxZQUFZLGtCQUFrQixTQUFTLElBQUk7QUFDbkQsUUFBTSw4QkFBOEIsVUFBVTtBQUM5QyxRQUFNLGlDQUFpQyxVQUFVO0FBRWpELE1BQUkscUJBQXFCLFVBQWEsZ0NBQWdDLFFBQVc7QUFDL0UsV0FBTyxFQUFFLFlBQVksa0JBQWtCLG9CQUFvQixNQUFNLE1BQU0sVUFBVTtBQUFBLEVBQ25GO0FBRUEsUUFBTSxtQkFBbUIsbUNBQW1DLFVBQWEsRUFBRSwrQkFBK0I7QUFFMUcsVUFBSSx5Q0FBZ0Isa0JBQWtCLDJCQUEyQixJQUFJLEdBQUc7QUFDdEUsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ04sR0FBRztBQUFBLElBQ0w7QUFBQSxFQUNGO0FBRUEsTUFBSSxtQ0FBbUMsY0FBYSx5Q0FBZ0Isa0JBQWtCLDhCQUE4QixJQUFJLEdBQUc7QUFDekgsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQSxTQUFTLHNCQUFzQixnQkFBZ0Isa0JBQWtCLFVBQVUsZ0RBQzlDLDhCQUE4QjtBQUFBLE1BQzNEO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ04sR0FBRztBQUFBLEVBQ0w7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSByZXNvbHZlZCAoT2JzaWRpYW4gYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpciBpc1xuICogY29tcGF0aWJsZSwgY29tcHV0ZWQgb2ZmbGluZSBmcm9tIHRoZSBgbWV0YWRhdGEuanNvbmAgdGhyZXNob2xkcy4gS2VwdCBzZXBhcmF0ZVxuICogZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSBgdHJhbnNwb3J0LWZhY3RvcnlgICh3aGljaCBkcml2ZXMgcmVhbFxuICogZG93bmxvYWRzL2xhdW5jaGVzIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGByZW5kZXJlci1ib290LWRldGVjdGlvbmAgc3BsaXQuXG4gKlxuICogVHdvIHRocmVzaG9sZHMgZHJpdmUgdGhlIHZlcmRpY3QsIGJvdGggaW5zdGFsbGVyIHZlcnNpb25zIGRpcmVjdGx5IGNvbXBhcmFibGVcbiAqIHRvIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIvc2hlbGwgdmVyc2lvbjpcbiAqXG4gKiAtIGBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb25gIFx1MjAxNCB0aGUgcnVuIGZsb29yLiBCZWxvdyBpdCB0aGUgYXBwIGNhbm5vdCBib290XG4gKiAgIChgJ3VucnVubmFibGUnYCk7IHRoZSBjYWxsZXIgdHVybnMgdGhpcyBpbnRvIGEgcHJvYWN0aXZlXG4gKiAgIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGJlZm9yZSBhbnkgZG93bmxvYWQvbGF1bmNoIFx1MjAxNCB1bmxlc3MgdGhlXG4gKiAgIGNhbGxlciBoYXMgZGlzYWJsZWQgdGhlIHByb2FjdGl2ZSB0aHJvdyAoYHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXJgXG4gKiAgIGBmYWxzZWApLCBpbiB3aGljaCBjYXNlIHRoZSBib290IHByb2NlZWRzIGFuZCB0aGUgcmVhY3RpdmUgZGVhZC1ib290IGZhc3QtZmFpbFxuICogICBjYXRjaGVzIGl0LlxuICogLSBgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uYCBcdTIwMTQgdGhlIHJlY29tbWVuZGVkIGZsb29yIChvbGRlciB2ZXJzaW9uc1xuICogICBvbmx5KS4gQXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhpcywgdGhlIGFwcCBydW5zIGJ1dCBpcyBiZWxvd1xuICogICBPYnNpZGlhbidzIHJlY29tbWVuZGF0aW9uIChgJ25hZ2dlZCdgKSwgc3VyZmFjZWQgYXMgYSB3YXJuaW5nLlxuICpcbiAqIFdoZW4gdGhlIGluc3RhbGxlciB2ZXJzaW9uIGlzIHVua25vd24gKGUuZy4gYW4gdW5kZXRlY3RhYmxlIExpbnV4IHNoZWxsKSBvciB0aGVcbiAqIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZSB0YWJsZSwgdGhlIHZlcmRpY3QgaXMgYCd1bmtub3duJ2AgYW5kIG5vdGhpbmcgaXNcbiAqIHRocm93biBvciB3YXJuZWQgXHUyMDE0IHRoZSByZWFjdGl2ZSBkZWFkLWJvb3QgZmFzdC1mYWlsIHJlbWFpbnMgdGhlIHNhZmV0eSBuZXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tJbnN0YWxsZXJDb21wYXRpYmlsaXR5UGFyYW1zIHtcbiAgLyoqIFRoZSByZXNvbHZlZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIGluc3RhbGxlci9FbGVjdHJvbiBzaGVsbCB2ZXJzaW9uLCBvciBgdW5kZWZpbmVkYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVGhlIGBtZXRhZGF0YS5qc29uYCBlbnRyeSBmb3Ige0BsaW5rIGFwcFZlcnNpb259LCBvciBgdW5kZWZpbmVkYCB3aGVuIGFic2VudC4gKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgcmVzb2x2ZWQgKGFwcCwgaW5zdGFsbGVyKSB2ZXJzaW9uIHBhaXIsIGNhcnJpZWRcbiAqIGFzIGRhdGEgb24gdGhlIHRyYW5zcG9ydCAvIGNvbm5lY3Rpb24gcmVzdWx0IHNvIGNvbnN1bWVycyBjYW4gYXNzZXJ0IG9uIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbGxlckNvbXBhdGliaWxpdHkge1xuICAvKiogVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbi4gKi9cbiAgcmVhZG9ubHkgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyL0VsZWN0cm9uIHNoZWxsIHZlcnNpb24sIG9yIGBudWxsYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IG51bGwgfCBzdHJpbmc7XG5cbiAgLyoqIEEgaHVtYW4tcmVhZGFibGUgZXhwbGFuYXRpb24sIHByZXNlbnQgZm9yIHRoZSBgJ25hZ2dlZCdgIHRpZXIuICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBpbnN0YWxsZXIgZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBydW4gZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZXNvbHZlZCBjb21wYXRpYmlsaXR5IHRpZXIuICovXG4gIHJlYWRvbmx5IHRpZXI6IEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHRpZXIgb2YgYSByZXNvbHZlZCAoYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpci5cbiAqXG4gKiAtIGAnb2snYCBcdTIwMTQgdGhlIGluc3RhbGxlciBpcyBhdCBvciBhYm92ZSB0aGUgcmVjb21tZW5kZWQgZmxvb3IgKG9yIG5vXG4gKiAgIHJlY29tbWVuZGVkIGZsb29yIGlzIGtub3duKTsgcnVucyB3aXRoIGZ1bGwgY29tcGF0aWJpbGl0eS5cbiAqIC0gYCduYWdnZWQnYCBcdTIwMTQgYXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhlIHJlY29tbWVuZGVkIGZsb29yOyBydW5zIGJ1dFxuICogICBPYnNpZGlhbiB3b3VsZCBzaG93IGl0cyBcImluc3RhbGxlciB0b28gb2xkXCIgcmVjb21tZW5kYXRpb24uXG4gKiAtIGAndW5ydW5uYWJsZSdgIFx1MjAxNCBiZWxvdyB0aGUgcnVuIGZsb29yOyB0aGUgYXBwIGNhbm5vdCBib290IG9uIHRoaXMgaW5zdGFsbGVyLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKGluc3RhbGxlciB2ZXJzaW9uIHVua25vd24sIG9yIHRoZSBhcHBcbiAqICAgdmVyc2lvbiBpcyBhYnNlbnQgZnJvbSB0aGUgdGFibGUpLlxuICovXG5leHBvcnQgdHlwZSBJbnN0YWxsZXJDb21wYXRpYmlsaXR5VGllciA9ICduYWdnZWQnIHwgJ29rJyB8ICd1bmtub3duJyB8ICd1bnJ1bm5hYmxlJztcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhIHJlc29sdmVkIChhcHAsIGluc3RhbGxlcikgdmVyc2lvbiBwYWlyLlxuICpcbiAqIE9ubHkgYCd1bnJ1bm5hYmxlJ2Agd2FycmFudHMgYW4gZXJyb3I7IGAnbmFnZ2VkJ2Agd2FycmFudHMgYSB3YXJuaW5nOyBgJ29rJ2AgYW5kXG4gKiBgJ3Vua25vd24nYCBhcmUgc2lsZW50LiBDb21wYXJpc29ucyBhcmUgcHVyZSBgeC55LnpgIHZlcnNpb24gY29tcGFyZXMgXHUyMDE0IG5vIEkvTy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHJlc29sdmVkIHZlcnNpb25zIGFuZCB0aGUgYXBwIHZlcnNpb24ncyBtZXRhZGF0YSBlbnRyeS5cbiAqIEByZXR1cm5zIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHkocGFyYW1zOiBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMpOiBJbnN0YWxsZXJDb21wYXRpYmlsaXR5IHtcbiAgY29uc3QgeyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uLCBtZXRhZGF0YSB9ID0gcGFyYW1zO1xuICBjb25zdCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uO1xuICBjb25zdCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uO1xuXG4gIGlmIChpbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQgfHwgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uOiBpbnN0YWxsZXJWZXJzaW9uID8/IG51bGwsIHRpZXI6ICd1bmtub3duJyB9O1xuICB9XG5cbiAgY29uc3QgcmVjb21tZW5kZWRGbG9vciA9IG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIHsgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uIH07XG5cbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1pblJ1bm5hYmxlSW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIHRpZXI6ICd1bnJ1bm5hYmxlJyxcbiAgICAgIC4uLnJlY29tbWVuZGVkRmxvb3JcbiAgICB9O1xuICB9XG5cbiAgaWYgKG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1lc3NhZ2U6IGBPYnNpZGlhbiBpbnN0YWxsZXIgJHtpbnN0YWxsZXJWZXJzaW9ufSBydW5zIE9ic2lkaWFuICR7YXBwVmVyc2lvbn0gYnV0IGlzIG9sZGVyIHRoYW4gdGhlIGBcbiAgICAgICAgKyBgcmVjb21tZW5kZWQgaW5zdGFsbGVyICR7bWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9ufTsgdXBkYXRlIHRoZSBpbnN0YWxsZXIgZm9yIGZ1bGwgY29tcGF0aWJpbGl0eS5gLFxuICAgICAgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgdGllcjogJ25hZ2dlZCdcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhcHBWZXJzaW9uLFxuICAgIGluc3RhbGxlclZlcnNpb24sXG4gICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgIHRpZXI6ICdvaycsXG4gICAgLi4ucmVjb21tZW5kZWRGbG9vclxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZCQSw4QkFBZ0M7QUE4RHpCLFNBQVMsNEJBQTRCLFFBQW1FO0FBQzdHLFFBQU0sRUFBRSxZQUFZLGtCQUFrQixTQUFTLElBQUk7QUFDbkQsUUFBTSw4QkFBOEIsVUFBVTtBQUM5QyxRQUFNLGlDQUFpQyxVQUFVO0FBRWpELE1BQUkscUJBQXFCLFVBQWEsZ0NBQWdDLFFBQVc7QUFDL0UsV0FBTyxFQUFFLFlBQVksa0JBQWtCLG9CQUFvQixNQUFNLE1BQU0sVUFBVTtBQUFBLEVBQ25GO0FBRUEsUUFBTSxtQkFBbUIsbUNBQW1DLFVBQWEsRUFBRSwrQkFBK0I7QUFFMUcsVUFBSSx5Q0FBZ0Isa0JBQWtCLDJCQUEyQixJQUFJLEdBQUc7QUFDdEUsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ04sR0FBRztBQUFBLElBQ0w7QUFBQSxFQUNGO0FBRUEsTUFBSSxtQ0FBbUMsY0FBYSx5Q0FBZ0Isa0JBQWtCLDhCQUE4QixJQUFJLEdBQUc7QUFDekgsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQSxTQUFTLHNCQUFzQixnQkFBZ0Isa0JBQWtCLFVBQVUsZ0RBQzlDLDhCQUE4QjtBQUFBLE1BQzNEO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ04sR0FBRztBQUFBLEVBQ0w7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -12,7 +12,10 @@
12
12
  *
13
13
  * - `minRunnableInstallerVersion` — the run floor. Below it the app cannot boot
14
14
  * (`'unrunnable'`); the caller turns this into a proactive
15
- * `IncompatibleInstallerVersionError` before any download/launch.
15
+ * `IncompatibleInstallerVersionError` before any download/launch — unless the
16
+ * caller has disabled the proactive throw (`shouldThrowOnIncompatibleInstaller`
17
+ * `false`), in which case the boot proceeds and the reactive dead-boot fast-fail
18
+ * catches it.
16
19
  * - `minRecommendedInstallerVersion` — the recommended floor (older versions
17
20
  * only). At/above the run floor but below this, the app runs but is below
18
21
  * Obsidian's recommendation (`'nagged'`), surfaced as a warning.
@@ -21,7 +21,7 @@ __export(library_exports, {
21
21
  LIBRARY_VERSION: () => LIBRARY_VERSION
22
22
  });
23
23
  module.exports = __toCommonJS(library_exports);
24
- const LIBRARY_VERSION = false ? "dev" : "8.1.2";
24
+ const LIBRARY_VERSION = false ? "dev" : "8.2.1";
25
25
  // Annotate the CommonJS export names for ESM import in node:
26
26
  0 && (module.exports = {
27
27
  LIBRARY_VERSION