obsidian-integration-testing 2.6.1 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/eval-in-obsidian.cjs +50 -53
- package/dist/lib/cjs/generate-function-call.cjs +42 -0
- package/dist/lib/cjs/generate-function-call.d.cts +57 -0
- package/dist/lib/cjs/obsidian-config.cjs +46 -3
- package/dist/lib/cjs/obsidian-config.d.cts +24 -0
- package/dist/lib/cjs/transport-appium.cjs +10 -5
- package/dist/lib/cjs/transport-appium.d.cts +3 -1
- package/dist/lib/cjs/transport-desktop-cdp.cjs +12 -23
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +3 -1
- package/dist/lib/cjs/transport-desktop-cli.cjs +88 -39
- package/dist/lib/cjs/transport-desktop-cli.d.cts +41 -1
- package/dist/lib/esm/eval-in-obsidian.mjs +53 -53
- package/dist/lib/esm/generate-function-call.d.mts +57 -0
- package/dist/lib/esm/generate-function-call.mjs +17 -0
- package/dist/lib/esm/obsidian-config.d.mts +24 -0
- package/dist/lib/esm/obsidian-config.mjs +46 -3
- package/dist/lib/esm/transport-appium.d.mts +3 -1
- package/dist/lib/esm/transport-appium.mjs +10 -5
- package/dist/lib/esm/transport-desktop-cdp.d.mts +3 -1
- package/dist/lib/esm/transport-desktop-cdp.mjs +20 -24
- package/dist/lib/esm/transport-desktop-cli.d.mts +41 -1
- package/dist/lib/esm/transport-desktop-cli.mjs +92 -39
- package/dist/obsidian-integration-testing-2.7.1.tgz +0 -0
- package/package.json +1 -1
- package/dist/obsidian-integration-testing-2.6.1.tgz +0 -0
|
@@ -34,11 +34,9 @@ module.exports = __toCommonJS(eval_in_obsidian_exports);
|
|
|
34
34
|
var import_node_fs = require("node:fs");
|
|
35
35
|
var import_node_process = __toESM(require("node:process"), 1);
|
|
36
36
|
var import_context_provider = require("./context-provider.cjs");
|
|
37
|
-
var
|
|
38
|
-
var import_json_with_functions = require("./json-with-functions.cjs");
|
|
37
|
+
var import_generate_function_call = require("./generate-function-call.cjs");
|
|
39
38
|
var import_serialize_error = require("./serialize-error.cjs");
|
|
40
39
|
var import_transport_factory = require("./transport-factory.cjs");
|
|
41
|
-
const EVAL_ERROR_MARKER = "__obsidianEvalError__";
|
|
42
40
|
const NO_OUTPUT = "(no output)";
|
|
43
41
|
async function evalInObsidian(params) {
|
|
44
42
|
const { args = {}, contextId, fn, shouldSkipPreflightChecks = false, transport: transportOverride, vaultPath } = params;
|
|
@@ -50,57 +48,56 @@ async function evalInObsidian(params) {
|
|
|
50
48
|
if (!shouldSkipPreflightChecks) {
|
|
51
49
|
await transport.preflightCheck(cwd);
|
|
52
50
|
}
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
await new Promise((resolve) => app.workspace.onLayoutReady(resolve));
|
|
62
|
-
}
|
|
63
|
-
if (!app.plugins.isEnabled()) {
|
|
64
|
-
await app.plugins.setEnable(true);
|
|
65
|
-
}
|
|
66
|
-
${(0, import_function_expression.getFunctionExpressionString)(getObsidianModulePluginFn)}
|
|
67
|
-
${(0, import_function_expression.getFunctionExpressionString)(getObsidianModule)}
|
|
68
|
-
return await getObsidianModule();
|
|
69
|
-
})();
|
|
70
|
-
${(0, import_function_expression.getFunctionExpressionString)(import_serialize_error.serializeError)}
|
|
71
|
-
const args${randomSuffix} = ${(0, import_json_with_functions.jsonWithFunctions)(args)};
|
|
72
|
-
const context${randomSuffix} = ${contextExpr};
|
|
73
|
-
const fullArgs${randomSuffix} = Object.assign(args${randomSuffix}, { app, obsidianModule: obsidianModule${randomSuffix}, context: context${randomSuffix} });
|
|
74
|
-
try {
|
|
75
|
-
const result${randomSuffix} = await fn${randomSuffix}(fullArgs${randomSuffix});
|
|
76
|
-
if (result${randomSuffix} === undefined) {
|
|
77
|
-
return "";
|
|
78
|
-
}
|
|
79
|
-
return JSON.stringify(result${randomSuffix});
|
|
80
|
-
} catch (evalError${randomSuffix}) {
|
|
81
|
-
return JSON.stringify({ ${EVAL_ERROR_MARKER}: serializeError(evalError${randomSuffix}) });
|
|
82
|
-
}
|
|
83
|
-
})()`;
|
|
51
|
+
const expression = (0, import_generate_function_call.generateFunctionCall)(evalWrapper, {
|
|
52
|
+
args,
|
|
53
|
+
contextId,
|
|
54
|
+
ensureLayoutReady: import_generate_function_call.ensureLayoutReady,
|
|
55
|
+
fn,
|
|
56
|
+
getObsidianModule,
|
|
57
|
+
serializeError: import_serialize_error.serializeError
|
|
58
|
+
});
|
|
84
59
|
const resultStr = await transport.evaluate(expression, { cwd });
|
|
85
60
|
if (resultStr === "" || resultStr === NO_OUTPUT) {
|
|
86
61
|
return void 0;
|
|
87
62
|
}
|
|
88
|
-
let
|
|
63
|
+
let envelope;
|
|
89
64
|
try {
|
|
90
|
-
|
|
65
|
+
envelope = JSON.parse(resultStr);
|
|
91
66
|
} catch {
|
|
92
67
|
throw new Error(`evalInObsidian: Obsidian returned non-JSON output: ${resultStr}`);
|
|
93
68
|
}
|
|
94
|
-
if (
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
69
|
+
if ("type" in envelope) {
|
|
70
|
+
if (envelope.type === "error") {
|
|
71
|
+
const sanitizedDetail = envelope.value.replace(/\(https?:\/\/localhost\/:(?<line>\d)/g, "(obsidian-webview:$<line>");
|
|
72
|
+
throw new Error(`evalInObsidian: Error inside Obsidian:
|
|
98
73
|
${sanitizedDetail}`);
|
|
74
|
+
}
|
|
75
|
+
return void 0;
|
|
99
76
|
}
|
|
100
|
-
return
|
|
77
|
+
return envelope.value;
|
|
101
78
|
}
|
|
102
|
-
async function
|
|
103
|
-
const app =
|
|
79
|
+
async function evalWrapper(params) {
|
|
80
|
+
const app = params.app;
|
|
81
|
+
if (!app.plugins.isEnabled()) {
|
|
82
|
+
await app.plugins.setEnable(true);
|
|
83
|
+
}
|
|
84
|
+
const obsidianModule = await params.getObsidianModule(params);
|
|
85
|
+
const contextHolder = window;
|
|
86
|
+
const contextRaw = params.contextId ? (contextHolder.__obsidianContexts__ ??= {})[String(params.contextId)] ??= {} : {};
|
|
87
|
+
const context = contextRaw;
|
|
88
|
+
const fullArgs = { ...params.args, app, context, obsidianModule };
|
|
89
|
+
try {
|
|
90
|
+
const result = await params.fn(fullArgs);
|
|
91
|
+
if (result === void 0) {
|
|
92
|
+
return JSON.stringify({ type: "undefined" });
|
|
93
|
+
}
|
|
94
|
+
return JSON.stringify({ value: result });
|
|
95
|
+
} catch (evalError) {
|
|
96
|
+
return JSON.stringify({ type: "error", value: params.serializeError(evalError) });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async function getObsidianModule(params) {
|
|
100
|
+
const app = params.app;
|
|
104
101
|
const obsidianModuleHolder = app;
|
|
105
102
|
if (obsidianModuleHolder.obsidianModule) {
|
|
106
103
|
return obsidianModuleHolder.obsidianModule;
|
|
@@ -127,18 +124,18 @@ async function getObsidianModule() {
|
|
|
127
124
|
return obsidianModuleHolder.obsidianModule;
|
|
128
125
|
}
|
|
129
126
|
throw new Error("Failed to load obsidian module");
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
127
|
+
function getObsidianModulePluginFn() {
|
|
128
|
+
const app2 = window.app;
|
|
129
|
+
const obsidianModuleHolder2 = app2;
|
|
130
|
+
const pluginRequire = require;
|
|
131
|
+
const pluginExports = exports;
|
|
132
|
+
const obsidianModule = pluginRequire("obsidian");
|
|
133
|
+
obsidianModuleHolder2.obsidianModule = obsidianModule;
|
|
134
|
+
pluginExports.default = obsidianModule.Plugin;
|
|
135
|
+
}
|
|
139
136
|
}
|
|
140
137
|
// Annotate the CommonJS export names for ESM import in node:
|
|
141
138
|
0 && (module.exports = {
|
|
142
139
|
evalInObsidian
|
|
143
140
|
});
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V2YWwtaW4tb2JzaWRpYW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFdmFsdWF0ZXMgYSBmdW5jdGlvbiBpbnNpZGUgYSBydW5uaW5nIE9ic2lkaWFuIGluc3RhbmNlIHZpYSBhIHBsdWdnYWJsZSB0cmFuc3BvcnQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZXNwYWNlIC0tIFdlIG5lZWQgdG8gcmVmZXJlbmNlIGBvYnNpZGlhbmAgbW9kdWxlLlxuaW1wb3J0IHR5cGUgKiBhcyBvYnNpZGlhbiBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbnRleHRBcmdzLFxuICBDb250ZXh0SWRcbn0gZnJvbSAnLi9jb250ZXh0LWlkLmNqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQuY2pzJztcblxuaW1wb3J0IHsgZ2V0VHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuaW1wb3J0IHsgZ2V0RnVuY3Rpb25FeHByZXNzaW9uU3RyaW5nIH0gZnJvbSAnLi9mdW5jdGlvbi1leHByZXNzaW9uLmNqcyc7XG5pbXBvcnQgeyBqc29uV2l0aEZ1bmN0aW9ucyB9IGZyb20gJy4vanNvbi13aXRoLWZ1bmN0aW9ucy5janMnO1xuaW1wb3J0IHsgc2VyaWFsaXplRXJyb3IgfSBmcm9tICcuL3NlcmlhbGl6ZS1lcnJvci5janMnO1xuaW1wb3J0IHsgZ2V0T3JDcmVhdGVUcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1mYWN0b3J5LmNqcyc7XG5cbmNvbnN0IEVWQUxfRVJST1JfTUFSS0VSID0gJ19fb2JzaWRpYW5FdmFsRXJyb3JfXyc7XG5cbmludGVyZmFjZSBFeHBvcnRzV2l0aERlZmF1bHQge1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG5jb25zdCBOT19PVVRQVVQgPSAnKG5vIG91dHB1dCknO1xuXG4vKipcbiAqIENvbW1vbiBhcmd1bWVudHMgYXV0b21hdGljYWxseSBwcm92aWRlZCB0byBldmVyeSB7QGxpbmsgZXZhbEluT2JzaWRpYW59IGNhbGxiYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkFyZ3Mge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIHtAbGluayBBcHB9IGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBgb2JzaWRpYW5gIG1vZHVsZSwgcmVzb2x2ZWQgYXQgcnVudGltZSBpbnNpZGUgdGhlIE9ic2lkaWFuIHByb2Nlc3MuXG4gICAqL1xuICBvYnNpZGlhbk1vZHVsZTogdHlwZW9mIG9ic2lkaWFuO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBldmFsSW5PYnNpZGlhbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbEluT2JzaWRpYW5QYXJhbXM8QXJncyBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFJlc3VsdCwgVENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4ge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uIFZhbHVlcyBtYXkgaW5jbHVkZSBmdW5jdGlvbnMgXHUyMDE0XG4gICAqIHRoZXkgYXJlIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYC5cbiAgICovXG4gIGFyZ3M/OiBBcmdzO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBDb250ZXh0SWR9IGxpbmtpbmcgdGhpcyBjYWxsIHRvIGEgcGVyc2lzdGVudCBzdG9yZSBvbiBgd2luZG93YFxuICAgKiBpbiB0aGUgT2JzaWRpYW4gcHJvY2Vzcy4gVGhlIGNhbGxiYWNrIHJlY2VpdmVzIGEgdHlwZWQgYGNvbnRleHRgIG9iamVjdFxuICAgKiB0aGF0IHN1cnZpdmVzIGFjcm9zcyBjYWxscyBzaGFyaW5nIHRoZSBzYW1lIElELlxuICAgKlxuICAgKiBXaGVuIG9taXR0ZWQsIGBjb250ZXh0YCBpcyBhIGZyZXNoIGVtcHR5IG9iamVjdCBlYWNoIGNhbGwuXG4gICAqL1xuICBjb250ZXh0SWQ/OiBUQ29udGV4dElkO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gZXZhbHVhdGUgaW4gdGhlIE9ic2lkaWFuIGNvbnRleHQuXG4gICAqL1xuICBmbihhcmdzOiBBcmdzICYgQ29tbW9uQXJncyAmIENvbnRleHRBcmdzPFRDb250ZXh0SWQ+KTogUHJvbWlzYWJsZTxSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiBTa2lwcyBwcmUtZmxpZ2h0IGNoZWNrcyAodmF1bHQgcmVnaXN0cmF0aW9uLCBDTEkgYXZhaWxhYmlsaXR5KS5cbiAgICogVXNlZCBpbnRlcm5hbGx5IGJ5IHZhdWx0IHJlZ2lzdHJhdGlvbiBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2hvdWxkU2tpcFByZWZsaWdodENoZWNrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB0cmFuc3BvcnQgZm9yIHRoaXMgY2FsbC4gV2hlbiBvbWl0dGVkLCB1c2VzIHRoZSB0cmFuc3BvcnRcbiAgICogY29uZmlndXJlZCB2aWEgdGhlIGNvbnRleHQgcHJvdmlkZXIgKHNldCBieSB0aGUgZnJhbWV3b3JrIGFkYXB0ZXIncyBnbG9iYWwgc2V0dXApLlxuICAgKi9cbiAgdHJhbnNwb3J0PzogT2JzaWRpYW5UcmFuc3BvcnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBPYnNpZGlhbiB2YXVsdC4gRGVmYXVsdHMgdG8gYHByb2Nlc3MuY3dkKClgLlxuICAgKi9cbiAgdmF1bHRQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcGxhaW4gb2JqZWN0IHdpdGggc3RyaW5nIGtleXMuXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLyoqXG4gKiBFdmFsdWF0ZXMgYSBmdW5jdGlvbiBpbnNpZGUgdGhlIHJ1bm5pbmcgT2JzaWRpYW4gaW5zdGFuY2VcbiAqIHZpYSB0aGUgYWN0aXZlIHRyYW5zcG9ydCBhbmQgcmV0dXJucyB0aGUgcGFyc2VkIHJlc3VsdC5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYW4gYXJncyBvYmplY3QgdGhhdCBpbmNsdWRlcyBgYXBwYCwgYG9ic2lkaWFuTW9kdWxlYCxcbiAqIGBjb250ZXh0YCwgYW5kIGFueSBhZGRpdGlvbmFsIGBhcmdzYCBwYXNzZWQgYnkgdGhlIGNhbGxlci5cbiAqIEl0IGlzIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYCBhbmQgaW52b2tlZCBhcyBhbiBJSUZFLlxuICogVGhlIGZ1bmN0aW9uIG11c3QgYmUgc2VsZi1jb250YWluZWQgXHUyMDE0IGNsb3N1cmVzIG92ZXIgbG9jYWwgdmFyaWFibGVzIHdpbGwgbm90IHdvcmsuXG4gKiBQYXNzIGFueSBuZWVkZWQgdmFsdWVzIGFzIGBhcmdzYCBcdTIwMTQgdGhleSBhcmUgSlNPTi1zZXJpYWxpemVkIGFuZCBkZXNlcmlhbGl6ZWQgb24gdGhlIE9ic2lkaWFuIHNpZGUuXG4gKlxuICogVGhlIHJlc3VsdCBpcyBgSlNPTi5zdHJpbmdpZnlgJ2Qgb24gdGhlIE9ic2lkaWFuIHNpZGUgYW5kIHBhcnNlZCBiYWNrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uIHRvIGV2YWx1YXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIGBmbmAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBldmFsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgcGFyYW1zOiBFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+XG4pOiBQcm9taXNlPFJlc3VsdD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kIC0tIGBmbmAgY2FuIGJlIHVuYm91bmQuXG4gIGNvbnN0IHsgYXJncyA9IHt9LCBjb250ZXh0SWQsIGZuLCBzaG91bGRTa2lwUHJlZmxpZ2h0Q2hlY2tzID0gZmFsc2UsIHRyYW5zcG9ydDogdHJhbnNwb3J0T3ZlcnJpZGUsIHZhdWx0UGF0aCB9ID0gcGFyYW1zO1xuICBjb25zdCBjd2QgPSB2YXVsdFBhdGggPz8gcHJvY2Vzcy5jd2QoKTtcblxuICAvLyBDaGVjazogVmF1bHQgcGF0aCBleGlzdHMgb24gZGlzay5cbiAgaWYgKHZhdWx0UGF0aCAhPT0gdW5kZWZpbmVkICYmICFleGlzdHNTeW5jKHZhdWx0UGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFZhdWx0IHBhdGggZG9lcyBub3QgZXhpc3Q6ICR7dmF1bHRQYXRofWApO1xuICB9XG5cbiAgY29uc3QgdHJhbnNwb3J0ID0gdHJhbnNwb3J0T3ZlcnJpZGUgPz8gYXdhaXQgZ2V0T3JDcmVhdGVUcmFuc3BvcnQoZ2V0VHJhbnNwb3J0T3B0aW9ucygpKTtcblxuICBpZiAoIXNob3VsZFNraXBQcmVmbGlnaHRDaGVja3MpIHtcbiAgICBhd2FpdCB0cmFuc3BvcnQucHJlZmxpZ2h0Q2hlY2soY3dkKTtcbiAgfVxuXG4gIGNvbnN0IFNMSUNFX1NUQVJUID0gMjtcbiAgY29uc3QgcmFuZG9tU3VmZml4ID0gU3RyaW5nKE1hdGgucmFuZG9tKCkpLnNsaWNlKFNMSUNFX1NUQVJUKTtcbiAgY29uc3QgY29udGV4dEV4cHIgPSBjb250ZXh0SWRcbiAgICA/IGAoKHdpbmRvdy5fX29ic2lkaWFuQ29udGV4dHNfXyA/Pz0ge30pW1wiJHtTdHJpbmcoY29udGV4dElkKX1cIl0gPz89IHt9KWBcbiAgICA6ICd7fSc7XG4gIGNvbnN0IGV4cHJlc3Npb24gPSBgXG4oYXN5bmMgKCkgPT4ge1xuICBjb25zdCBmbiR7cmFuZG9tU3VmZml4fSA9ICR7Z2V0RnVuY3Rpb25FeHByZXNzaW9uU3RyaW5nKGZuKX07XG4gIGNvbnN0IG9ic2lkaWFuTW9kdWxlJHtyYW5kb21TdWZmaXh9ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWFwcC53b3Jrc3BhY2UuYXBwLndvcmtzcGFjZS5sYXlvdXRSZWFkeSkge1xuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IGFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeShyZXNvbHZlKSk7XG4gICAgfVxuICAgIGlmICghYXBwLnBsdWdpbnMuaXNFbmFibGVkKCkpIHtcbiAgICAgIGF3YWl0IGFwcC5wbHVnaW5zLnNldEVuYWJsZSh0cnVlKTtcbiAgICB9XG4gICAgJHtnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcoZ2V0T2JzaWRpYW5Nb2R1bGVQbHVnaW5Gbil9XG4gICAgJHtnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcoZ2V0T2JzaWRpYW5Nb2R1bGUpfVxuICAgIHJldHVybiBhd2FpdCBnZXRPYnNpZGlhbk1vZHVsZSgpO1xuICB9KSgpO1xuICAke2dldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyhzZXJpYWxpemVFcnJvcil9XG4gIGNvbnN0IGFyZ3Mke3JhbmRvbVN1ZmZpeH0gPSAke2pzb25XaXRoRnVuY3Rpb25zKGFyZ3MpfTtcbiAgY29uc3QgY29udGV4dCR7cmFuZG9tU3VmZml4fSA9ICR7Y29udGV4dEV4cHJ9O1xuICBjb25zdCBmdWxsQXJncyR7cmFuZG9tU3VmZml4fSA9IE9iamVjdC5hc3NpZ24oYXJncyR7cmFuZG9tU3VmZml4fSwgeyBhcHAsIG9ic2lkaWFuTW9kdWxlOiBvYnNpZGlhbk1vZHVsZSR7cmFuZG9tU3VmZml4fSwgY29udGV4dDogY29udGV4dCR7cmFuZG9tU3VmZml4fSB9KTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQke3JhbmRvbVN1ZmZpeH0gPSBhd2FpdCBmbiR7cmFuZG9tU3VmZml4fShmdWxsQXJncyR7cmFuZG9tU3VmZml4fSk7XG4gICAgaWYgKHJlc3VsdCR7cmFuZG9tU3VmZml4fSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCR7cmFuZG9tU3VmZml4fSk7XG4gIH0gY2F0Y2ggKGV2YWxFcnJvciR7cmFuZG9tU3VmZml4fSkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7ICR7RVZBTF9FUlJPUl9NQVJLRVJ9OiBzZXJpYWxpemVFcnJvcihldmFsRXJyb3Ike3JhbmRvbVN1ZmZpeH0pIH0pO1xuICB9XG59KSgpYDtcblxuICBjb25zdCByZXN1bHRTdHIgPSBhd2FpdCB0cmFuc3BvcnQuZXZhbHVhdGUoZXhwcmVzc2lvbiwgeyBjd2QgfSk7XG5cbiAgaWYgKHJlc3VsdFN0ciA9PT0gJycgfHwgcmVzdWx0U3RyID09PSBOT19PVVRQVVQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkIGFzIFJlc3VsdDtcbiAgfVxuXG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHRTdHIpO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV2YWxJbk9ic2lkaWFuOiBPYnNpZGlhbiByZXR1cm5lZCBub24tSlNPTiBvdXRwdXQ6ICR7cmVzdWx0U3RyfWApO1xuICB9XG5cbiAgaWYgKHBhcnNlZCAhPT0gbnVsbCAmJiB0eXBlb2YgcGFyc2VkID09PSAnb2JqZWN0JyAmJiBFVkFMX0VSUk9SX01BUktFUiBpbiBwYXJzZWQpIHtcbiAgICBjb25zdCBlcnJvckRldGFpbCA9IFN0cmluZygocGFyc2VkIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtFVkFMX0VSUk9SX01BUktFUl0pO1xuICAgIC8vIFJld3JpdGUgYmFyZS1vcmlnaW4gbG9jYWxob3N0IHN0YWNrIGZyYW1lcyBsaWtlIFwiKGh0dHA6Ly9sb2NhbGhvc3QvOjkxNTozMilcIlxuICAgIC8vIFNvIFZpdGVzdCdzIHNvdXJjZS1tYXAgcmVzb2x2ZXIgd29uJ3QgZXh0cmFjdCBcIi9cIiBhcyB0aGUgZmlsZSBwYXRoIGFuZCBjcmFzaFxuICAgIC8vIFdpdGggRUlTRElSIHdoZW4gaXQgdHJpZXMgdG8gcmVhZEZpbGVTeW5jIG9uIHRoZSByb290IGRpcmVjdG9yeS5cbiAgICBjb25zdCBzYW5pdGl6ZWREZXRhaWwgPSBlcnJvckRldGFpbFxuICAgICAgLnJlcGxhY2UoL1xcKGh0dHBzPzpcXC9cXC9sb2NhbGhvc3RcXC86KD88bGluZT5cXGQpL2csICcob2JzaWRpYW4td2VidmlldzokPGxpbmU+Jyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBldmFsSW5PYnNpZGlhbjogRXJyb3IgaW5zaWRlIE9ic2lkaWFuOlxcbiR7c2FuaXRpemVkRGV0YWlsfWApO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlZCBhcyBSZXN1bHQ7XG59XG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBTZXJpYWxpemVkIHZpYSB0b1N0cmluZygpIGFuZCBleGVjdXRlZCBpbnNpZGUgdGhlIE9ic2lkaWFuIHByb2Nlc3MsIG5vdCBpbiBOb2RlLiBDb3ZlcmVkIGJ5IGludGVncmF0aW9uIHRlc3RzLiAqL1xuXG4vKipcbiAqIEluamVjdGVkIGludG8gdGhlIE9ic2lkaWFuIHByb2Nlc3MgdG8gcmVzb2x2ZSB0aGUgYG9ic2lkaWFuYCBtb2R1bGUuXG4gKiBVc2VzIGEgY2FjaGVkIHZhbHVlIG9uIGBhcHBgIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGluc3RhbGxzIGEgdGVtcG9yYXJ5XG4gKiBwbHVnaW4gdGhhdCBjYWxscyBgcmVxdWlyZSgnb2JzaWRpYW4nKWAgYW5kIGNhY2hlcyB0aGUgcmVzdWx0LlxuICpcbiAqIE11c3QgTk9UIHJlZmVyZW5jZSBhbnkgb3V0ZXIgc2NvcGUgXHUyMDE0IGl0IGlzIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYC5cbiAqIGBnZXRPYnNpZGlhbk1vZHVsZVBsdWdpbkZuYCBtdXN0IGJlIGRlZmluZWQgaW4gdGhlIHNhbWUgc2NvcGVcbiAqICh0aGUgZ2VuZXJhdGVkIElJRkUgaGFuZGxlcyB0aGlzKS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYG9ic2lkaWFuYCBtb2R1bGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldE9ic2lkaWFuTW9kdWxlKCk6IFByb21pc2U8dHlwZW9mIG9ic2lkaWFuPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCAtLSBXZSBuZWVkIGdsb2JhbCBgYXBwYCB2YXJpYWJsZS5cbiAgY29uc3QgYXBwID0gd2luZG93LmFwcDtcbiAgaW50ZXJmYWNlIE9ic2lkaWFuTW9kdWxlSG9sZGVyIHtcbiAgICBvYnNpZGlhbk1vZHVsZTogdHlwZW9mIG9ic2lkaWFuO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuTW9kdWxlSG9sZGVyID0gYXBwIGFzIFBhcnRpYWw8T2JzaWRpYW5Nb2R1bGVIb2xkZXI+O1xuICBpZiAob2JzaWRpYW5Nb2R1bGVIb2xkZXIub2JzaWRpYW5Nb2R1bGUpIHtcbiAgICByZXR1cm4gb2JzaWRpYW5Nb2R1bGVIb2xkZXIub2JzaWRpYW5Nb2R1bGU7XG4gIH1cbiAgY29uc3QgU0xJQ0VfU1RBUlQgPSAyO1xuICBjb25zdCByYW5kb21TdWZmaXggPSBTdHJpbmcoTWF0aC5yYW5kb20oKSkuc2xpY2UoU0xJQ0VfU1RBUlQpO1xuICBjb25zdCB0ZW1wTW9kdWxlTmFtZSA9IGBnZXQtb2JzaWRpYW4tbW9kdWxlLSR7cmFuZG9tU3VmZml4fWA7XG4gIGNvbnN0IGRpciA9IGAke2FwcC52YXVsdC5jb25maWdEaXJ9L3BsdWdpbnMvJHt0ZW1wTW9kdWxlTmFtZX1gO1xuICBhcHAucGx1Z2lucy5tYW5pZmVzdHNbdGVtcE1vZHVsZU5hbWVdID0ge1xuICAgIGF1dGhvcjogJycsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGRpcixcbiAgICBpZDogdGVtcE1vZHVsZU5hbWUsXG4gICAgaXNEZXNrdG9wT25seTogZmFsc2UsXG4gICAgbWluQXBwVmVyc2lvbjogJycsXG4gICAgbmFtZTogdGVtcE1vZHVsZU5hbWUsXG4gICAgdmVyc2lvbjogJydcbiAgfTtcbiAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIoZGlyKTtcbiAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIud3JpdGUoYCR7ZGlyfS9tYWluLmpzYCwgYCgke1N0cmluZyhnZXRPYnNpZGlhbk1vZHVsZVBsdWdpbkZuKX0pKCk7YCk7XG4gIGF3YWl0IGFwcC5wbHVnaW5zLmxvYWRQbHVnaW4odGVtcE1vZHVsZU5hbWUpO1xuICBhd2FpdCBhcHAucGx1Z2lucy51bmluc3RhbGxQbHVnaW4odGVtcE1vZHVsZU5hbWUpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvbiAtLSBJdCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGhpbiBgbG9hZFBsdWdpbmAuXG4gIGlmIChvYnNpZGlhbk1vZHVsZUhvbGRlci5vYnNpZGlhbk1vZHVsZSkge1xuICAgIHJldHVybiBvYnNpZGlhbk1vZHVsZUhvbGRlci5vYnNpZGlhbk1vZHVsZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIG9ic2lkaWFuIG1vZHVsZScpO1xufVxuXG4vKipcbiAqIFRoZSBib2R5IG9mIHRoZSB0ZW1wb3JhcnkgcGx1Z2luIHRoYXQgZXh0cmFjdHMgdGhlIGBvYnNpZGlhbmAgbW9kdWxlLlxuICogU2VyaWFsaXplZCB2aWEgYHRvU3RyaW5nKClgIGFuZCB3cml0dGVuIHRvIGBtYWluLmpzYCBieSB7QGxpbmsgZ2V0T2JzaWRpYW5Nb2R1bGV9LlxuICogTXVzdCBOT1QgcmVmZXJlbmNlIGFueSBvdXRlciBzY29wZS5cbiAqL1xuZnVuY3Rpb24gZ2V0T2JzaWRpYW5Nb2R1bGVQbHVnaW5GbigpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1kZXByZWNhdGVkIC0tIFdlIG5lZWQgZ2xvYmFsIGBhcHBgIHZhcmlhYmxlLlxuICBjb25zdCBhcHAgPSB3aW5kb3cuYXBwO1xuICBpbnRlcmZhY2UgT2JzaWRpYW5Nb2R1bGVIb2xkZXIge1xuICAgIG9ic2lkaWFuTW9kdWxlOiB0eXBlb2Ygb2JzaWRpYW47XG4gIH1cbiAgY29uc3Qgb2JzaWRpYW5Nb2R1bGVIb2xkZXIgPSBhcHAgYXMgUGFydGlhbDxPYnNpZGlhbk1vZHVsZUhvbGRlcj47XG5cbiAgY29uc3QgcGx1Z2luUmVxdWlyZSA9IHJlcXVpcmU7XG4gIGNvbnN0IHBsdWdpbkV4cG9ydHMgPSBleHBvcnRzIGFzIEV4cG9ydHNXaXRoRGVmYXVsdDtcblxuICBjb25zdCBvYnNpZGlhbk1vZHVsZSA9IHBsdWdpblJlcXVpcmUoJ29ic2lkaWFuJykgYXMgdHlwZW9mIG9ic2lkaWFuO1xuICBvYnNpZGlhbk1vZHVsZUhvbGRlci5vYnNpZGlhbk1vZHVsZSA9IG9ic2lkaWFuTW9kdWxlO1xuICBwbHVnaW5FeHBvcnRzLmRlZmF1bHQgPSBvYnNpZGlhbk1vZHVsZS5QbHVnaW47XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHFCQUEyQjtB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
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V2YWwtaW4tb2JzaWRpYW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFdmFsdWF0ZXMgYSBmdW5jdGlvbiBpbnNpZGUgYSBydW5uaW5nIE9ic2lkaWFuIGluc3RhbmNlIHZpYSBhIHBsdWdnYWJsZSB0cmFuc3BvcnQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZXNwYWNlIC0tIFdlIG5lZWQgdG8gcmVmZXJlbmNlIGBvYnNpZGlhbmAgbW9kdWxlLlxuaW1wb3J0IHR5cGUgKiBhcyBvYnNpZGlhbiBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbnRleHRBcmdzLFxuICBDb250ZXh0SWQsXG4gIENvbnRleHRPZlxufSBmcm9tICcuL2NvbnRleHQtaWQuY2pzJztcbmltcG9ydCB0eXBlIHtcbiAgRW5zdXJlTGF5b3V0UmVhZHlQYXJhbXMsXG4gIEdlbmVyYXRlRnVuY3Rpb25DYWxsUGFyYW1zXG59IGZyb20gJy4vZ2VuZXJhdGUtZnVuY3Rpb24tY2FsbC5janMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydCB9IGZyb20gJy4vdHJhbnNwb3J0LmNqcyc7XG5cbmltcG9ydCB7IGdldFRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmltcG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZW5lcmF0ZUZ1bmN0aW9uQ2FsbFxufSBmcm9tICcuL2dlbmVyYXRlLWZ1bmN0aW9uLWNhbGwuY2pzJztcbmltcG9ydCB7IHNlcmlhbGl6ZUVycm9yIH0gZnJvbSAnLi9zZXJpYWxpemUtZXJyb3IuY2pzJztcbmltcG9ydCB7IGdldE9yQ3JlYXRlVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuXG4vKipcbiAqIERpc2NyaW1pbmF0ZWQgZW52ZWxvcGUgcmV0dXJuZWQgYnkge0BsaW5rIGV2YWxXcmFwcGVyfSBmcm9tIGluc2lkZSB0aGUgT2JzaWRpYW4gcHJvY2Vzcy5cbiAqXG4gKiAtIGB7IHR5cGU6ICdlcnJvcicsIHZhbHVlOiBzdHJpbmcgfWAgXHUyMDE0IGBmbmAgdGhyZXc7IGB2YWx1ZWAgaXMgdGhlIHNlcmlhbGl6ZWQgZXJyb3IuXG4gKiAtIGB7IHR5cGU6ICd1bmRlZmluZWQnIH1gIFx1MjAxNCBgZm5gIHJldHVybmVkIGB1bmRlZmluZWRgLlxuICogLSBgeyB2YWx1ZTogdW5rbm93biB9YCBcdTIwMTQgYGZuYCByZXR1cm5lZCBhIEpTT04tc2VyaWFsaXphYmxlIHZhbHVlLlxuICovXG50eXBlIEV2YWxSZXN1bHRFbnZlbG9wZSA9XG4gIHwgeyB0eXBlOiAnZXJyb3InOyB2YWx1ZTogc3RyaW5nIH1cbiAgfCB7IHR5cGU6ICd1bmRlZmluZWQnIH1cbiAgfCB7IHZhbHVlOiB1bmtub3duIH07XG5cbmludGVyZmFjZSBFeHBvcnRzV2l0aERlZmF1bHQge1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG5jb25zdCBOT19PVVRQVVQgPSAnKG5vIG91dHB1dCknO1xuXG4vKipcbiAqIENvbW1vbiBhcmd1bWVudHMgYXV0b21hdGljYWxseSBwcm92aWRlZCB0byBldmVyeSB7QGxpbmsgZXZhbEluT2JzaWRpYW59IGNhbGxiYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkFyZ3Mge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIHtAbGluayBBcHB9IGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBgb2JzaWRpYW5gIG1vZHVsZSwgcmVzb2x2ZWQgYXQgcnVudGltZSBpbnNpZGUgdGhlIE9ic2lkaWFuIHByb2Nlc3MuXG4gICAqL1xuICBvYnNpZGlhbk1vZHVsZTogdHlwZW9mIG9ic2lkaWFuO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBldmFsSW5PYnNpZGlhbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbEluT2JzaWRpYW5QYXJhbXM8QXJncyBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFJlc3VsdCwgVENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4ge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uIFZhbHVlcyBtYXkgaW5jbHVkZSBmdW5jdGlvbnMgXHUyMDE0XG4gICAqIHRoZXkgYXJlIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYC5cbiAgICovXG4gIGFyZ3M/OiBBcmdzO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBDb250ZXh0SWR9IGxpbmtpbmcgdGhpcyBjYWxsIHRvIGEgcGVyc2lzdGVudCBzdG9yZSBvbiBgd2luZG93YFxuICAgKiBpbiB0aGUgT2JzaWRpYW4gcHJvY2Vzcy4gVGhlIGNhbGxiYWNrIHJlY2VpdmVzIGEgdHlwZWQgYGNvbnRleHRgIG9iamVjdFxuICAgKiB0aGF0IHN1cnZpdmVzIGFjcm9zcyBjYWxscyBzaGFyaW5nIHRoZSBzYW1lIElELlxuICAgKlxuICAgKiBXaGVuIG9taXR0ZWQsIGBjb250ZXh0YCBpcyBhIGZyZXNoIGVtcHR5IG9iamVjdCBlYWNoIGNhbGwuXG4gICAqL1xuICBjb250ZXh0SWQ/OiBUQ29udGV4dElkO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gZXZhbHVhdGUgaW4gdGhlIE9ic2lkaWFuIGNvbnRleHQuXG4gICAqL1xuICBmbihhcmdzOiBBcmdzICYgQ29tbW9uQXJncyAmIENvbnRleHRBcmdzPFRDb250ZXh0SWQ+KTogUHJvbWlzYWJsZTxSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiBTa2lwcyBwcmUtZmxpZ2h0IGNoZWNrcyAodmF1bHQgcmVnaXN0cmF0aW9uLCBDTEkgYXZhaWxhYmlsaXR5KS5cbiAgICogVXNlZCBpbnRlcm5hbGx5IGJ5IHZhdWx0IHJlZ2lzdHJhdGlvbiBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2hvdWxkU2tpcFByZWZsaWdodENoZWNrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB0cmFuc3BvcnQgZm9yIHRoaXMgY2FsbC4gV2hlbiBvbWl0dGVkLCB1c2VzIHRoZSB0cmFuc3BvcnRcbiAgICogY29uZmlndXJlZCB2aWEgdGhlIGNvbnRleHQgcHJvdmlkZXIgKHNldCBieSB0aGUgZnJhbWV3b3JrIGFkYXB0ZXIncyBnbG9iYWwgc2V0dXApLlxuICAgKi9cbiAgdHJhbnNwb3J0PzogT2JzaWRpYW5UcmFuc3BvcnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBPYnNpZGlhbiB2YXVsdC4gRGVmYXVsdHMgdG8gYHByb2Nlc3MuY3dkKClgLlxuICAgKi9cbiAgdmF1bHRQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcGxhaW4gb2JqZWN0IHdpdGggc3RyaW5nIGtleXMuXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuaW50ZXJmYWNlIEV2YWxXcmFwcGVyUGFyYW1zPEFyZ3MgZXh0ZW5kcyBHZW5lcmljT2JqZWN0LCBSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IGV4dGVuZHMgRW5zdXJlTGF5b3V0UmVhZHlQYXJhbXMge1xuICBhcmdzOiBBcmdzO1xuICBjb250ZXh0SWQ6IFRDb250ZXh0SWQ7XG4gIGZuKGFyZ3M6IEFyZ3MgJiBDb21tb25BcmdzICYgQ29udGV4dEFyZ3M8VENvbnRleHRJZD4pOiBQcm9taXNhYmxlPFJlc3VsdD47XG4gIGdldE9ic2lkaWFuTW9kdWxlKHBhcmFtczogR2VuZXJhdGVGdW5jdGlvbkNhbGxQYXJhbXMpOiBQcm9taXNlPHR5cGVvZiBvYnNpZGlhbj47XG4gIHNlcmlhbGl6ZUVycm9yKGVycm9yOiB1bmtub3duKTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5Nb2R1bGVIb2xkZXIge1xuICBvYnNpZGlhbk1vZHVsZTogdHlwZW9mIG9ic2lkaWFuO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gU2VyaWFsaXplZCB2aWEgdG9TdHJpbmcoKSBhbmQgZXhlY3V0ZWQgaW5zaWRlIHRoZSBPYnNpZGlhbiBwcm9jZXNzLCBub3QgaW4gTm9kZS4gQ292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cy4gKi9cblxuLyoqXG4gKiBFdmFsdWF0ZXMgYSBmdW5jdGlvbiBpbnNpZGUgdGhlIHJ1bm5pbmcgT2JzaWRpYW4gaW5zdGFuY2VcbiAqIHZpYSB0aGUgYWN0aXZlIHRyYW5zcG9ydCBhbmQgcmV0dXJucyB0aGUgcGFyc2VkIHJlc3VsdC5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYW4gYXJncyBvYmplY3QgdGhhdCBpbmNsdWRlcyBgYXBwYCwgYG9ic2lkaWFuTW9kdWxlYCxcbiAqIGBjb250ZXh0YCwgYW5kIGFueSBhZGRpdGlvbmFsIGBhcmdzYCBwYXNzZWQgYnkgdGhlIGNhbGxlci5cbiAqIEl0IGlzIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYCBhbmQgaW52b2tlZCBhcyBhbiBJSUZFLlxuICogVGhlIGZ1bmN0aW9uIG11c3QgYmUgc2VsZi1jb250YWluZWQgXHUyMDE0IGNsb3N1cmVzIG92ZXIgbG9jYWwgdmFyaWFibGVzIHdpbGwgbm90IHdvcmsuXG4gKiBQYXNzIGFueSBuZWVkZWQgdmFsdWVzIGFzIGBhcmdzYCBcdTIwMTQgdGhleSBhcmUgSlNPTi1zZXJpYWxpemVkIGFuZCBkZXNlcmlhbGl6ZWQgb24gdGhlIE9ic2lkaWFuIHNpZGUuXG4gKlxuICogVGhlIHJlc3VsdCBpcyBgSlNPTi5zdHJpbmdpZnlgJ2Qgb24gdGhlIE9ic2lkaWFuIHNpZGUgYW5kIHBhcnNlZCBiYWNrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uIHRvIGV2YWx1YXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIGBmbmAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBldmFsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUmVzdWx0LCBUQ29udGV4dElkIGV4dGVuZHMgQ29udGV4dElkPHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcbiAgcGFyYW1zOiBFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+XG4pOiBQcm9taXNlPFJlc3VsdD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kIC0tIGBmbmAgY2FuIGJlIHVuYm91bmQuXG4gIGNvbnN0IHsgYXJncyA9IHt9LCBjb250ZXh0SWQsIGZuLCBzaG91bGRTa2lwUHJlZmxpZ2h0Q2hlY2tzID0gZmFsc2UsIHRyYW5zcG9ydDogdHJhbnNwb3J0T3ZlcnJpZGUsIHZhdWx0UGF0aCB9ID0gcGFyYW1zO1xuICBjb25zdCBjd2QgPSB2YXVsdFBhdGggPz8gcHJvY2Vzcy5jd2QoKTtcblxuICAvLyBDaGVjazogVmF1bHQgcGF0aCBleGlzdHMgb24gZGlzay5cbiAgaWYgKHZhdWx0UGF0aCAhPT0gdW5kZWZpbmVkICYmICFleGlzdHNTeW5jKHZhdWx0UGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFZhdWx0IHBhdGggZG9lcyBub3QgZXhpc3Q6ICR7dmF1bHRQYXRofWApO1xuICB9XG5cbiAgY29uc3QgdHJhbnNwb3J0ID0gdHJhbnNwb3J0T3ZlcnJpZGUgPz8gYXdhaXQgZ2V0T3JDcmVhdGVUcmFuc3BvcnQoZ2V0VHJhbnNwb3J0T3B0aW9ucygpKTtcblxuICBpZiAoIXNob3VsZFNraXBQcmVmbGlnaHRDaGVja3MpIHtcbiAgICBhd2FpdCB0cmFuc3BvcnQucHJlZmxpZ2h0Q2hlY2soY3dkKTtcbiAgfVxuXG4gIGNvbnN0IGV4cHJlc3Npb24gPSBnZW5lcmF0ZUZ1bmN0aW9uQ2FsbChldmFsV3JhcHBlciwge1xuICAgIGFyZ3MsXG4gICAgY29udGV4dElkLFxuICAgIGVuc3VyZUxheW91dFJlYWR5LFxuICAgIGZuLFxuICAgIGdldE9ic2lkaWFuTW9kdWxlLFxuICAgIHNlcmlhbGl6ZUVycm9yXG4gIH0pO1xuXG4gIGNvbnN0IHJlc3VsdFN0ciA9IGF3YWl0IHRyYW5zcG9ydC5ldmFsdWF0ZShleHByZXNzaW9uLCB7IGN3ZCB9KTtcblxuICBpZiAocmVzdWx0U3RyID09PSAnJyB8fCByZXN1bHRTdHIgPT09IE5PX09VVFBVVCkge1xuICAgIHJldHVybiB1bmRlZmluZWQgYXMgUmVzdWx0O1xuICB9XG5cbiAgbGV0IGVudmVsb3BlOiBFdmFsUmVzdWx0RW52ZWxvcGU7XG4gIHRyeSB7XG4gICAgZW52ZWxvcGUgPSBKU09OLnBhcnNlKHJlc3VsdFN0cikgYXMgRXZhbFJlc3VsdEVudmVsb3BlO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV2YWxJbk9ic2lkaWFuOiBPYnNpZGlhbiByZXR1cm5lZCBub24tSlNPTiBvdXRwdXQ6ICR7cmVzdWx0U3RyfWApO1xuICB9XG5cbiAgaWYgKCd0eXBlJyBpbiBlbnZlbG9wZSkge1xuICAgIGlmIChlbnZlbG9wZS50eXBlID09PSAnZXJyb3InKSB7XG4gICAgICAvLyBSZXdyaXRlIGJhcmUtb3JpZ2luIGxvY2FsaG9zdCBzdGFjayBmcmFtZXMgbGlrZSBcIihodHRwOi8vbG9jYWxob3N0Lzo5MTU6MzIpXCJcbiAgICAgIC8vIFNvIFZpdGVzdCdzIHNvdXJjZS1tYXAgcmVzb2x2ZXIgd29uJ3QgZXh0cmFjdCBcIi9cIiBhcyB0aGUgZmlsZSBwYXRoIGFuZCBjcmFzaFxuICAgICAgLy8gV2l0aCBFSVNESVIgd2hlbiBpdCB0cmllcyB0byByZWFkRmlsZVN5bmMgb24gdGhlIHJvb3QgZGlyZWN0b3J5LlxuICAgICAgY29uc3Qgc2FuaXRpemVkRGV0YWlsID0gZW52ZWxvcGUudmFsdWVcbiAgICAgICAgLnJlcGxhY2UoL1xcKGh0dHBzPzpcXC9cXC9sb2NhbGhvc3RcXC86KD88bGluZT5cXGQpL2csICcob2JzaWRpYW4td2VidmlldzokPGxpbmU+Jyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGV2YWxJbk9ic2lkaWFuOiBFcnJvciBpbnNpZGUgT2JzaWRpYW46XFxuJHtzYW5pdGl6ZWREZXRhaWx9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBSZXN1bHQ7XG4gIH1cblxuICByZXR1cm4gZW52ZWxvcGUudmFsdWUgYXMgUmVzdWx0O1xufVxuXG4vKipcbiAqIFRoZSB0b3AtbGV2ZWwgd3JhcHBlciB0aGF0IGlzIHNlcmlhbGl6ZWQgYW5kIGludm9rZWQgaW5zaWRlIHRoZSBPYnNpZGlhblxuICogcHJvY2VzcyB2aWEge0BsaW5rIGdlbmVyYXRlRnVuY3Rpb25DYWxsfS4gSXQgd2lyZXMgdXAgdGhlIG9ic2lkaWFuIG1vZHVsZSxcbiAqIGNvbnRleHQsIGFuZCBlcnJvciBoYW5kbGluZywgdGhlbiBkZWxlZ2F0ZXMgdG8gdGhlIGNhbGxlci1zdXBwbGllZCBgZm5gLlxuICpcbiAqIE11c3QgTk9UIHJlZmVyZW5jZSBhbnkgb3V0ZXIgc2NvcGUgXHUyMDE0IGl0IGlzIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSB3cmFwcGVyLlxuICogQHBhcmFtIHBhcmFtcy5hcmdzIC0gVGhlIHVzZXItc3VwcGxpZWQgYXJndW1lbnRzIHRvIHBhc3MgdG8gYGZuYC5cbiAqIEBwYXJhbSBwYXJhbXMuY29udGV4dElkIC0gVGhlIGNvbnRleHQgaWRlbnRpZmllciBmb3IgcGVyc2lzdGVudCBzdG9yYWdlLlxuICogQHBhcmFtIHBhcmFtcy5mbiAtIFRoZSB1c2VyIGZ1bmN0aW9uIHRvIGV2YWx1YXRlLlxuICogQHBhcmFtIHBhcmFtcy5yZXNvbHZlT2JzaWRpYW5Nb2R1bGUgLSBSZXNvbHZlcyB0aGUgYG9ic2lkaWFuYCBtb2R1bGUgYXQgcnVudGltZS5cbiAqIEBwYXJhbSBwYXJhbXMuc3RyaW5naWZ5RXJyb3IgLSBTZXJpYWxpemVzIGFuIGVycm9yIGludG8gYSBodW1hbi1yZWFkYWJsZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBBIEpTT04tc3RyaW5naWZpZWQge0BsaW5rIEV2YWxSZXN1bHRFbnZlbG9wZX0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGV2YWxXcmFwcGVyPEFyZ3MgZXh0ZW5kcyBHZW5lcmljT2JqZWN0LCBSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBwYXJhbXM6IEdlbmVyYXRlRnVuY3Rpb25DYWxsUGFyYW1zPEV2YWxXcmFwcGVyUGFyYW1zPEFyZ3MsIFJlc3VsdCwgVENvbnRleHRJZD4+XG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBhcHAgPSBwYXJhbXMuYXBwO1xuICBpZiAoIWFwcC5wbHVnaW5zLmlzRW5hYmxlZCgpKSB7XG4gICAgYXdhaXQgYXBwLnBsdWdpbnMuc2V0RW5hYmxlKHRydWUpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuTW9kdWxlID0gYXdhaXQgcGFyYW1zLmdldE9ic2lkaWFuTW9kdWxlKHBhcmFtcyk7XG4gIGludGVyZmFjZSBDb250ZXh0SG9sZGVyIHtcbiAgICBfX29ic2lkaWFuQ29udGV4dHNfXzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICB9XG4gIGNvbnN0IGNvbnRleHRIb2xkZXIgPSB3aW5kb3cgYXMgUGFydGlhbDxDb250ZXh0SG9sZGVyPjtcbiAgY29uc3QgY29udGV4dFJhdyA9IHBhcmFtcy5jb250ZXh0SWRcbiAgICA/ICgoY29udGV4dEhvbGRlci5fX29ic2lkaWFuQ29udGV4dHNfXyA/Pz0ge30pW1N0cmluZyhwYXJhbXMuY29udGV4dElkKV0gPz89IHt9KVxuICAgIDoge307XG4gIGNvbnN0IGNvbnRleHQgPSBjb250ZXh0UmF3IGFzIENvbnRleHRPZjxUQ29udGV4dElkPjtcbiAgY29uc3QgZnVsbEFyZ3MgPSAoeyAuLi5wYXJhbXMuYXJncywgYXBwLCBjb250ZXh0LCBvYnNpZGlhbk1vZHVsZSB9KSBhcyBBcmdzICYgQ29tbW9uQXJncyAmIENvbnRleHRBcmdzPFRDb250ZXh0SWQ+O1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBhcmFtcy5mbihmdWxsQXJncykgYXMgUmVzdWx0IHwgdW5kZWZpbmVkO1xuICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3VuZGVmaW5lZCcgfSk7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7IHZhbHVlOiByZXN1bHQgfSk7XG4gIH0gY2F0Y2ggKGV2YWxFcnJvcikge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdlcnJvcicsIHZhbHVlOiBwYXJhbXMuc2VyaWFsaXplRXJyb3IoZXZhbEVycm9yKSB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEluamVjdGVkIGludG8gdGhlIE9ic2lkaWFuIHByb2Nlc3MgdG8gcmVzb2x2ZSB0aGUgYG9ic2lkaWFuYCBtb2R1bGUuXG4gKiBVc2VzIGEgY2FjaGVkIHZhbHVlIG9uIGBhcHBgIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGluc3RhbGxzIGEgdGVtcG9yYXJ5XG4gKiBwbHVnaW4gdGhhdCBjYWxscyBgcmVxdWlyZSgnb2JzaWRpYW4nKWAgYW5kIGNhY2hlcyB0aGUgcmVzdWx0LlxuICpcbiAqIE11c3QgTk9UIHJlZmVyZW5jZSBhbnkgb3V0ZXIgc2NvcGUgXHUyMDE0IGl0IGlzIHNlcmlhbGl6ZWQgdmlhIGB0b1N0cmluZygpYC5cbiAqIGBnZXRPYnNpZGlhbk1vZHVsZVBsdWdpbkZuYCBtdXN0IGJlIGRlZmluZWQgaW4gdGhlIHNhbWUgc2NvcGVcbiAqICh0aGUgZ2VuZXJhdGVkIElJRkUgaGFuZGxlcyB0aGlzKS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMsIGluY2x1ZGluZyB0aGUgYGFwcGAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgYG9ic2lkaWFuYCBtb2R1bGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldE9ic2lkaWFuTW9kdWxlKHBhcmFtczogR2VuZXJhdGVGdW5jdGlvbkNhbGxQYXJhbXMpOiBQcm9taXNlPHR5cGVvZiBvYnNpZGlhbj4ge1xuICBjb25zdCBhcHAgPSBwYXJhbXMuYXBwO1xuXG4gIGNvbnN0IG9ic2lkaWFuTW9kdWxlSG9sZGVyID0gYXBwIGFzIFBhcnRpYWw8T2JzaWRpYW5Nb2R1bGVIb2xkZXI+O1xuICBpZiAob2JzaWRpYW5Nb2R1bGVIb2xkZXIub2JzaWRpYW5Nb2R1bGUpIHtcbiAgICByZXR1cm4gb2JzaWRpYW5Nb2R1bGVIb2xkZXIub2JzaWRpYW5Nb2R1bGU7XG4gIH1cbiAgY29uc3QgU0xJQ0VfU1RBUlQgPSAyO1xuICBjb25zdCByYW5kb21TdWZmaXggPSBTdHJpbmcoTWF0aC5yYW5kb20oKSkuc2xpY2UoU0xJQ0VfU1RBUlQpO1xuICBjb25zdCB0ZW1wTW9kdWxlTmFtZSA9IGBnZXQtb2JzaWRpYW4tbW9kdWxlLSR7cmFuZG9tU3VmZml4fWA7XG4gIGNvbnN0IGRpciA9IGAke2FwcC52YXVsdC5jb25maWdEaXJ9L3BsdWdpbnMvJHt0ZW1wTW9kdWxlTmFtZX1gO1xuICBhcHAucGx1Z2lucy5tYW5pZmVzdHNbdGVtcE1vZHVsZU5hbWVdID0ge1xuICAgIGF1dGhvcjogJycsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGRpcixcbiAgICBpZDogdGVtcE1vZHVsZU5hbWUsXG4gICAgaXNEZXNrdG9wT25seTogZmFsc2UsXG4gICAgbWluQXBwVmVyc2lvbjogJycsXG4gICAgbmFtZTogdGVtcE1vZHVsZU5hbWUsXG4gICAgdmVyc2lvbjogJydcbiAgfTtcbiAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIoZGlyKTtcbiAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIud3JpdGUoYCR7ZGlyfS9tYWluLmpzYCwgYCgke1N0cmluZyhnZXRPYnNpZGlhbk1vZHVsZVBsdWdpbkZuKX0pKCk7YCk7XG4gIGF3YWl0IGFwcC5wbHVnaW5zLmxvYWRQbHVnaW4odGVtcE1vZHVsZU5hbWUpO1xuICBhd2FpdCBhcHAucGx1Z2lucy51bmluc3RhbGxQbHVnaW4odGVtcE1vZHVsZU5hbWUpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvbiAtLSBJdCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGhpbiBgbG9hZFBsdWdpbmAuXG4gIGlmIChvYnNpZGlhbk1vZHVsZUhvbGRlci5vYnNpZGlhbk1vZHVsZSkge1xuICAgIHJldHVybiBvYnNpZGlhbk1vZHVsZUhvbGRlci5vYnNpZGlhbk1vZHVsZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIG9ic2lkaWFuIG1vZHVsZScpO1xuXG4gIC8qKlxuICAgKiBUaGUgYm9keSBvZiB0aGUgdGVtcG9yYXJ5IHBsdWdpbiB0aGF0IGV4dHJhY3RzIHRoZSBgb2JzaWRpYW5gIG1vZHVsZS5cbiAgICogU2VyaWFsaXplZCB2aWEgYHRvU3RyaW5nKClgIGFuZCB3cml0dGVuIHRvIGBtYWluLmpzYCBieSB7QGxpbmsgZ2V0T2JzaWRpYW5Nb2R1bGV9LlxuICAgKiBNdXN0IE5PVCByZWZlcmVuY2UgYW55IG91dGVyIHNjb3BlLlxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0T2JzaWRpYW5Nb2R1bGVQbHVnaW5GbigpOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWQsIG5vLXNoYWRvdyAtLSBXZSBuZWVkIGdsb2JhbCBgYXBwYCB2YXJpYWJsZS4gSW50ZW50aW9uYWwgcmVkZWNsYXJhdGlvbiBcdTIwMTQgc2VsZi1jb250YWluZWQgc2VyaWFsaXplZCBmdW5jdGlvbi5cbiAgICBjb25zdCBhcHAgPSB3aW5kb3cuYXBwO1xuXG4gICAgY29uc3Qgb2JzaWRpYW5Nb2R1bGVIb2xkZXIyID0gYXBwIGFzIFBhcnRpYWw8T2JzaWRpYW5Nb2R1bGVIb2xkZXI+O1xuXG4gICAgY29uc3QgcGx1Z2luUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgY29uc3QgcGx1Z2luRXhwb3J0cyA9IGV4cG9ydHMgYXMgRXhwb3J0c1dpdGhEZWZhdWx0O1xuXG4gICAgY29uc3Qgb2JzaWRpYW5Nb2R1bGUgPSBwbHVnaW5SZXF1aXJlKCdvYnNpZGlhbicpIGFzIHR5cGVvZiBvYnNpZGlhbjtcbiAgICBvYnNpZGlhbk1vZHVsZUhvbGRlcjIub2JzaWRpYW5Nb2R1bGUgPSBvYnNpZGlhbk1vZHVsZTtcbiAgICBwbHVnaW5FeHBvcnRzLmRlZmF1bHQgPSBvYnNpZGlhbk1vZHVsZS5QbHVnaW47XG4gIH1cbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EscUJBQTJCO0FBQzNCLDBCQUFvQjtBQWFwQiw4QkFBb0M7QUFDcEMsb0NBR087QUFDUCw2QkFBK0I7QUFDL0IsK0JBQXFDO0FBa0JyQyxNQUFNLFlBQVk7QUErRmxCLGVBQXNCLGVBQ3BCLFFBQ2lCO0FBRWpCLFFBQU0sRUFBRSxPQUFPLENBQUMs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
|
|
@@ -0,0 +1,42 @@
|
|
|
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 generate_function_call_exports = {};
|
|
20
|
+
__export(generate_function_call_exports, {
|
|
21
|
+
ensureLayoutReady: () => ensureLayoutReady,
|
|
22
|
+
generateFunctionCall: () => generateFunctionCall
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(generate_function_call_exports);
|
|
25
|
+
var import_function_expression = require("./function-expression.cjs");
|
|
26
|
+
var import_json_with_functions = require("./json-with-functions.cjs");
|
|
27
|
+
async function ensureLayoutReady(params) {
|
|
28
|
+
await new Promise((resolve) => {
|
|
29
|
+
params.app.workspace.onLayoutReady(resolve);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function generateFunctionCall(fn, params) {
|
|
33
|
+
const fnExpr = (0, import_function_expression.getFunctionExpressionString)(fn);
|
|
34
|
+
const serializedParams = (0, import_json_with_functions.jsonWithFunctions)(params);
|
|
35
|
+
return `(${fnExpr})(Object.assign(${serializedParams}, { app: window.app }))`;
|
|
36
|
+
}
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
ensureLayoutReady,
|
|
40
|
+
generateFunctionCall
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlLWZ1bmN0aW9uLWNhbGwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBHZW5lcmF0ZXMgYSBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCBjYWxscyBhIHNlcmlhbGl6ZWQgZnVuY3Rpb24gd2l0aCBzZXJpYWxpemVkIGFyZ3VtZW50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyB9IGZyb20gJy4vZnVuY3Rpb24tZXhwcmVzc2lvbi5janMnO1xuaW1wb3J0IHsganNvbldpdGhGdW5jdGlvbnMgfSBmcm9tICcuL2pzb24td2l0aC1mdW5jdGlvbnMuY2pzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHdpdGggYGVuc3VyZUxheW91dFJlYWR5YCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnN1cmVMYXlvdXRSZWFkeVBhcmFtcyB7XG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgdGhlIE9ic2lkaWFuIHdvcmtzcGFjZSBsYXlvdXQgdG8gYmUgcmVhZHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGluY2x1ZGluZyB0aGUgYGFwcGAgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGxheW91dCBpcyByZWFkeS5cbiAgICovXG4gIGVuc3VyZUxheW91dFJlYWR5KHBhcmFtczogR2VuZXJhdGVGdW5jdGlvbkNhbGxQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGBnZW5lcmF0ZUZ1bmN0aW9uQ2FsbGAuXG4gKlxuICogQHR5cGVQYXJhbSBQYXJhbXMgLSBUaGUgdHlwZSBvZiB0aGUgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZC5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdGVGdW5jdGlvbkNhbGxQYXJhbXM8UGFyYW1zID0gdW5rbm93bj4gPSBBcHBQYXJhbXMgJiBQYXJhbXM7XG5cbmludGVyZmFjZSBBcHBQYXJhbXMge1xuICBhcHA6IEFwcDtcbn1cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIFNlcmlhbGl6ZWQgdmlhIHRvU3RyaW5nKCkgYW5kIGV4ZWN1dGVkIGluc2lkZSBPYnNpZGlhbiwgbm90IGNhbGxhYmxlIGluIHVuaXQgdGVzdHMuICovXG4vKipcbiAqIFdhaXRzIGZvciB0aGUgT2JzaWRpYW4gd29ya3NwYWNlIGxheW91dCB0byBiZSByZWFkeS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMsIGluY2x1ZGluZyB0aGUgYGFwcGAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVMYXlvdXRSZWFkeShwYXJhbXM6IEdlbmVyYXRlRnVuY3Rpb25DYWxsUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgcGFyYW1zLmFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeShyZXNvbHZlKTtcbiAgfSk7XG59XG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIEphdmFTY3JpcHQgZXhwcmVzc2lvbiBzdHJpbmcgdGhhdCBpbW1lZGlhdGVseSBpbnZva2VzIHRoZSBnaXZlblxuICogZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzLlxuICpcbiAqIFRoZSBmdW5jdGlvbiBpcyBzZXJpYWxpemVkIHZpYSB7QGxpbmsgZ2V0RnVuY3Rpb25FeHByZXNzaW9uU3RyaW5nfSBhbmQgdGhlXG4gKiBhcmd1bWVudHMgYXJlIHNlcmlhbGl6ZWQgdmlhIHtAbGluayBqc29uV2l0aEZ1bmN0aW9uc30sIHByb2R1Y2luZyBhXG4gKiBzZWxmLWNvbnRhaW5lZCBJSUZFIG9mIHRoZSBmb3JtIGAoZm5FeHByKShhcmdzRXhwcilgLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBhcmd1bWVudHMgdG8gcGFzcy4gV2hlbiBvbWl0dGVkLCB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IGV4cHJlc3Npb24gc3RyaW5nLlxuICovXG5cbi8qKlxuICogR2VuZXJhdGVzIGEgSmF2YVNjcmlwdCBleHByZXNzaW9uIHN0cmluZyB0aGF0IGltbWVkaWF0ZWx5IGludm9rZXMgdGhlIGdpdmVuXG4gKiBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGFyZ3VtZW50cyB0byBwYXNzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IGV4cHJlc3Npb24gc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVGdW5jdGlvbkNhbGw8UGFyYW1zPihmbjogKHBhcmFtczogR2VuZXJhdGVGdW5jdGlvbkNhbGxQYXJhbXM8UGFyYW1zPikgPT4gUHJvbWlzYWJsZTx1bmtub3duPiwgcGFyYW1zOiBQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCBmbkV4cHIgPSBnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcoZm4pO1xuICBjb25zdCBzZXJpYWxpemVkUGFyYW1zID0ganNvbldpdGhGdW5jdGlvbnMocGFyYW1zKTtcbiAgcmV0dXJuIGAoJHtmbkV4cHJ9KShPYmplY3QuYXNzaWduKCR7c2VyaWFsaXplZFBhcmFtc30sIHsgYXBwOiB3aW5kb3cuYXBwIH0pKWA7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxpQ0FBNEM7QUFDNUMsaUNBQWtDO0FBaUNsQyxlQUFzQixrQkFBa0IsUUFBbUQ7QUFDekYsUUFBTSxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ25DLFdBQU8sSUFBSSxVQUFVLGNBQWMsT0FBTztBQUFBLEVBQzVDLENBQUM7QUFDSDtBQXdCTyxTQUFTLHFCQUE2QixJQUF5RSxRQUF3QjtBQUM1SSxRQUFNLGFBQVMsd0RBQTRCLEVBQUU7QUFDN0MsUUFBTSx1QkFBbUIsOENBQWtCLE1BQU07QUFDakQsU0FBTyxJQUFJLE1BQU0sbUJBQW1CLGdCQUFnQjtBQUN0RDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Generates a JavaScript expression that calls a serialized function with serialized arguments.
|
|
5
|
+
*/
|
|
6
|
+
import type { App } from 'obsidian';
|
|
7
|
+
import type { Promisable } from 'type-fest';
|
|
8
|
+
/**
|
|
9
|
+
* Parameters with `ensureLayoutReady` function.
|
|
10
|
+
*/
|
|
11
|
+
export interface EnsureLayoutReadyParams {
|
|
12
|
+
/**
|
|
13
|
+
* Waits for the Obsidian workspace layout to be ready.
|
|
14
|
+
*
|
|
15
|
+
* @param params - Parameters including the `app` instance.
|
|
16
|
+
* @returns A promise that resolves when the layout is ready.
|
|
17
|
+
*/
|
|
18
|
+
ensureLayoutReady(params: GenerateFunctionCallParams): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parameters for `generateFunctionCall`.
|
|
22
|
+
*
|
|
23
|
+
* @typeParam Params - The type of the additional parameters to pass to the function being called.
|
|
24
|
+
*/
|
|
25
|
+
export type GenerateFunctionCallParams<Params = unknown> = AppParams & Params;
|
|
26
|
+
interface AppParams {
|
|
27
|
+
app: App;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Waits for the Obsidian workspace layout to be ready.
|
|
31
|
+
*
|
|
32
|
+
* @param params - The parameters, including the `app` instance.
|
|
33
|
+
* @returns A promise that resolves when the layout is ready.
|
|
34
|
+
*/
|
|
35
|
+
export declare function ensureLayoutReady(params: GenerateFunctionCallParams): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Generates a JavaScript expression string that immediately invokes the given
|
|
38
|
+
* function with the given arguments.
|
|
39
|
+
*
|
|
40
|
+
* The function is serialized via {@link getFunctionExpressionString} and the
|
|
41
|
+
* arguments are serialized via {@link jsonWithFunctions}, producing a
|
|
42
|
+
* self-contained IIFE of the form `(fnExpr)(argsExpr)`.
|
|
43
|
+
*
|
|
44
|
+
* @param fn - The function to call.
|
|
45
|
+
* @param params - The arguments to pass. When omitted, the function is called with no arguments.
|
|
46
|
+
* @returns A JavaScript expression string.
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* Generates a JavaScript expression string that immediately invokes the given
|
|
50
|
+
* function with the given arguments.
|
|
51
|
+
*
|
|
52
|
+
* @param fn - The function to call.
|
|
53
|
+
* @param params - The arguments to pass.
|
|
54
|
+
* @returns A JavaScript expression string.
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateFunctionCall<Params>(fn: (params: GenerateFunctionCallParams<Params>) => Promisable<unknown>, params: Params): string;
|
|
57
|
+
export {};
|
|
@@ -28,16 +28,25 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var obsidian_config_exports = {};
|
|
30
30
|
__export(obsidian_config_exports, {
|
|
31
|
+
enableCliInConfig: () => enableCliInConfig,
|
|
31
32
|
getAnyRegisteredVaultPath: () => getAnyRegisteredVaultPath,
|
|
32
33
|
getVaultId: () => getVaultId,
|
|
33
34
|
isCliEnabled: () => isCliEnabled,
|
|
34
|
-
isVaultRegistered: () => isVaultRegistered
|
|
35
|
+
isVaultRegistered: () => isVaultRegistered,
|
|
36
|
+
registerVaultInConfig: () => registerVaultInConfig,
|
|
37
|
+
removeVaultFromConfig: () => removeVaultFromConfig
|
|
35
38
|
});
|
|
36
39
|
module.exports = __toCommonJS(obsidian_config_exports);
|
|
40
|
+
var import_node_crypto = require("node:crypto");
|
|
37
41
|
var import_node_fs = require("node:fs");
|
|
38
42
|
var import_node_os = require("node:os");
|
|
39
43
|
var import_node_path = require("node:path");
|
|
40
44
|
var import_node_process = __toESM(require("node:process"), 1);
|
|
45
|
+
function enableCliInConfig() {
|
|
46
|
+
const config = readObsidianJson() ?? { vaults: {} };
|
|
47
|
+
config.cli = true;
|
|
48
|
+
writeObsidianJson(config);
|
|
49
|
+
}
|
|
41
50
|
function getAnyRegisteredVaultPath() {
|
|
42
51
|
const config = readObsidianJson();
|
|
43
52
|
if (!config) {
|
|
@@ -66,6 +75,33 @@ function isCliEnabled() {
|
|
|
66
75
|
function isVaultRegistered(vaultPath) {
|
|
67
76
|
return getVaultId(vaultPath) !== void 0;
|
|
68
77
|
}
|
|
78
|
+
function registerVaultInConfig(vaultPath) {
|
|
79
|
+
const config = readObsidianJson() ?? { vaults: {} };
|
|
80
|
+
const VAULT_ID_BYTE_LENGTH = 8;
|
|
81
|
+
const id = (0, import_node_crypto.randomBytes)(VAULT_ID_BYTE_LENGTH).toString("hex");
|
|
82
|
+
config.vaults[id] = { path: vaultPath, ts: Date.now() };
|
|
83
|
+
config.cli = true;
|
|
84
|
+
writeObsidianJson(config);
|
|
85
|
+
}
|
|
86
|
+
function removeVaultFromConfig(vaultPath) {
|
|
87
|
+
const config = readObsidianJson();
|
|
88
|
+
if (!config) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const normalizedTarget = normalizePath(vaultPath);
|
|
92
|
+
let wasFound = false;
|
|
93
|
+
for (const [id, entry] of Object.entries(config.vaults)) {
|
|
94
|
+
if (normalizePath(entry.path) === normalizedTarget) {
|
|
95
|
+
delete config.vaults[id];
|
|
96
|
+
wasFound = true;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (wasFound) {
|
|
101
|
+
writeObsidianJson(config);
|
|
102
|
+
}
|
|
103
|
+
return wasFound;
|
|
104
|
+
}
|
|
69
105
|
function getObsidianConfigDir() {
|
|
70
106
|
if (import_node_process.default.platform === "win32") {
|
|
71
107
|
const appData = import_node_process.default.env["APPDATA"];
|
|
@@ -91,11 +127,18 @@ function readObsidianJson() {
|
|
|
91
127
|
return void 0;
|
|
92
128
|
}
|
|
93
129
|
}
|
|
130
|
+
function writeObsidianJson(config) {
|
|
131
|
+
const configPath = (0, import_node_path.join)(getObsidianConfigDir(), "obsidian.json");
|
|
132
|
+
(0, import_node_fs.writeFileSync)(configPath, JSON.stringify(config));
|
|
133
|
+
}
|
|
94
134
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
135
|
0 && (module.exports = {
|
|
136
|
+
enableCliInConfig,
|
|
96
137
|
getAnyRegisteredVaultPath,
|
|
97
138
|
getVaultId,
|
|
98
139
|
isCliEnabled,
|
|
99
|
-
isVaultRegistered
|
|
140
|
+
isVaultRegistered,
|
|
141
|
+
registerVaultInConfig,
|
|
142
|
+
removeVaultFromConfig
|
|
100
143
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlYWRzIGFuZCBxdWVyaWVzIE9ic2lkaWFuJ3MgbG9jYWwgY29uZmlndXJhdGlvbiAoYG9ic2lkaWFuLmpzb25gKS5cbiAqL1xuXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7XG4gIGpvaW4sXG4gIHJlc29sdmVcbn0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8qKlxuICogVGhlIHRvcC1sZXZlbCBzdHJ1Y3R1cmUgb2YgT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgY29uZmlnIGZpbGUuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkpzb24ge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgQ0xJIGlzIGVuYWJsZWQgaW4gT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBjbGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNYXAgb2YgdmF1bHQgSURzIHRvIHZhdWx0IGVudHJpZXMuXG4gICAqL1xuICB2YXVsdHM6IFJlY29yZDxzdHJpbmcsIE9ic2lkaWFuVmF1bHRFbnRyeT47XG59XG5cbi8qKlxuICogQSBzaW5nbGUgdmF1bHQgZW50cnkgaW4gYG9ic2lkaWFuLmpzb25gLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5WYXVsdEVudHJ5IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHZhdWx0IGlzIGN1cnJlbnRseSBvcGVuLlxuICAgKi9cbiAgb3Blbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCBvZiB0aGUgbGFzdCBhY2Nlc3MuXG4gICAqL1xuICB0czogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBhdGggb2YgYW55IHZhdWx0IHRoYXQgaXMgY3VycmVudGx5IHJlZ2lzdGVyZWQgaW4gT2JzaWRpYW4ncyByZWdpc3RyeS5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGFuIGBvYnNpZGlhbiBldmFsYCBjYWxsIG11c3QgcnVuIGluc2lkZSBhbiBleGlzdGluZyB2YXVsdFxuICogd2luZG93IChlLmcuLCB0byBpc3N1ZSBJUEMgY29tbWFuZHMgdGhhdCByZWdpc3RlciBvciByZW1vdmUgb3RoZXIgdmF1bHRzKS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCB0byBhIHJlZ2lzdGVyZWQgdmF1bHQsIG9yIGB1bmRlZmluZWRgIGlmIG5vIHZhdWx0cyBhcmUgcmVnaXN0ZXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFueVJlZ2lzdGVyZWRWYXVsdFBhdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZE9ic2lkaWFuSnNvbigpO1xuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBmaXJzdEVudHJ5ID0gT2JqZWN0LnZhbHVlcyhjb25maWcudmF1bHRzKVswXTtcbiAgcmV0dXJuIGZpcnN0RW50cnk/LnBhdGg7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaGV4IHZhdWx0IElEIGZvciBhIGdpdmVuIHZhdWx0IHBhdGggZnJvbSBPYnNpZGlhbidzIHJlZ2lzdHJ5LlxuICpcbiAqIEBwYXJhbSB2YXVsdFBhdGggLSBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgdmF1bHQgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIHZhdWx0IElELCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgdmF1bHQgaXMgbm90IHJlZ2lzdGVyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYXVsdElkKHZhdWx0UGF0aDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZE9ic2lkaWFuSnNvbigpO1xuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkVGFyZ2V0ID0gbm9ybWFsaXplUGF0aCh2YXVsdFBhdGgpO1xuXG4gIGZvciAoY29uc3QgW2lkLCBlbnRyeV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLnZhdWx0cykpIHtcbiAgICBpZiAobm9ybWFsaXplUGF0aChlbnRyeS5wYXRoKSA9PT0gbm9ybWFsaXplZFRhcmdldCkge1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIE9ic2lkaWFuIENMSSBpcyBlbmFibGVkIGluIE9ic2lkaWFuJ3Mgc2V0dGluZ3MuXG4gKlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBDTEkgaXMgZW5hYmxlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NsaUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNvbmZpZyA9IHJlYWRPYnNpZGlhbkpzb24oKTtcbiAgcmV0dXJuIGNvbmZpZz8uY2xpID09PSB0cnVlO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmF1bHQgcGF0aCBpcyByZWdpc3RlcmVkIGluIE9ic2lkaWFuJ3MgdmF1bHQgcmVnaXN0cnkuXG4gKlxuICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhdWx0IGlzIHJlZ2lzdGVyZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYXVsdFJlZ2lzdGVyZWQodmF1bHRQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFZhdWx0SWQodmF1bHRQYXRoKSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHBhdGggdG8gT2JzaWRpYW4ncyBjb25maWcgZGlyZWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBgb2JzaWRpYW4vYCBjb25maWcgZGlyZWN0b3J5LlxuICovXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkNvbmZpZ0RpcigpOiBzdHJpbmcge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgIGNvbnN0IGFwcERhdGEgPSBwcm9jZXNzLmVudlsnQVBQREFUQSddO1xuICAgIGlmIChhcHBEYXRhKSB7XG4gICAgICByZXR1cm4gam9pbihhcHBEYXRhLCAnb2JzaWRpYW4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ2RhcndpbicpIHtcbiAgICByZXR1cm4gam9pbihob21lZGlyKCksICdMaWJyYXJ5JywgJ0FwcGxpY2F0aW9uIFN1cHBvcnQnLCAnb2JzaWRpYW4nKTtcbiAgfVxuXG4gIHJldHVybiBqb2luKHByb2Nlc3MuZW52WydYREdfQ09ORklHX0hPTUUnXSA/PyBqb2luKGhvbWVkaXIoKSwgJy5jb25maWcnKSwgJ29ic2lkaWFuJyk7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIHZhdWx0IHBhdGggZm9yIGNvbXBhcmlzb24uXG4gKiBPbiBXaW5kb3dzLCBwYXRocyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgc2VwYXJhdG9ycyBtYXkgdmFyeS5cbiAqXG4gKiBAcGFyYW0gdmF1bHRQYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUGF0aCh2YXVsdFBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZSh2YXVsdFBhdGgpO1xuICByZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/IHJlc29sdmVkLnRvTG93ZXJDYXNlKCkgOiByZXNvbHZlZDtcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIE9ic2lkaWFuJ3MgYG9ic2lkaWFuLmpzb25gIGNvbmZpZyBmaWxlLlxuICpcbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgY29uZmlnLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0IG9yIGNhbid0IGJlIHBhcnNlZC5cbiAqL1xuZnVuY3Rpb24gcmVhZE9ic2lkaWFuSnNvbigpOiBPYnNpZGlhbkpzb24gfCB1bmRlZmluZWQge1xuICBjb25zdCBjb25maWdQYXRoID0gam9pbihnZXRPYnNpZGlhbkNvbmZpZ0RpcigpLCAnb2JzaWRpYW4uanNvbicpO1xuICB0cnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZVN5bmMoY29uZmlnUGF0aCwgJ3V0Zi04Jyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoY29udGVudCkgYXMgT2JzaWRpYW5Kc29uO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHFCQUE2QjtBQUM3QixxQkFBd0I7QUFDeEIsdUJBR087QUFDUCwwQkFBb0I7QUE2Q2IsU0FBUyw0QkFBZ0Q7QUFDOUQsUUFBTSxTQUFTLGlCQUFpQjtBQUNoQyxNQUFJLENBQUMsUUFBUTtBQUNYLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxPQUFPLE1BQU0sRUFBRSxDQUFDO0FBQ2pELFNBQU8sWUFBWTtBQUNyQjtBQVFPLFNBQVMsV0FBVyxXQUF1QztBQUNoRSxRQUFNLFNBQVMsaUJBQWlCO0FBQ2hDLE1BQUksQ0FBQyxRQUFRO0FBQ1gsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLG1CQUFtQixjQUFjLFNBQVM7QUFFaEQsYUFBVyxDQUFDLElBQUksS0FBSyxLQUFLLE9BQU8sUUFBUSxPQUFPLE1BQU0sR0FBRztBQUN2RCxRQUFJLGNBQWMsTUFBTSxJQUFJLE1BQU0sa0JBQWtCO0FBQ2xELGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQU9PLFNBQVMsZUFBd0I7QUFDdEMsUUFBTSxTQUFTLGlCQUFpQjtBQUNoQyxTQUFPLFFBQVEsUUFBUTtBQUN6QjtBQVFPLFNBQVMsa0JBQWtCLFdBQTRCO0FBQzVELFNBQU8sV0FBVyxTQUFTLE1BQU07QUFDbkM7QUFPQSxTQUFTLHVCQUErQjtBQUN0QyxNQUFJLG9CQUFBQSxRQUFRLGFBQWEsU0FBUztBQUNoQyxVQUFNLFVBQVUsb0JBQUFBLFFBQVEsSUFBSSxTQUFTO0FBQ3JDLFFBQUksU0FBUztBQUNYLGlCQUFPLHVCQUFLLFNBQVMsVUFBVTtBQUFBLElBQ2pDO0FBQUEsRUFDRjtBQUVBLE1BQUksb0JBQUFBLFFBQVEsYUFBYSxVQUFVO0FBQ2pDLGVBQU8sMkJBQUssd0JBQVEsR0FBRyxXQUFXLHVCQUF1QixVQUFVO0FBQUEsRUFDckU7QUFFQSxhQUFPLHVCQUFLLG9CQUFBQSxRQUFRLElBQUksaUJBQWlCLFNBQUssMkJBQUssd0JBQVEsR0FBRyxTQUFTLEdBQUcsVUFBVTtBQUN0RjtBQVNBLFNBQVMsY0FBYyxXQUEyQjtBQUNoRCxRQUFNLGVBQVcsMEJBQVEsU0FBUztBQUNsQyxTQUFPLG9CQUFBQSxRQUFRLGFBQWEsVUFBVSxTQUFTLFlBQVksSUFBSTtBQUNqRTtBQU9BLFNBQVMsbUJBQTZDO0FBQ3BELFFBQU0saUJBQWEsdUJBQUsscUJBQXFCLEdBQUcsZUFBZTtBQUMvRCxNQUFJO0FBQ0YsVUFBTSxjQUFVLDZCQUFhLFlBQVksT0FBTztBQUNoRCxXQUFPLEtBQUssTUFBTSxPQUFPO0FBQUEsRUFDM0IsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbInByb2Nlc3MiXQp9Cg==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlYWRzIGFuZCBxdWVyaWVzIE9ic2lkaWFuJ3MgbG9jYWwgY29uZmlndXJhdGlvbiAoYG9ic2lkaWFuLmpzb25gKS5cbiAqL1xuXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ25vZGU6Y3J5cHRvJztcbmltcG9ydCB7XG4gIHJlYWRGaWxlU3luYyxcbiAgd3JpdGVGaWxlU3luY1xufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7XG4gIGpvaW4sXG4gIHJlc29sdmVcbn0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8qKlxuICogVGhlIHRvcC1sZXZlbCBzdHJ1Y3R1cmUgb2YgT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgY29uZmlnIGZpbGUuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkpzb24ge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgQ0xJIGlzIGVuYWJsZWQgaW4gT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBjbGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNYXAgb2YgdmF1bHQgSURzIHRvIHZhdWx0IGVudHJpZXMuXG4gICAqL1xuICB2YXVsdHM6IFJlY29yZDxzdHJpbmcsIE9ic2lkaWFuVmF1bHRFbnRyeT47XG59XG5cbi8qKlxuICogQSBzaW5nbGUgdmF1bHQgZW50cnkgaW4gYG9ic2lkaWFuLmpzb25gLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5WYXVsdEVudHJ5IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHZhdWx0IGlzIGN1cnJlbnRseSBvcGVuLlxuICAgKi9cbiAgb3Blbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCBvZiB0aGUgbGFzdCBhY2Nlc3MuXG4gICAqL1xuICB0czogbnVtYmVyO1xufVxuXG4vKipcbiAqIEVuYWJsZXMgdGhlIENMSSBpbiBPYnNpZGlhbidzIGBvYnNpZGlhbi5qc29uYCBjb25maWcgZmlsZS5cbiAqXG4gKiBTZXRzIGBjbGk6IHRydWVgIHNvIHRoYXQgT2JzaWRpYW4gc3RhcnRzIGl0cyBDTEkgc2VydmVyIG9uIG5leHQgbGF1bmNoLlxuICogSWYgdGhlIGNvbmZpZyBmaWxlIGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZXMgaXQgd2l0aCBhbiBlbXB0eSB2YXVsdHMgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5hYmxlQ2xpSW5Db25maWcoKTogdm9pZCB7XG4gIGNvbnN0IGNvbmZpZyA9IHJlYWRPYnNpZGlhbkpzb24oKSA/PyB7IHZhdWx0czoge30gfTtcbiAgY29uZmlnLmNsaSA9IHRydWU7XG4gIHdyaXRlT2JzaWRpYW5Kc29uKGNvbmZpZyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGF0aCBvZiBhbnkgdmF1bHQgdGhhdCBpcyBjdXJyZW50bHkgcmVnaXN0ZXJlZCBpbiBPYnNpZGlhbidzIHJlZ2lzdHJ5LlxuICpcbiAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gYW4gYG9ic2lkaWFuIGV2YWxgIGNhbGwgbXVzdCBydW4gaW5zaWRlIGFuIGV4aXN0aW5nIHZhdWx0XG4gKiB3aW5kb3cgKGUuZy4sIHRvIGlzc3VlIElQQyBjb21tYW5kcyB0aGF0IHJlZ2lzdGVyIG9yIHJlbW92ZSBvdGhlciB2YXVsdHMpLlxuICpcbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIGEgcmVnaXN0ZXJlZCB2YXVsdCwgb3IgYHVuZGVmaW5lZGAgaWYgbm8gdmF1bHRzIGFyZSByZWdpc3RlcmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW55UmVnaXN0ZXJlZFZhdWx0UGF0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb25maWcgPSByZWFkT2JzaWRpYW5Kc29uKCk7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGZpcnN0RW50cnkgPSBPYmplY3QudmFsdWVzKGNvbmZpZy52YXVsdHMpWzBdO1xuICByZXR1cm4gZmlyc3RFbnRyeT8ucGF0aDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBoZXggdmF1bHQgSUQgZm9yIGEgZ2l2ZW4gdmF1bHQgcGF0aCBmcm9tIE9ic2lkaWFuJ3MgcmVnaXN0cnkuXG4gKlxuICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gKiBAcmV0dXJucyBUaGUgdmF1bHQgSUQsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSB2YXVsdCBpcyBub3QgcmVnaXN0ZXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhdWx0SWQodmF1bHRQYXRoOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb25maWcgPSByZWFkT2JzaWRpYW5Kc29uKCk7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRUYXJnZXQgPSBub3JtYWxpemVQYXRoKHZhdWx0UGF0aCk7XG5cbiAgZm9yIChjb25zdCBbaWQsIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyhjb25maWcudmF1bHRzKSkge1xuICAgIGlmIChub3JtYWxpemVQYXRoKGVudHJ5LnBhdGgpID09PSBub3JtYWxpemVkVGFyZ2V0KSB7XG4gICAgICByZXR1cm4gaWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgT2JzaWRpYW4gQ0xJIGlzIGVuYWJsZWQgaW4gT2JzaWRpYW4ncyBzZXR0aW5ncy5cbiAqXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIENMSSBpcyBlbmFibGVkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2xpRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZE9ic2lkaWFuSnNvbigpO1xuICByZXR1cm4gY29uZmlnPy5jbGkgPT09IHRydWU7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSB2YXVsdCBwYXRoIGlzIHJlZ2lzdGVyZWQgaW4gT2JzaWRpYW4ncyB2YXVsdCByZWdpc3RyeS5cbiAqXG4gKiBAcGFyYW0gdmF1bHRQYXRoIC0gVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHZhdWx0IGZvbGRlci5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmF1bHQgaXMgcmVnaXN0ZXJlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhdWx0UmVnaXN0ZXJlZCh2YXVsdFBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0VmF1bHRJZCh2YXVsdFBhdGgpICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgdmF1bHQgZGlyZWN0bHkgaW4gT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgY29uZmlnIGZpbGUuXG4gKlxuICogVGhpcyB3cml0ZXMgYSBuZXcgdmF1bHQgZW50cnkgd2l0aCBhIHJhbmRvbSBoZXggSUQuIFVzZWQgd2hlbiBubyBleGlzdGluZ1xuICogdmF1bHQgaXMgYXZhaWxhYmxlIHRvIHNlbmQgSVBDIGNvbW1hbmRzIHRocm91Z2ggXHUyMDE0IHRoZSB2YXVsdCBpcyByZWdpc3RlcmVkXG4gKiBcIm9mZmxpbmVcIiBzbyBPYnNpZGlhbiB3aWxsIG9wZW4gaXQgb24gbmV4dCBsYXVuY2guXG4gKlxuICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclZhdWx0SW5Db25maWcodmF1bHRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZE9ic2lkaWFuSnNvbigpID8/IHsgdmF1bHRzOiB7fSB9O1xuICBjb25zdCBWQVVMVF9JRF9CWVRFX0xFTkdUSCA9IDg7XG4gIGNvbnN0IGlkID0gcmFuZG9tQnl0ZXMoVkFVTFRfSURfQllURV9MRU5HVEgpLnRvU3RyaW5nKCdoZXgnKTtcbiAgY29uZmlnLnZhdWx0c1tpZF0gPSB7IHBhdGg6IHZhdWx0UGF0aCwgdHM6IERhdGUubm93KCkgfTtcbiAgY29uZmlnLmNsaSA9IHRydWU7XG4gIHdyaXRlT2JzaWRpYW5Kc29uKGNvbmZpZyk7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhIHZhdWx0IGVudHJ5IGZyb20gT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgY29uZmlnIGZpbGUuXG4gKlxuICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhdWx0IHdhcyBmb3VuZCBhbmQgcmVtb3ZlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVWYXVsdEZyb21Db25maWcodmF1bHRQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZE9ic2lkaWFuSnNvbigpO1xuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRUYXJnZXQgPSBub3JtYWxpemVQYXRoKHZhdWx0UGF0aCk7XG4gIGxldCB3YXNGb3VuZCA9IGZhbHNlO1xuXG4gIGZvciAoY29uc3QgW2lkLCBlbnRyeV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLnZhdWx0cykpIHtcbiAgICBpZiAobm9ybWFsaXplUGF0aChlbnRyeS5wYXRoKSA9PT0gbm9ybWFsaXplZFRhcmdldCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZSAtLSBSZW1vdmluZyBhIHZhdWx0IGVudHJ5IGJ5IGl0cyBkeW5hbWljIGtleS5cbiAgICAgIGRlbGV0ZSBjb25maWcudmF1bHRzW2lkXTtcbiAgICAgIHdhc0ZvdW5kID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmICh3YXNGb3VuZCkge1xuICAgIHdyaXRlT2JzaWRpYW5Kc29uKGNvbmZpZyk7XG4gIH1cblxuICByZXR1cm4gd2FzRm91bmQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgcGF0aCB0byBPYnNpZGlhbidzIGNvbmZpZyBkaXJlY3RvcnkuXG4gKlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGBvYnNpZGlhbi9gIGNvbmZpZyBkaXJlY3RvcnkuXG4gKi9cbmZ1bmN0aW9uIGdldE9ic2lkaWFuQ29uZmlnRGlyKCk6IHN0cmluZyB7XG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgY29uc3QgYXBwRGF0YSA9IHByb2Nlc3MuZW52WydBUFBEQVRBJ107XG4gICAgaWYgKGFwcERhdGEpIHtcbiAgICAgIHJldHVybiBqb2luKGFwcERhdGEsICdvYnNpZGlhbicpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnZGFyd2luJykge1xuICAgIHJldHVybiBqb2luKGhvbWVkaXIoKSwgJ0xpYnJhcnknLCAnQXBwbGljYXRpb24gU3VwcG9ydCcsICdvYnNpZGlhbicpO1xuICB9XG5cbiAgcmV0dXJuIGpvaW4ocHJvY2Vzcy5lbnZbJ1hER19DT05GSUdfSE9NRSddID8/IGpvaW4oaG9tZWRpcigpLCAnLmNvbmZpZycpLCAnb2JzaWRpYW4nKTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgdmF1bHQgcGF0aCBmb3IgY29tcGFyaXNvbi5cbiAqIE9uIFdpbmRvd3MsIHBhdGhzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBzZXBhcmF0b3JzIG1heSB2YXJ5LlxuICpcbiAqIEBwYXJhbSB2YXVsdFBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVQYXRoKHZhdWx0UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlKHZhdWx0UGF0aCk7XG4gIHJldHVybiBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInID8gcmVzb2x2ZWQudG9Mb3dlckNhc2UoKSA6IHJlc29sdmVkO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgY29uZmlnIGZpbGUuXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBjb25maWcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3Qgb3IgY2FuJ3QgYmUgcGFyc2VkLlxuICovXG5mdW5jdGlvbiByZWFkT2JzaWRpYW5Kc29uKCk6IE9ic2lkaWFuSnNvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGNvbmZpZ1BhdGggPSBqb2luKGdldE9ic2lkaWFuQ29uZmlnRGlyKCksICdvYnNpZGlhbi5qc29uJyk7XG4gIHRyeSB7XG4gICAgY29uc3QgY29udGVudCA9IHJlYWRGaWxlU3luYyhjb25maWdQYXRoLCAndXRmLTgnKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShjb250ZW50KSBhcyBPYnNpZGlhbkpzb247XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIGdpdmVuIGNvbmZpZyBvYmplY3QgdG8gT2JzaWRpYW4ncyBgb2JzaWRpYW4uanNvbmAgZmlsZS5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZyB0byB3cml0ZS5cbiAqL1xuZnVuY3Rpb24gd3JpdGVPYnNpZGlhbkpzb24oY29uZmlnOiBPYnNpZGlhbkpzb24pOiB2b2lkIHtcbiAgY29uc3QgY29uZmlnUGF0aCA9IGpvaW4oZ2V0T2JzaWRpYW5Db25maWdEaXIoKSwgJ29ic2lkaWFuLmpzb24nKTtcbiAgd3JpdGVGaWxlU3luYyhjb25maWdQYXRoLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEseUJBQTRCO0FBQzVCLHFCQUdPO0FBQ1AscUJBQXdCO0FBQ3hCLHVCQUdPO0FBQ1AsMEJBQW9CO0FBMkNiLFNBQVMsb0JBQTBCO0FBQ3hDLFFBQU0sU0FBUyxpQkFBaUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFO0FBQ2xELFNBQU8sTUFBTTtBQUNiLG9CQUFrQixNQUFNO0FBQzFCO0FBVU8sU0FBUyw0QkFBZ0Q7QUFDOUQsUUFBTSxTQUFTLGlCQUFpQjtBQUNoQyxNQUFJLENBQUMsUUFBUTtBQUNYLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxPQUFPLE1BQU0sRUFBRSxDQUFDO0FBQ2pELFNBQU8sWUFBWTtBQUNyQjtBQVFPLFNBQVMsV0FBVyxXQUF1QztBQUNoRSxRQUFNLFNBQVMsaUJBQWlCO0FBQ2hDLE1BQUksQ0FBQyxRQUFRO0FBQ1gsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLG1CQUFtQixjQUFjLFNBQVM7QUFFaEQsYUFBVyxDQUFDLElBQUksS0FBSyxLQUFLLE9BQU8sUUFBUSxPQUFPLE1BQU0sR0FBRztBQUN2RCxRQUFJLGNBQWMsTUFBTSxJQUFJLE1BQU0sa0JBQWtCO0FBQ2xELGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQU9PLFNBQVMsZUFBd0I7QUFDdEMsUUFBTSxTQUFTLGlCQUFpQjtBQUNoQyxTQUFPLFFBQVEsUUFBUTtBQUN6QjtBQVFPLFNBQVMsa0JBQWtCLFdBQTRCO0FBQzVELFNBQU8sV0FBVyxTQUFTLE1BQU07QUFDbkM7QUFXTyxTQUFTLHNCQUFzQixXQUF5QjtBQUM3RCxRQUFNLFNBQVMsaUJBQWlCLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtBQUNsRCxRQUFNLHVCQUF1QjtBQUM3QixRQUFNLFNBQUssZ0NBQVksb0JBQW9CLEVBQUUsU0FBUyxLQUFLO0FBQzNELFNBQU8sT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsSUFBSSxLQUFLLElBQUksRUFBRTtBQUN0RCxTQUFPLE1BQU07QUFDYixvQkFBa0IsTUFBTTtBQUMxQjtBQVFPLFNBQVMsc0JBQXNCLFdBQTRCO0FBQ2hFLFFBQU0sU0FBUyxpQkFBaUI7QUFDaEMsTUFBSSxDQUFDLFFBQVE7QUFDWCxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sbUJBQW1CLGNBQWMsU0FBUztBQUNoRCxNQUFJLFdBQVc7QUFFZixhQUFXLENBQUMsSUFBSSxLQUFLLEtBQUssT0FBTyxRQUFRLE9BQU8sTUFBTSxHQUFHO0FBQ3ZELFFBQUksY0FBYyxNQUFNLElBQUksTUFBTSxrQkFBa0I7QUFFbEQsYUFBTyxPQUFPLE9BQU8sRUFBRTtBQUN2QixpQkFBVztBQUNYO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxNQUFJLFVBQVU7QUFDWixzQkFBa0IsTUFBTTtBQUFBLEVBQzFCO0FBRUEsU0FBTztBQUNUO0FBT0EsU0FBUyx1QkFBK0I7QUFDdEMsTUFBSSxvQkFBQUEsUUFBUSxhQUFhLFNBQVM7QUFDaEMsVUFBTSxVQUFVLG9CQUFBQSxRQUFRLElBQUksU0FBUztBQUNyQyxRQUFJLFNBQVM7QUFDWCxpQkFBTyx1QkFBSyxTQUFTLFVBQVU7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFFQSxNQUFJLG9CQUFBQSxRQUFRLGFBQWEsVUFBVTtBQUNqQyxlQUFPLDJCQUFLLHdCQUFRLEdBQUcsV0FBVyx1QkFBdUIsVUFBVTtBQUFBLEVBQ3JFO0FBRUEsYUFBTyx1QkFBSyxvQkFBQUEsUUFBUSxJQUFJLGlCQUFpQixTQUFLLDJCQUFLLHdCQUFRLEdBQUcsU0FBUyxHQUFHLFVBQVU7QUFDdEY7QUFTQSxTQUFTLGNBQWMsV0FBMkI7QUFDaEQsUUFBTSxlQUFXLDBCQUFRLFNBQVM7QUFDbEMsU0FBTyxvQkFBQUEsUUFBUSxhQUFhLFVBQVUsU0FBUyxZQUFZLElBQUk7QUFDakU7QUFPQSxTQUFTLG1CQUE2QztBQUNwRCxRQUFNLGlCQUFhLHVCQUFLLHFCQUFxQixHQUFHLGVBQWU7QUFDL0QsTUFBSTtBQUNGLFVBQU0sY0FBVSw2QkFBYSxZQUFZLE9BQU87QUFDaEQsV0FBTyxLQUFLLE1BQU0sT0FBTztBQUFBLEVBQzNCLFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUNGO0FBT0EsU0FBUyxrQkFBa0IsUUFBNEI7QUFDckQsUUFBTSxpQkFBYSx1QkFBSyxxQkFBcUIsR0FBRyxlQUFlO0FBQy9ELG9DQUFjLFlBQVksS0FBSyxVQUFVLE1BQU0sQ0FBQztBQUNsRDsiLAogICJuYW1lcyI6IFsicHJvY2VzcyJdCn0K
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Reads and queries Obsidian's local configuration (`obsidian.json`).
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* Enables the CLI in Obsidian's `obsidian.json` config file.
|
|
8
|
+
*
|
|
9
|
+
* Sets `cli: true` so that Obsidian starts its CLI server on next launch.
|
|
10
|
+
* If the config file doesn't exist, creates it with an empty vaults object.
|
|
11
|
+
*/
|
|
12
|
+
export declare function enableCliInConfig(): void;
|
|
6
13
|
/**
|
|
7
14
|
* Returns the path of any vault that is currently registered in Obsidian's registry.
|
|
8
15
|
*
|
|
@@ -32,3 +39,20 @@ export declare function isCliEnabled(): boolean;
|
|
|
32
39
|
* @returns `true` if the vault is registered, `false` otherwise.
|
|
33
40
|
*/
|
|
34
41
|
export declare function isVaultRegistered(vaultPath: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Registers a vault directly in Obsidian's `obsidian.json` config file.
|
|
44
|
+
*
|
|
45
|
+
* This writes a new vault entry with a random hex ID. Used when no existing
|
|
46
|
+
* vault is available to send IPC commands through — the vault is registered
|
|
47
|
+
* "offline" so Obsidian will open it on next launch.
|
|
48
|
+
*
|
|
49
|
+
* @param vaultPath - The absolute path to the vault folder.
|
|
50
|
+
*/
|
|
51
|
+
export declare function registerVaultInConfig(vaultPath: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Removes a vault entry from Obsidian's `obsidian.json` config file.
|
|
54
|
+
*
|
|
55
|
+
* @param vaultPath - The absolute path to the vault folder.
|
|
56
|
+
* @returns `true` if the vault was found and removed, `false` otherwise.
|
|
57
|
+
*/
|
|
58
|
+
export declare function removeVaultFromConfig(vaultPath: string): boolean;
|