obsidian-dev-utils 101.8.0 → 102.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/integration-test-plugin/main.js +198 -100
- package/dist/lib/cjs/__merged.cjs +5 -1
- package/dist/lib/cjs/__merged.d.cts +1 -1
- package/dist/lib/cjs/desktop-zip-extractor.cjs +1 -1
- package/dist/lib/cjs/desktop-zip-extractor.d.cts +4 -3
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +54 -48
- package/dist/lib/cjs/obsidian/link.cjs +63 -7
- package/dist/lib/cjs/obsidian/link.d.cts +182 -0
- package/dist/lib/cjs/script-utils/demo-vault-app-json.cjs +1 -1
- package/dist/lib/cjs/script-utils/demo-vault-app-json.d.cts +1 -1
- package/dist/lib/cjs/script-utils/demo-vault.cjs +50 -29
- package/dist/lib/esm/__merged.d.mts +1 -1
- package/dist/lib/esm/__merged.mjs +5 -1
- package/dist/lib/esm/desktop-zip-extractor.d.mts +4 -3
- package/dist/lib/esm/desktop-zip-extractor.mjs +1 -1
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +56 -49
- package/dist/lib/esm/obsidian/link.d.mts +182 -0
- package/dist/lib/esm/obsidian/link.mjs +61 -7
- package/dist/lib/esm/script-utils/demo-vault-app-json.d.mts +1 -1
- package/dist/lib/esm/script-utils/demo-vault-app-json.mjs +1 -1
- package/dist/lib/esm/script-utils/demo-vault.mjs +52 -20
- package/package.json +9 -9
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* All four are written explicitly, never left to an Obsidian default: a vault leaning on a default changes
|
|
22
22
|
* behavior when that default does.
|
|
23
23
|
*
|
|
24
|
-
* Kept free of both `vitest` and `
|
|
24
|
+
* Kept free of both `vitest` and `fflate` on purpose — the coverage suite pulls in the former and the
|
|
25
25
|
* archiver the latter, and neither may reach the other's environment.
|
|
26
26
|
*/
|
|
27
27
|
/**
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
findOwnedDemoVaultAppJsonSettings,
|
|
75
75
|
parseDemoVaultAppJson
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9kZW1vLXZhdWx0LWFwcC1qc29uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGAub2JzaWRpYW4vYXBwLmpzb25gIHNldHRpbmdzIGBvYnNpZGlhbi1kZXYtdXRpbHNgIG93bnMgaW4gZXZlcnkgZGVtbyB2YXVsdC5cbiAqXG4gKiBBIGRlbW8gdmF1bHQgaXMgZG9jdW1lbnRhdGlvbiBmaXJzdCBhbmQgYW4gZWRpdGluZyBzdXJmYWNlIHNlY29uZCwgc28gZm91ciBPYnNpZGlhbiBzZXR0aW5ncyBoYXZlIHRvIGJlXG4gKiB0aGUgc2FtZSBpbiBldmVyeSBvbmUgb2YgdGhlbS4gVGhleSBhcmUgKipub3QqKiBjb21taXR0ZWQ6IGEgdmF1bHQgdGhhdCB3cm90ZSB0aGVtIGl0c2VsZiB3b3VsZCBkcmlmdFxuICogKG1lYXN1cmVkIDIwMjYtMDgtMTMsIG9ubHkgMyBvZiAyMyB2YXVsdHMgaGFkIHRoZSBmaXJzdCBwYWlyIGFuZCAxIG9mIDIzIHRoZSBzZWNvbmQpLCBzbyB0aGlzIHBhY2thZ2VcbiAqIG93bnMgdGhlbSBpbnN0ZWFkIFx1MjAxNCB7QGxpbmsgYXJjaGl2ZVBsdWdpbkRlbW9WYXVsdH0gbWVyZ2VzIHRoZW0gaW50byB0aGUgYGFwcC5qc29uYCBvZiB0aGUgYXJjaGl2ZWQgY29weVxuICogYXQgcmVsZWFzZSB0aW1lLCBhbmQgdGhlIGRlbW8tdmF1bHQgY292ZXJhZ2Ugc3VpdGUgZmFpbHMgYSB2YXVsdCB0aGF0IGNvbW1pdHMgYW55IG9mIHRoZW0uXG4gKlxuICogLSBgZGVmYXVsdFZpZXdNb2RlOiAncHJldmlldydgICsgYGxpdmVQcmV2aWV3OiBmYWxzZWAgXHUyMDE0IGEgbm90ZSBvcGVucyBhcyBhIHJlYWRlciBzZWVzIGl0IHJhdGhlciB0aGFuIGFzXG4gKiAgIHJhdyBtYXJrdXAuIE9ic2lkaWFuLW9ubHk6IEdpdEh1YiBuZXZlciByZWFkcyBgYXBwLmpzb25gIGFuZCByZW5kZXJzIGV2ZXJ5IG5vdGUgYXMgSFRNTCByZWdhcmRsZXNzLlxuICogLSBgdXNlTWFya2Rvd25MaW5rczogdHJ1ZWAgKyBgbmV3TGlua0Zvcm1hdDogJ3JlbGF0aXZlJ2AgXHUyMDE0IHdoYXQgT2JzaWRpYW4gd3JpdGVzIHdoZW4gYSBsaW5rIGlzIGNyZWF0ZWRcbiAqICAgaW5zaWRlIHRoZSB2YXVsdC4gTGVmdCBhdCBPYnNpZGlhbidzIGRlZmF1bHRzIChgZmFsc2VgIC8gYCdzaG9ydGVzdCdgKSBldmVyeSBuZXcgbGluayBjb21lcyBvdXQgYXMgYVxuICogICBzaG9ydGVzdC1wYXRoIGBbW3dpa2lsaW5rXV1gLCB0aGUgZm9ybSB0aGUgY292ZXJhZ2Ugc3VpdGUgcmVqZWN0cyBhbmQgR2l0SHViIHJlbmRlcnMgYXMgbGl0ZXJhbFxuICogICBicmFja2V0cy4gYHJlbGF0aXZlYCByYXRoZXIgdGhhbiBgYWJzb2x1dGVgIHNvIG5vdGVzIGtlZXAgcmVzb2x2aW5nIG9uY2UgdGhlIHZhdWx0IGlzIGV4dHJhY3RlZCB0byBhblxuICogICBhcmJpdHJhcnkgZm9sZGVyLlxuICpcbiAqIEFsbCBmb3VyIGFyZSB3cml0dGVuIGV4cGxpY2l0bHksIG5ldmVyIGxlZnQgdG8gYW4gT2JzaWRpYW4gZGVmYXVsdDogYSB2YXVsdCBsZWFuaW5nIG9uIGEgZGVmYXVsdCBjaGFuZ2VzXG4gKiBiZWhhdmlvciB3aGVuIHRoYXQgZGVmYXVsdCBkb2VzLlxuICpcbiAqIEtlcHQgZnJlZSBvZiBib3RoIGB2aXRlc3RgIGFuZCBgZmZsYXRlYCBvbiBwdXJwb3NlIFx1MjAxNCB0aGUgY292ZXJhZ2Ugc3VpdGUgcHVsbHMgaW4gdGhlIGZvcm1lciBhbmQgdGhlXG4gKiBhcmNoaXZlciB0aGUgbGF0dGVyLCBhbmQgbmVpdGhlciBtYXkgcmVhY2ggdGhlIG90aGVyJ3MgZW52aXJvbm1lbnQuXG4gKi9cblxuaW1wb3J0IHsgdG9Kc29uIH0gZnJvbSAnLi4vb2JqZWN0LXV0aWxzLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYnVpbGRBcmNoaXZlZERlbW9WYXVsdEFwcEpzb25Db250ZW50fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZEFyY2hpdmVkRGVtb1ZhdWx0QXBwSnNvbkNvbnRlbnRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGRlbW8gdmF1bHQncyBjb21taXR0ZWQgYGFwcC5qc29uYCwgcGFyc2VkIGJ5IHtAbGluayBwYXJzZURlbW9WYXVsdEFwcEpzb259LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwSnNvbjogRGVtb1ZhdWx0QXBwSnNvbjtcbn1cblxuLyoqXG4gKiBBIHBhcnNlZCBgLm9ic2lkaWFuL2FwcC5qc29uYC4gT25seSB0aGUgc2V0dGluZ3MgaW4ge0BsaW5rIERFTU9fVkFVTFRfQVBQX0pTT05fU0VUVElOR1N9IGFyZSBpbnRlcnByZXRlZDtcbiAqIGV2ZXJ5IG90aGVyIHNldHRpbmcgaXMgY2FycmllZCB0aHJvdWdoIHVudG91Y2hlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRGVtb1ZhdWx0QXBwSnNvbiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kT3duZWREZW1vVmF1bHRBcHBKc29uU2V0dGluZ3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPd25lZERlbW9WYXVsdEFwcEpzb25TZXR0aW5nc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVtbyB2YXVsdCdzIGNvbW1pdHRlZCBgYXBwLmpzb25gLCBwYXJzZWQgYnkge0BsaW5rIHBhcnNlRGVtb1ZhdWx0QXBwSnNvbn0uXG4gICAqL1xuICByZWFkb25seSBhcHBKc29uOiBEZW1vVmF1bHRBcHBKc29uO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwYXJzZURlbW9WYXVsdEFwcEpzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlRGVtb1ZhdWx0QXBwSnNvblBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcmF3IGZpbGUgY29udGVudCwgb3IgYG51bGxgIHdoZW4gdGhlIHZhdWx0IGNvbW1pdHMgbm8gYGFwcC5qc29uYCBhdCBhbGwgXHUyMDE0IHdoaWNoIGlzIHRoZSBleHBlY3RlZFxuICAgKiBzdGF0ZSBmb3IgYSB2YXVsdCB0aGF0IGhhcyBub3RoaW5nIGVsc2UgdG8gY29uZmlndXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogbnVsbCB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdGhlIGNvbnRlbnQgd2FzIHJlYWQgZnJvbSwgbmFtZWQgaW4gdGhlIGVycm9yIHdoZW4gaXQgZG9lcyBub3QgcGFyc2UuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGAub2JzaWRpYW4vYXBwLmpzb25gIHNldHRpbmdzIHRoaXMgcGFja2FnZSB3cml0ZXMgaW50byBldmVyeSBhcmNoaXZlZCBkZW1vIHZhdWx0LCBhbmQgdGhhdCBhIGRlbW9cbiAqIHZhdWx0IG11c3QgdGhlcmVmb3JlIG5ldmVyIGNvbW1pdC4gU2VlIHRoZSBmaWxlIG92ZXJ2aWV3IGZvciB3aGF0IGVhY2ggb25lIGJ1eXMuXG4gKi9cbmV4cG9ydCBjb25zdCBERU1PX1ZBVUxUX0FQUF9KU09OX1NFVFRJTkdTOiBEZW1vVmF1bHRBcHBKc29uID0ge1xuICBkZWZhdWx0Vmlld01vZGU6ICdwcmV2aWV3JyxcbiAgbGl2ZVByZXZpZXc6IGZhbHNlLFxuICBuZXdMaW5rRm9ybWF0OiAncmVsYXRpdmUnLFxuICB1c2VNYXJrZG93bkxpbmtzOiB0cnVlXG59O1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgYGFwcC5qc29uYCBjb250ZW50IGZvciB0aGUgYXJjaGl2ZWQgY29weSBvZiBhIGRlbW8gdmF1bHQ6IHRoZSBjb21taXR0ZWQgc2V0dGluZ3Mgd2l0aCB0aGVcbiAqIG93bmVkIG9uZXMgbWVyZ2VkIG92ZXIgdGhlbS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZC5cbiAqIEByZXR1cm5zIFRoZSBKU09OIHRleHQgdG8gc3RvcmUgYXMgdGhlIGFyY2hpdmUncyBgLm9ic2lkaWFuL2FwcC5qc29uYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXJjaGl2ZWREZW1vVmF1bHRBcHBKc29uQ29udGVudChwYXJhbXM6IEJ1aWxkQXJjaGl2ZWREZW1vVmF1bHRBcHBKc29uQ29udGVudFBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtcbiAgICB0b0pzb24oe1xuICAgICAgLi4ucGFyYW1zLmFwcEpzb24sXG4gICAgICAuLi5ERU1PX1ZBVUxUX0FQUF9KU09OX1NFVFRJTkdTXG4gICAgfSlcbiAgfVxcbmA7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIG93bmVkIHNldHRpbmdzIGEgZGVtbyB2YXVsdCBoYXMgY29tbWl0dGVkLiBUaGV5IGJlbG9uZyB0byB0aGlzIHBhY2thZ2UsIHdoaWNoIGluamVjdHMgdGhlbSBhdFxuICogcmVsZWFzZSB0aW1lLCBzbyBhIGNvbW1pdHRlZCBvbmUgaXMgZHJpZnQgd2FpdGluZyB0byBoYXBwZW4gcmF0aGVyIHRoYW4gYSBsb2NhbCBwcmVmZXJlbmNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGxvb2t1cC5cbiAqIEByZXR1cm5zIFRoZSBuYW1lcyBvZiB0aGUgb3duZWQgc2V0dGluZ3MgcHJlc2VudCBpbiB0aGUgY29tbWl0dGVkIGBhcHAuanNvbmAsIGluIHRoZSBvcmRlciB0aGV5IGFyZVxuICogZGVjbGFyZWQgaW4ge0BsaW5rIERFTU9fVkFVTFRfQVBQX0pTT05fU0VUVElOR1N9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE93bmVkRGVtb1ZhdWx0QXBwSnNvblNldHRpbmdzKHBhcmFtczogRmluZE93bmVkRGVtb1ZhdWx0QXBwSnNvblNldHRpbmdzUGFyYW1zKTogc3RyaW5nW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoREVNT19WQVVMVF9BUFBfSlNPTl9TRVRUSU5HUykuZmlsdGVyKChzZXR0aW5nKSA9PiBPYmplY3QuaGFzT3duKHBhcmFtcy5hcHBKc29uLCBzZXR0aW5nKSk7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgZGVtbyB2YXVsdCdzIGNvbW1pdHRlZCBgYXBwLmpzb25gLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBzZXR0aW5ncywgb3IgYW4gZW1wdHkgb2JqZWN0IHdoZW4gdGhlIHZhdWx0IGNvbW1pdHMgbm8gYGFwcC5qc29uYC5cbiAqIEB0aHJvd3MgV2hlbiB0aGUgY29udGVudCBpcyBub3QgdmFsaWQgSlNPTiwgbmFtaW5nIHRoZSBmaWxlIGl0IGNhbWUgZnJvbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVtb1ZhdWx0QXBwSnNvbihwYXJhbXM6IFBhcnNlRGVtb1ZhdWx0QXBwSnNvblBhcmFtcyk6IERlbW9WYXVsdEFwcEpzb24ge1xuICBpZiAocGFyYW1zLmNvbnRlbnQgPT09IG51bGwpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHBhcmFtcy5jb250ZW50KSBhcyBEZW1vVmF1bHRBcHBKc29uO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHBhcnNlICR7cGFyYW1zLnBhdGh9LmAsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEJBLFNBQVMsY0FBYztBQWdEaEIsTUFBTSwrQkFBaUQ7QUFBQSxFQUM1RCxpQkFBaUI7QUFBQSxFQUNqQixhQUFhO0FBQUEsRUFDYixlQUFlO0FBQUEsRUFDZixrQkFBa0I7QUFDcEI7QUFTTyxTQUFTLHFDQUFxQyxRQUE0RDtBQUMvRyxTQUFPLEdBQ0wsT0FBTztBQUFBLElBQ0wsR0FBRyxPQUFPO0FBQUEsSUFDVixHQUFHO0FBQUEsRUFDTCxDQUFDLENBQ0g7QUFBQTtBQUNGO0FBVU8sU0FBUyxrQ0FBa0MsUUFBMkQ7QUFDM0csU0FBTyxPQUFPLEtBQUssNEJBQTRCLEVBQUUsT0FBTyxDQUFDLFlBQVksT0FBTyxPQUFPLE9BQU8sU0FBUyxPQUFPLENBQUM7QUFDN0c7QUFTTyxTQUFTLHNCQUFzQixRQUF1RDtBQUMzRixNQUFJLE9BQU8sWUFBWSxNQUFNO0FBQzNCLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFFQSxNQUFJO0FBQ0YsV0FBTyxLQUFLLE1BQU0sT0FBTyxPQUFPO0FBQUEsRUFDbEMsU0FBUyxPQUFPO0FBQ2QsVUFBTSxJQUFJLE1BQU0sbUJBQW1CLE9BQU8sSUFBSSxLQUFLLEVBQUUsT0FBTyxNQUFNLENBQUM7QUFBQSxFQUNyRTtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -41,7 +41,7 @@ function ensureBrowserProcess() {
|
|
|
41
41
|
})();
|
|
42
42
|
})();
|
|
43
43
|
|
|
44
|
-
import
|
|
44
|
+
import { zipSync } from "fflate";
|
|
45
45
|
import { existsSync } from "node:fs";
|
|
46
46
|
import {
|
|
47
47
|
cp,
|
|
@@ -56,13 +56,15 @@ import {
|
|
|
56
56
|
import { ObsidianPluginRepoPaths } from "../obsidian/plugin/obsidian-plugin-repo-paths.mjs";
|
|
57
57
|
import {
|
|
58
58
|
getFolderName,
|
|
59
|
-
join
|
|
59
|
+
join,
|
|
60
|
+
relative
|
|
60
61
|
} from "../path.mjs";
|
|
61
62
|
import {
|
|
62
63
|
buildArchivedDemoVaultAppJsonContent,
|
|
63
64
|
findOwnedDemoVaultAppJsonSettings,
|
|
64
65
|
parseDemoVaultAppJson
|
|
65
66
|
} from "./demo-vault-app-json.mjs";
|
|
67
|
+
import { readdirPosix } from "./fs.mjs";
|
|
66
68
|
import { ObsidianDevUtilsRepoPaths } from "./obsidian-dev-utils-repo-paths.mjs";
|
|
67
69
|
import {
|
|
68
70
|
getRootFolder,
|
|
@@ -99,22 +101,31 @@ async function archivePluginDemoVault() {
|
|
|
99
101
|
pluginId: manifest.id,
|
|
100
102
|
version: manifest.version
|
|
101
103
|
});
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
const entries = await readDemoVaultEntries({
|
|
105
|
+
demoVaultPath,
|
|
106
|
+
rootFolderName
|
|
107
|
+
});
|
|
108
|
+
injectAppJson({
|
|
109
|
+
appJson: await readCommittedAppJson(),
|
|
110
|
+
entries,
|
|
111
|
+
rootFolderName
|
|
112
|
+
});
|
|
113
|
+
injectReadmeVersion({
|
|
114
|
+
entries,
|
|
115
|
+
rootFolderName,
|
|
116
|
+
version: manifest.version
|
|
117
|
+
});
|
|
118
|
+
await writeFile(zipPath, zipSync(Object.fromEntries(entries)));
|
|
107
119
|
return zipPath;
|
|
108
120
|
}
|
|
109
|
-
function injectAppJson(
|
|
121
|
+
function injectAppJson(params) {
|
|
122
|
+
const {
|
|
123
|
+
appJson,
|
|
124
|
+
entries,
|
|
125
|
+
rootFolderName
|
|
126
|
+
} = params;
|
|
110
127
|
const entryName = join(rootFolderName, ObsidianPluginRepoPaths.DotObsidian, ObsidianPluginRepoPaths.AppJson);
|
|
111
|
-
|
|
112
|
-
const entry = zip.getEntry(entryName);
|
|
113
|
-
if (entry) {
|
|
114
|
-
zip.updateFile(entry, content);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
zip.addFile(entryName, content);
|
|
128
|
+
entries.set(entryName, Buffer.from(buildArchivedDemoVaultAppJsonContent({ appJson }), "utf-8"));
|
|
118
129
|
}
|
|
119
130
|
async function injectDemoVaultHelper(demoedPluginId) {
|
|
120
131
|
const packageFolder = getRootFolder(getFolderName(import.meta.url));
|
|
@@ -136,17 +147,23 @@ async function injectDemoVaultHelper(demoedPluginId) {
|
|
|
136
147
|
await writeFile(join(helperFolder, DATA_JSON_FILE_NAME), `${JSON.stringify(settings, null, DATA_JSON_INDENT)}
|
|
137
148
|
`, "utf-8");
|
|
138
149
|
}
|
|
139
|
-
function injectReadmeVersion(
|
|
140
|
-
const
|
|
150
|
+
function injectReadmeVersion(params) {
|
|
151
|
+
const {
|
|
152
|
+
entries,
|
|
153
|
+
rootFolderName,
|
|
154
|
+
version
|
|
155
|
+
} = params;
|
|
156
|
+
const entryName = join(rootFolderName, README_FILE_NAME);
|
|
157
|
+
const entry = entries.get(entryName);
|
|
141
158
|
if (!entry) {
|
|
142
159
|
return;
|
|
143
160
|
}
|
|
144
|
-
const content = entry.
|
|
161
|
+
const content = entry.toString("utf-8");
|
|
145
162
|
const versionedContent = content.replace(OPENING_HEADING_REG_EXP, (heading) => `${heading} v${version}`);
|
|
146
163
|
if (versionedContent === content) {
|
|
147
164
|
return;
|
|
148
165
|
}
|
|
149
|
-
|
|
166
|
+
entries.set(entryName, Buffer.from(versionedContent, "utf-8"));
|
|
150
167
|
}
|
|
151
168
|
async function readCommittedAppJson() {
|
|
152
169
|
const appJsonPath = resolvePathFromRootSafe({
|
|
@@ -162,7 +179,22 @@ async function readCommittedAppJson() {
|
|
|
162
179
|
}
|
|
163
180
|
return appJson;
|
|
164
181
|
}
|
|
182
|
+
async function readDemoVaultEntries(params) {
|
|
183
|
+
const {
|
|
184
|
+
demoVaultPath,
|
|
185
|
+
rootFolderName
|
|
186
|
+
} = params;
|
|
187
|
+
const entries = /* @__PURE__ */ new Map();
|
|
188
|
+
for (const dirent of await readdirPosix(demoVaultPath, { recursive: true, withFileTypes: true })) {
|
|
189
|
+
if (!dirent.isFile()) {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
const path = join(dirent.parentPath, dirent.name);
|
|
193
|
+
entries.set(join(rootFolderName, relative(demoVaultPath, path)), await readFile(path));
|
|
194
|
+
}
|
|
195
|
+
return entries;
|
|
196
|
+
}
|
|
165
197
|
export {
|
|
166
198
|
archivePluginDemoVault
|
|
167
199
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9kZW1vLXZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQXJjaGl2ZXMgYSBwbHVnaW4ncyBkZW1vIHZhdWx0IGFzIGEgcmVsZWFzZSBhcnRpZmFjdC5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gc2hpcCBhIGN1cmF0ZWQgZGVtbyB2YXVsdCBhdCBgZGVtby12YXVsdC9gIGluIGl0cyByZXBvIHJvb3QuIEF0IHJlbGVhc2UgdGltZSB0aGlzXG4gKiBtb2R1bGUgaW5zdGFsbHMgdGhlIGZyZXNobHkgYnVpbHQgcGx1Z2luIGludG8gdGhhdCB2YXVsdCdzIGAub2JzaWRpYW4vcGx1Z2lucy88aWQ+L2AgZm9sZGVyIGFuZFxuICogemlwcyB0aGUgd2hvbGUgdmF1bHQgaW50byBgZGlzdC9idWlsZC88cGx1Z2luLWlkPi1kZW1vLXZhdWx0LnppcGAsIHNvIHRoZSBleGlzdGluZyBHaXRIdWItcmVsZWFzZVxuICogc3RlcCAod2hpY2ggdXBsb2FkcyBldmVyeSBmaWxlIGluIGBkaXN0L2J1aWxkL2ApIGF0dGFjaGVzIGl0IGF1dG9tYXRpY2FsbHkuXG4gKlxuICogVGhlIHZlcnNpb24gaXMgZGVsaWJlcmF0ZWx5IGFic2VudCBmcm9tIHRoYXQgbmFtZSBhbmQgbGl2ZXMgSU5TSURFIHRoZSBhcmNoaXZlIGluc3RlYWQgXHUyMDE0IHNlZVxuICogYG9ic2lkaWFuL2RlbW8tdmF1bHQtbmFtaW5nLnRzYCBmb3Igd2h5IFx1MjAxNCBpbiB0aGUgdHdvIHBsYWNlcyBhIHBlcnNvbiBhY3R1YWxseSBtZWV0cyBpdDogdGhlIHZhdWx0XG4gKiBzaXRzIHVuZGVyIGEgc2luZ2xlIGA8cGx1Z2luLWlkPi1kZW1vLXZhdWx0LTx2ZXJzaW9uPi9gIGZvbGRlciwgc28gdW56aXBwaW5nIHNldmVyYWwgcmVsZWFzZXMgYnkgaGFuZFxuICogaW50byBvbmUgZm9sZGVyIG5laXRoZXIgY29sbGlkZXMgbm9yIHByb2R1Y2VzIGFub255bW91cyBkaXJlY3RvcmllcywgYW5kIHRoZSB2YXVsdCdzIGBSRUFETUUubWRgXG4gKiBoZWFkaW5nIGdhaW5zIHRoZSB2ZXJzaW9uIGl0IGRlbW9uc3RyYXRlcy5cbiAqXG4gKiBUaGUgYXJjaGl2ZWQgY29weSBhbHNvIGNhcnJpZXMgdGhlIGAub2JzaWRpYW4vYXBwLmpzb25gIHNldHRpbmdzIHRoaXMgcGFja2FnZSBvd25zIChzZWVcbiAqIGBkZW1vLXZhdWx0LWFwcC1qc29uLnRzYCkuIFRob3NlIHNldHRpbmdzIGFuZCB0aGUgUkVBRE1FIGhlYWRpbmcgYXJlIHdyaXR0ZW4gaW50byB0aGUgWklQIEVOVFJZIGFuZFxuICogbmV2ZXIgaW50byB0aGUgcmVwbyBmb2xkZXI6IGJvdGggZmlsZXMgYXJlIHRyYWNrZWQsIGFuZCBgdXBkYXRlVmVyc2lvbmAgYXJjaGl2ZXMgYWZ0ZXIgaXQgaGFzIGFscmVhZHlcbiAqIHB1c2hlZCwgc28gYW4gaW4tcGxhY2Ugd3JpdGUgd291bGQgbGVhdmUgYW4gdW5jb21taXR0ZWQgY2hhbmdlIGJlaGluZCBhIHB1Ymxpc2hlZCByZWxlYXNlLlxuICovXG5cbmltcG9ydCBBZG1aaXAgZnJvbSAnYWRtLXppcCc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB0eXBlIHsgRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3MgfSBmcm9tICcuLi9vYnNpZGlhbi9kZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncy50cyc7XG5pbXBvcnQgdHlwZSB7IERlbW9WYXVsdEFwcEpzb24gfSBmcm9tICcuL2RlbW8tdmF1bHQtYXBwLWpzb24udHMnO1xuXG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi4vb2JzaWRpYW4vZGVtby12YXVsdC1uYW1pbmcudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi9wbHVnaW4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgam9pblxufSBmcm9tICcuLi9wYXRoLnRzJztcbmltcG9ydCB7XG4gIGJ1aWxkQXJjaGl2ZWREZW1vVmF1bHRBcHBKc29uQ29udGVudCxcbiAgZmluZE93bmVkRGVtb1ZhdWx0QXBwSnNvblNldHRpbmdzLFxuICBwYXJzZURlbW9WYXVsdEFwcEpzb25cbn0gZnJvbSAnLi9kZW1vLXZhdWx0LWFwcC1qc29uLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuL29ic2lkaWFuLWRldi11dGlscy1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldFJvb3RGb2xkZXIsXG4gIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlXG59IGZyb20gJy4vcm9vdC50cyc7XG5cbmNvbnN0IERFTU9fVkFVTFRfSEVMUEVSX1BMVUdJTl9JRCA9ICdkZW1vLXZhdWx0LWhlbHBlcic7XG5jb25zdCBEQVRBX0pTT05fRklMRV9OQU1FID0gJ2RhdGEuanNvbic7XG5jb25zdCBEQVRBX0pTT05fSU5ERU5UID0gMjtcbmNvbnN0IFJFQURNRV9GSUxFX05BTUUgPSAnUkVBRE1FLm1kJztcblxuLy8gVGhlIFJFQURNRSdzIG9wZW5pbmcgYCMgSDFgLCBhbmQgb25seSB0aGF0IG9uZTogd2l0aG91dCB0aGUgYG1gIGZsYWcgdGhlIG1hdGNoIGlzIGFuY2hvcmVkIHRvIHRoZSBzdGFydFxuLy8gT2YgdGhlIGZpbGUsIGFuZCBgLmAgc3RvcHMgYXQgdGhlIG5ld2xpbmUgdGhhdCBlbmRzIHRoZSBsaW5lLlxuY29uc3QgT1BFTklOR19IRUFESU5HX1JFR19FWFAgPSAvXiMgLiovO1xuXG4vKipcbiAqIFRoZSBtaW5pbWFsIHNoYXBlIG9mIGEgcGx1Z2luIGBtYW5pZmVzdC5qc29uYCByZWFkIGJ5IHtAbGluayBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0fS5cbiAqL1xuaW50ZXJmYWNlIFBsdWdpbk1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgYXMgdGhlIGZvbGRlciBuYW1lIHVuZGVyIGBkZW1vLXZhdWx0Ly5vYnNpZGlhbi9wbHVnaW5zL2AuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHZlcnNpb24sIGVtYmVkZGVkIGluIHRoZSBhcmNoaXZlJ3MgdG9wLWxldmVsIGZvbGRlciBuYW1lIGFuZCBpdHMgUkVBRE1FIGhlYWRpbmcuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXJjaGl2ZXMgdGhlIHBsdWdpbidzIGRlbW8gdmF1bHQgKGBkZW1vLXZhdWx0L2AgaW4gdGhlIHJlcG8gcm9vdCkgYXMgYSByZWxlYXNlIGFydGlmYWN0LlxuICpcbiAqIEluc3RhbGxzIHRoZSBmcmVzaGx5IGJ1aWx0IHBsdWdpbiBmcm9tIGBkaXN0L2J1aWxkL2AgaW50byB0aGUgdmF1bHQnc1xuICogYC5vYnNpZGlhbi9wbHVnaW5zLzxpZD4vYCBmb2xkZXIsIHRoZW4gemlwcyB0aGUgd2hvbGUgdmF1bHQgdG9cbiAqIGBkaXN0L2J1aWxkLzxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCwgdW5kZXIgYSBzaW5nbGUgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+L2AgZm9sZGVyLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGNyZWF0ZWQgemlwIGFyY2hpdmUsIG9yXG4gKiBgbnVsbGAgaWYgdGhlIHJlcG8gaGFzIG5vIGBkZW1vLXZhdWx0L2AgZm9sZGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXJjaGl2ZVBsdWdpbkRlbW9WYXVsdCgpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgY29uc3QgZGVtb1ZhdWx0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGVtb1ZhdWx0IH0pO1xuICBpZiAoIWV4aXN0c1N5bmMoZGVtb1ZhdWx0UGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uIH0pO1xuICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUobWFuaWZlc3RQYXRoLCAndXRmLTgnKSkgYXMgUGx1Z2luTWFuaWZlc3Q7XG5cbiAgY29uc3QgcGx1Z2luRm9sZGVyID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoe1xuICAgIHBhdGg6IGpvaW4oXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQsXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Eb3RPYnNpZGlhbixcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgICBtYW5pZmVzdC5pZFxuICAgIClcbiAgfSk7XG4gIGF3YWl0IG1rZGlyKHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEJ1aWxkUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdEJ1aWxkIH0pO1xuICBhd2FpdCBjcChkaXN0QnVpbGRQYXRoLCBwbHVnaW5Gb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGF3YWl0IGluamVjdERlbW9WYXVsdEhlbHBlcihtYW5pZmVzdC5pZCk7XG5cbiAgY29uc3QgemlwUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHtcbiAgICBwYXRoOiBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKG1hbmlmZXN0LmlkKSlcbiAgfSk7XG4gIGNvbnN0IHJvb3RGb2xkZXJOYW1lID0gZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZSh7XG4gICAgcGx1Z2luSWQ6IG1hbmlmZXN0LmlkLFxuICAgIHZlcnNpb246IG1hbmlmZXN0LnZlcnNpb25cbiAgfSk7XG4gIGNvbnN0IHppcCA9IG5ldyBBZG1aaXAoKTtcbiAgemlwLmFkZExvY2FsRm9sZGVyKGRlbW9WYXVsdFBhdGgsIHJvb3RGb2xkZXJOYW1lKTtcbiAgaW5qZWN0QXBwSnNvbih6aXAsIGF3YWl0IHJlYWRDb21taXR0ZWRBcHBKc29uKCksIHJvb3RGb2xkZXJOYW1lKTtcbiAgaW5qZWN0UmVhZG1lVmVyc2lvbih6aXAsIHJvb3RGb2xkZXJOYW1lLCBtYW5pZmVzdC52ZXJzaW9uKTtcbiAgYXdhaXQgemlwLndyaXRlWmlwUHJvbWlzZSh6aXBQYXRoKTtcbiAgcmV0dXJuIHppcFBhdGg7XG59XG5cbi8vIFN0b3JlcyB0aGUgYXJjaGl2ZWQgdmF1bHQncyBgLm9ic2lkaWFuL2FwcC5qc29uYCBcdTIwMTQgdGhlIGNvbW1pdHRlZCBzZXR0aW5ncyB3aXRoIHRoZSBvd25lZCBvbmVzIG1lcmdlZFxuLy8gT3ZlciB0aGVtLiBUaGUgZW50cnkgaXMgcmVwbGFjZWQgcmF0aGVyIHRoYW4gdGhlIGZpbGUsIHNvIHRoZSByZXBvIGZvbGRlciBpcyBsZWZ0IGV4YWN0bHkgYXMgaXQgd2FzLlxuZnVuY3Rpb24gaW5qZWN0QXBwSnNvbih6aXA6IEFkbVppcCwgYXBwSnNvbjogRGVtb1ZhdWx0QXBwSnNvbiwgcm9vdEZvbGRlck5hbWU6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBlbnRyeU5hbWUgPSBqb2luKHJvb3RGb2xkZXJOYW1lLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Eb3RPYnNpZGlhbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQXBwSnNvbik7XG4gIGNvbnN0IGNvbnRlbnQgPSBCdWZmZXIuZnJvbShidWlsZEFyY2hpdmVkRGVtb1ZhdWx0QXBwSnNvbkNvbnRlbnQoeyBhcHBKc29uIH0pLCAndXRmLTgnKTtcbiAgY29uc3QgZW50cnkgPSB6aXAuZ2V0RW50cnkoZW50cnlOYW1lKTtcbiAgaWYgKGVudHJ5KSB7XG4gICAgemlwLnVwZGF0ZUZpbGUoZW50cnksIGNvbnRlbnQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIEEgdmF1bHQgd2l0aCBub3RoaW5nIGVsc2UgdG8gY29uZmlndXJlIGNvbW1pdHMgbm8gYGFwcC5qc29uYCBhdCBhbGwsIHdoaWNoIGlzIHRoZSBleHBlY3RlZCBzdGF0ZS5cbiAgemlwLmFkZEZpbGUoZW50cnlOYW1lLCBjb250ZW50KTtcbn1cblxuLy8gSW5qZWN0cyB0aGUgYnVpbHQsIGBvYnNpZGlhbi1kZXYtdXRpbHNgLW93bmVkIGBkZW1vLXZhdWx0LWhlbHBlcmAgYm9vdHN0cmFwIHBsdWdpbiAoc2hpcHBlZCBpbiB0aGlzIHBhY2thZ2UpIGludG8gdGhlIGRlbW8gdmF1bHQsIHNvIG5vIHBlci12YXVsdCBjb3B5IGlzIGNvbW1pdHRlZCBhbmQgYW4gYG9ic2lkaWFuLWRldi11dGlsc2AgYnVtcCBwcm9wYWdhdGVzIGZpeGVzLlxuLy9cbi8vIEFsb25nc2lkZSB0aGUgYmluYXJpZXMgaXQgd3JpdGVzIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAgbmFtaW5nIHRoZSBkZW1vbnN0cmF0ZWQgcGx1Z2luLiBUaGF0IGlzXG4vLyBUaGUgb25lIG1vbWVudCB0aGUgaWQgaXMga25vd24gZm9yIGNlcnRhaW4gXHUyMDE0IGl0IGNvbWVzIGZyb20gdGhlIHBsdWdpbidzIG93biBtYW5pZmVzdCBcdTIwMTQgd2hlcmVhcyB0aGVcbi8vIE9wZW5lZCB2YXVsdCBvbmx5IG9mZmVycyBwbHVnaW4gZm9sZGVycyB0byBjb3VudCwgd2hpY2ggdGhlIGJvb3RzdHJhcCBpdHNlbGYgYWRkcyB0byAoc2VlXG4vLyBgRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3NgKS5cbmFzeW5jIGZ1bmN0aW9uIGluamVjdERlbW9WYXVsdEhlbHBlcihkZW1vZWRQbHVnaW5JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBhY2thZ2VGb2xkZXIgPSBnZXRSb290Rm9sZGVyKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gIGlmICghcGFja2FnZUZvbGRlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJlc29sdmUgdGhlIG9ic2lkaWFuLWRldi11dGlscyBwYWNrYWdlIGZvbGRlciB0byBpbmplY3QgdGhlIGRlbW8tdmF1bHQtaGVscGVyIHBsdWdpbi4nKTtcbiAgfVxuXG4gIGNvbnN0IGhlbHBlclNvdXJjZVBhdGggPSBqb2luKHBhY2thZ2VGb2xkZXIsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdERlbW9WYXVsdEhlbHBlcik7XG4gIGNvbnN0IGhlbHBlckZvbGRlciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHtcbiAgICBwYXRoOiBqb2luKFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGVtb1ZhdWx0LFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRG90T2JzaWRpYW4sXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5QbHVnaW5zLFxuICAgICAgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lEXG4gICAgKVxuICB9KTtcbiAgYXdhaXQgbWtkaXIoaGVscGVyRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgY3AoaGVscGVyU291cmNlUGF0aCwgaGVscGVyRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBzZXR0aW5nczogRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3MgPSB7IGRlbW9lZFBsdWdpbklkIH07XG4gIGF3YWl0IHdyaXRlRmlsZShqb2luKGhlbHBlckZvbGRlciwgREFUQV9KU09OX0ZJTEVfTkFNRSksIGAke0pTT04uc3RyaW5naWZ5KHNldHRpbmdzLCBudWxsLCBEQVRBX0pTT05fSU5ERU5UKX1cXG5gLCAndXRmLTgnKTtcbn1cblxuLy8gTmFtZXMgdGhlIHZlcnNpb24gb24gdGhlIGFyY2hpdmVkIGBSRUFETUUubWRgJ3MgaGVhZGluZywgc28gdGhlIHZhdWx0IHNheXMgd2hpY2ggcmVsZWFzZSBpdCBkZW1vbnN0cmF0ZXNcbi8vIEhvd2V2ZXIgZmFyIGl0IHRyYXZlbHMgZnJvbSB0aGUgcmVsZWFzZSBwYWdlIGl0IHdhcyBkb3dubG9hZGVkIGZyb20uXG4vL1xuLy8gRW50cnktb25seSwgZm9yIHRoZSBzYW1lIHJlYXNvbiBgaW5qZWN0QXBwSnNvbmAgaXM6IHRoZSBjb21taXR0ZWQgUkVBRE1FIGlzIGEgdHJhY2tlZCwgaGFuZC1hdXRob3JlZFxuLy8gRmlsZSBhbmQgYHVwZGF0ZVZlcnNpb25gIGFyY2hpdmVzIGFmdGVyIGl0IGhhcyBhbHJlYWR5IHB1c2hlZC5cbi8vXG4vLyBBIHZhdWx0IHRoYXQgc2hpcHMgbm8gUkVBRE1FLCBvciBvbmUgb3BlbmluZyBvbiBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBgIyBIMWAsIGlzIGxlZnQgYWxvbmUgcmF0aGVyXG4vLyBUaGFuIGNvcnJlY3RlZC4gVGhlIGRlbW8tdmF1bHQgY292ZXJhZ2Ugc3VpdGUgZXhlbXB0cyBgUkVBRE1FLm1kYCBmcm9tIGl0cyBIMSBjaGVjaywgc28gbmVpdGhlciBzaGFwZVxuLy8gSXMgYSBkZWZlY3QgXHUyMDE0IGFuZCBhIHJlbGVhc2UgaXMgdGhlIHdyb25nIG1vbWVudCB0byBzdGFydCBmYWlsaW5nIG9uIG9uZS5cbmZ1bmN0aW9uIGluamVjdFJlYWRtZVZlcnNpb24oemlwOiBBZG1aaXAsIHJvb3RGb2xkZXJOYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBlbnRyeSA9IHppcC5nZXRFbnRyeShqb2luKHJvb3RGb2xkZXJOYW1lLCBSRUFETUVfRklMRV9OQU1FKSk7XG4gIGlmICghZW50cnkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb250ZW50ID0gZW50cnkuZ2V0RGF0YSgpLnRvU3RyaW5nKCd1dGYtOCcpO1xuICBjb25zdCB2ZXJzaW9uZWRDb250ZW50ID0gY29udGVudC5yZXBsYWNlKE9QRU5JTkdfSEVBRElOR19SRUdfRVhQLCAoaGVhZGluZykgPT4gYCR7aGVhZGluZ30gdiR7dmVyc2lvbn1gKTtcbiAgaWYgKHZlcnNpb25lZENvbnRlbnQgPT09IGNvbnRlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB6aXAudXBkYXRlRmlsZShlbnRyeSwgQnVmZmVyLmZyb20odmVyc2lvbmVkQ29udGVudCwgJ3V0Zi04JykpO1xufVxuXG4vLyBSZWFkcyB0aGUgZGVtbyB2YXVsdCdzIGNvbW1pdHRlZCBgLm9ic2lkaWFuL2FwcC5qc29uYCwgcmVmdXNpbmcgdGhlIHNldHRpbmdzIHRoaXMgcGFja2FnZSBvd25zLlxuLy9cbi8vIFRob3NlIHNldHRpbmdzIGFyZSBpbmplY3RlZCBpbnRvIHRoZSBhcmNoaXZlLCBzbyBhIGNvbW1pdHRlZCBvbmUgaXMgYSBzZWNvbmQgc291cmNlIG9mIHRydXRoIHRoYXRcbi8vIE5vdGhpbmcga2VlcHMgaW4gc3RlcC4gVGhlIGRlbW8tdmF1bHQgY292ZXJhZ2Ugc3VpdGUgYWxyZWFkeSBmYWlscyBvbiBpdCwgd2hpY2ggbWVhbnMgcmVhY2hpbmcgaGVyZVxuLy8gTWVhbnMgdGhhdCBnYXRlIHdhcyBza2lwcGVkIFx1MjAxNCBzbyB0aGlzIHJlZnVzZXMgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgYSB2YWx1ZSBzb21lYm9keSBjaG9zZSBvbiBwdXJwb3NlLlxuYXN5bmMgZnVuY3Rpb24gcmVhZENvbW1pdHRlZEFwcEpzb24oKTogUHJvbWlzZTxEZW1vVmF1bHRBcHBKc29uPiB7XG4gIGNvbnN0IGFwcEpzb25QYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoe1xuICAgIHBhdGg6IGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGVtb1ZhdWx0LCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Eb3RPYnNpZGlhbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQXBwSnNvbilcbiAgfSk7XG4gIGNvbnN0IGNvbnRlbnQgPSBleGlzdHNTeW5jKGFwcEpzb25QYXRoKSA/IGF3YWl0IHJlYWRGaWxlKGFwcEpzb25QYXRoLCAndXRmLTgnKSA6IG51bGw7XG4gIGNvbnN0IGFwcEpzb24gPSBwYXJzZURlbW9WYXVsdEFwcEpzb24oeyBjb250ZW50LCBwYXRoOiBhcHBKc29uUGF0aCB9KTtcblxuICBjb25zdCBvd25lZFNldHRpbmdzID0gZmluZE93bmVkRGVtb1ZhdWx0QXBwSnNvblNldHRpbmdzKHsgYXBwSnNvbiB9KTtcbiAgaWYgKG93bmVkU2V0dGluZ3MubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke2FwcEpzb25QYXRofSBzZXRzICR7b3duZWRTZXR0aW5ncy5qb2luKCcsICcpfSwgd2hpY2ggb2JzaWRpYW4tZGV2LXV0aWxzIG93bnMgYW5kIHdyaXRlcyBpbnRvIHRoZSBhcmNoaXZlZCBkZW1vIHZhdWx0LiBTZXR0aW5ncyBpdCBvd25zIG11c3Qgbm90IGJlIGNvbW1pdHRlZC5gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBhcHBKc29uO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQSxPQUFPLFlBQVk7QUFDbkIsU0FBUyxrQkFBa0I7QUFDM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUywrQkFBK0I7QUFDeEM7QUFBQSxFQUNF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
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9kZW1vLXZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQXJjaGl2ZXMgYSBwbHVnaW4ncyBkZW1vIHZhdWx0IGFzIGEgcmVsZWFzZSBhcnRpZmFjdC5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gc2hpcCBhIGN1cmF0ZWQgZGVtbyB2YXVsdCBhdCBgZGVtby12YXVsdC9gIGluIGl0cyByZXBvIHJvb3QuIEF0IHJlbGVhc2UgdGltZSB0aGlzXG4gKiBtb2R1bGUgaW5zdGFsbHMgdGhlIGZyZXNobHkgYnVpbHQgcGx1Z2luIGludG8gdGhhdCB2YXVsdCdzIGAub2JzaWRpYW4vcGx1Z2lucy88aWQ+L2AgZm9sZGVyIGFuZFxuICogemlwcyB0aGUgd2hvbGUgdmF1bHQgaW50byBgZGlzdC9idWlsZC88cGx1Z2luLWlkPi1kZW1vLXZhdWx0LnppcGAsIHNvIHRoZSBleGlzdGluZyBHaXRIdWItcmVsZWFzZVxuICogc3RlcCAod2hpY2ggdXBsb2FkcyBldmVyeSBmaWxlIGluIGBkaXN0L2J1aWxkL2ApIGF0dGFjaGVzIGl0IGF1dG9tYXRpY2FsbHkuXG4gKlxuICogVGhlIHZlcnNpb24gaXMgZGVsaWJlcmF0ZWx5IGFic2VudCBmcm9tIHRoYXQgbmFtZSBhbmQgbGl2ZXMgSU5TSURFIHRoZSBhcmNoaXZlIGluc3RlYWQgXHUyMDE0IHNlZVxuICogYG9ic2lkaWFuL2RlbW8tdmF1bHQtbmFtaW5nLnRzYCBmb3Igd2h5IFx1MjAxNCBpbiB0aGUgdHdvIHBsYWNlcyBhIHBlcnNvbiBhY3R1YWxseSBtZWV0cyBpdDogdGhlIHZhdWx0XG4gKiBzaXRzIHVuZGVyIGEgc2luZ2xlIGA8cGx1Z2luLWlkPi1kZW1vLXZhdWx0LTx2ZXJzaW9uPi9gIGZvbGRlciwgc28gdW56aXBwaW5nIHNldmVyYWwgcmVsZWFzZXMgYnkgaGFuZFxuICogaW50byBvbmUgZm9sZGVyIG5laXRoZXIgY29sbGlkZXMgbm9yIHByb2R1Y2VzIGFub255bW91cyBkaXJlY3RvcmllcywgYW5kIHRoZSB2YXVsdCdzIGBSRUFETUUubWRgXG4gKiBoZWFkaW5nIGdhaW5zIHRoZSB2ZXJzaW9uIGl0IGRlbW9uc3RyYXRlcy5cbiAqXG4gKiBUaGUgYXJjaGl2ZWQgY29weSBhbHNvIGNhcnJpZXMgdGhlIGAub2JzaWRpYW4vYXBwLmpzb25gIHNldHRpbmdzIHRoaXMgcGFja2FnZSBvd25zIChzZWVcbiAqIGBkZW1vLXZhdWx0LWFwcC1qc29uLnRzYCkuIFRob3NlIHNldHRpbmdzIGFuZCB0aGUgUkVBRE1FIGhlYWRpbmcgYXJlIHdyaXR0ZW4gaW50byB0aGUgWklQIEVOVFJZIGFuZFxuICogbmV2ZXIgaW50byB0aGUgcmVwbyBmb2xkZXI6IGJvdGggZmlsZXMgYXJlIHRyYWNrZWQsIGFuZCBgdXBkYXRlVmVyc2lvbmAgYXJjaGl2ZXMgYWZ0ZXIgaXQgaGFzIGFscmVhZHlcbiAqIHB1c2hlZCwgc28gYW4gaW4tcGxhY2Ugd3JpdGUgd291bGQgbGVhdmUgYW4gdW5jb21taXR0ZWQgY2hhbmdlIGJlaGluZCBhIHB1Ymxpc2hlZCByZWxlYXNlLlxuICovXG5cbmltcG9ydCB7IHppcFN5bmMgfSBmcm9tICdmZmxhdGUnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyLFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgdHlwZSB7IERlbW9WYXVsdEhlbHBlclNldHRpbmdzIH0gZnJvbSAnLi4vb2JzaWRpYW4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRBcHBKc29uIH0gZnJvbSAnLi9kZW1vLXZhdWx0LWFwcC1qc29uLnRzJztcblxuaW1wb3J0IHtcbiAgZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lLFxuICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lXG59IGZyb20gJy4uL29ic2lkaWFuL2RlbW8tdmF1bHQtbmFtaW5nLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW4sXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHtcbiAgYnVpbGRBcmNoaXZlZERlbW9WYXVsdEFwcEpzb25Db250ZW50LFxuICBmaW5kT3duZWREZW1vVmF1bHRBcHBKc29uU2V0dGluZ3MsXG4gIHBhcnNlRGVtb1ZhdWx0QXBwSnNvblxufSBmcm9tICcuL2RlbW8tdmF1bHQtYXBwLWpzb24udHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9mcy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBnZXRSb290Rm9sZGVyLFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL3Jvb3QudHMnO1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgREFUQV9KU09OX0ZJTEVfTkFNRSA9ICdkYXRhLmpzb24nO1xuY29uc3QgREFUQV9KU09OX0lOREVOVCA9IDI7XG5jb25zdCBSRUFETUVfRklMRV9OQU1FID0gJ1JFQURNRS5tZCc7XG5cbi8vIFRoZSBSRUFETUUncyBvcGVuaW5nIGAjIEgxYCwgYW5kIG9ubHkgdGhhdCBvbmU6IHdpdGhvdXQgdGhlIGBtYCBmbGFnIHRoZSBtYXRjaCBpcyBhbmNob3JlZCB0byB0aGUgc3RhcnRcbi8vIE9mIHRoZSBmaWxlLCBhbmQgYC5gIHN0b3BzIGF0IHRoZSBuZXdsaW5lIHRoYXQgZW5kcyB0aGUgbGluZS5cbmNvbnN0IE9QRU5JTkdfSEVBRElOR19SRUdfRVhQID0gL14jIC4qLztcblxuLyoqXG4gKiBUaGUgYXJjaGl2ZSdzIGVudHJpZXMsIGtleWVkIGJ5IHRoZSBuYW1lIGVhY2ggb25lIHRha2VzIGluc2lkZSB0aGUgWklQLlxuICpcbiAqIFRoZSB3aG9sZSBhcmNoaXZlIGlzIGFzc2VtYmxlZCBhcyB0aGlzIG1hcCBhbmQgc2VyaWFsaXplZCBvbmNlLCBzbyBpbmplY3RpbmcgYW4gZW50cnkgaXMgYW4gb3JkaW5hcnlcbiAqIGBzZXRgIHJhdGhlciB0aGFuIGEgbXV0YXRpb24gb2YgYSBoYWxmLWJ1aWx0IGFyY2hpdmUgb2JqZWN0LlxuICovXG50eXBlIERlbW9WYXVsdFppcEVudHJpZXMgPSBNYXA8c3RyaW5nLCBCdWZmZXI+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBpbmplY3RBcHBKc29ufS5cbiAqL1xuaW50ZXJmYWNlIEluamVjdEFwcEpzb25QYXJhbXMge1xuICAvKipcbiAgICogVGhlIGNvbW1pdHRlZCBzZXR0aW5ncyB0aGUgb3duZWQgb25lcyBhcmUgbWVyZ2VkIG92ZXIuXG4gICAqL1xuICByZWFkb25seSBhcHBKc29uOiBEZW1vVmF1bHRBcHBKc29uO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJjaGl2ZSdzIGVudHJpZXMsIGVkaXRlZCBpbiBwbGFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJpZXM6IERlbW9WYXVsdFppcEVudHJpZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmNoaXZlJ3Mgc2luZ2xlIHRvcC1sZXZlbCBmb2xkZXIsIHdoaWNoIGV2ZXJ5IGVudHJ5IG5hbWUgaXMgcmVsYXRpdmUgdG8uXG4gICAqL1xuICByZWFkb25seSByb290Rm9sZGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBpbmplY3RSZWFkbWVWZXJzaW9ufS5cbiAqL1xuaW50ZXJmYWNlIEluamVjdFJlYWRtZVZlcnNpb25QYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyY2hpdmUncyBlbnRyaWVzLCBlZGl0ZWQgaW4gcGxhY2UuXG4gICAqL1xuICByZWFkb25seSBlbnRyaWVzOiBEZW1vVmF1bHRaaXBFbnRyaWVzO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJjaGl2ZSdzIHNpbmdsZSB0b3AtbGV2ZWwgZm9sZGVyLCB3aGljaCBldmVyeSBlbnRyeSBuYW1lIGlzIHJlbGF0aXZlIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdEZvbGRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbiB2ZXJzaW9uIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIG1pbmltYWwgc2hhcGUgb2YgYSBwbHVnaW4gYG1hbmlmZXN0Lmpzb25gIHJlYWQgYnkge0BsaW5rIGFyY2hpdmVQbHVnaW5EZW1vVmF1bHR9LlxuICovXG5pbnRlcmZhY2UgUGx1Z2luTWFuaWZlc3Qge1xuICAvKipcbiAgICogVGhlIHBsdWdpbiBpZCwgdXNlZCBhcyB0aGUgZm9sZGVyIG5hbWUgdW5kZXIgYGRlbW8tdmF1bHQvLm9ic2lkaWFuL3BsdWdpbnMvYC5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdmVyc2lvbiwgZW1iZWRkZWQgaW4gdGhlIGFyY2hpdmUncyB0b3AtbGV2ZWwgZm9sZGVyIG5hbWUgYW5kIGl0cyBSRUFETUUgaGVhZGluZy5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVhZERlbW9WYXVsdEVudHJpZXN9LlxuICovXG5pbnRlcmZhY2UgUmVhZERlbW9WYXVsdEVudHJpZXNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHZhdWx0IGZvbGRlciB0byByZWFkLCBhcyBhbiBhYnNvbHV0ZSBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb1ZhdWx0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJjaGl2ZSdzIHNpbmdsZSB0b3AtbGV2ZWwgZm9sZGVyLCB3aGljaCBldmVyeSBlbnRyeSBuYW1lIGlzIHJlbGF0aXZlIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdEZvbGRlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcmNoaXZlcyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCAoYGRlbW8tdmF1bHQvYCBpbiB0aGUgcmVwbyByb290KSBhcyBhIHJlbGVhc2UgYXJ0aWZhY3QuXG4gKlxuICogSW5zdGFsbHMgdGhlIGZyZXNobHkgYnVpbHQgcGx1Z2luIGZyb20gYGRpc3QvYnVpbGQvYCBpbnRvIHRoZSB2YXVsdCdzXG4gKiBgLm9ic2lkaWFuL3BsdWdpbnMvPGlkPi9gIGZvbGRlciwgdGhlbiB6aXBzIHRoZSB3aG9sZSB2YXVsdCB0b1xuICogYGRpc3QvYnVpbGQvPHBsdWdpbi1pZD4tZGVtby12YXVsdC56aXBgLCB1bmRlciBhIHNpbmdsZSBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj4vYCBmb2xkZXIuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgY3JlYXRlZCB6aXAgYXJjaGl2ZSwgb3JcbiAqIGBudWxsYCBpZiB0aGUgcmVwbyBoYXMgbm8gYGRlbW8tdmF1bHQvYCBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0KCk6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICBjb25zdCBkZW1vVmF1bHRQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQgfSk7XG4gIGlmICghZXhpc3RzU3luYyhkZW1vVmF1bHRQYXRoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24gfSk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShtYW5pZmVzdFBhdGgsICd1dGYtOCcpKSBhcyBQbHVnaW5NYW5pZmVzdDtcblxuICBjb25zdCBwbHVnaW5Gb2xkZXIgPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7XG4gICAgcGF0aDogam9pbihcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRlbW9WYXVsdCxcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGx1Z2lucyxcbiAgICAgIG1hbmlmZXN0LmlkXG4gICAgKVxuICB9KTtcbiAgYXdhaXQgbWtkaXIocGx1Z2luRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0QnVpbGRQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0QnVpbGQgfSk7XG4gIGF3YWl0IGNwKGRpc3RCdWlsZFBhdGgsIHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgYXdhaXQgaW5qZWN0RGVtb1ZhdWx0SGVscGVyKG1hbmlmZXN0LmlkKTtcblxuICBjb25zdCB6aXBQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoe1xuICAgIHBhdGg6IGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdEJ1aWxkLCBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUobWFuaWZlc3QuaWQpKVxuICB9KTtcbiAgY29uc3Qgcm9vdEZvbGRlck5hbWUgPSBnZXREZW1vVmF1bHRGb2xkZXJOYW1lKHtcbiAgICBwbHVnaW5JZDogbWFuaWZlc3QuaWQsXG4gICAgdmVyc2lvbjogbWFuaWZlc3QudmVyc2lvblxuICB9KTtcbiAgY29uc3QgZW50cmllcyA9IGF3YWl0IHJlYWREZW1vVmF1bHRFbnRyaWVzKHtcbiAgICBkZW1vVmF1bHRQYXRoLFxuICAgIHJvb3RGb2xkZXJOYW1lXG4gIH0pO1xuICBpbmplY3RBcHBKc29uKHtcbiAgICBhcHBKc29uOiBhd2FpdCByZWFkQ29tbWl0dGVkQXBwSnNvbigpLFxuICAgIGVudHJpZXMsXG4gICAgcm9vdEZvbGRlck5hbWVcbiAgfSk7XG4gIGluamVjdFJlYWRtZVZlcnNpb24oe1xuICAgIGVudHJpZXMsXG4gICAgcm9vdEZvbGRlck5hbWUsXG4gICAgdmVyc2lvbjogbWFuaWZlc3QudmVyc2lvblxuICB9KTtcbiAgLy8gRXZlcnkgZW50cnkgaXMgc3RhbXBlZCB3aXRoIHRoZSBtb21lbnQgdGhlIGFyY2hpdmUgaXMgYnVpbHQgcmF0aGVyIHRoYW4gdGhlIGZpbGUncyBvd24gbXRpbWUsIHdoaWNoIGlzXG4gIC8vIFdoYXQgdGhlIHByZXZpb3VzIGFyY2hpdmVyIHdyb3RlLiBBIGRlbW8gdmF1bHQncyBjb21taXR0ZWQgdGltZXN0YW1wcyBhcmUgY2hlY2tvdXQgYXJ0aWZhY3RzIG9mIHdob2V2ZXJcbiAgLy8gUmFuIHRoZSByZWxlYXNlLCBzbyB0aGV5IGNhcnJ5IG5vdGhpbmcgYSByZWFkZXIgY291bGQgdXNlOyB0aGUgYnVpbGQgdGltZSBhdCBsZWFzdCBkZXNjcmliZXMgdGhlXG4gIC8vIEFyY2hpdmUuXG4gIGF3YWl0IHdyaXRlRmlsZSh6aXBQYXRoLCB6aXBTeW5jKE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKSkpO1xuICByZXR1cm4gemlwUGF0aDtcbn1cblxuLy8gU3RvcmVzIHRoZSBhcmNoaXZlZCB2YXVsdCdzIGAub2JzaWRpYW4vYXBwLmpzb25gIFx1MjAxNCB0aGUgY29tbWl0dGVkIHNldHRpbmdzIHdpdGggdGhlIG93bmVkIG9uZXMgbWVyZ2VkXG4vLyBPdmVyIHRoZW0uIFRoZSBFTlRSWSBpcyB3cml0dGVuIHJhdGhlciB0aGFuIHRoZSBmaWxlLCBzbyB0aGUgcmVwbyBmb2xkZXIgaXMgbGVmdCBleGFjdGx5IGFzIGl0IHdhcywgYW5kXG4vLyBBIHZhdWx0IHdpdGggbm90aGluZyBlbHNlIHRvIGNvbmZpZ3VyZSBcdTIwMTQgd2hpY2ggY29tbWl0cyBubyBgYXBwLmpzb25gIGF0IGFsbCBcdTIwMTQgZ2V0cyBvbmUgaGVyZSByZWdhcmRsZXNzLlxuZnVuY3Rpb24gaW5qZWN0QXBwSnNvbihwYXJhbXM6IEluamVjdEFwcEpzb25QYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGFwcEpzb24sXG4gICAgZW50cmllcyxcbiAgICByb290Rm9sZGVyTmFtZVxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGVudHJ5TmFtZSA9IGpvaW4ocm9vdEZvbGRlck5hbWUsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BcHBKc29uKTtcbiAgZW50cmllcy5zZXQoZW50cnlOYW1lLCBCdWZmZXIuZnJvbShidWlsZEFyY2hpdmVkRGVtb1ZhdWx0QXBwSnNvbkNvbnRlbnQoeyBhcHBKc29uIH0pLCAndXRmLTgnKSk7XG59XG5cbi8vIEluamVjdHMgdGhlIGJ1aWx0LCBgb2JzaWRpYW4tZGV2LXV0aWxzYC1vd25lZCBgZGVtby12YXVsdC1oZWxwZXJgIGJvb3RzdHJhcCBwbHVnaW4gKHNoaXBwZWQgaW4gdGhpcyBwYWNrYWdlKSBpbnRvIHRoZSBkZW1vIHZhdWx0LCBzbyBubyBwZXItdmF1bHQgY29weSBpcyBjb21taXR0ZWQgYW5kIGFuIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGJ1bXAgcHJvcGFnYXRlcyBmaXhlcy5cbi8vXG4vLyBBbG9uZ3NpZGUgdGhlIGJpbmFyaWVzIGl0IHdyaXRlcyB0aGUgaGVscGVyJ3Mgb3duIGBkYXRhLmpzb25gIG5hbWluZyB0aGUgZGVtb25zdHJhdGVkIHBsdWdpbi4gVGhhdCBpc1xuLy8gVGhlIG9uZSBtb21lbnQgdGhlIGlkIGlzIGtub3duIGZvciBjZXJ0YWluIFx1MjAxNCBpdCBjb21lcyBmcm9tIHRoZSBwbHVnaW4ncyBvd24gbWFuaWZlc3QgXHUyMDE0IHdoZXJlYXMgdGhlXG4vLyBPcGVuZWQgdmF1bHQgb25seSBvZmZlcnMgcGx1Z2luIGZvbGRlcnMgdG8gY291bnQsIHdoaWNoIHRoZSBib290c3RyYXAgaXRzZWxmIGFkZHMgdG8gKHNlZVxuLy8gYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuXG5hc3luYyBmdW5jdGlvbiBpbmplY3REZW1vVmF1bHRIZWxwZXIoZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwYWNrYWdlRm9sZGVyID0gZ2V0Um9vdEZvbGRlcihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICBpZiAoIXBhY2thZ2VGb2xkZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCByZXNvbHZlIHRoZSBvYnNpZGlhbi1kZXYtdXRpbHMgcGFja2FnZSBmb2xkZXIgdG8gaW5qZWN0IHRoZSBkZW1vLXZhdWx0LWhlbHBlciBwbHVnaW4uJyk7XG4gIH1cblxuICBjb25zdCBoZWxwZXJTb3VyY2VQYXRoID0gam9pbihwYWNrYWdlRm9sZGVyLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRpc3REZW1vVmF1bHRIZWxwZXIpO1xuICBjb25zdCBoZWxwZXJGb2xkZXIgPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7XG4gICAgcGF0aDogam9pbihcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRlbW9WYXVsdCxcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGx1Z2lucyxcbiAgICAgIERFTU9fVkFVTFRfSEVMUEVSX1BMVUdJTl9JRFxuICAgIClcbiAgfSk7XG4gIGF3YWl0IG1rZGlyKGhlbHBlckZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGF3YWl0IGNwKGhlbHBlclNvdXJjZVBhdGgsIGhlbHBlckZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3Qgc2V0dGluZ3M6IERlbW9WYXVsdEhlbHBlclNldHRpbmdzID0geyBkZW1vZWRQbHVnaW5JZCB9O1xuICBhd2FpdCB3cml0ZUZpbGUoam9pbihoZWxwZXJGb2xkZXIsIERBVEFfSlNPTl9GSUxFX05BTUUpLCBgJHtKU09OLnN0cmluZ2lmeShzZXR0aW5ncywgbnVsbCwgREFUQV9KU09OX0lOREVOVCl9XFxuYCwgJ3V0Zi04Jyk7XG59XG5cbi8vIE5hbWVzIHRoZSB2ZXJzaW9uIG9uIHRoZSBhcmNoaXZlZCBgUkVBRE1FLm1kYCdzIGhlYWRpbmcsIHNvIHRoZSB2YXVsdCBzYXlzIHdoaWNoIHJlbGVhc2UgaXQgZGVtb25zdHJhdGVzXG4vLyBIb3dldmVyIGZhciBpdCB0cmF2ZWxzIGZyb20gdGhlIHJlbGVhc2UgcGFnZSBpdCB3YXMgZG93bmxvYWRlZCBmcm9tLlxuLy9cbi8vIEVudHJ5LW9ubHksIGZvciB0aGUgc2FtZSByZWFzb24gYGluamVjdEFwcEpzb25gIGlzOiB0aGUgY29tbWl0dGVkIFJFQURNRSBpcyBhIHRyYWNrZWQsIGhhbmQtYXV0aG9yZWRcbi8vIEZpbGUgYW5kIGB1cGRhdGVWZXJzaW9uYCBhcmNoaXZlcyBhZnRlciBpdCBoYXMgYWxyZWFkeSBwdXNoZWQuXG4vL1xuLy8gQSB2YXVsdCB0aGF0IHNoaXBzIG5vIFJFQURNRSwgb3Igb25lIG9wZW5pbmcgb24gc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gYCMgSDFgLCBpcyBsZWZ0IGFsb25lIHJhdGhlclxuLy8gVGhhbiBjb3JyZWN0ZWQuIFRoZSBkZW1vLXZhdWx0IGNvdmVyYWdlIHN1aXRlIGV4ZW1wdHMgYFJFQURNRS5tZGAgZnJvbSBpdHMgSDEgY2hlY2ssIHNvIG5laXRoZXIgc2hhcGVcbi8vIElzIGEgZGVmZWN0IFx1MjAxNCBhbmQgYSByZWxlYXNlIGlzIHRoZSB3cm9uZyBtb21lbnQgdG8gc3RhcnQgZmFpbGluZyBvbiBvbmUuXG5mdW5jdGlvbiBpbmplY3RSZWFkbWVWZXJzaW9uKHBhcmFtczogSW5qZWN0UmVhZG1lVmVyc2lvblBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgZW50cmllcyxcbiAgICByb290Rm9sZGVyTmFtZSxcbiAgICB2ZXJzaW9uXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgZW50cnlOYW1lID0gam9pbihyb290Rm9sZGVyTmFtZSwgUkVBRE1FX0ZJTEVfTkFNRSk7XG4gIGNvbnN0IGVudHJ5ID0gZW50cmllcy5nZXQoZW50cnlOYW1lKTtcbiAgaWYgKCFlbnRyeSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnQgPSBlbnRyeS50b1N0cmluZygndXRmLTgnKTtcbiAgY29uc3QgdmVyc2lvbmVkQ29udGVudCA9IGNvbnRlbnQucmVwbGFjZShPUEVOSU5HX0hFQURJTkdfUkVHX0VYUCwgKGhlYWRpbmcpID0+IGAke2hlYWRpbmd9IHYke3ZlcnNpb259YCk7XG4gIGlmICh2ZXJzaW9uZWRDb250ZW50ID09PSBjb250ZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cmllcy5zZXQoZW50cnlOYW1lLCBCdWZmZXIuZnJvbSh2ZXJzaW9uZWRDb250ZW50LCAndXRmLTgnKSk7XG59XG5cbi8vIFJlYWRzIHRoZSBkZW1vIHZhdWx0J3MgY29tbWl0dGVkIGAub2JzaWRpYW4vYXBwLmpzb25gLCByZWZ1c2luZyB0aGUgc2V0dGluZ3MgdGhpcyBwYWNrYWdlIG93bnMuXG4vL1xuLy8gVGhvc2Ugc2V0dGluZ3MgYXJlIGluamVjdGVkIGludG8gdGhlIGFyY2hpdmUsIHNvIGEgY29tbWl0dGVkIG9uZSBpcyBhIHNlY29uZCBzb3VyY2Ugb2YgdHJ1dGggdGhhdFxuLy8gTm90aGluZyBrZWVwcyBpbiBzdGVwLiBUaGUgZGVtby12YXVsdCBjb3ZlcmFnZSBzdWl0ZSBhbHJlYWR5IGZhaWxzIG9uIGl0LCB3aGljaCBtZWFucyByZWFjaGluZyBoZXJlXG4vLyBNZWFucyB0aGF0IGdhdGUgd2FzIHNraXBwZWQgXHUyMDE0IHNvIHRoaXMgcmVmdXNlcyByYXRoZXIgdGhhbiBvdmVyd3JpdGluZyBhIHZhbHVlIHNvbWVib2R5IGNob3NlIG9uIHB1cnBvc2UuXG5hc3luYyBmdW5jdGlvbiByZWFkQ29tbWl0dGVkQXBwSnNvbigpOiBQcm9taXNlPERlbW9WYXVsdEFwcEpzb24+IHtcbiAgY29uc3QgYXBwSnNvblBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7XG4gICAgcGF0aDogam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BcHBKc29uKVxuICB9KTtcbiAgY29uc3QgY29udGVudCA9IGV4aXN0c1N5bmMoYXBwSnNvblBhdGgpID8gYXdhaXQgcmVhZEZpbGUoYXBwSnNvblBhdGgsICd1dGYtOCcpIDogbnVsbDtcbiAgY29uc3QgYXBwSnNvbiA9IHBhcnNlRGVtb1ZhdWx0QXBwSnNvbih7IGNvbnRlbnQsIHBhdGg6IGFwcEpzb25QYXRoIH0pO1xuXG4gIGNvbnN0IG93bmVkU2V0dGluZ3MgPSBmaW5kT3duZWREZW1vVmF1bHRBcHBKc29uU2V0dGluZ3MoeyBhcHBKc29uIH0pO1xuICBpZiAob3duZWRTZXR0aW5ncy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7YXBwSnNvblBhdGh9IHNldHMgJHtvd25lZFNldHRpbmdzLmpvaW4oJywgJyl9LCB3aGljaCBvYnNpZGlhbi1kZXYtdXRpbHMgb3ducyBhbmQgd3JpdGVzIGludG8gdGhlIGFyY2hpdmVkIGRlbW8gdmF1bHQuIFNldHRpbmdzIGl0IG93bnMgbXVzdCBub3QgYmUgY29tbWl0dGVkLmBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGFwcEpzb247XG59XG5cbi8vIFJlYWRzIGV2ZXJ5IGZpbGUgaW4gdGhlIGRlbW8gdmF1bHQgYXMgYW4gYXJjaGl2ZSBlbnRyeSwgdW5kZXIgdGhlIHNpbmdsZSB0b3AtbGV2ZWwgZm9sZGVyIHRoZSBhcmNoaXZlXG4vLyBTaXRzIGluLlxuLy9cbi8vIE9ubHkgRklMRVMgYmVjb21lIGVudHJpZXMuIEdpdCBjYW5ub3QgdHJhY2sgYW4gZW1wdHkgZm9sZGVyLCBzbyBhIGNvbW1pdHRlZCBkZW1vIHZhdWx0IGhhcyBub25lIFx1MjAxNCBhbmRcbi8vIGBleHRyYWN0WmlwQXJjaGl2ZWAgY3JlYXRlcyBhbiBlbnRyeSdzIHBhcmVudCBmb2xkZXJzIHdoZXRoZXIgb3Igbm90IHRoZSBhcmNoaXZlIGRlY2xhcmVkIHRoZW0sIHNvIGFcbi8vIEZvbGRlciBlbnRyeSB3b3VsZCBlYXJuIG5vdGhpbmcgZXZlbiBpZiBvbmUgY291bGQgZXhpc3QuXG5hc3luYyBmdW5jdGlvbiByZWFkRGVtb1ZhdWx0RW50cmllcyhwYXJhbXM6IFJlYWREZW1vVmF1bHRFbnRyaWVzUGFyYW1zKTogUHJvbWlzZTxEZW1vVmF1bHRaaXBFbnRyaWVzPiB7XG4gIGNvbnN0IHtcbiAgICBkZW1vVmF1bHRQYXRoLFxuICAgIHJvb3RGb2xkZXJOYW1lXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgZW50cmllczogRGVtb1ZhdWx0WmlwRW50cmllcyA9IG5ldyBNYXA8c3RyaW5nLCBCdWZmZXI+KCk7XG4gIGZvciAoY29uc3QgZGlyZW50IG9mIGF3YWl0IHJlYWRkaXJQb3NpeChkZW1vVmF1bHRQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZGlyZW50LmlzRmlsZSgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gam9pbihkaXJlbnQucGFyZW50UGF0aCwgZGlyZW50Lm5hbWUpO1xuICAgIGVudHJpZXMuc2V0KGpvaW4ocm9vdEZvbGRlck5hbWUsIHJlbGF0aXZlKGRlbW9WYXVsdFBhdGgsIHBhdGgpKSwgYXdhaXQgcmVhZEZpbGUocGF0aCkpO1xuICB9XG5cbiAgcmV0dXJuIGVudHJpZXM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLFNBQVMsZUFBZTtBQUN4QixTQUFTLGtCQUFrQjtBQUMzQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLCtCQUErQjtBQUN4QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGlDQUFpQztBQUMxQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLE1BQU0sOEJBQThCO0FBQ3BDLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sbUJBQW1CO0FBQ3pCLE1BQU0sbUJBQW1CO0FBSXpCLE1BQU0sMEJBQTBCO0FBMEZoQyxlQUFzQix5QkFBaUQ7QUFDckUsUUFBTSxnQkFBZ0Isd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsVUFBVSxDQUFDO0FBQ3pGLE1BQUksQ0FBQyxXQUFXLGFBQWEsR0FBRztBQUM5QixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sZUFBZSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixhQUFhLENBQUM7QUFDM0YsUUFBTSxXQUFXLEtBQUssTUFBTSxNQUFNLFNBQVMsY0FBYyxPQUFPLENBQUM7QUFFakUsUUFBTSxlQUFlLHdCQUF3QjtBQUFBLElBQzNDLE1BQU07QUFBQSxNQUNKLHdCQUF3QjtBQUFBLE1BQ3hCLHdCQUF3QjtBQUFBLE1BQ3hCLHdCQUF3QjtBQUFBLE1BQ3hCLFNBQVM7QUFBQSxJQUNYO0FBQUEsRUFDRixDQUFD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsidian-dev-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "102.1.0",
|
|
4
4
|
"description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"obsidian"
|
|
@@ -680,11 +680,12 @@
|
|
|
680
680
|
"eslint-plugin-import": "npm:eslint-plugin-import-x@^4.17.1",
|
|
681
681
|
"eslint-plugin-json-schema-validator": "^6.3.1",
|
|
682
682
|
"eslint-plugin-n": "$eslint-plugin-n",
|
|
683
|
-
"fflate": "
|
|
683
|
+
"fflate": "$fflate",
|
|
684
684
|
"glob": "^13.0.6",
|
|
685
|
-
"js-yaml": "4.3.
|
|
685
|
+
"js-yaml": "4.3.2",
|
|
686
686
|
"markdown-it": "^15.0.1",
|
|
687
687
|
"readdir-glob": "^3.0.0",
|
|
688
|
+
"smol-toml": "^1.8.0",
|
|
688
689
|
"test-exclude": "^8.0.0",
|
|
689
690
|
"typescript": "$typescript"
|
|
690
691
|
},
|
|
@@ -707,11 +708,10 @@
|
|
|
707
708
|
"@types/parsimmon": "^1.10.9",
|
|
708
709
|
"@types/path-browserify": "^1.0.3",
|
|
709
710
|
"@types/pug": "^2.0.10",
|
|
710
|
-
"@types/react": "^19.
|
|
711
|
+
"@types/react": "^19.3.0",
|
|
711
712
|
"@types/semver": "^7.8.0",
|
|
712
713
|
"@typescript-eslint/eslint-plugin": "^8.70.0",
|
|
713
714
|
"@typescript-eslint/parser": "^8.70.0",
|
|
714
|
-
"adm-zip": "^0.6.0",
|
|
715
715
|
"compare-versions": "^6.1.1",
|
|
716
716
|
"cspell": "^10.3.0",
|
|
717
717
|
"debug": "^4.4.3",
|
|
@@ -722,11 +722,12 @@
|
|
|
722
722
|
"eslint": "^10.10.0",
|
|
723
723
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
724
724
|
"eslint-plugin-import-x": "^4.17.1",
|
|
725
|
-
"eslint-plugin-jsdoc": "^64.3.
|
|
725
|
+
"eslint-plugin-jsdoc": "^64.3.8",
|
|
726
726
|
"eslint-plugin-obsidianmd": "^0.4.2",
|
|
727
727
|
"eslint-plugin-perfectionist": "^5.11.0",
|
|
728
728
|
"eslint-plugin-tsdoc": "^0.5.2",
|
|
729
729
|
"eslint-plugin-unicorn": "^74.0.0",
|
|
730
|
+
"fflate": "^0.8.3",
|
|
730
731
|
"i18next": "^26.4.2",
|
|
731
732
|
"jiti": "^2.7.0",
|
|
732
733
|
"localforage": "^1.10.0",
|
|
@@ -739,7 +740,7 @@
|
|
|
739
740
|
"postcss": "^8.5.28",
|
|
740
741
|
"postcss-modules": "^9.0.1",
|
|
741
742
|
"preact": "^10.29.8",
|
|
742
|
-
"react": "^19.
|
|
743
|
+
"react": "^19.3.0",
|
|
743
744
|
"remark": "^15.0.1",
|
|
744
745
|
"remark-parse": "^11.0.0",
|
|
745
746
|
"remark-wiki-link": "^2.0.1",
|
|
@@ -760,7 +761,6 @@
|
|
|
760
761
|
"@jest/globals": "^30.5.1",
|
|
761
762
|
"@resvg/resvg-js": "^2.6.2",
|
|
762
763
|
"@total-typescript/ts-reset": "^0.6.1",
|
|
763
|
-
"@types/adm-zip": "^0.5.8",
|
|
764
764
|
"@typescript-eslint/rule-tester": "^8.70.0",
|
|
765
765
|
"@vitest/coverage-v8": "^5.0.0",
|
|
766
766
|
"astro": "^7.3.2",
|
|
@@ -773,7 +773,7 @@
|
|
|
773
773
|
"jsdom": "^30.0.1",
|
|
774
774
|
"moment": "^2.30.1",
|
|
775
775
|
"nano-staged": "^1.0.2",
|
|
776
|
-
"obsidian-integration-testing": "^12.
|
|
776
|
+
"obsidian-integration-testing": "^12.1.0",
|
|
777
777
|
"obsidian-test-mocks": "^5.1.0",
|
|
778
778
|
"satori": "^0.33.4",
|
|
779
779
|
"starlight-github-alerts": "^0.4.0",
|