obsidian-dev-utils 51.0.1 → 51.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/lib/cjs/async.cjs +2 -2
- package/dist/lib/cjs/blob.cjs +2 -2
- package/dist/lib/cjs/debug.cjs +7 -8
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/object-utils.cjs +23 -23
- package/dist/lib/cjs/obsidian/app.cjs +4 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -2
- package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +2 -2
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +1 -1
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +3 -1
- package/dist/lib/cjs/obsidian/dataview-link.cjs +1 -1
- package/dist/lib/cjs/obsidian/dataview-link.d.cts +1 -1
- package/dist/lib/cjs/obsidian/file-change.cjs +1 -1
- package/dist/lib/cjs/obsidian/file-system.cjs +2 -2
- package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.cjs +1 -1
- package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.d.cts +12 -6
- package/dist/lib/cjs/obsidian/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +143 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.d.cts +11 -0
- package/dist/lib/cjs/obsidian/link.cjs +37 -37
- package/dist/lib/cjs/obsidian/markdown.cjs +1 -1
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +2 -2
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +1 -1
- package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +4 -5
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +2 -2
- package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +2 -2
- package/dist/lib/cjs/obsidian/resource-url.cjs +3 -2
- package/dist/lib/cjs/obsidian/vault.cjs +2 -2
- package/dist/lib/cjs/reg-exp.cjs +5 -6
- package/dist/lib/cjs/script-utils/build.cjs +5 -5
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/changeExtensionPlugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copyToObsidianPluginsFolderPlugin.cjs +12 -11
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +4 -4
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fixSourceMapsPlugin.cjs +6 -5
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +15 -12
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocessPlugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/renameCssPlugin.cjs +5 -4
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +1 -1
- package/dist/lib/cjs/script-utils/cli-utils.cjs +14 -4
- package/dist/lib/cjs/script-utils/code-generator.cjs +3 -3
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +134 -0
- package/dist/lib/cjs/script-utils/commitlint-config.d.cts +10 -0
- package/dist/lib/cjs/script-utils/exec.cjs +99 -10
- package/dist/lib/cjs/script-utils/exec.d.cts +35 -6
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +8 -6
- package/dist/lib/cjs/script-utils/formatters/dprint.d.cts +15 -2
- package/dist/lib/cjs/script-utils/fs.cjs +8 -11
- package/dist/lib/cjs/script-utils/fs.d.cts +1 -1
- package/dist/lib/cjs/script-utils/index.cjs +7 -4
- package/dist/lib/cjs/script-utils/index.d.cts +2 -1
- package/dist/lib/cjs/script-utils/json.cjs +9 -8
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/cspell.d.cts +14 -1
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +32 -20
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +142 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-params.cjs +174 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-params.d.cts +12 -0
- package/dist/lib/cjs/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +4 -2
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +9 -6
- package/dist/lib/cjs/script-utils/linters/eslint.d.cts +15 -2
- package/dist/lib/cjs/script-utils/linters/index.cjs +4 -1
- package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +13 -10
- package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +15 -2
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +143 -0
- package/dist/lib/cjs/script-utils/nano-staged-config.d.cts +14 -0
- package/dist/lib/cjs/script-utils/npm-publish.cjs +16 -5
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +2 -1
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +2 -0
- package/dist/lib/cjs/script-utils/root.cjs +3 -3
- package/dist/lib/cjs/script-utils/root.d.cts +3 -7
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +6 -3
- package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +12 -1
- package/dist/lib/cjs/script-utils/version.cjs +22 -31
- package/dist/lib/cjs/string.cjs +4 -13
- package/dist/lib/cjs/string.d.cts +2 -2
- package/dist/lib/cjs/type-guards.cjs +8 -1
- package/dist/lib/cjs/type-guards.d.cts +11 -1
- package/dist/lib/esm/async.mjs +6 -3
- package/dist/lib/esm/blob.mjs +2 -2
- package/dist/lib/esm/debug.mjs +5 -6
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/object-utils.mjs +24 -23
- package/dist/lib/esm/obsidian/app.mjs +4 -3
- package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +3 -2
- package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +2 -2
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.d.mts +3 -1
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +1 -1
- package/dist/lib/esm/obsidian/dataview-link.d.mts +1 -1
- package/dist/lib/esm/obsidian/dataview-link.mjs +1 -1
- package/dist/lib/esm/obsidian/file-change.mjs +1 -1
- package/dist/lib/esm/obsidian/file-system.mjs +3 -2
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.d.mts +12 -6
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.mjs +1 -1
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/is-in-obsidian.d.mts +11 -0
- package/dist/lib/esm/obsidian/is-in-obsidian.mjs +39 -0
- package/dist/lib/esm/obsidian/link.mjs +38 -41
- package/dist/lib/esm/obsidian/markdown.mjs +1 -1
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +1 -1
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/path-settings.mjs +4 -5
- package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.mjs +3 -2
- package/dist/lib/esm/obsidian/rename-delete-handler.mjs +6 -3
- package/dist/lib/esm/obsidian/resource-url.mjs +3 -2
- package/dist/lib/esm/obsidian/vault.mjs +3 -2
- package/dist/lib/esm/reg-exp.mjs +5 -6
- package/dist/lib/esm/script-utils/build.mjs +6 -6
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/changeExtensionPlugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copyToObsidianPluginsFolderPlugin.mjs +8 -8
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +5 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fixSourceMapsPlugin.mjs +5 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +10 -11
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocessPlugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/renameCssPlugin.mjs +3 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +1 -1
- package/dist/lib/esm/script-utils/cli-utils.mjs +2 -2
- package/dist/lib/esm/script-utils/code-generator.mjs +2 -2
- package/dist/lib/esm/script-utils/commitlint-config.d.mts +10 -0
- package/dist/lib/esm/script-utils/commitlint-config.mjs +28 -0
- package/dist/lib/esm/script-utils/exec.d.mts +35 -6
- package/dist/lib/esm/script-utils/exec.mjs +84 -8
- package/dist/lib/esm/script-utils/formatters/dprint.d.mts +15 -2
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +6 -4
- package/dist/lib/esm/script-utils/fs.d.mts +1 -1
- package/dist/lib/esm/script-utils/fs.mjs +5 -8
- package/dist/lib/esm/script-utils/index.d.mts +2 -1
- package/dist/lib/esm/script-utils/index.mjs +5 -3
- package/dist/lib/esm/script-utils/json.mjs +7 -5
- package/dist/lib/esm/script-utils/linters/cspell.d.mts +14 -1
- package/dist/lib/esm/script-utils/linters/cspell.mjs +5 -3
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +32 -20
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +26 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-params.d.mts +12 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-params.mjs +68 -0
- package/dist/lib/esm/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +4 -2
- package/dist/lib/esm/script-utils/linters/eslint.d.mts +15 -2
- package/dist/lib/esm/script-utils/linters/eslint.mjs +7 -7
- package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +15 -2
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +13 -11
- package/dist/lib/esm/script-utils/nano-staged-config.d.mts +14 -0
- package/dist/lib/esm/script-utils/nano-staged-config.mjs +37 -0
- package/dist/lib/esm/script-utils/npm-publish.mjs +3 -6
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +2 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -1
- package/dist/lib/esm/script-utils/root.d.mts +3 -7
- package/dist/lib/esm/script-utils/root.mjs +2 -2
- package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +12 -1
- package/dist/lib/esm/script-utils/test-runners/vitest.mjs +6 -3
- package/dist/lib/esm/script-utils/version.mjs +16 -27
- package/dist/lib/esm/string.d.mts +2 -2
- package/dist/lib/esm/string.mjs +7 -13
- package/dist/lib/esm/type-guards.d.mts +11 -1
- package/dist/lib/esm/type-guards.mjs +7 -1
- package/dist/scripts/build/build-clean.ts +4 -0
- package/dist/scripts/build/build-compile-svelte.ts +4 -0
- package/dist/scripts/build/build-compile-typescript.ts +4 -0
- package/dist/scripts/build/build-compile.ts +4 -0
- package/dist/scripts/build/build-static.ts +4 -0
- package/dist/scripts/bundlers/esbuild/build.ts +4 -0
- package/dist/scripts/bundlers/esbuild/dev.ts +4 -0
- package/dist/scripts/formatters/dprint/format-check.ts +8 -0
- package/dist/scripts/formatters/dprint/format.ts +8 -0
- package/dist/scripts/linters/cspell/spellcheck.ts +8 -0
- package/dist/scripts/linters/eslint/lint-fix.ts +8 -0
- package/dist/scripts/linters/eslint/lint.ts +8 -0
- package/dist/scripts/linters/markdownlint/lint-md-fix.ts +8 -0
- package/dist/scripts/linters/markdownlint/lint-md.ts +8 -0
- package/dist/scripts/test-runners/vitest/test-coverage.ts +4 -0
- package/dist/scripts/test-runners/vitest/test-watch.ts +4 -0
- package/dist/scripts/test-runners/vitest/test.ts +4 -0
- package/dist/scripts/version/version.ts +7 -0
- package/obsidian/is-in-obsidian/package.json +6 -0
- package/package.json +30 -4
- package/script-utils/commitlint-config/package.json +6 -0
- package/script-utils/linters/eslint-rules/index/package.json +6 -0
- package/script-utils/linters/eslint-rules/no-used-underscore-params/package.json +6 -0
- package/script-utils/linters/eslint-rules/package.json +6 -0
- package/script-utils/nano-staged-config/package.json +6 -0
- package/dist/lib/cjs/script-utils/linters/eslint-types/@types/@guardian__eslint-plugin-tsdoc-required.d.cts +0 -14
- package/dist/lib/cjs/script-utils/node-modules.cjs +0 -207
- package/dist/lib/cjs/script-utils/node-modules.d.cts +0 -17
- package/dist/lib/esm/script-utils/linters/eslint-types/@types/@guardian__eslint-plugin-tsdoc-required.d.mts +0 -14
- package/dist/lib/esm/script-utils/node-modules.d.mts +0 -17
- package/dist/lib/esm/script-utils/node-modules.mjs +0 -92
- package/dist/scripts/default/build-clean.ts +0 -5
- package/dist/scripts/default/build-compile-svelte.ts +0 -5
- package/dist/scripts/default/build-compile-typescript.ts +0 -5
- package/dist/scripts/default/build-compile.ts +0 -5
- package/dist/scripts/default/build-static.ts +0 -5
- package/dist/scripts/default/build.ts +0 -9
- package/dist/scripts/default/dev.ts +0 -10
- package/dist/scripts/default/format-check.ts +0 -5
- package/dist/scripts/default/format.ts +0 -5
- package/dist/scripts/default/lint-fix.ts +0 -5
- package/dist/scripts/default/lint.ts +0 -5
- package/dist/scripts/default/publish.ts +0 -5
- package/dist/scripts/default/spellcheck.ts +0 -5
- package/dist/scripts/default/version.ts +0 -5
- package/dist/scripts/examples/build.customPlugin.ts +0 -38
- package/dist/scripts/examples/build.svelteConditions.ts +0 -18
- package/dist/scripts/examples/eslint.config.extend.mts +0 -14
- package/dist/scripts/examples/eslint.config.no-dev-utils.mts +0 -15
- package/dist/scripts/examples/format.prettier.ts +0 -25
- package/script-utils/linters/eslint-types/@types/@guardian__eslint-plugin-tsdoc-required/package.json +0 -4
- package/script-utils/node-modules/package.json +0 -6
|
@@ -129,13 +129,14 @@ __export(json_exports, {
|
|
|
129
129
|
writeJsonSync: () => writeJsonSync
|
|
130
130
|
});
|
|
131
131
|
module.exports = __toCommonJS(json_exports);
|
|
132
|
+
var import_node_fs = require('node:fs');
|
|
133
|
+
var import_promises = require('node:fs/promises');
|
|
132
134
|
var import_object_utils = require('../object-utils.cjs');
|
|
133
|
-
var import_node_modules = require('./node-modules.cjs');
|
|
134
135
|
async function editJson(path, editFn, options = {}) {
|
|
135
136
|
const {
|
|
136
137
|
shouldSkipIfMissing
|
|
137
138
|
} = options;
|
|
138
|
-
if (shouldSkipIfMissing && !(0,
|
|
139
|
+
if (shouldSkipIfMissing && !(0, import_node_fs.existsSync)(path)) {
|
|
139
140
|
return;
|
|
140
141
|
}
|
|
141
142
|
const data = await readJson(path);
|
|
@@ -146,7 +147,7 @@ function editJsonSync(path, editFn, options = {}) {
|
|
|
146
147
|
const {
|
|
147
148
|
shouldSkipIfMissing
|
|
148
149
|
} = options;
|
|
149
|
-
if (shouldSkipIfMissing && !(0,
|
|
150
|
+
if (shouldSkipIfMissing && !(0, import_node_fs.existsSync)(path)) {
|
|
150
151
|
return;
|
|
151
152
|
}
|
|
152
153
|
const data = readJsonSync(path);
|
|
@@ -154,17 +155,17 @@ function editJsonSync(path, editFn, options = {}) {
|
|
|
154
155
|
writeJsonSync(path, data);
|
|
155
156
|
}
|
|
156
157
|
async function readJson(path) {
|
|
157
|
-
return JSON.parse(await (0,
|
|
158
|
+
return JSON.parse(await (0, import_promises.readFile)(path, "utf-8"));
|
|
158
159
|
}
|
|
159
160
|
function readJsonSync(path) {
|
|
160
|
-
return JSON.parse((0,
|
|
161
|
+
return JSON.parse((0, import_node_fs.readFileSync)(path, "utf-8"));
|
|
161
162
|
}
|
|
162
163
|
async function writeJson(path, data) {
|
|
163
|
-
await (0,
|
|
164
|
+
await (0, import_promises.writeFile)(path, `${(0, import_object_utils.toJson)(data)}
|
|
164
165
|
`);
|
|
165
166
|
}
|
|
166
167
|
function writeJsonSync(path, data) {
|
|
167
|
-
(0,
|
|
168
|
+
(0, import_node_fs.writeFileSync)(path, `${(0, import_object_utils.toJson)(data)}
|
|
168
169
|
`);
|
|
169
170
|
}
|
|
170
171
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -176,4 +177,4 @@ function writeJsonSync(path, data) {
|
|
|
176
177
|
writeJson,
|
|
177
178
|
writeJsonSync
|
|
178
179
|
});
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9qc29uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBKU09OLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIHJlYWRGaWxlU3luYyxcbiAgd3JpdGVGaWxlU3luY1xufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB7IHRvSnNvbiB9IGZyb20gJy4uL29iamVjdC11dGlscy50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRKc29ufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0SnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogSWYgYHRydWVgLCBza2lwcyBlZGl0aW5nIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2tpcElmTWlzc2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgYSBKU09OIGZpbGUgdXNpbmcgYSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBkYXRhIHRvIGJlIGVkaXRlZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIEpTT04gZGF0YS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGR1bW15IHBhcmFtZXRlciB0byBnZXQgdHlwZSBpbmZlcmVuY2UuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdEpzb248VD4oXG4gIHBhdGg6IHN0cmluZyxcbiAgZWRpdEZuOiAoZGF0YTogVCkgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdEpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgaWYgKHNob3VsZFNraXBJZk1pc3NpbmcgJiYgIWV4aXN0c1N5bmMocGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uPFQ+KHBhdGgpO1xuICBhd2FpdCBlZGl0Rm4oZGF0YSk7XG4gIGF3YWl0IHdyaXRlSnNvbihwYXRoLCBkYXRhKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayBhIEpTT04gZmlsZSB1c2luZyBhIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIGRhdGEgdG8gYmUgZWRpdGVkLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byB0aGUgSlNPTiBmaWxlLlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgSlNPTiBkYXRhLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuZXhwb3J0IGZ1bmN0aW9uIGVkaXRKc29uU3luYzxUPihcbiAgcGF0aDogc3RyaW5nLFxuICBlZGl0Rm46IChkYXRhOiBUKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0SnNvbk9wdGlvbnMgPSB7fVxuKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoc2hvdWxkU2tpcElmTWlzc2luZyAmJiAhZXhpc3RzU3luYyhwYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBkYXRhID0gcmVhZEpzb25TeW5jPFQ+KHBhdGgpO1xuICBlZGl0Rm4oZGF0YSk7XG4gIHdyaXRlSnNvblN5bmMocGF0aCwgZGF0YSk7XG59XG5cbi8qKlxuICogUmVhZHMgYSBKU09OIGZpbGUgYW5kIHBhcnNlcyBpdHMgY29udGVudHMgaW50byBhIEphdmFTY3JpcHQgb2JqZWN0IG9mIHR5cGUgYFRgLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIHRvIHdoaWNoIHRoZSBKU09OIGNvbnRlbnQgd2lsbCBiZSBwYXJzZWQuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBKU09OIG9iamVjdCBvZiB0eXBlIGBUYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uPFQ+KHBhdGg6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShwYXRoLCAndXRmLTgnKSkgYXMgVDtcbn1cblxuLyoqXG4gKiBSZWFkcyBhIEpTT04gZmlsZSBhbmQgcGFyc2VzIGl0cyBjb250ZW50cyBpbnRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgb2YgdHlwZSBgVGAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgdG8gd2hpY2ggdGhlIEpTT04gY29udGVudCB3aWxsIGJlIHBhcnNlZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgSlNPTiBvYmplY3Qgb2YgdHlwZSBgVGAuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRKc29uU3luYzxUPihwYXRoOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKHBhdGgsICd1dGYtOCcpKSBhcyBUO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIEphdmFTY3JpcHQgb2JqZWN0IHRvIGEgSlNPTiBmaWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gd3JpdGUgdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVKc29uKHBhdGg6IHN0cmluZywgZGF0YTogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUZpbGUocGF0aCwgYCR7dG9Kc29uKGRhdGEpfVxcbmApO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIEphdmFTY3JpcHQgb2JqZWN0IHRvIGEgSlNPTiBmaWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gd3JpdGUgdG8gdGhlIEpTT04gZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlSnNvblN5bmMocGF0aDogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gIHdyaXRlRmlsZVN5bmMocGF0aCwgYCR7dG9Kc29uKGRhdGEpfVxcbmApO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEscUJBSU87QUFDUCxzQkFHTztBQUVQLDBCQUF1QjtBQXNCdkIsZUFBc0IsU0FDcEIsTUFDQSxRQUNBLFVBQTJCLENBQUMsR0FDYjtBQUNmLFFBQU07QUFBQSxJQUNKO0FBQUEsRUFDRixJQUFJO0FBQ0osTUFBSSx1QkFBdUIsS0FBQywyQkFBVyxJQUFJLEdBQUc7QUFDNUM7QUFBQSxFQUNGO0FBQ0EsUUFBTSxPQUFPLE1BQU0sU0FBWSxJQUFJO0FBQ25DLFFBQU0sT0FBTyxJQUFJO0FBQ2pCLFFBQU0sVUFBVSxNQUFNLElBQUk7QUFDNUI7QUFXTyxTQUFTLGFBQ2QsTUFDQSxRQUNBLFVBQTJCLENBQUMsR0FDdEI7QUFDTixRQUFNO0FBQUEsSUFDSjtBQUFBLEVBQ0YsSUFBSTtBQUNKLE1BQUksdUJBQXVCLEtBQUMsMkJBQVcsSUFBSSxHQUFHO0FBQzVDO0FBQUEsRUFDRjtBQUNBLFFBQU0sT0FBTyxhQUFnQixJQUFJO0FBQ2pDLFNBQU8sSUFBSTtBQUNYLGdCQUFjLE1BQU0sSUFBSTtBQUMxQjtBQVNBLGVBQXNCLFNBQVksTUFBMEI7QUFDMUQsU0FBTyxLQUFLLE1BQU0sVUFBTSwwQkFBUyxNQUFNLE9BQU8sQ0FBQztBQUNqRDtBQVVPLFNBQVMsYUFBZ0IsTUFBaUI7QUFDL0MsU0FBTyxLQUFLLFVBQU0sNkJBQWEsTUFBTSxPQUFPLENBQUM7QUFDL0M7QUFTQSxlQUFzQixVQUFVLE1BQWMsTUFBOEI7QUFDMUUsWUFBTSwyQkFBVSxNQUFNLE9BQUcsNEJBQU8sSUFBSSxDQUFDO0FBQUEsQ0FBSTtBQUMzQztBQVFPLFNBQVMsY0FBYyxNQUFjLE1BQXFCO0FBQy9ELG9DQUFjLE1BQU0sT0FBRyw0QkFBTyxJQUFJLENBQUM7QUFBQSxDQUFJO0FBQ3pDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -125,11 +125,13 @@ __export(cspell_exports, {
|
|
|
125
125
|
});
|
|
126
126
|
module.exports = __toCommonJS(cspell_exports);
|
|
127
127
|
var import_root = require('../root.cjs');
|
|
128
|
-
async function spellcheck() {
|
|
129
|
-
|
|
128
|
+
async function spellcheck(params) {
|
|
129
|
+
const { paths } = params ?? {};
|
|
130
|
+
const targets = paths?.length ? paths : ["."];
|
|
131
|
+
await (0, import_root.execFromRoot)(["npx", "cspell", "--no-progress", "--no-must-find-files", { batchedArgs: targets }]);
|
|
130
132
|
}
|
|
131
133
|
// Annotate the CommonJS export names for ESM import in node:
|
|
132
134
|
0 && (module.exports = {
|
|
133
135
|
spellcheck
|
|
134
136
|
});
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2NzcGVsbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGZ1bmN0aW9uIGZvciBydW5uaW5nIGEgc3BlbGxjaGVjayBvbiB0aGUgY29kZWJhc2UgdXNpbmcgdGhlIGBjc3BlbGxgIGxpYnJhcnkuXG4gKiBJdCByZXBvcnRzIGFueSBzcGVsbGluZyBpc3N1ZXMgZm91bmQgaW4gdGhlIGNvZGUgYW5kIHJldHVybnMgYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzcGVsbGNoZWNrIHdhcyBzdWNjZXNzZnVsLlxuICovXG5cbmltcG9ydCB7IGV4ZWNGcm9tUm9vdCB9IGZyb20gJy4uL3Jvb3QudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSB7QGxpbmsgc3BlbGxjaGVja30gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BlbGxjaGVja1BhcmFtcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBmaWxlIHBhdGhzIHRvIGNoZWNrLiBJZiBvbWl0dGVkLCBjaGVja3MgdGhlIGVudGlyZSBwcm9qZWN0LlxuICAgKi9cbiAgcGF0aHM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSdW5zIGEgc3BlbGxjaGVjayBvbiB0aGUgZW50aXJlIGNvZGViYXNlIHVzaW5nIGBjc3BlbGxgLlxuICpcbiAqIENoZWNrcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZm9sZGVyIGFuZCBpdHMgc3ViZm9sZGVycyBmb3Igc3BlbGxpbmcgaXNzdWVzLlxuICogSWYgaXNzdWVzIGFyZSBmb3VuZCwgdGhleSBhcmUgbG9nZ2VkIHRvIHRoZSBjb25zb2xlIHdpdGggdGhlaXIgZmlsZSBwYXRoLCBsaW5lLCBhbmQgY29sdW1uIG51bWJlci5cbiAqXG4gKiBVc2VzIGAtLW5vLW11c3QtZmluZC1maWxlc2Agc28gdGhhdCBjc3BlbGwgZG9lcyBub3QgZmFpbCB3aGVuIGFsbCBwcm92aWRlZCBwYXRoc1xuICogYXJlIGV4Y2x1ZGVkIGJ5IGJ1aWx0LWluIGlnbm9yZSBydWxlcyAoZS5nLiwgYHBhY2thZ2UtbG9jay5qc29uYCkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgU3BlbGxjaGVja1BhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9LCBpbmRpY2F0aW5nIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIHNwZWxsY2hlY2suXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzcGVsbGNoZWNrKHBhcmFtcz86IFNwZWxsY2hlY2tQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXRocyB9ID0gcGFyYW1zID8/IHt9O1xuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVGhlIHBhdGhzLXByb3ZpZGVkIGJyYW5jaCBpcyBvbmx5IGV4ZXJjaXNlZCBieSBjb25zdW1lciBwcm9qZWN0cyBwYXNzaW5nIGZpbGUgbGlzdHMuICovXG4gIGNvbnN0IHRhcmdldHMgPSBwYXRocz8ubGVuZ3RoID8gcGF0aHMgOiBbJy4nXTtcbiAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ2NzcGVsbCcsICctLW5vLXByb2dyZXNzJywgJy0tbm8tbXVzdC1maW5kLWZpbGVzJywgeyBiYXRjaGVkQXJnczogdGFyZ2V0cyB9XSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BLGtCQUE2QjtBQXdCN0IsZUFBc0IsV0FBVyxRQUEwQztBQUN6RSxRQUFNLEVBQUUsTUFBTSxJQUFJLFVBQVUsQ0FBQztBQUU3QixRQUFNLFVBQVUsT0FBTyxTQUFTLFFBQVEsQ0FBQyxHQUFHO0FBRTVDLFlBQU0sMEJBQWEsQ0FBQyxPQUFPLFVBQVUsaUJBQWlCLHdCQUF3QixFQUFFLGFBQWEsUUFBUSxDQUFDLENBQUM7QUFDekc7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -4,12 +4,25 @@
|
|
|
4
4
|
* This module provides a function for running a spellcheck on the codebase using the `cspell` library.
|
|
5
5
|
* It reports any spelling issues found in the code and returns a {@link CliTaskResult} indicating whether the spellcheck was successful.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for the {@link spellcheck} function.
|
|
9
|
+
*/
|
|
10
|
+
export interface SpellcheckParams {
|
|
11
|
+
/**
|
|
12
|
+
* Optional file paths to check. If omitted, checks the entire project.
|
|
13
|
+
*/
|
|
14
|
+
paths?: string[] | undefined;
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Runs a spellcheck on the entire codebase using `cspell`.
|
|
9
18
|
*
|
|
10
19
|
* Checks all files in the current folder and its subfolders for spelling issues.
|
|
11
20
|
* If issues are found, they are logged to the console with their file path, line, and column number.
|
|
12
21
|
*
|
|
22
|
+
* Uses `--no-must-find-files` so that cspell does not fail when all provided paths
|
|
23
|
+
* are excluded by built-in ignore rules (e.g., `package-lock.json`).
|
|
24
|
+
*
|
|
25
|
+
* @param params - The {@link SpellcheckParams}.
|
|
13
26
|
* @returns A {@link Promise} that resolves to a {@link CliTaskResult}, indicating the success or failure of the spellcheck.
|
|
14
27
|
*/
|
|
15
|
-
export declare function spellcheck(): Promise<void>;
|
|
28
|
+
export declare function spellcheck(params?: SpellcheckParams): Promise<void>;
|
|
@@ -136,11 +136,11 @@ __export(eslint_config_exports, {
|
|
|
136
136
|
});
|
|
137
137
|
module.exports = __toCommonJS(eslint_config_exports);
|
|
138
138
|
var import_configs = __toESM(__extractDefault(require('@eslint-community/eslint-plugin-eslint-comments/configs')), 1);
|
|
139
|
+
var import_compat = require('@eslint/compat');
|
|
139
140
|
var import_js = __toESM(__extractDefault(require('@eslint/js')), 1);
|
|
140
141
|
var import_eslint_plugin = __toESM(__extractDefault(require('@stylistic/eslint-plugin')), 1);
|
|
141
142
|
var import_eslint_import_resolver_typescript = require('eslint-import-resolver-typescript');
|
|
142
143
|
var import_eslint_plugin_import_x = require('eslint-plugin-import-x');
|
|
143
|
-
var import_eslint_plugin_modules_newlines = __toESM(__extractDefault(require('eslint-plugin-modules-newlines')), 1);
|
|
144
144
|
var import_eslint_plugin_obsidianmd = __toESM(__extractDefault(require('eslint-plugin-obsidianmd')), 1);
|
|
145
145
|
var import_eslint_plugin_perfectionist = require('eslint-plugin-perfectionist');
|
|
146
146
|
var import_config = require('eslint/config');
|
|
@@ -149,6 +149,7 @@ var import_typescript_eslint = __toESM(__extractDefault(require('typescript-esli
|
|
|
149
149
|
var import_obsidian_plugin_repo_paths = require('../../obsidian/plugin/obsidian-plugin-repo-paths.cjs');
|
|
150
150
|
var import_path = require('../../path.cjs');
|
|
151
151
|
var import_root = require('../root.cjs');
|
|
152
|
+
var import_no_used_underscore_params = require('./eslint-rules/no-used-underscore-params.cjs');
|
|
152
153
|
const typeScriptFiles = [
|
|
153
154
|
(0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.Tests, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyPath, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyTs),
|
|
154
155
|
(0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.Mocks, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyPath, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyTs),
|
|
@@ -160,6 +161,7 @@ const typeScriptFiles = [
|
|
|
160
161
|
import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.EslintConfigMts
|
|
161
162
|
];
|
|
162
163
|
const obsidianDevUtilsConfigs = (0, import_config.defineConfig)(
|
|
164
|
+
(0, import_compat.includeIgnoreFile)((0, import_path.join)((0, import_root.getRootFolder)() ?? "", ".gitignore")),
|
|
163
165
|
(0, import_config.globalIgnores)([
|
|
164
166
|
(0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyPath, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyCjs),
|
|
165
167
|
(0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyPath, import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.AnyJs),
|
|
@@ -171,7 +173,6 @@ const obsidianDevUtilsConfigs = (0, import_config.defineConfig)(
|
|
|
171
173
|
...getStylisticConfigs(),
|
|
172
174
|
...getImportXConfigs(),
|
|
173
175
|
...getPerfectionistConfigs(),
|
|
174
|
-
...getModulesNewlinesConfigs(),
|
|
175
176
|
...getEslintImportResolverTypescriptConfigs(),
|
|
176
177
|
...getEslintCommentsConfigs(),
|
|
177
178
|
...getObsidianLintConfigs()
|
|
@@ -303,6 +304,14 @@ function getEslintConfigs() {
|
|
|
303
304
|
{
|
|
304
305
|
message: "Do not use anonymous inline object types in interface/method signatures. Define a named interface instead.",
|
|
305
306
|
selector: "TSMethodSignature TSTypeLiteral"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
message: "Do not use anonymous inline object types as type arguments. Define a named interface instead.",
|
|
310
|
+
selector: "TSTypeParameterInstantiation TSTypeLiteral"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
message: "Do not use anonymous inline object types in type annotations. Define a named interface instead.",
|
|
314
|
+
selector: "TSTypeAnnotation TSTypeLiteral"
|
|
306
315
|
}
|
|
307
316
|
],
|
|
308
317
|
"no-return-assign": "error",
|
|
@@ -347,6 +356,12 @@ function getEslintConfigs() {
|
|
|
347
356
|
"vars-on-top": "error",
|
|
348
357
|
"yoda": "error"
|
|
349
358
|
}
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
files: ["src/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.ts"],
|
|
362
|
+
rules: {
|
|
363
|
+
"no-restricted-syntax": "off"
|
|
364
|
+
}
|
|
350
365
|
}
|
|
351
366
|
]);
|
|
352
367
|
}
|
|
@@ -408,33 +423,19 @@ function getImportXConfigs() {
|
|
|
408
423
|
]
|
|
409
424
|
}
|
|
410
425
|
],
|
|
411
|
-
"import-x/no-unused-modules": "
|
|
426
|
+
"import-x/no-unused-modules": "off",
|
|
412
427
|
"import-x/no-useless-path-segments": "error",
|
|
413
428
|
"import-x/no-webpack-loader-syntax": "error"
|
|
414
429
|
}
|
|
415
430
|
},
|
|
416
431
|
{
|
|
417
|
-
files: ["scripts/**/*.ts"],
|
|
432
|
+
files: ["scripts/**/*.ts", "src/script-utils/**/*.ts"],
|
|
418
433
|
rules: {
|
|
419
434
|
"import-x/no-nodejs-modules": "off"
|
|
420
435
|
}
|
|
421
436
|
}
|
|
422
437
|
]);
|
|
423
438
|
}
|
|
424
|
-
function getModulesNewlinesConfigs() {
|
|
425
|
-
return (0, import_config.defineConfig)([
|
|
426
|
-
{
|
|
427
|
-
files: typeScriptFiles,
|
|
428
|
-
plugins: {
|
|
429
|
-
"modules-newlines": import_eslint_plugin_modules_newlines.default
|
|
430
|
-
},
|
|
431
|
-
rules: {
|
|
432
|
-
"modules-newlines/export-declaration-newline": "error",
|
|
433
|
-
"modules-newlines/import-declaration-newline": "error"
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
]);
|
|
437
|
-
}
|
|
438
439
|
function getObsidianLintConfigs() {
|
|
439
440
|
const obsidianRecommendedConfigs = Array.from(import_eslint_plugin_obsidianmd.default.configs?.["recommended"]);
|
|
440
441
|
const scopedObsidianRecommendedConfigs = obsidianRecommendedConfigs.map((config) => {
|
|
@@ -579,7 +580,18 @@ function getTseslintConfigs() {
|
|
|
579
580
|
varsIgnorePattern: "^_"
|
|
580
581
|
}
|
|
581
582
|
],
|
|
582
|
-
"@typescript-eslint/prefer-readonly": "error"
|
|
583
|
+
"@typescript-eslint/prefer-readonly": "error",
|
|
584
|
+
"obsidian-dev-utils/no-used-underscore-params": "error"
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
files: typeScriptFiles,
|
|
589
|
+
plugins: {
|
|
590
|
+
"obsidian-dev-utils": {
|
|
591
|
+
rules: {
|
|
592
|
+
"no-used-underscore-params": import_no_used_underscore_params.noUsedUnderscoreParams
|
|
593
|
+
}
|
|
594
|
+
}
|
|
583
595
|
}
|
|
584
596
|
},
|
|
585
597
|
{
|
|
@@ -596,4 +608,4 @@ function getTseslintConfigs() {
|
|
|
596
608
|
obsidianDevUtilsConfigs,
|
|
597
609
|
typeScriptFiles
|
|
598
610
|
});
|
|
599
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogRVNMaW50IGNvbmZpZ3VyYXRpb24gZm9yIFR5cGVTY3JpcHQgcHJvamVjdHMgd2l0aCB2YXJpb3VzIHBsdWdpbnMuXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBFU0xpbnQgY29uZmlndXJhdGlvbnMgZm9yIFR5cGVTY3JpcHQgcHJvamVjdHMsIGludGVncmF0aW5nIG11bHRpcGxlIEVTTGludCBwbHVnaW5zXG4gKiBzdWNoIGFzIGBAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyYCwgYEB0eXBlc2NyaXB0LWVzbGludC9lc2xpbnQtcGx1Z2luYCxcbiAqIGBlc2xpbnQtcGx1Z2luLW1vZHVsZXMtbmV3bGluZXNgLCBgQHN0eWxpc3RpYy9lc2xpbnQtcGx1Z2luYC5cbiAqIEl0IHNldHMgdXAgcGFyc2VycywgcGx1Z2lucywgYW5kIHJ1bGVzIGZvciBtYWludGFpbmluZyBjb2RlIHF1YWxpdHkgYW5kIGNvbnNpc3RlbmN5LlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWNsYXJhdGl2ZSBFU0xpbnQgcnVsZS9wbHVnaW4gY29uZmlndXJhdGlvbjsgY29ycmVjdG5lc3MgaXMgdmVyaWZpZWQgYnkgcnVubmluZyBFU0xpbnQsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1tYWdpYy1udW1iZXJzIC0tIFdlIGRpc2FibGVkIG1hZ2ljIG51bWJlcnMgYmVjYXVzZSB0aGV5IGFyZSB1c2VkIGFsbCBvdmVyIHRoZSBjb25maWdzLiAqL1xuaW1wb3J0IHR5cGUge1xuICBFU0xpbnQsXG4gIExpbnRlclxufSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgY29tbWVudHNDb25maWdzIGZyb20gJ0Blc2xpbnQtY29tbXVuaXR5L2VzbGludC1wbHVnaW4tZXNsaW50LWNvbW1lbnRzL2NvbmZpZ3MnO1xuaW1wb3J0IGVzbGludCBmcm9tICdAZXNsaW50L2pzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1yZW5hbWUtZGVmYXVsdCAtLSBUaGUgZGVmYXVsdCBleHBvcnQgbmFtZSBgcGx1Z2luYCBpcyB0b28gY29uZnVzaW5nLlxuaW1wb3J0IHN0eWxpc3RpYyBmcm9tICdAc3R5bGlzdGljL2VzbGludC1wbHVnaW4nO1xuaW1wb3J0IHsgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyIH0gZnJvbSAnZXNsaW50LWltcG9ydC1yZXNvbHZlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGZsYXRDb25maWdzIGFzIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4taW1wb3J0LXgnO1xuaW1wb3J0IGVzbGludFBsdWdpbk1vZHVsZXNOZXdsaW5lcyBmcm9tICdlc2xpbnQtcGx1Z2luLW1vZHVsZXMtbmV3bGluZXMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBwbHVnaW5gIGlzIHRvbyBjb25mdXNpbmcuXG5pbXBvcnQgb2JzaWRpYW5tZCBmcm9tICdlc2xpbnQtcGx1Z2luLW9ic2lkaWFubWQnO1xuaW1wb3J0IHsgY29uZmlncyBhcyBwZXJmZWN0aW9uaXN0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4tcGVyZmVjdGlvbmlzdCc7XG5pbXBvcnQge1xuICBkZWZpbmVDb25maWcsXG4gIGdsb2JhbElnbm9yZXNcbn0gZnJvbSAnZXNsaW50L2NvbmZpZyc7XG5pbXBvcnQgZ2xvYmFscyBmcm9tICdnbG9iYWxzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1yZW5hbWUtZGVmYXVsdCAtLSBUaGUgZGVmYXVsdCBleHBvcnQgbmFtZSBgX2RlZmF1bHRgIGlzIHRvbyBjb25mdXNpbmcuXG5pbXBvcnQgdHNlc2xpbnQgZnJvbSAndHlwZXNjcmlwdC1lc2xpbnQnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnLi4vcm9vdC50cyc7XG5cbi8qKlxuICogVGhlIGxpc3Qgb2YgVHlwZVNjcmlwdCBmaWxlcyB0byBsaW50LlxuICovXG5leHBvcnQgY29uc3QgdHlwZVNjcmlwdEZpbGVzID0gW1xuICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlRlc3RzLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUcyksXG4gIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTW9ja3MsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzeCksXG4gIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU2NyaXB0cywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHMpLFxuICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYXJrZG93bmxpbnRDbGkyQ29uZmlnTXRzLFxuICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Db21taXRsaW50Q29uZmlnVHMsXG4gIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkVzbGludENvbmZpZ010c1xuXTtcblxuLyoqXG4gKiBFU0xpbnQgY29uZmlndXJhdGlvbnMgZm9yIFR5cGVTY3JpcHQgcHJvamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBvYnNpZGlhbkRldlV0aWxzQ29uZmlnczogTGludGVyLkNvbmZpZ1tdID0gZGVmaW5lQ29uZmlnKFxuICBnbG9iYWxJZ25vcmVzKFtcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueUNqcyksXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlKcyksXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlNanMpLFxuICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aClcbiAgXSksXG4gIC4uLmdldEVzbGludENvbmZpZ3MoKSxcbiAgLi4uZ2V0VHNlc2xpbnRDb25maWdzKCksXG4gIC4uLmdldFN0eWxpc3RpY0NvbmZpZ3MoKSxcbiAgLi4uZ2V0SW1wb3J0WENvbmZpZ3MoKSxcbiAgLi4uZ2V0UGVyZmVjdGlvbmlzdENvbmZpZ3MoKSxcbiAgLi4uZ2V0TW9kdWxlc05ld2xpbmVzQ29uZmlncygpLFxuICAuLi5nZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCksXG4gIC4uLmdldEVzbGludENvbW1lbnRzQ29uZmlncygpLFxuICAuLi5nZXRPYnNpZGlhbkxpbnRDb25maWdzKClcbik7XG5cbmZ1bmN0aW9uIGdldEVzbGludENvbW1lbnRzQ29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHJlY29tbWVuZGVkYCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgZXh0ZW5kczogW2NvbW1lbnRzQ29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgICBmaWxlczogdHlwZVNjcmlwdEZpbGVzLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0Blc2xpbnQtY29tbXVuaXR5L2VzbGludC1jb21tZW50cy9yZXF1aXJlLWRlc2NyaXB0aW9uJzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldEVzbGludENvbmZpZ3MoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW2VzbGludC5jb25maWdzLnJlY29tbWVuZGVkXSxcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnYWNjZXNzb3ItcGFpcnMnOiAnZXJyb3InLFxuICAgICAgICAnYXJyYXktY2FsbGJhY2stcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ2NhbWVsY2FzZSc6ICdlcnJvcicsXG4gICAgICAgICdjYXBpdGFsaXplZC1jb21tZW50cyc6IFsnZXJyb3InLCAnYWx3YXlzJywgeyBibG9jazogeyBpZ25vcmVQYXR0ZXJuOiAndjgnIH0gfV0sXG4gICAgICAgICdjb21wbGV4aXR5JzogJ2Vycm9yJyxcbiAgICAgICAgJ2NvbnNpc3RlbnQtdGhpcyc6ICdlcnJvcicsXG4gICAgICAgICdjdXJseSc6ICdlcnJvcicsXG4gICAgICAgICdkZWZhdWx0LWNhc2UnOiAnZXJyb3InLFxuICAgICAgICAnZGVmYXVsdC1jYXNlLWxhc3QnOiAnZXJyb3InLFxuICAgICAgICAnZGVmYXVsdC1wYXJhbS1sYXN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2VxZXFlcSc6ICdlcnJvcicsXG4gICAgICAgICdmdW5jLW5hbWUtbWF0Y2hpbmcnOiAnZXJyb3InLFxuICAgICAgICAnZnVuYy1uYW1lcyc6ICdlcnJvcicsXG4gICAgICAgICdmdW5jLXN0eWxlJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgJ2RlY2xhcmF0aW9uJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvd0Fycm93RnVuY3Rpb25zOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ2dyb3VwZWQtYWNjZXNzb3ItcGFpcnMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnZ2V0QmVmb3JlU2V0J1xuICAgICAgICBdLFxuICAgICAgICAnZ3VhcmQtZm9yLWluJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWFsZXJ0JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWFycmF5LWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWJpdHdpc2UnOiAnZXJyb3InLFxuICAgICAgICAnbm8tY2FsbGVyJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWNvbnNvbGUnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICAnd2FybicsXG4gICAgICAgICAgICAgICdlcnJvcidcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICduby1jb25zdHJ1Y3Rvci1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnbm8tZGl2LXJlZ2V4JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWVsc2UtcmV0dXJuJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3dFbHNlSWY6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnbm8tZW1wdHktZnVuY3Rpb24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tZXh0ZW5kLW5hdGl2ZSc6ICdlcnJvcicsXG4gICAgICAgICduby1leHRyYS1iaW5kJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWV4dHJhLWxhYmVsJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWltcGxpY2l0LWNvZXJjaW9uJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3c6IFtcbiAgICAgICAgICAgICAgJyEhJ1xuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLWltcGxpZWQtZXZhbCc6ICdlcnJvcicsXG4gICAgICAgICduby1pbm5lci1kZWNsYXJhdGlvbnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8taXRlcmF0b3InOiAnZXJyb3InLFxuICAgICAgICAnbm8tbGFiZWwtdmFyJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxhYmVscyc6ICdlcnJvcicsXG4gICAgICAgICduby1sb25lLWJsb2Nrcyc6ICdlcnJvcicsXG4gICAgICAgICduby1sb25lbHktaWYnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbG9vcC1mdW5jJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW1hZ2ljLW51bWJlcnMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZXRlY3RPYmplY3RzOiB0cnVlLFxuICAgICAgICAgICAgZW5mb3JjZUNvbnN0OiB0cnVlLFxuICAgICAgICAgICAgaWdub3JlOiBbXG4gICAgICAgICAgICAgIC0xLFxuICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnbm8tbXVsdGktYXNzaWduJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW11bHRpLXN0cic6ICdlcnJvcicsXG4gICAgICAgICduby1uZWdhdGVkLWNvbmRpdGlvbic6ICdlcnJvcicsXG4gICAgICAgICduby1uZXN0ZWQtdGVybmFyeSc6ICdlcnJvcicsXG4gICAgICAgICduby1uZXctZnVuYyc6ICdlcnJvcicsXG4gICAgICAgICduby1uZXctd3JhcHBlcnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tb2JqZWN0LWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW9jdGFsLWVzY2FwZSc6ICdlcnJvcicsXG4gICAgICAgICduby1wcm9taXNlLWV4ZWN1dG9yLXJldHVybic6ICdlcnJvcicsXG4gICAgICAgICduby1wcm90byc6ICdlcnJvcicsXG4gICAgICAgICduby1yZXN0cmljdGVkLXN5bnRheCc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGRlZmluaXRlIGFzc2lnbm1lbnQgYXNzZXJ0aW9ucyAoISkuIEluaXRpYWxpemUgdGhlIGZpZWxkIG9yIG1ha2UgaXQgb3B0aW9uYWwuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnUHJvcGVydHlEZWZpbml0aW9uW2RlZmluaXRlPXRydWVdJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgZGVmaW5pdGUgYXNzaWdubWVudCBhc3NlcnRpb25zICghKSBvbiBhYnN0cmFjdCBmaWVsZHMuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvbltkZWZpbml0ZT10cnVlXSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGluIGZ1bmN0aW9uIHBhcmFtZXRlcnMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJzpmdW5jdGlvbiA+IElkZW50aWZpZXIgVFNUeXBlTGl0ZXJhbCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGluIGZ1bmN0aW9uIHJldHVybiB0eXBlcy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnOmZ1bmN0aW9uID4gVFNUeXBlQW5ub3RhdGlvbiBUU1R5cGVMaXRlcmFsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYW5vbnltb3VzIGlubGluZSBvYmplY3QgdHlwZXMgaW4gaW50ZXJmYWNlL21ldGhvZCBzaWduYXR1cmVzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU01ldGhvZFNpZ25hdHVyZSBUU1R5cGVMaXRlcmFsJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLXJldHVybi1hc3NpZ24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2NyaXB0LXVybCc6ICdlcnJvcicsXG4gICAgICAgICduby1zZWxmLWNvbXBhcmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2VxdWVuY2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXNoYWRvdyc6ICdlcnJvcicsXG4gICAgICAgICduby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdGhyb3ctbGl0ZXJhbCc6ICdlcnJvcicsXG4gICAgICAgICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tdW5yZWFjaGFibGUtbG9vcCc6ICdlcnJvcicsXG4gICAgICAgICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdXNlbGVzcy1hc3NpZ25tZW50JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbmNhdCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby12b2lkJzogJ2Vycm9yJyxcbiAgICAgICAgJ29iamVjdC1zaG9ydGhhbmQnOiAnZXJyb3InLFxuICAgICAgICAnb3BlcmF0b3ItYXNzaWdubWVudCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItYXJyb3ctY2FsbGJhY2snOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLWNvbnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvcic6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbmFtZWQtY2FwdHVyZS1ncm91cCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbnVtZXJpYy1saXRlcmFscyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItb2JqZWN0LWhhcy1vd24nOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLW9iamVjdC1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXJlc3QtcGFyYW1zJzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXRlbXBsYXRlJzogJ2Vycm9yJyxcbiAgICAgICAgJ3JhZGl4JzogJ2Vycm9yJyxcbiAgICAgICAgJ3JlcXVpcmUtYXRvbWljLXVwZGF0ZXMnOiAnZXJyb3InLFxuICAgICAgICAncmVxdWlyZS1hd2FpdCc6ICdlcnJvcicsXG4gICAgICAgICdzeW1ib2wtZGVzY3JpcHRpb24nOiAnZXJyb3InLFxuICAgICAgICAndW5pY29kZS1ib20nOiAnZXJyb3InLFxuICAgICAgICAndmFycy1vbi10b3AnOiAnZXJyb3InLFxuICAgICAgICAneW9kYSc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICdpbXBvcnQteC9yZXNvbHZlci1uZXh0JzogW1xuICAgICAgICAgIGNyZWF0ZVR5cGVTY3JpcHRJbXBvcnRSZXNvbHZlcih7XG4gICAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRYQ29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICBleHRlbmRzOiBbXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy5yZWNvbW1lbmRlZCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MudHlwZXNjcmlwdCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MuZXJyb3JzIGFzIExpbnRlci5Db25maWcsXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy53YXJuaW5ncyBhcyBMaW50ZXIuQ29uZmlnXG4gICAgICBdLFxuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdpbXBvcnQteC9jb25zaXN0ZW50LXR5cGUtc3BlY2lmaWVyLXN0eWxlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L2V4dGVuc2lvbnMnOiBbJ2Vycm9yJywgJ2lnbm9yZVBhY2thZ2VzJ10sXG4gICAgICAgICdpbXBvcnQteC9maXJzdCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9pbXBvcnRzLWZpcnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25ld2xpbmUtYWZ0ZXItaW1wb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWFic29sdXRlLXBhdGgnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYW1kJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWFub255bW91cy1kZWZhdWx0LWV4cG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1jb21tb25qcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1jeWNsZSc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1kZXByZWNhdGVkJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWR1cGxpY2F0ZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZHluYW1pYy1yZXF1aXJlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWVtcHR5LW5hbWVkLWJsb2Nrcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1pbXBvcnQtbW9kdWxlLWV4cG9ydHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbXV0YWJsZS1leHBvcnRzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLW5hbWVkLWRlZmF1bHQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbmFtZXNwYWNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLXJlbGF0aXZlLXBhY2thZ2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLXJlc3RyaWN0ZWQtcGF0aHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tc2VsZi1pbXBvcnQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tdW5hc3NpZ25lZC1pbXBvcnQnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICAnKiovKi5jc3MnLFxuICAgICAgICAgICAgICAnKiovKi5zYXNzJyxcbiAgICAgICAgICAgICAgJyoqLyouc2NzcydcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdpbXBvcnQteC9uby11bnVzZWQtbW9kdWxlcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8td2VicGFjay1sb2FkZXItc3ludGF4JzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFsnc2NyaXB0cy8qKi8qLnRzJ10sXG4gICAgICBydWxlczoge1xuICAgICAgICAnaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMnOiAnb2ZmJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldE1vZHVsZXNOZXdsaW5lc0NvbmZpZ3MoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgJ21vZHVsZXMtbmV3bGluZXMnOiBlc2xpbnRQbHVnaW5Nb2R1bGVzTmV3bGluZXNcbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICAnbW9kdWxlcy1uZXdsaW5lcy9leHBvcnQtZGVjbGFyYXRpb24tbmV3bGluZSc6ICdlcnJvcicsXG4gICAgICAgICdtb2R1bGVzLW5ld2xpbmVzL2ltcG9ydC1kZWNsYXJhdGlvbi1uZXdsaW5lJzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldE9ic2lkaWFuTGludENvbmZpZ3MoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgY29uc3Qgb2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MgPSBBcnJheS5mcm9tKG9ic2lkaWFubWQuY29uZmlncz8uWydyZWNvbW1lbmRlZCddIGFzIEl0ZXJhYmxlPExpbnRlci5Db25maWc+KTtcblxuICBjb25zdCBzY29wZWRPYnNpZGlhblJlY29tbWVuZGVkQ29uZmlncyA9IG9ic2lkaWFuUmVjb21tZW5kZWRDb25maWdzLm1hcCgoY29uZmlnKSA9PiB7XG4gICAgaWYgKGNvbmZpZy5maWxlcz8uaW5jbHVkZXMoJ3BhY2thZ2UuanNvbicpKSB7XG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBmaWxlczogdHlwZVNjcmlwdEZpbGVzXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAgLi4uc2NvcGVkT2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MsXG4gICAge1xuICAgICAgcGx1Z2luczoge1xuICAgICAgICBvYnNpZGlhbm1kOiBvYnNpZGlhbm1kIGFzIEVTTGludC5QbHVnaW5cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgICBnbG9iYWxzOiB7XG4gICAgICAgICAgLi4uZ2xvYmFscy5icm93c2VyLFxuICAgICAgICAgIC4uLmdsb2JhbHMubm9kZSxcbiAgICAgICAgICBhY3RpdmVEb2N1bWVudDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBhY3RpdmVXaW5kb3c6ICdyZWFkb25seScsXG4gICAgICAgICAgYWpheDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBhamF4UHJvbWlzZTogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVEaXY6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlRWw6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlRnJhZ21lbnQ6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlU3BhbjogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVTdmc6ICdyZWFkb25seScsXG4gICAgICAgICAgRG9tRWxlbWVudEluZm86ICdyZWFkb25seScsXG4gICAgICAgICAgZmlzaDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBmaXNoQWxsOiAncmVhZG9ubHknLFxuICAgICAgICAgIGlzQm9vbGVhbjogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBuZXh0RnJhbWU6ICdyZWFkb25seScsXG4gICAgICAgICAgTm9kZUpTOiAncmVhZG9ubHknLFxuICAgICAgICAgIHJlYWR5OiAncmVhZG9ubHknLFxuICAgICAgICAgIHNsZWVwOiAncmVhZG9ubHknXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRQZXJmZWN0aW9uaXN0Q29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFt7XG4gICAgZXh0ZW5kczogW3BlcmZlY3Rpb25pc3RDb25maWdzWydyZWNvbW1lbmRlZC1hbHBoYWJldGljYWwnXV0sXG4gICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlc1xuICB9XSk7XG59XG5cbmZ1bmN0aW9uIGdldFN0eWxpc3RpY0NvbmZpZ3MoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICBzdHlsaXN0aWMuY29uZmlncy5yZWNvbW1lbmRlZCxcbiAgICAgICAgc3R5bGlzdGljLmNvbmZpZ3MuY3VzdG9taXplKHtcbiAgICAgICAgICBhcnJvd1BhcmVuczogdHJ1ZSxcbiAgICAgICAgICBicmFjZVN0eWxlOiAnMXRicycsXG4gICAgICAgICAgY29tbWFEYW5nbGU6ICduZXZlcicsXG4gICAgICAgICAgc2VtaTogdHJ1ZVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnQHN0eWxpc3RpYy9pbmRlbnQnOiAnb2ZmJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvaW5kZW50LWJpbmFyeS1vcHMnOiAnb2ZmJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvanN4LW9uZS1leHByZXNzaW9uLXBlci1saW5lJzogJ29mZicsXG4gICAgICAgICdAc3R5bGlzdGljL25vLWV4dHJhLXNlbWknOiAnZXJyb3InLFxuICAgICAgICAnQHN0eWxpc3RpYy9vYmplY3QtY3VybHktbmV3bGluZSc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIEV4cG9ydERlY2xhcmF0aW9uOiB7XG4gICAgICAgICAgICAgIG1pblByb3BlcnRpZXM6IDIsXG4gICAgICAgICAgICAgIG11bHRpbGluZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEltcG9ydERlY2xhcmF0aW9uOiB7XG4gICAgICAgICAgICAgIG1pblByb3BlcnRpZXM6IDIsXG4gICAgICAgICAgICAgIG11bHRpbGluZTogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ0BzdHlsaXN0aWMvb3BlcmF0b3ItbGluZWJyZWFrJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgJ2JlZm9yZScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgICAgICAgICc9JzogJ2FmdGVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ0BzdHlsaXN0aWMvcXVvdGVzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgJ3NpbmdsZScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3dUZW1wbGF0ZUxpdGVyYWxzOiAnbmV2ZXInXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHNlc2xpbnRDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIGV4dGVuZHM6IFtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyIC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbiAgICAgICAgLi4udHNlc2xpbnQuY29uZmlncy5zdHJpY3RUeXBlQ2hlY2tlZCxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyIC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbiAgICAgICAgLi4udHNlc2xpbnQuY29uZmlncy5zdHlsaXN0aWNUeXBlQ2hlY2tlZFxuICAgICAgXSxcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXMsXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAgICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgICAgIGVjbWFGZWF0dXJlczoge1xuICAgICAgICAgICAganN4OiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9qZWN0U2VydmljZTogdHJ1ZSxcbiAgICAgICAgICB0c2NvbmZpZ1Jvb3REaXI6IGdldFJvb3RGb2xkZXIoKSA/PyAnJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSc6ICdlcnJvcicsXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHknOiAnZXJyb3InLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlJzogWydlcnJvcicsIHtcbiAgICAgICAgICBhbGxvd0FzVGhpc1BhcmFtZXRlcjogdHJ1ZVxuICAgICAgICB9XSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzJzogWydlcnJvcicsIHtcbiAgICAgICAgICBhbGxvd2VkTmFtZXM6IFtcbiAgICAgICAgICAgICd0aGF0J1xuICAgICAgICAgIF1cbiAgICAgICAgfV0sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhcmdzOiAnYWxsJyxcbiAgICAgICAgICAgIGFyZ3NJZ25vcmVQYXR0ZXJuOiAnXl8nLFxuICAgICAgICAgICAgY2F1Z2h0RXJyb3JzOiAnYWxsJyxcbiAgICAgICAgICAgIGNhdWdodEVycm9yc0lnbm9yZVBhdHRlcm46ICdeXycsXG4gICAgICAgICAgICBkZXN0cnVjdHVyZWRBcnJheUlnbm9yZVBhdHRlcm46ICdeXycsXG4gICAgICAgICAgICBpZ25vcmVSZXN0U2libGluZ3M6IHRydWUsXG4gICAgICAgICAgICB2YXJzSWdub3JlUGF0dGVybjogJ15fJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHknOiAnZXJyb3InXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICByZWFjdDoge1xuICAgICAgICAgIHZlcnNpb246ICdkZXRlY3QnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG4vKiBlc2xpbnQtZW5hYmxlIG5vLW1hZ2ljLW51bWJlcnMgLS0gV2UgZGlzYWJsZWQgbWFnaWMgbnVtYmVycyBiZWNhdXNlIHRoZXkgYXJlIHVzZWQgYWxsIG92ZXIgdGhlIGNvbmZpZ3MuICovXG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSxxQkFBNEI7QUFDNUIsZ0JBQW1CO0FBRW5CLDJCQUFzQjtBQUN0QiwrQ0FBK0M7QUFDL0Msb0NBQThEO0FBQzlELDRDQUF3QztBQUV4QyxzQ0FBdUI7QUFDdkIseUNBQWdEO0FBQ2hELG9CQUdPO0FBQ1AscUJBQW9CO0FBRXBCLCtCQUFxQjtBQUVyQix3Q0FBd0M7QUFDeEMs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
|
|
611
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogRVNMaW50IGNvbmZpZ3VyYXRpb24gZm9yIFR5cGVTY3JpcHQgcHJvamVjdHMgd2l0aCB2YXJpb3VzIHBsdWdpbnMuXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBFU0xpbnQgY29uZmlndXJhdGlvbnMgZm9yIFR5cGVTY3JpcHQgcHJvamVjdHMsIGludGVncmF0aW5nIG11bHRpcGxlIEVTTGludCBwbHVnaW5zXG4gKiBzdWNoIGFzIGBAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyYCwgYEB0eXBlc2NyaXB0LWVzbGludC9lc2xpbnQtcGx1Z2luYCxcbiAqIGBlc2xpbnQtcGx1Z2luLW1vZHVsZXMtbmV3bGluZXNgLCBgQHN0eWxpc3RpYy9lc2xpbnQtcGx1Z2luYC5cbiAqIEl0IHNldHMgdXAgcGFyc2VycywgcGx1Z2lucywgYW5kIHJ1bGVzIGZvciBtYWludGFpbmluZyBjb2RlIHF1YWxpdHkgYW5kIGNvbnNpc3RlbmN5LlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWNsYXJhdGl2ZSBFU0xpbnQgcnVsZS9wbHVnaW4gY29uZmlndXJhdGlvbjsgY29ycmVjdG5lc3MgaXMgdmVyaWZpZWQgYnkgcnVubmluZyBFU0xpbnQsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEVTTGludCxcbiAgTGludGVyXG59IGZyb20gJ2VzbGludCc7XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLW1hZ2ljLW51bWJlcnMgLS0gV2UgZGlzYWJsZWQgbWFnaWMgbnVtYmVycyBiZWNhdXNlIHRoZXkgYXJlIHVzZWQgYWxsIG92ZXIgdGhlIGNvbmZpZ3MuICovXG5pbXBvcnQgY29tbWVudHNDb25maWdzIGZyb20gJ0Blc2xpbnQtY29tbXVuaXR5L2VzbGludC1wbHVnaW4tZXNsaW50LWNvbW1lbnRzL2NvbmZpZ3MnO1xuaW1wb3J0IHsgaW5jbHVkZUlnbm9yZUZpbGUgfSBmcm9tICdAZXNsaW50L2NvbXBhdCc7XG5pbXBvcnQgZXNsaW50IGZyb20gJ0Blc2xpbnQvanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBwbHVnaW5gIGlzIHRvbyBjb25mdXNpbmcuXG5pbXBvcnQgc3R5bGlzdGljIGZyb20gJ0BzdHlsaXN0aWMvZXNsaW50LXBsdWdpbic7XG5pbXBvcnQgeyBjcmVhdGVUeXBlU2NyaXB0SW1wb3J0UmVzb2x2ZXIgfSBmcm9tICdlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgZmxhdENvbmZpZ3MgYXMgZXNsaW50UGx1Z2luSW1wb3J0WEZsYXRDb25maWdzIH0gZnJvbSAnZXNsaW50LXBsdWdpbi1pbXBvcnQteCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHBsdWdpbmAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCBvYnNpZGlhbm1kIGZyb20gJ2VzbGludC1wbHVnaW4tb2JzaWRpYW5tZCc7XG5pbXBvcnQgeyBjb25maWdzIGFzIHBlcmZlY3Rpb25pc3RDb25maWdzIH0gZnJvbSAnZXNsaW50LXBsdWdpbi1wZXJmZWN0aW9uaXN0JztcbmltcG9ydCB7XG4gIGRlZmluZUNvbmZpZyxcbiAgZ2xvYmFsSWdub3Jlc1xufSBmcm9tICdlc2xpbnQvY29uZmlnJztcbmltcG9ydCBnbG9iYWxzIGZyb20gJ2dsb2JhbHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCB0c2VzbGludCBmcm9tICd0eXBlc2NyaXB0LWVzbGludCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi8uLi9wYXRoLnRzJztcbmltcG9ydCB7IGdldFJvb3RGb2xkZXIgfSBmcm9tICcuLi9yb290LnRzJztcbmltcG9ydCB7IG5vVXNlZFVuZGVyc2NvcmVQYXJhbXMgfSBmcm9tICcuL2VzbGludC1ydWxlcy9uby11c2VkLXVuZGVyc2NvcmUtcGFyYW1zLnRzJztcblxuLyoqXG4gKiBUaGUgbGlzdCBvZiBUeXBlU2NyaXB0IGZpbGVzIHRvIGxpbnQuXG4gKi9cbmV4cG9ydCBjb25zdCB0eXBlU2NyaXB0RmlsZXMgPSBbXG4gIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuVGVzdHMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Nb2NrcywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHMpLFxuICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHMpLFxuICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHN4KSxcbiAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TY3JpcHRzLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUcyksXG4gIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hcmtkb3dubGludENsaTJDb25maWdNdHMsXG4gIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNvbW1pdGxpbnRDb25maWdUcyxcbiAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnTXRzXG5dO1xuXG4vKipcbiAqIEVTTGludCBjb25maWd1cmF0aW9ucyBmb3IgVHlwZVNjcmlwdCBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNDb25maWdzOiBMaW50ZXIuQ29uZmlnW10gPSBkZWZpbmVDb25maWcoXG4gIGluY2x1ZGVJZ25vcmVGaWxlKGpvaW4oZ2V0Um9vdEZvbGRlcigpID8/ICcnLCAnLmdpdGlnbm9yZScpKSxcbiAgZ2xvYmFsSWdub3JlcyhbXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlDanMpLFxuICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55SnMpLFxuICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55TWpzKSxcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3QsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgpXG4gIF0pLFxuICAuLi5nZXRFc2xpbnRDb25maWdzKCksXG4gIC4uLmdldFRzZXNsaW50Q29uZmlncygpLFxuICAuLi5nZXRTdHlsaXN0aWNDb25maWdzKCksXG4gIC4uLmdldEltcG9ydFhDb25maWdzKCksXG4gIC4uLmdldFBlcmZlY3Rpb25pc3RDb25maWdzKCksXG4gIC4uLmdldEVzbGludEltcG9ydFJlc29sdmVyVHlwZXNjcmlwdENvbmZpZ3MoKSxcbiAgLi4uZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKCksXG4gIC4uLmdldE9ic2lkaWFuTGludENvbmZpZ3MoKVxuKTtcblxuZnVuY3Rpb24gZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlciAtLSBUaGUgZGVmYXVsdCBleHBvcnQgbmFtZSBgcmVjb21tZW5kZWRgIGlzIHRvbyBjb25mdXNpbmcuXG4gICAgICBleHRlbmRzOiBbY29tbWVudHNDb25maWdzLnJlY29tbWVuZGVkXSxcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnQGVzbGludC1jb21tdW5pdHkvZXNsaW50LWNvbW1lbnRzL3JlcXVpcmUtZGVzY3JpcHRpb24nOiAnZXJyb3InXG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXNsaW50Q29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICBleHRlbmRzOiBbZXNsaW50LmNvbmZpZ3MucmVjb21tZW5kZWRdLFxuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdhY2Nlc3Nvci1wYWlycyc6ICdlcnJvcicsXG4gICAgICAgICdhcnJheS1jYWxsYmFjay1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnY2FtZWxjYXNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2NhcGl0YWxpemVkLWNvbW1lbnRzJzogWydlcnJvcicsICdhbHdheXMnLCB7IGJsb2NrOiB7IGlnbm9yZVBhdHRlcm46ICd2OCcgfSB9XSxcbiAgICAgICAgJ2NvbXBsZXhpdHknOiAnZXJyb3InLFxuICAgICAgICAnY29uc2lzdGVudC10aGlzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2N1cmx5JzogJ2Vycm9yJyxcbiAgICAgICAgJ2RlZmF1bHQtY2FzZSc6ICdlcnJvcicsXG4gICAgICAgICdkZWZhdWx0LWNhc2UtbGFzdCc6ICdlcnJvcicsXG4gICAgICAgICdkZWZhdWx0LXBhcmFtLWxhc3QnOiAnZXJyb3InLFxuICAgICAgICAnZXFlcWVxJzogJ2Vycm9yJyxcbiAgICAgICAgJ2Z1bmMtbmFtZS1tYXRjaGluZyc6ICdlcnJvcicsXG4gICAgICAgICdmdW5jLW5hbWVzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2Z1bmMtc3R5bGUnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnZGVjbGFyYXRpb24nLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93QXJyb3dGdW5jdGlvbnM6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnZ3JvdXBlZC1hY2Nlc3Nvci1wYWlycyc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICdnZXRCZWZvcmVTZXQnXG4gICAgICAgIF0sXG4gICAgICAgICdndWFyZC1mb3ItaW4nOiAnZXJyb3InLFxuICAgICAgICAnbm8tYWxlcnQnOiAnZXJyb3InLFxuICAgICAgICAnbm8tYXJyYXktY29uc3RydWN0b3InOiAnZXJyb3InLFxuICAgICAgICAnbm8tYml0d2lzZSc6ICdlcnJvcicsXG4gICAgICAgICduby1jYWxsZXInOiAnZXJyb3InLFxuICAgICAgICAnbm8tY29uc29sZSc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgICd3YXJuJyxcbiAgICAgICAgICAgICAgJ2Vycm9yJ1xuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLWNvbnN0cnVjdG9yLXJldHVybic6ICdlcnJvcicsXG4gICAgICAgICduby1kaXYtcmVnZXgnOiAnZXJyb3InLFxuICAgICAgICAnbm8tZWxzZS1yZXR1cm4nOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvd0Vsc2VJZjogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICduby1lbXB0eS1mdW5jdGlvbic6ICdlcnJvcicsXG4gICAgICAgICduby1leHRlbmQtbmF0aXZlJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWV4dHJhLWJpbmQnOiAnZXJyb3InLFxuICAgICAgICAnbm8tZXh0cmEtbGFiZWwnOiAnZXJyb3InLFxuICAgICAgICAnbm8taW1wbGljaXQtY29lcmNpb24nOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICAnISEnXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnbm8taW1wbGllZC1ldmFsJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWlubmVyLWRlY2xhcmF0aW9ucyc6ICdlcnJvcicsXG4gICAgICAgICduby1pdGVyYXRvcic6ICdlcnJvcicsXG4gICAgICAgICduby1sYWJlbC12YXInOiAnZXJyb3InLFxuICAgICAgICAnbm8tbGFiZWxzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxvbmUtYmxvY2tzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxvbmVseS1pZic6ICdlcnJvcicsXG4gICAgICAgICduby1sb29wLWZ1bmMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbWFnaWMtbnVtYmVycyc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRldGVjdE9iamVjdHM6IHRydWUsXG4gICAgICAgICAgICBlbmZvcmNlQ29uc3Q6IHRydWUsXG4gICAgICAgICAgICBpZ25vcmU6IFtcbiAgICAgICAgICAgICAgLTEsXG4gICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICduby1tdWx0aS1hc3NpZ24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tbXVsdGktc3RyJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW5lZ2F0ZWQtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW5lc3RlZC10ZXJuYXJ5JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW5ldy1mdW5jJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW5ldy13cmFwcGVycyc6ICdlcnJvcicsXG4gICAgICAgICduby1vYmplY3QtY29uc3RydWN0b3InOiAnZXJyb3InLFxuICAgICAgICAnbm8tb2N0YWwtZXNjYXBlJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXByb21pc2UtZXhlY3V0b3ItcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXByb3RvJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXJlc3RyaWN0ZWQtc3ludGF4JzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgZGVmaW5pdGUgYXNzaWdubWVudCBhc3NlcnRpb25zICghKS4gSW5pdGlhbGl6ZSB0aGUgZmllbGQgb3IgbWFrZSBpdCBvcHRpb25hbC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdQcm9wZXJ0eURlZmluaXRpb25bZGVmaW5pdGU9dHJ1ZV0nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMgKCEpIG9uIGFic3RyYWN0IGZpZWxkcy4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uW2RlZmluaXRlPXRydWVdJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYW5vbnltb3VzIGlubGluZSBvYmplY3QgdHlwZXMgaW4gZnVuY3Rpb24gcGFyYW1ldGVycy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnOmZ1bmN0aW9uID4gSWRlbnRpZmllciBUU1R5cGVMaXRlcmFsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYW5vbnltb3VzIGlubGluZSBvYmplY3QgdHlwZXMgaW4gZnVuY3Rpb24gcmV0dXJuIHR5cGVzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICc6ZnVuY3Rpb24gPiBUU1R5cGVBbm5vdGF0aW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiBpbnRlcmZhY2UvbWV0aG9kIHNpZ25hdHVyZXMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTTWV0aG9kU2lnbmF0dXJlIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBhcyB0eXBlIGFyZ3VtZW50cy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbiBUU1R5cGVMaXRlcmFsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYW5vbnltb3VzIGlubGluZSBvYmplY3QgdHlwZXMgaW4gdHlwZSBhbm5vdGF0aW9ucy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnVFNUeXBlQW5ub3RhdGlvbiBUU1R5cGVMaXRlcmFsJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLXJldHVybi1hc3NpZ24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2NyaXB0LXVybCc6ICdlcnJvcicsXG4gICAgICAgICduby1zZWxmLWNvbXBhcmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2VxdWVuY2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXNoYWRvdyc6ICdlcnJvcicsXG4gICAgICAgICduby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdGhyb3ctbGl0ZXJhbCc6ICdlcnJvcicsXG4gICAgICAgICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tdW5yZWFjaGFibGUtbG9vcCc6ICdlcnJvcicsXG4gICAgICAgICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdXNlbGVzcy1hc3NpZ25tZW50JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbmNhdCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby12b2lkJzogJ2Vycm9yJyxcbiAgICAgICAgJ29iamVjdC1zaG9ydGhhbmQnOiAnZXJyb3InLFxuICAgICAgICAnb3BlcmF0b3ItYXNzaWdubWVudCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItYXJyb3ctY2FsbGJhY2snOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLWNvbnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvcic6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbmFtZWQtY2FwdHVyZS1ncm91cCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbnVtZXJpYy1saXRlcmFscyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItb2JqZWN0LWhhcy1vd24nOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLW9iamVjdC1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXJlc3QtcGFyYW1zJzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXRlbXBsYXRlJzogJ2Vycm9yJyxcbiAgICAgICAgJ3JhZGl4JzogJ2Vycm9yJyxcbiAgICAgICAgJ3JlcXVpcmUtYXRvbWljLXVwZGF0ZXMnOiAnZXJyb3InLFxuICAgICAgICAncmVxdWlyZS1hd2FpdCc6ICdlcnJvcicsXG4gICAgICAgICdzeW1ib2wtZGVzY3JpcHRpb24nOiAnZXJyb3InLFxuICAgICAgICAndW5pY29kZS1ib20nOiAnZXJyb3InLFxuICAgICAgICAndmFycy1vbi10b3AnOiAnZXJyb3InLFxuICAgICAgICAneW9kYSc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbJ3NyYy9zY3JpcHQtdXRpbHMvbGludGVycy9tYXJrZG93bmxpbnQtdHlwZXMvQHR5cGVzL21hcmtkb3dubGludC1jbGkyLWNvbmZpZy1zY2hlbWEuZC50cyddLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ25vLXJlc3RyaWN0ZWQtc3ludGF4JzogJ29mZidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICdpbXBvcnQteC9yZXNvbHZlci1uZXh0JzogW1xuICAgICAgICAgIGNyZWF0ZVR5cGVTY3JpcHRJbXBvcnRSZXNvbHZlcih7XG4gICAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRYQ29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICBleHRlbmRzOiBbXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy5yZWNvbW1lbmRlZCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MudHlwZXNjcmlwdCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MuZXJyb3JzIGFzIExpbnRlci5Db25maWcsXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy53YXJuaW5ncyBhcyBMaW50ZXIuQ29uZmlnXG4gICAgICBdLFxuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdpbXBvcnQteC9jb25zaXN0ZW50LXR5cGUtc3BlY2lmaWVyLXN0eWxlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L2V4dGVuc2lvbnMnOiBbJ2Vycm9yJywgJ2lnbm9yZVBhY2thZ2VzJ10sXG4gICAgICAgICdpbXBvcnQteC9maXJzdCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9pbXBvcnRzLWZpcnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25ld2xpbmUtYWZ0ZXItaW1wb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWFic29sdXRlLXBhdGgnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYW1kJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWFub255bW91cy1kZWZhdWx0LWV4cG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1jb21tb25qcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1jeWNsZSc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1kZXByZWNhdGVkJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWR1cGxpY2F0ZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZHluYW1pYy1yZXF1aXJlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWVtcHR5LW5hbWVkLWJsb2Nrcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1pbXBvcnQtbW9kdWxlLWV4cG9ydHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbXV0YWJsZS1leHBvcnRzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLW5hbWVkLWRlZmF1bHQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbmFtZXNwYWNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLXJlbGF0aXZlLXBhY2thZ2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLXJlc3RyaWN0ZWQtcGF0aHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tc2VsZi1pbXBvcnQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tdW5hc3NpZ25lZC1pbXBvcnQnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICAnKiovKi5jc3MnLFxuICAgICAgICAgICAgICAnKiovKi5zYXNzJyxcbiAgICAgICAgICAgICAgJyoqLyouc2NzcydcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdpbXBvcnQteC9uby11bnVzZWQtbW9kdWxlcyc6ICdvZmYnLFxuICAgICAgICAnaW1wb3J0LXgvbm8tdXNlbGVzcy1wYXRoLXNlZ21lbnRzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLXdlYnBhY2stbG9hZGVyLXN5bnRheCc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbJ3NjcmlwdHMvKiovKi50cycsICdzcmMvc2NyaXB0LXV0aWxzLyoqLyoudHMnXSxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcyc6ICdvZmYnXG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0T2JzaWRpYW5MaW50Q29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICBjb25zdCBvYnNpZGlhblJlY29tbWVuZGVkQ29uZmlncyA9IEFycmF5LmZyb20ob2JzaWRpYW5tZC5jb25maWdzPy5bJ3JlY29tbWVuZGVkJ10gYXMgSXRlcmFibGU8TGludGVyLkNvbmZpZz4pO1xuXG4gIGNvbnN0IHNjb3BlZE9ic2lkaWFuUmVjb21tZW5kZWRDb25maWdzID0gb2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MubWFwKChjb25maWcpID0+IHtcbiAgICBpZiAoY29uZmlnLmZpbGVzPy5pbmNsdWRlcygncGFja2FnZS5qc29uJykpIHtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXNcbiAgICB9O1xuICB9KTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICAuLi5zY29wZWRPYnNpZGlhblJlY29tbWVuZGVkQ29uZmlncyxcbiAgICB7XG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIG9ic2lkaWFubWQ6IG9ic2lkaWFubWQgYXMgRVNMaW50LlBsdWdpblxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICAgIGdsb2JhbHM6IHtcbiAgICAgICAgICAuLi5nbG9iYWxzLmJyb3dzZXIsXG4gICAgICAgICAgLi4uZ2xvYmFscy5ub2RlLFxuICAgICAgICAgIGFjdGl2ZURvY3VtZW50OiAncmVhZG9ubHknLFxuICAgICAgICAgIGFjdGl2ZVdpbmRvdzogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBhamF4OiAncmVhZG9ubHknLFxuICAgICAgICAgIGFqYXhQcm9taXNlOiAncmVhZG9ubHknLFxuICAgICAgICAgIGNyZWF0ZURpdjogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVFbDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVGcmFnbWVudDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVTcGFuOiAncmVhZG9ubHknLFxuICAgICAgICAgIGNyZWF0ZVN2ZzogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBEb21FbGVtZW50SW5mbzogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBmaXNoOiAncmVhZG9ubHknLFxuICAgICAgICAgIGZpc2hBbGw6ICdyZWFkb25seScsXG4gICAgICAgICAgaXNCb29sZWFuOiAncmVhZG9ubHknLFxuICAgICAgICAgIG5leHRGcmFtZTogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBOb2RlSlM6ICdyZWFkb25seScsXG4gICAgICAgICAgcmVhZHk6ICdyZWFkb25seScsXG4gICAgICAgICAgc2xlZXA6ICdyZWFkb25seSdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldFBlcmZlY3Rpb25pc3RDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW3tcbiAgICBleHRlbmRzOiBbcGVyZmVjdGlvbmlzdENvbmZpZ3NbJ3JlY29tbWVuZGVkLWFscGhhYmV0aWNhbCddXSxcbiAgICBmaWxlczogdHlwZVNjcmlwdEZpbGVzXG4gIH1dKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGlzdGljQ29uZmlncygpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICBleHRlbmRzOiBbXG4gICAgICAgIHN0eWxpc3RpYy5jb25maWdzLnJlY29tbWVuZGVkLFxuICAgICAgICBzdHlsaXN0aWMuY29uZmlncy5jdXN0b21pemUoe1xuICAgICAgICAgIGFycm93UGFyZW5zOiB0cnVlLFxuICAgICAgICAgIGJyYWNlU3R5bGU6ICcxdGJzJyxcbiAgICAgICAgICBjb21tYURhbmdsZTogJ25ldmVyJyxcbiAgICAgICAgICBzZW1pOiB0cnVlXG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdAc3R5bGlzdGljL2luZGVudCc6ICdvZmYnLFxuICAgICAgICAnQHN0eWxpc3RpYy9pbmRlbnQtYmluYXJ5LW9wcyc6ICdvZmYnLFxuICAgICAgICAnQHN0eWxpc3RpYy9qc3gtb25lLWV4cHJlc3Npb24tcGVyLWxpbmUnOiAnb2ZmJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvbm8tZXh0cmEtc2VtaSc6ICdlcnJvcicsXG4gICAgICAgICdAc3R5bGlzdGljL29iamVjdC1jdXJseS1uZXdsaW5lJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXhwb3J0RGVjbGFyYXRpb246IHtcbiAgICAgICAgICAgICAgbWluUHJvcGVydGllczogMixcbiAgICAgICAgICAgICAgbXVsdGlsaW5lOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgSW1wb3J0RGVjbGFyYXRpb246IHtcbiAgICAgICAgICAgICAgbWluUHJvcGVydGllczogMixcbiAgICAgICAgICAgICAgbXVsdGlsaW5lOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnQHN0eWxpc3RpYy9vcGVyYXRvci1saW5lYnJlYWsnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnYmVmb3JlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgJz0nOiAnYWZ0ZXInXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnQHN0eWxpc3RpYy9xdW90ZXMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnc2luZ2xlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvd1RlbXBsYXRlTGl0ZXJhbHM6ICduZXZlcidcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRUc2VzbGludENvbmZpZ3MoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYF9kZWZhdWx0YCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgICAuLi50c2VzbGludC5jb25maWdzLnN0cmljdFR5cGVDaGVja2VkLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYF9kZWZhdWx0YCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgICAuLi50c2VzbGludC5jb25maWdzLnN0eWxpc3RpY1R5cGVDaGVja2VkXG4gICAgICBdLFxuICAgICAgZmlsZXM6IHR5cGVTY3JpcHRGaWxlcyxcbiAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAgICAgZWNtYUZlYXR1cmVzOiB7XG4gICAgICAgICAgICBqc3g6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHByb2plY3RTZXJ2aWNlOiB0cnVlLFxuICAgICAgICAgIHRzY29uZmlnUm9vdERpcjogZ2V0Um9vdEZvbGRlcigpID8/ICcnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlJzogJ2Vycm9yJyxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eSc6ICdlcnJvcicsXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGUnOiBbJ2Vycm9yJywge1xuICAgICAgICAgIGFsbG93QXNUaGlzUGFyYW1ldGVyOiB0cnVlXG4gICAgICAgIH1dLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXMnOiBbJ2Vycm9yJywge1xuICAgICAgICAgIGFsbG93ZWROYW1lczogW1xuICAgICAgICAgICAgJ3RoYXQnXG4gICAgICAgICAgXVxuICAgICAgICB9XSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFyZ3M6ICdhbGwnLFxuICAgICAgICAgICAgYXJnc0lnbm9yZVBhdHRlcm46ICdeXycsXG4gICAgICAgICAgICBjYXVnaHRFcnJvcnM6ICdhbGwnLFxuICAgICAgICAgICAgY2F1Z2h0RXJyb3JzSWdub3JlUGF0dGVybjogJ15fJyxcbiAgICAgICAgICAgIGRlc3RydWN0dXJlZEFycmF5SWdub3JlUGF0dGVybjogJ15fJyxcbiAgICAgICAgICAgIGlnbm9yZVJlc3RTaWJsaW5nczogdHJ1ZSxcbiAgICAgICAgICAgIHZhcnNJZ25vcmVQYXR0ZXJuOiAnXl8nXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWFkb25seSc6ICdlcnJvcicsXG4gICAgICAgICdvYnNpZGlhbi1kZXYtdXRpbHMvbm8tdXNlZC11bmRlcnNjb3JlLXBhcmFtcyc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiB0eXBlU2NyaXB0RmlsZXMsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgICdvYnNpZGlhbi1kZXYtdXRpbHMnOiB7XG4gICAgICAgICAgcnVsZXM6IHtcbiAgICAgICAgICAgICduby11c2VkLXVuZGVyc2NvcmUtcGFyYW1zJzogbm9Vc2VkVW5kZXJzY29yZVBhcmFtc1xuICAgICAgICAgIH1cbiAgICAgICAgfSBhcyBFU0xpbnQuUGx1Z2luXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICByZWFjdDoge1xuICAgICAgICAgIHZlcnNpb246ICdkZXRlY3QnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG4vKiBlc2xpbnQtZW5hYmxlIG5vLW1hZ2ljLW51bWJlcnMgLS0gV2UgZGlzYWJsZWQgbWFnaWMgbnVtYmVycyBiZWNhdXNlIHRoZXkgYXJlIHVzZWQgYWxsIG92ZXIgdGhlIGNvbmZpZ3MuICovXG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSxxQkFBNEI7QUFDNUIsb0JBQWtDO0FBQ2xDLGdCQUFtQjtBQUVuQiwyQkFBc0I7QUFDdEIsK0NBQStDO0FBQy9DLG9DQUE4RDtBQUU5RCxzQ0FBdUI7QUFDdkIseUNBQWdEO0FBQ2hELG9CQUdPO0FBQ1AscUJBQW9CO0FBRXBCLCtCQUFxQjtBQUVyQix3Q0FBd0M7QUFDeEMsa0JBQXFCO0FBQ3JCLGtCQUE4QjtBQUM5Qix1Q0FBdUM7QUFLaEMsTUFBTSxrQkFBa0I7QUFBQSxNQUM3QixrQkFBSywwREFBd0IsT0FBTywwREFBd0IsU0FBUywwREFBd0IsS0FBSztBQUFBLE1BQ2xHLGtCQUFLLDBEQUF3QixPQUFPLDBEQUF3QixTQUFTLDBEQUF3QixLQUFLO0FBQUEsTUFDbEcsa0JBQUssMERBQXdCLEtBQUssMERBQXdCLFNBQVMsMERBQXdCLEtBQUs7QUFBQSxNQUNoRyxrQkFBSywwREFBd0IsS0FBSywwREFBd0IsU0FBUywwREFB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aUI7QUFBQSxRQUNmLGVBQWU7QUFBQSxVQUNiLGNBQWM7QUFBQSxZQUNaLEtBQUs7QUFBQSxVQUNQO0FBQUEsVUFDQSxnQkFBZ0I7QUFBQSxVQUNoQixxQkFBaUIsMkJBQWMsS0FBSztBQUFBLFFBQ3RDO0FBQUEsTUFDRjtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wsb0RBQW9EO0FBQUEsUUFDcEQsb0RBQW9EO0FBQUEsUUFDcEQsMkNBQTJDLENBQUMsU0FBUztBQUFBLFVBQ25ELHNCQUFzQjtBQUFBLFFBQ3hCLENBQUM7QUFBQSxRQUNELG9DQUFvQyxDQUFDLFNBQVM7QUFBQSxVQUM1QyxjQUFjO0FBQUEsWUFDWjtBQUFBLFVBQ0Y7QUFBQSxRQUNGLENBQUM7QUFBQSxRQUNELHFDQUFxQztBQUFBLFVBQ25DO0FBQUEsVUFDQTtBQUFBLFlBQ0UsTUFBTTtBQUFBLFlBQ04sbUJBQW1CO0FBQUEsWUFDbkIsY0FBYztBQUFBLFlBQ2QsMkJBQTJCO0FBQUEsWUFDM0IsZ0NBQWdDO0FBQUEsWUFDaEMsb0JBQW9CO0FBQUEsWUFDcEIsbUJBQW1CO0FBQUEsVUFDckI7QUFBQSxRQUNGO0FBQUEsUUFDQSxzQ0FBc0M7QUFBQSxRQUN0QyxnREFBZ0Q7QUFBQSxNQUNsRDtBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxPQUFPO0FBQUEsTUFDUCxTQUFTO0FBQUEsUUFDUCxzQkFBc0I7QUFBQSxVQUNwQixPQUFPO0FBQUEsWUFDTCw2QkFBNkI7QUFBQSxVQUMvQjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0E7QUFBQSxNQUNFLFVBQVU7QUFBQSxRQUNSLE9BQU87QUFBQSxVQUNMLFNBQVM7QUFBQSxRQUNYO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFsiY29tbWVudHNDb25maWdzIiwgImVzbGludCIsICJlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MiLCAib2JzaWRpYW5tZCIsICJnbG9iYWxzIiwgInBlcmZlY3Rpb25pc3RDb25maWdzIiwgInN0eWxpc3RpYyIsICJ0c2VzbGludCJdCn0K
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initCjs() {
|
|
7
|
+
const globalThisRecord = globalThis;
|
|
8
|
+
globalThisRecord['__name'] ??= name;
|
|
9
|
+
const originalRequire = require;
|
|
10
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
11
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
12
|
+
require = Object.assign(
|
|
13
|
+
(id) => requirePatched(id),
|
|
14
|
+
originalRequire,
|
|
15
|
+
{
|
|
16
|
+
__isPatched: true
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const newFuncs = {
|
|
22
|
+
__extractDefault() {
|
|
23
|
+
return extractDefault;
|
|
24
|
+
},
|
|
25
|
+
process() {
|
|
26
|
+
const browserProcess = {
|
|
27
|
+
browser: true,
|
|
28
|
+
cwd() {
|
|
29
|
+
return '/';
|
|
30
|
+
},
|
|
31
|
+
env: {},
|
|
32
|
+
platform: 'android'
|
|
33
|
+
};
|
|
34
|
+
return browserProcess;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
for (const key of Object.keys(newFuncs)) {
|
|
39
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function name(obj) {
|
|
43
|
+
return obj;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function extractDefault(module) {
|
|
47
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
51
|
+
'obsidian',
|
|
52
|
+
'@codemirror/autocomplete',
|
|
53
|
+
'@codemirror/collab',
|
|
54
|
+
'@codemirror/commands',
|
|
55
|
+
'@codemirror/language',
|
|
56
|
+
'@codemirror/lint',
|
|
57
|
+
'@codemirror/search',
|
|
58
|
+
'@codemirror/state',
|
|
59
|
+
'@codemirror/text',
|
|
60
|
+
'@codemirror/view',
|
|
61
|
+
'@lezer/common',
|
|
62
|
+
'@lezer/lr',
|
|
63
|
+
'@lezer/highlight'];
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
67
|
+
'@codemirror/closebrackets',
|
|
68
|
+
'@codemirror/comment',
|
|
69
|
+
'@codemirror/fold',
|
|
70
|
+
'@codemirror/gutter',
|
|
71
|
+
'@codemirror/highlight',
|
|
72
|
+
'@codemirror/history',
|
|
73
|
+
'@codemirror/matchbrackets',
|
|
74
|
+
'@codemirror/panel',
|
|
75
|
+
'@codemirror/rangeset',
|
|
76
|
+
'@codemirror/rectangular-selection',
|
|
77
|
+
'@codemirror/stream-parser',
|
|
78
|
+
'@codemirror/tooltip'];
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function requirePatched(id) {
|
|
82
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
|
|
83
|
+
return originalRequire?.(id);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
|
|
87
|
+
if (globalThis?.app?.isMobile) {
|
|
88
|
+
if (id === 'process' || id === 'node:process') {
|
|
89
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
90
|
+
return globalThis.process;
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
const module = originalRequire?.(id);
|
|
94
|
+
if (module) {
|
|
95
|
+
return extractDefault(module);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
})();
|
|
103
|
+
|
|
104
|
+
"use strict";
|
|
105
|
+
var __create = Object.create;
|
|
106
|
+
var __defProp = Object.defineProperty;
|
|
107
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
108
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
109
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
110
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
111
|
+
var __export = (target, all) => {
|
|
112
|
+
for (var name in all)
|
|
113
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
114
|
+
};
|
|
115
|
+
var __copyProps = (to, from, except, desc) => {
|
|
116
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
117
|
+
for (let key of __getOwnPropNames(from))
|
|
118
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
119
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
120
|
+
}
|
|
121
|
+
return to;
|
|
122
|
+
};
|
|
123
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
124
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
125
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
126
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
127
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
128
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
129
|
+
mod
|
|
130
|
+
));
|
|
131
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
132
|
+
var eslint_rules_exports = {};
|
|
133
|
+
__export(eslint_rules_exports, {
|
|
134
|
+
no_used_underscore_params: () => no_used_underscore_params
|
|
135
|
+
});
|
|
136
|
+
module.exports = __toCommonJS(eslint_rules_exports);
|
|
137
|
+
var no_used_underscore_params = __toESM(__extractDefault(require('./no-used-underscore-params.cjs')), 1);
|
|
138
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
139
|
+
0 && (module.exports = {
|
|
140
|
+
no_used_underscore_params
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIG5vX3VzZWRfdW5kZXJzY29yZV9wYXJhbXMgZnJvbSAnLi9uby11c2VkLXVuZGVyc2NvcmUtcGFyYW1zLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLGdDQUEyQzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as no_used_underscore_params from './no-used-underscore-params.cjs';
|