@mnaoumov/obsidian-dev-toolkit 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/demo-vault-helper/main.js +179 -1
  2. package/dist/integration-test-plugin/main.js +1232 -1023
  3. package/dist/integration-test-plugin/manifest.json +2 -2
  4. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -22
  5. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -1
  6. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +2 -21
  7. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +1 -1
  8. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +2 -21
  9. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -1
  10. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +7 -53
  11. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -1
  12. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +4 -23
  13. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
  14. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +2 -21
  15. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  16. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +2 -21
  17. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
  18. package/dist/lib/cjs/bundlers/esbuild.cjs +1 -47
  19. package/dist/lib/cjs/bundlers/esbuild.d.cts +1 -1
  20. package/dist/lib/cjs/bundlers/index.cjs +3 -49
  21. package/dist/lib/cjs/bundlers/index.d.cts +1 -1
  22. package/dist/lib/cjs/demo-vault-app-json.cjs +2 -21
  23. package/dist/lib/cjs/demo-vault-app-json.d.cts +1 -1
  24. package/dist/lib/cjs/demo-vault-buttons.cjs +3 -22
  25. package/dist/lib/cjs/demo-vault-buttons.d.cts +1 -1
  26. package/dist/lib/cjs/demo-vault-coverage.cjs +2 -21
  27. package/dist/lib/cjs/demo-vault-coverage.d.cts +1 -1
  28. package/dist/lib/cjs/demo-vault.cjs +3 -22
  29. package/dist/lib/cjs/demo-vault.d.cts +1 -1
  30. package/dist/lib/cjs/formatters/dprint.cjs +2 -21
  31. package/dist/lib/cjs/formatters/dprint.d.cts +1 -1
  32. package/dist/lib/cjs/formatters/index.cjs +2 -48
  33. package/dist/lib/cjs/formatters/index.d.cts +1 -1
  34. package/dist/lib/cjs/index.cjs +12 -58
  35. package/dist/lib/cjs/integration-test-setup.cjs +1 -47
  36. package/dist/lib/cjs/integration-test-setup.d.cts +5 -5
  37. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +3 -22
  38. package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +7 -7
  39. package/dist/lib/cjs/jest-setup.cjs +2 -21
  40. package/dist/lib/cjs/jest-setup.d.cts +1 -1
  41. package/dist/lib/cjs/library-references.d.cts +2 -0
  42. package/dist/lib/cjs/linters/eslint-config.cjs +24 -40
  43. package/dist/lib/cjs/linters/eslint-config.d.cts +1 -1
  44. package/dist/lib/cjs/linters/eslint-rules/index.cjs +16 -62
  45. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +2 -2
  46. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -47
  47. package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +1 -1
  48. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +3 -22
  49. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +1 -1
  50. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -47
  51. package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +1 -1
  52. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -47
  53. package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +1 -1
  54. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -47
  55. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +1 -1
  56. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +2 -21
  57. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +1 -1
  58. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +2 -21
  59. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +1 -1
  60. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +2 -21
  61. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +1 -1
  62. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +136 -0
  63. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.cts +16 -0
  64. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +1 -47
  65. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +1 -1
  66. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +1 -47
  67. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +1 -1
  68. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +2 -21
  69. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +1 -1
  70. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +2 -21
  71. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +1 -1
  72. package/dist/lib/cjs/linters/eslint.cjs +2 -21
  73. package/dist/lib/cjs/linters/eslint.d.cts +1 -1
  74. package/dist/lib/cjs/linters/index.cjs +9 -55
  75. package/dist/lib/cjs/linters/index.d.cts +1 -1
  76. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +2 -21
  77. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +1 -1
  78. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +2 -48
  79. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +1 -1
  80. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +2 -48
  81. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +1 -1
  82. package/dist/lib/cjs/linters/markdownlint.cjs +2 -21
  83. package/dist/lib/cjs/linters/markdownlint.d.cts +1 -1
  84. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -47
  85. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +1 -1
  86. package/dist/lib/cjs/linters/plugin-names.cjs +1 -47
  87. package/dist/lib/cjs/linters/plugin-names.d.cts +1 -1
  88. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -47
  89. package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +1 -1
  90. package/dist/lib/cjs/setup.cjs +2 -21
  91. package/dist/lib/cjs/setup.d.cts +1 -1
  92. package/dist/lib/cjs/templates.cjs +2 -21
  93. package/dist/lib/cjs/templates.d.cts +1 -1
  94. package/dist/lib/cjs/test-runners/index.cjs +4 -50
  95. package/dist/lib/cjs/test-runners/index.d.cts +1 -1
  96. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +9 -28
  97. package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +5 -5
  98. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +1 -47
  99. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +1 -1
  100. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +2 -21
  101. package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +1 -1
  102. package/dist/lib/cjs/test-runners/vitest-config.cjs +6 -25
  103. package/dist/lib/cjs/test-runners/vitest-config.d.cts +2 -3
  104. package/dist/lib/cjs/version.cjs +2 -21
  105. package/dist/lib/cjs/version.d.cts +1 -1
  106. package/dist/lib/cjs/vitest-setup.cjs +2 -21
  107. package/dist/lib/cjs/vitest-setup.d.cts +1 -1
  108. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -1
  109. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +2 -11
  110. package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +1 -1
  111. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +2 -11
  112. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -1
  113. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -11
  114. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -1
  115. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -37
  116. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -1
  117. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -11
  118. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  119. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +2 -11
  120. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -1
  121. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +2 -11
  122. package/dist/lib/esm/bundlers/esbuild.d.mts +1 -1
  123. package/dist/lib/esm/bundlers/esbuild.mjs +1 -37
  124. package/dist/lib/esm/bundlers/index.d.mts +1 -1
  125. package/dist/lib/esm/bundlers/index.mjs +1 -37
  126. package/dist/lib/esm/demo-vault-app-json.d.mts +1 -1
  127. package/dist/lib/esm/demo-vault-app-json.mjs +2 -11
  128. package/dist/lib/esm/demo-vault-buttons.d.mts +1 -1
  129. package/dist/lib/esm/demo-vault-buttons.mjs +2 -11
  130. package/dist/lib/esm/demo-vault-coverage.d.mts +1 -1
  131. package/dist/lib/esm/demo-vault-coverage.mjs +2 -11
  132. package/dist/lib/esm/demo-vault.d.mts +1 -1
  133. package/dist/lib/esm/demo-vault.mjs +3 -12
  134. package/dist/lib/esm/formatters/dprint.d.mts +1 -1
  135. package/dist/lib/esm/formatters/dprint.mjs +2 -11
  136. package/dist/lib/esm/formatters/index.d.mts +1 -1
  137. package/dist/lib/esm/formatters/index.mjs +1 -37
  138. package/dist/lib/esm/index.mjs +1 -37
  139. package/dist/lib/esm/integration-test-setup.d.mts +5 -5
  140. package/dist/lib/esm/integration-test-setup.mjs +1 -37
  141. package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +7 -7
  142. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +4 -13
  143. package/dist/lib/esm/jest-setup.d.mts +1 -1
  144. package/dist/lib/esm/jest-setup.mjs +2 -11
  145. package/dist/lib/esm/library-references.d.mts +2 -0
  146. package/dist/lib/esm/linters/eslint-config.d.mts +1 -1
  147. package/dist/lib/esm/linters/eslint-config.mjs +23 -29
  148. package/dist/lib/esm/linters/eslint-rules/index.d.mts +2 -2
  149. package/dist/lib/esm/linters/eslint-rules/index.mjs +3 -39
  150. package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +1 -1
  151. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +1 -37
  152. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +1 -1
  153. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +2 -11
  154. package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +1 -1
  155. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +1 -37
  156. package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +1 -1
  157. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +1 -37
  158. package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +1 -1
  159. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +1 -37
  160. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +1 -1
  161. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +2 -11
  162. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +1 -1
  163. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +2 -11
  164. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +1 -1
  165. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +2 -11
  166. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.mts +16 -0
  167. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.mjs +37 -0
  168. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +1 -1
  169. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +1 -37
  170. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +1 -1
  171. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +1 -37
  172. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +1 -1
  173. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +2 -11
  174. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +1 -1
  175. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +2 -11
  176. package/dist/lib/esm/linters/eslint.d.mts +1 -1
  177. package/dist/lib/esm/linters/eslint.mjs +2 -11
  178. package/dist/lib/esm/linters/index.d.mts +1 -1
  179. package/dist/lib/esm/linters/index.mjs +1 -37
  180. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +1 -1
  181. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +2 -11
  182. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +1 -1
  183. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +1 -37
  184. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +1 -1
  185. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +1 -37
  186. package/dist/lib/esm/linters/markdownlint.d.mts +1 -1
  187. package/dist/lib/esm/linters/markdownlint.mjs +2 -11
  188. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +1 -1
  189. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +1 -37
  190. package/dist/lib/esm/linters/plugin-names.d.mts +1 -1
  191. package/dist/lib/esm/linters/plugin-names.mjs +1 -37
  192. package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +1 -1
  193. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +1 -37
  194. package/dist/lib/esm/setup.d.mts +1 -1
  195. package/dist/lib/esm/setup.mjs +2 -11
  196. package/dist/lib/esm/templates.d.mts +1 -1
  197. package/dist/lib/esm/templates.mjs +2 -11
  198. package/dist/lib/esm/test-runners/index.d.mts +1 -1
  199. package/dist/lib/esm/test-runners/index.mjs +1 -37
  200. package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +5 -5
  201. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +8 -17
  202. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +1 -1
  203. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +1 -37
  204. package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +1 -1
  205. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +2 -11
  206. package/dist/lib/esm/test-runners/vitest-config.d.mts +2 -3
  207. package/dist/lib/esm/test-runners/vitest-config.mjs +5 -14
  208. package/dist/lib/esm/version.d.mts +1 -1
  209. package/dist/lib/esm/version.mjs +2 -11
  210. package/dist/lib/esm/vitest-setup.d.mts +1 -1
  211. package/dist/lib/esm/vitest-setup.mjs +2 -11
  212. package/linters/eslint-rules/{obsidian-dev-utils-plugin → obsidian-dev-toolkit-plugin}/package.json +3 -3
  213. package/package.json +3 -3
  214. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +0 -181
  215. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +0 -13
  216. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +0 -13
  217. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +0 -73
@@ -1,4 +1,4 @@
1
- /// <reference path="./index.d.mts" />
1
+ /// <reference path="./library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,10 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- (function initEsm() {
37
- ensureDisposeSymbols();
38
- ensureBrowserProcess();
39
- })();
30
+ ensureBrowserProcess();
40
31
  })();
41
32
 
42
33
  import { RepoPaths } from "@mnaoumov/typescript-dev-toolkit/repo-paths";
@@ -54,4 +45,4 @@ function getTemplateFilePath(name) {
54
45
  export {
55
46
  getTemplateFilePath
56
47
  };
57
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIExvY2F0ZXMgdGhlIGNvbnN1bWVyLWZhY2luZyB0ZW1wbGF0ZXMgdGhpcyBwYWNrYWdlIHNoaXBzIGluIGBkaXN0L3RlbXBsYXRlc2AuXG4gKi9cblxuaW1wb3J0IHsgUmVwb1BhdGhzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVwby1wYXRocyc7XG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBhYnNvbHV0ZSBwYXRoIG9mIGEgdGVtcGxhdGUgdGhpcyBwYWNrYWdlIHNoaXBzLlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHRlbXBsYXRlJ3MgZmlsZSBuYW1lIHdpdGhpbiBgZGlzdC90ZW1wbGF0ZXNgLCBlLmcuIGBlc2xpbnQuY29uZmlnLm10c2AuXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBsYXRlRmlsZVBhdGgobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUocGFja2FnZUZvbGRlciwgJ1BhY2thZ2UgZm9sZGVyIG5vdCBmb3VuZCcpO1xuICByZXR1cm4gam9pbihwYWNrYWdlRm9sZGVyLCBSZXBvUGF0aHMuRGlzdFRlbXBsYXRlcywgbmFtZSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsaUJBQWlCO0FBQzFCLFNBQVMscUJBQXFCO0FBQzlCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyx5QkFBeUI7QUFRM0IsU0FBUyxvQkFBb0IsTUFBc0I7QUFDeEQsUUFBTSxnQkFBZ0IsY0FBYyxjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ2xFLG9CQUFrQixlQUFlLDBCQUEwQjtBQUMzRCxTQUFPLEtBQUssZUFBZSxVQUFVLGVBQWUsSUFBSTtBQUMxRDsiLAogICJuYW1lcyI6IFtdCn0K
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIExvY2F0ZXMgdGhlIGNvbnN1bWVyLWZhY2luZyB0ZW1wbGF0ZXMgdGhpcyBwYWNrYWdlIHNoaXBzIGluIGBkaXN0L3RlbXBsYXRlc2AuXG4gKi9cblxuaW1wb3J0IHsgUmVwb1BhdGhzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVwby1wYXRocyc7XG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBhYnNvbHV0ZSBwYXRoIG9mIGEgdGVtcGxhdGUgdGhpcyBwYWNrYWdlIHNoaXBzLlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHRlbXBsYXRlJ3MgZmlsZSBuYW1lIHdpdGhpbiBgZGlzdC90ZW1wbGF0ZXNgLCBlLmcuIGBlc2xpbnQuY29uZmlnLm10c2AuXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBsYXRlRmlsZVBhdGgobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUocGFja2FnZUZvbGRlciwgJ1BhY2thZ2UgZm9sZGVyIG5vdCBmb3VuZCcpO1xuICByZXR1cm4gam9pbihwYWNrYWdlRm9sZGVyLCBSZXBvUGF0aHMuRGlzdFRlbXBsYXRlcywgbmFtZSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxxQkFBcUI7QUFDOUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHlCQUF5QjtBQVEzQixTQUFTLG9CQUFvQixNQUFzQjtBQUN4RCxRQUFNLGdCQUFnQixjQUFjLGNBQWMsWUFBWSxHQUFHLENBQUM7QUFDbEUsb0JBQWtCLGVBQWUsMEJBQTBCO0FBQzNELFNBQU8sS0FBSyxlQUFlLFVBQVUsZUFBZSxJQUFJO0FBQzFEOyIsIm5hbWVzIjpbXX0=
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  export * as 'integration-test-plugin' from './integration-test-plugin.mjs';
3
3
  export * as 'performance-eval-cap' from './performance-eval-cap.mjs';
4
4
  export * as 'vitest-config' from './vitest-config.mjs';
@@ -3,42 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- (function initEsm() {
37
- ensureDisposeSymbols();
38
- ensureBrowserProcess();
39
- })();
40
- })();
41
-
42
6
  import * as integration_test_plugin from "./integration-test-plugin.mjs";
43
7
  import * as performance_eval_cap from "./performance-eval-cap.mjs";
44
8
  import * as vitest_config from "./vitest-config.mjs";
@@ -47,4 +11,4 @@ export {
47
11
  performance_eval_cap as "performance-eval-cap",
48
12
  vitest_config as "vitest-config"
49
13
  };
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbicgZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAncGVyZm9ybWFuY2UtZXZhbC1jYXAnIGZyb20gJy4vcGVyZm9ybWFuY2UtZXZhbC1jYXAudHMnO1xuZXhwb3J0ICogYXMgJ3ZpdGVzdC1jb25maWcnIGZyb20gJy4vdml0ZXN0LWNvbmZpZy50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLFlBQVlBLDZCQUErQjtBQUMzQyxZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsbUJBQXFCOyIsCiAgIm5hbWVzIjogWyJpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbiIsICJwZXJmb3JtYW5jZS1ldmFsLWNhcCIsICJ2aXRlc3QtY29uZmlnIl0KfQo=
14
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbicgZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAncGVyZm9ybWFuY2UtZXZhbC1jYXAnIGZyb20gJy4vcGVyZm9ybWFuY2UtZXZhbC1jYXAudHMnO1xuZXhwb3J0ICogYXMgJ3ZpdGVzdC1jb25maWcnIGZyb20gJy4vdml0ZXN0LWNvbmZpZy50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQUVBLFlBQVlBLDZCQUErQjtBQUMzQyxZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsbUJBQXFCOyIsCiAgIm5hbWVzIjogWyJpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbiIsICJwZXJmb3JtYW5jZS1ldmFsLWNhcCIsICJ2aXRlc3QtY29uZmlnIl0KfQo=
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -14,14 +14,14 @@
14
14
  * turned on by `obsidian-integration-testing`'s `createSetup({ enableCommunityPlugins })`.
15
15
  * - {@link registerIntegrationTestLibResolver} registers the renderer-side resolver that reads that global.
16
16
  *
17
- * `obsidian-dev-utils/integration-test-vitest-global-setup` and
18
- * `obsidian-dev-utils/integration-test-setup` are the turnkey endpoints that call these for you.
17
+ * `@mnaoumov/obsidian-dev-toolkit/integration-test-vitest-global-setup` and
18
+ * `@mnaoumov/obsidian-dev-toolkit/integration-test-setup` are the turnkey endpoints that call these for you.
19
19
  */
20
20
  /**
21
21
  * The id of the integration-test harness plugin — the folder name it is seeded into, and the value to pass
22
22
  * to `createSetup({ enableCommunityPlugins })` so the harness enables it after the plugin-under-test.
23
23
  */
24
- export declare const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
24
+ export declare const OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-toolkit-integration-test";
25
25
  /**
26
26
  * Builds the vault-relative file map that installs the shipped integration-test harness plugin, ready to
27
27
  * hand to a global setup's `populate` (or to merge into a larger map the consumer already builds).
@@ -37,7 +37,7 @@ export declare function getIntegrationTestPluginPopulate(): Record<string, Uint8
37
37
  * Registers the renderer-side resolver that merges the whole library into the `lib` argument of every
38
38
  * `evalInObsidian` callback, reading it from the global the harness plugin publishes.
39
39
  *
40
- * Call once per test worker — the published `obsidian-dev-utils/integration-test-setup` endpoint does it
40
+ * Call once per test worker — the published `@mnaoumov/obsidian-dev-toolkit/integration-test-setup` endpoint does it
41
41
  * for you when listed in `setupFiles`. Registration is idempotent (the harness dedupes resolvers by source
42
42
  * text), so calling it more than once is safe.
43
43
  */
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,10 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- (function initEsm() {
37
- ensureDisposeSymbols();
38
- ensureBrowserProcess();
39
- })();
30
+ ensureBrowserProcess();
40
31
  })();
41
32
 
42
33
  import { getRootFolder } from "@mnaoumov/typescript-dev-toolkit/root";
@@ -47,17 +38,17 @@ import {
47
38
  import { readFileSync } from "node:fs";
48
39
  import { registerLibResolver } from "obsidian-integration-testing";
49
40
  import { ObsidianPluginRepoPaths } from "../obsidian-plugin-repo-paths.mjs";
50
- const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
41
+ const OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-toolkit-integration-test";
51
42
  function getIntegrationTestPluginPopulate() {
52
43
  const packageFolder = getRootFolder(getFolderName(import.meta.url));
53
44
  if (!packageFolder) {
54
- throw new Error("Could not resolve the obsidian-dev-utils package folder to seed the integration-test harness plugin.");
45
+ throw new Error("Could not resolve the @mnaoumov/obsidian-dev-toolkit package folder to seed the integration-test harness plugin.");
55
46
  }
56
47
  const pluginSourceFolder = join(packageFolder, ObsidianPluginRepoPaths.DistIntegrationTestPlugin);
57
48
  const pluginVaultFolder = join(
58
49
  ObsidianPluginRepoPaths.DotObsidian,
59
50
  ObsidianPluginRepoPaths.Plugins,
60
- OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID
51
+ OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID
61
52
  );
62
53
  const populate = {};
63
54
  for (const fileName of [ObsidianPluginRepoPaths.MainJs, ObsidianPluginRepoPaths.ManifestJson]) {
@@ -67,7 +58,7 @@ function getIntegrationTestPluginPopulate() {
67
58
  content = readFileSync(sourcePath);
68
59
  } catch (error) {
69
60
  throw new Error(
70
- `Could not read ${sourcePath}. The integration-test harness plugin is missing from the installed obsidian-dev-utils package \u2014 run \`npm run build\` in obsidian-dev-utils, or reinstall it.`,
61
+ `Could not read ${sourcePath}. The integration-test harness plugin is missing from the installed @mnaoumov/obsidian-dev-toolkit package \u2014 reinstall it, or run \`npm run build\` in its checkout.`,
71
62
  { cause: error }
72
63
  );
73
64
  }
@@ -80,15 +71,15 @@ function registerIntegrationTestLibResolver() {
80
71
  const obsidianDevUtilsModule = window.__obsidianDevUtilsModule;
81
72
  if (!obsidianDevUtilsModule) {
82
73
  throw new Error(
83
- "The obsidian-dev-utils module is not exposed on `window`. Is the obsidian-dev-utils integration-test harness plugin installed and enabled in the test vault? See `obsidian-dev-utils/integration-test-vitest-global-setup`."
74
+ "The library module is not exposed on `window`. Is the @mnaoumov/obsidian-dev-toolkit integration-test harness plugin installed and enabled in the test vault? See `@mnaoumov/obsidian-dev-toolkit/integration-test-vitest-global-setup`."
84
75
  );
85
76
  }
86
77
  return obsidianDevUtilsModule.__merged;
87
78
  });
88
79
  }
89
80
  export {
90
- OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID,
81
+ OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID,
91
82
  getIntegrationTestPluginPopulate,
92
83
  registerIntegrationTestLibResolver
93
84
  };
94
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFdpcmVzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaW50byBhIGNvbnN1bWVyIHBsdWdpbidzIGludGVncmF0aW9uIHRlc3RzLCBzbyBldmVyeVxuICogbGlicmFyeSBoZWxwZXIgaXMgcmVhY2hhYmxlIGFzIGBsaWIuPGhlbHBlcj5gIGluc2lkZSBhbiBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUuXG4gKlxuICogVHdvIGhhbHZlcywgYW5kIGJvdGggbXVzdCBiZSB3aXJlZCBvciBgbGliLjxoZWxwZXI+YCBmYWlsczpcbiAqXG4gKiAtIHtAbGluayBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZX0gcHV0cyB0aGUgaGFybmVzcyBwbHVnaW4ncyBiaW5hcmllcyBpbiB0aGUgdGVzdCB2YXVsdC4gVGhlXG4gKiAgIGhhcm5lc3MgcGx1Z2luIGlzIHdoYXQgcHVibGlzaGVzIHRoZSBsaWJyYXJ5IG9uIGB3aW5kb3cuX19vYnNpZGlhbkRldlV0aWxzTW9kdWxlYDsgaW4gdGhpcyByZXBvJ3Mgb3duXG4gKiAgIHN1aXRlIGl0IElTIHRoZSBwbHVnaW4tdW5kZXItdGVzdCwgYnV0IGluIGEgY29uc3VtZXIncyBzdWl0ZSB0aGUgcGx1Z2luLXVuZGVyLXRlc3QgaXMgdGhlIGNvbnN1bWVyJ3Mgb3duXG4gKiAgIHBsdWdpbiwgc28gdGhlIGhhcm5lc3MgaGFzIHRvIHJpZGUgYWxvbmcgYXMgYSBzZWNvbmQsIHRlc3Qtb25seSBjb21tdW5pdHkgcGx1Z2luIFx1MjAxNCBzZWVkZWQgaGVyZSwgYW5kXG4gKiAgIHR1cm5lZCBvbiBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AncyBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYC5cbiAqIC0ge0BsaW5rIHJlZ2lzdGVySW50ZWdyYXRpb25UZXN0TGliUmVzb2x2ZXJ9IHJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IHJlYWRzIHRoYXQgZ2xvYmFsLlxuICpcbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC12aXRlc3QtZ2xvYmFsLXNldHVwYCBhbmRcbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgYXJlIHRoZSB0dXJua2V5IGVuZHBvaW50cyB0aGF0IGNhbGwgdGhlc2UgZm9yIHlvdS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcblxuLyoqXG4gKiBUaGUgaWQgb2YgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gXHUyMDE0IHRoZSBmb2xkZXIgbmFtZSBpdCBpcyBzZWVkZWQgaW50bywgYW5kIHRoZSB2YWx1ZSB0byBwYXNzXG4gKiB0byBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYCBzbyB0aGUgaGFybmVzcyBlbmFibGVzIGl0IGFmdGVyIHRoZSBwbHVnaW4tdW5kZXItdGVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0RFVl9VVElMU19JTlRFR1JBVElPTl9URVNUX1BMVUdJTl9JRCA9ICdvYnNpZGlhbi1kZXYtdXRpbHMtaW50ZWdyYXRpb24tdGVzdCc7XG5cbi8qKlxuICogVGhlIGZsYXQgbGlicmFyeSBiYXJyZWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuRGV2VXRpbHNNb2R1bGUge1xuICBfX21lcmdlZDogb2JqZWN0O1xufVxuXG4vKipcbiAqIFRoZSBzaGFwZSB0aGUgaGFybmVzcyBwbHVnaW4gcHVibGlzaGVzIG9uIHRoZSByZW5kZXJlcidzIGB3aW5kb3dgLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdyB7XG4gIF9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTogT2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIHZhdWx0LXJlbGF0aXZlIGZpbGUgbWFwIHRoYXQgaW5zdGFsbHMgdGhlIHNoaXBwZWQgaW50ZWdyYXRpb24tdGVzdCBoYXJuZXNzIHBsdWdpbiwgcmVhZHkgdG9cbiAqIGhhbmQgdG8gYSBnbG9iYWwgc2V0dXAncyBgcG9wdWxhdGVgIChvciB0byBtZXJnZSBpbnRvIGEgbGFyZ2VyIG1hcCB0aGUgY29uc3VtZXIgYWxyZWFkeSBidWlsZHMpLlxuICpcbiAqIFRoZSByZXN1bHQgaXMgYSBgUmVjb3JkPHN0cmluZywgVWludDhBcnJheT5gLCB3aGljaCBpcyBhc3NpZ25hYmxlIHRvIGBvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nYCdzXG4gKiBgUG9wdWxhdGVGaWxlc1BhcmFtc2AgXHUyMDE0IHNvIGl0IGNvbXBvc2VzIHdpdGggYGJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGVgIGFuZCBmcmllbmRzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBtYXAgb2YgdmF1bHQtcmVsYXRpdmUgcGF0aHMgdG8gZmlsZSBjb250ZW50cy5cbiAqIEB0aHJvd3MgSWYgdGhlIGhhcm5lc3MgcGx1Z2luIHdhcyBub3QgYnVpbHQgaW50byB0aGlzIHBhY2thZ2UgXHUyMDE0IGkuZS4gYG5wbSBydW4gYnVpbGRgIG5ldmVyIHJhbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEludGVncmF0aW9uVGVzdFBsdWdpblBvcHVsYXRlKCk6IFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+IHtcbiAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgaWYgKCFwYWNrYWdlRm9sZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcmVzb2x2ZSB0aGUgb2JzaWRpYW4tZGV2LXV0aWxzIHBhY2thZ2UgZm9sZGVyIHRvIHNlZWQgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4uJyk7XG4gIH1cblxuICBjb25zdCBwbHVnaW5Tb3VyY2VGb2xkZXIgPSBqb2luKHBhY2thZ2VGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RJbnRlZ3JhdGlvblRlc3RQbHVnaW4pO1xuICBjb25zdCBwbHVnaW5WYXVsdEZvbGRlciA9IGpvaW4oXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRG90T2JzaWRpYW4sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGx1Z2lucyxcbiAgICBPQlNJRElBTl9ERVZfVVRJTFNfSU5URUdSQVRJT05fVEVTVF9QTFVHSU5fSURcbiAgKTtcblxuICBjb25zdCBwb3B1bGF0ZTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbl0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gam9pbihwbHVnaW5Tb3VyY2VGb2xkZXIsIGZpbGVOYW1lKTtcbiAgICBsZXQgY29udGVudDogVWludDhBcnJheTtcbiAgICB0cnkge1xuICAgICAgY29udGVudCA9IHJlYWRGaWxlU3luYyhzb3VyY2VQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJlYWQgJHtzb3VyY2VQYXRofS4gVGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaXMgbWlzc2luZyBmcm9tIHRoZSBpbnN0YWxsZWQgYFxuICAgICAgICAgICsgJ29ic2lkaWFuLWRldi11dGlscyBwYWNrYWdlIFx1MjAxNCBydW4gYG5wbSBydW4gYnVpbGRgIGluIG9ic2lkaWFuLWRldi11dGlscywgb3IgcmVpbnN0YWxsIGl0LicsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHBvcHVsYXRlW2pvaW4ocGx1Z2luVmF1bHRGb2xkZXIsIGZpbGVOYW1lKV0gPSBjb250ZW50O1xuICB9XG5cbiAgcmV0dXJuIHBvcHVsYXRlO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IG1lcmdlcyB0aGUgd2hvbGUgbGlicmFyeSBpbnRvIHRoZSBgbGliYCBhcmd1bWVudCBvZiBldmVyeVxuICogYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaywgcmVhZGluZyBpdCBmcm9tIHRoZSBnbG9iYWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqXG4gKiBDYWxsIG9uY2UgcGVyIHRlc3Qgd29ya2VyIFx1MjAxNCB0aGUgcHVibGlzaGVkIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgZW5kcG9pbnQgZG9lcyBpdFxuICogZm9yIHlvdSB3aGVuIGxpc3RlZCBpbiBgc2V0dXBGaWxlc2AuIFJlZ2lzdHJhdGlvbiBpcyBpZGVtcG90ZW50ICh0aGUgaGFybmVzcyBkZWR1cGVzIHJlc29sdmVycyBieSBzb3VyY2VcbiAqIHRleHQpLCBzbyBjYWxsaW5nIGl0IG1vcmUgdGhhbiBvbmNlIGlzIHNhZmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckludGVncmF0aW9uVGVzdExpYlJlc29sdmVyKCk6IHZvaWQge1xuICByZWdpc3RlckxpYlJlc29sdmVyKCgpOiBvYmplY3QgPT4ge1xuICAgIGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUgPSAod2luZG93IGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdz4pLl9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbiAgICBpZiAoIW9ic2lkaWFuRGV2VXRpbHNNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBvYnNpZGlhbi1kZXYtdXRpbHMgbW9kdWxlIGlzIG5vdCBleHBvc2VkIG9uIGB3aW5kb3dgLiBJcyB0aGUgb2JzaWRpYW4tZGV2LXV0aWxzIGludGVncmF0aW9uLXRlc3QgJ1xuICAgICAgICAgICsgJ2hhcm5lc3MgcGx1Z2luIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiB0aGUgdGVzdCB2YXVsdD8gU2VlICdcbiAgICAgICAgICArICdgb2JzaWRpYW4tZGV2LXV0aWxzL2ludGVncmF0aW9uLXRlc3Qtdml0ZXN0LWdsb2JhbC1zZXR1cGAuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUuX19tZXJnZWQ7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBUyxxQkFBcUI7QUFDOUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLDJCQUEyQjtBQUVwQyxTQUFTLCtCQUErQjtBQU1qQyxNQUFNLGdEQUFnRDtBQTBCdEQsU0FBUyxtQ0FBK0Q7QUFDN0UsUUFBTSxnQkFBZ0IsY0FBYyxjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ2xFLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFVBQU0sSUFBSSxNQUFNLHNHQUFzRztBQUFBLEVBQ3hIO0FBRUEsUUFBTSxxQkFBcUIsS0FBSyxlQUFlLHdCQUF3Qix5QkFBeUI7QUFDaEcsUUFBTSxvQkFBb0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4QjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQXVDLENBQUM7QUFFOUMsYUFBVyxZQUFZLENBQUMsd0JBQXdCLFFBQVEsd0JBQXdCLFlBQVksR0FBRztBQUM3RixVQUFNLGFBQWEsS0FBSyxvQkFBb0IsUUFBUTtBQUNwRCxRQUFJO0FBQ0osUUFBSTtBQUNGLGdCQUFVLGFBQWEsVUFBVTtBQUFBLElBQ25DLFNBQVMsT0FBZ0I7QUFDdkIsWUFBTSxJQUFJO0FBQUEsUUFDUixrQkFBa0IsVUFBVTtBQUFBLFFBRTVCLEVBQUUsT0FBTyxNQUFNO0FBQUEsTUFDakI7QUFBQSxJQUNGO0FBQ0EsYUFBUyxLQUFLLG1CQUFtQixRQUFRLENBQUMsSUFBSTtBQUFBLEVBQ2hEO0FBRUEsU0FBTztBQUNUO0FBVU8sU0FBUyxxQ0FBMkM7QUFDekQsc0JBQW9CLE1BQWM7QUFDaEMsVUFBTSx5QkFBMEIsT0FBaUQ7QUFDakYsUUFBSSxDQUFDLHdCQUF3QjtBQUMzQixZQUFNLElBQUk7QUFBQSxRQUNSO0FBQUEsTUFHRjtBQUFBLElBQ0Y7QUFDQSxXQUFPLHVCQUF1QjtBQUFBLEVBQ2hDLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvaW50ZWdyYXRpb24tdGVzdC1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFdpcmVzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaW50byBhIGNvbnN1bWVyIHBsdWdpbidzIGludGVncmF0aW9uIHRlc3RzLCBzbyBldmVyeVxuICogbGlicmFyeSBoZWxwZXIgaXMgcmVhY2hhYmxlIGFzIGBsaWIuPGhlbHBlcj5gIGluc2lkZSBhbiBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUuXG4gKlxuICogVHdvIGhhbHZlcywgYW5kIGJvdGggbXVzdCBiZSB3aXJlZCBvciBgbGliLjxoZWxwZXI+YCBmYWlsczpcbiAqXG4gKiAtIHtAbGluayBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZX0gcHV0cyB0aGUgaGFybmVzcyBwbHVnaW4ncyBiaW5hcmllcyBpbiB0aGUgdGVzdCB2YXVsdC4gVGhlXG4gKiAgIGhhcm5lc3MgcGx1Z2luIGlzIHdoYXQgcHVibGlzaGVzIHRoZSBsaWJyYXJ5IG9uIGB3aW5kb3cuX19vYnNpZGlhbkRldlV0aWxzTW9kdWxlYDsgaW4gdGhpcyByZXBvJ3Mgb3duXG4gKiAgIHN1aXRlIGl0IElTIHRoZSBwbHVnaW4tdW5kZXItdGVzdCwgYnV0IGluIGEgY29uc3VtZXIncyBzdWl0ZSB0aGUgcGx1Z2luLXVuZGVyLXRlc3QgaXMgdGhlIGNvbnN1bWVyJ3Mgb3duXG4gKiAgIHBsdWdpbiwgc28gdGhlIGhhcm5lc3MgaGFzIHRvIHJpZGUgYWxvbmcgYXMgYSBzZWNvbmQsIHRlc3Qtb25seSBjb21tdW5pdHkgcGx1Z2luIOKAlCBzZWVkZWQgaGVyZSwgYW5kXG4gKiAgIHR1cm5lZCBvbiBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AncyBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYC5cbiAqIC0ge0BsaW5rIHJlZ2lzdGVySW50ZWdyYXRpb25UZXN0TGliUmVzb2x2ZXJ9IHJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IHJlYWRzIHRoYXQgZ2xvYmFsLlxuICpcbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC12aXRlc3QtZ2xvYmFsLXNldHVwYCBhbmRcbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgYXJlIHRoZSB0dXJua2V5IGVuZHBvaW50cyB0aGF0IGNhbGwgdGhlc2UgZm9yIHlvdS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcblxuLyoqXG4gKiBUaGUgaWQgb2YgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4g4oCUIHRoZSBmb2xkZXIgbmFtZSBpdCBpcyBzZWVkZWQgaW50bywgYW5kIHRoZSB2YWx1ZSB0byBwYXNzXG4gKiB0byBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYCBzbyB0aGUgaGFybmVzcyBlbmFibGVzIGl0IGFmdGVyIHRoZSBwbHVnaW4tdW5kZXItdGVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0RFVl9UT09MS0lUX0lOVEVHUkFUSU9OX1RFU1RfUExVR0lOX0lEID0gJ29ic2lkaWFuLWRldi10b29sa2l0LWludGVncmF0aW9uLXRlc3QnO1xuXG4vKipcbiAqIFRoZSBmbGF0IGxpYnJhcnkgYmFycmVsIHRoZSBoYXJuZXNzIHBsdWdpbiBwdWJsaXNoZXMuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkRldlV0aWxzTW9kdWxlIHtcbiAgX19tZXJnZWQ6IG9iamVjdDtcbn1cblxuLyoqXG4gKiBUaGUgc2hhcGUgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcyBvbiB0aGUgcmVuZGVyZXIncyBgd2luZG93YC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuRGV2VXRpbHNNb2R1bGVXaW5kb3cge1xuICBfX29ic2lkaWFuRGV2VXRpbHNNb2R1bGU6IE9ic2lkaWFuRGV2VXRpbHNNb2R1bGU7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSB2YXVsdC1yZWxhdGl2ZSBmaWxlIG1hcCB0aGF0IGluc3RhbGxzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4sIHJlYWR5IHRvXG4gKiBoYW5kIHRvIGEgZ2xvYmFsIHNldHVwJ3MgYHBvcHVsYXRlYCAob3IgdG8gbWVyZ2UgaW50byBhIGxhcmdlciBtYXAgdGhlIGNvbnN1bWVyIGFscmVhZHkgYnVpbGRzKS5cbiAqXG4gKiBUaGUgcmVzdWx0IGlzIGEgYFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+YCwgd2hpY2ggaXMgYXNzaWduYWJsZSB0byBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2Anc1xuICogYFBvcHVsYXRlRmlsZXNQYXJhbXNgIOKAlCBzbyBpdCBjb21wb3NlcyB3aXRoIGBidWlsZERlbW9WYXVsdFBvcHVsYXRlYCBhbmQgZnJpZW5kcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbWFwIG9mIHZhdWx0LXJlbGF0aXZlIHBhdGhzIHRvIGZpbGUgY29udGVudHMuXG4gKiBAdGhyb3dzIElmIHRoZSBoYXJuZXNzIHBsdWdpbiB3YXMgbm90IGJ1aWx0IGludG8gdGhpcyBwYWNrYWdlIOKAlCBpLmUuIGBucG0gcnVuIGJ1aWxkYCBuZXZlciByYW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZSgpOiBSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gIGNvbnN0IHBhY2thZ2VGb2xkZXIgPSBnZXRSb290Rm9sZGVyKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gIGlmICghcGFja2FnZUZvbGRlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJlc29sdmUgdGhlIEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBwYWNrYWdlIGZvbGRlciB0byBzZWVkIHRoZSBpbnRlZ3JhdGlvbi10ZXN0IGhhcm5lc3MgcGx1Z2luLicpO1xuICB9XG5cbiAgY29uc3QgcGx1Z2luU291cmNlRm9sZGVyID0gam9pbihwYWNrYWdlRm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0SW50ZWdyYXRpb25UZXN0UGx1Z2luKTtcbiAgY29uc3QgcGx1Z2luVmF1bHRGb2xkZXIgPSBqb2luKFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgT0JTSURJQU5fREVWX1RPT0xLSVRfSU5URUdSQVRJT05fVEVTVF9QTFVHSU5fSURcbiAgKTtcblxuICBjb25zdCBwb3B1bGF0ZTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbl0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gam9pbihwbHVnaW5Tb3VyY2VGb2xkZXIsIGZpbGVOYW1lKTtcbiAgICBsZXQgY29udGVudDogVWludDhBcnJheTtcbiAgICB0cnkge1xuICAgICAgY29udGVudCA9IHJlYWRGaWxlU3luYyhzb3VyY2VQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJlYWQgJHtzb3VyY2VQYXRofS4gVGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaXMgbWlzc2luZyBmcm9tIHRoZSBpbnN0YWxsZWQgYFxuICAgICAgICAgICsgJ0BtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBwYWNrYWdlIOKAlCByZWluc3RhbGwgaXQsIG9yIHJ1biBgbnBtIHJ1biBidWlsZGAgaW4gaXRzIGNoZWNrb3V0LicsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHBvcHVsYXRlW2pvaW4ocGx1Z2luVmF1bHRGb2xkZXIsIGZpbGVOYW1lKV0gPSBjb250ZW50O1xuICB9XG5cbiAgcmV0dXJuIHBvcHVsYXRlO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IG1lcmdlcyB0aGUgd2hvbGUgbGlicmFyeSBpbnRvIHRoZSBgbGliYCBhcmd1bWVudCBvZiBldmVyeVxuICogYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaywgcmVhZGluZyBpdCBmcm9tIHRoZSBnbG9iYWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqXG4gKiBDYWxsIG9uY2UgcGVyIHRlc3Qgd29ya2VyIOKAlCB0aGUgcHVibGlzaGVkIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgZW5kcG9pbnQgZG9lcyBpdFxuICogZm9yIHlvdSB3aGVuIGxpc3RlZCBpbiBgc2V0dXBGaWxlc2AuIFJlZ2lzdHJhdGlvbiBpcyBpZGVtcG90ZW50ICh0aGUgaGFybmVzcyBkZWR1cGVzIHJlc29sdmVycyBieSBzb3VyY2VcbiAqIHRleHQpLCBzbyBjYWxsaW5nIGl0IG1vcmUgdGhhbiBvbmNlIGlzIHNhZmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckludGVncmF0aW9uVGVzdExpYlJlc29sdmVyKCk6IHZvaWQge1xuICByZWdpc3RlckxpYlJlc29sdmVyKCgpOiBvYmplY3QgPT4ge1xuICAgIGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUgPSAod2luZG93IGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdz4pLl9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbiAgICBpZiAoIW9ic2lkaWFuRGV2VXRpbHNNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBsaWJyYXJ5IG1vZHVsZSBpcyBub3QgZXhwb3NlZCBvbiBgd2luZG93YC4gSXMgdGhlIEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBpbnRlZ3JhdGlvbi10ZXN0ICdcbiAgICAgICAgICArICdoYXJuZXNzIHBsdWdpbiBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgaW4gdGhlIHRlc3QgdmF1bHQ/IFNlZSAnXG4gICAgICAgICAgKyAnYEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdC9pbnRlZ3JhdGlvbi10ZXN0LXZpdGVzdC1nbG9iYWwtc2V0dXBgLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvYnNpZGlhbkRldlV0aWxzTW9kdWxlLl9fbWVyZ2VkO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBUyxxQkFBcUI7QUFDOUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLDJCQUEyQjtBQUVwQyxTQUFTLCtCQUErQjtBQU1qQyxNQUFNLGtEQUFrRDtBQTBCeEQsU0FBUyxtQ0FBK0Q7QUFDN0UsUUFBTSxnQkFBZ0IsY0FBYyxjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ2xFLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFVBQU0sSUFBSSxNQUFNLGtIQUFrSDtBQUFBLEVBQ3BJO0FBRUEsUUFBTSxxQkFBcUIsS0FBSyxlQUFlLHdCQUF3Qix5QkFBeUI7QUFDaEcsUUFBTSxvQkFBb0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4QjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQXVDLENBQUM7QUFFOUMsYUFBVyxZQUFZLENBQUMsd0JBQXdCLFFBQVEsd0JBQXdCLFlBQVksR0FBRztBQUM3RixVQUFNLGFBQWEsS0FBSyxvQkFBb0IsUUFBUTtBQUNwRCxRQUFJO0FBQ0osUUFBSTtBQUNGLGdCQUFVLGFBQWEsVUFBVTtBQUFBLElBQ25DLFNBQVMsT0FBZ0I7QUFDdkIsWUFBTSxJQUFJO0FBQUEsUUFDUixrQkFBa0IsVUFBVTtBQUFBLFFBRTVCLEVBQUUsT0FBTyxNQUFNO0FBQUEsTUFDakI7QUFBQSxJQUNGO0FBQ0EsYUFBUyxLQUFLLG1CQUFtQixRQUFRLENBQUMsSUFBSTtBQUFBLEVBQ2hEO0FBRUEsU0FBTztBQUNUO0FBVU8sU0FBUyxxQ0FBMkM7QUFDekQsc0JBQW9CLE1BQWM7QUFDaEMsVUFBTSx5QkFBMEIsT0FBaUQ7QUFDakYsUUFBSSxDQUFDLHdCQUF3QjtBQUMzQixZQUFNLElBQUk7QUFBQSxRQUNSO0FBQUEsTUFHRjtBQUFBLElBQ0Y7QUFDQSxXQUFPLHVCQUF1QjtBQUFBLEVBQ2hDLENBQUM7QUFDSDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -3,46 +3,10 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- (function initEsm() {
37
- ensureDisposeSymbols();
38
- ensureBrowserProcess();
39
- })();
40
- })();
41
-
42
6
  const PERFORMANCE_EVAL_CAP_IN_MILLISECONDS = 6e5;
43
7
  const DESKTOP_PERFORMANCE_TEST_FILE_SUFFIX = ".desktop-performance.integration.test.ts";
44
8
  export {
45
9
  DESKTOP_PERFORMANCE_TEST_FILE_SUFFIX,
46
10
  PERFORMANCE_EVAL_CAP_IN_MILLISECONDS
47
11
  };
48
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9wZXJmb3JtYW5jZS1ldmFsLWNhcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBwZXItZXZhbCBjYXAgb2YgdGhlIGBpbnRlZ3JhdGlvbi10ZXN0czpkZXNrdG9wLXBlcmZvcm1hbmNlYCBwcm9qZWN0LCBhbmQgdGhlIGZpbGUgc3VmZml4IHRoYXRcbiAqIHByb2plY3QgY29sbGVjdHMuXG4gKlxuICogQm90aCBsaXZlIGhlcmUsIHJhdGhlciB0aGFuIGluIGB2aXRlc3QtY29uZmlnLnRzYCwgYmVjYXVzZSB0aGUgYG5vLW92ZXItY2FwLXdhaXQtaW4tZXZhbC1pbi1vYnNpZGlhbmBcbiAqIEVTTGludCBydWxlIHJlYWRzIHRoZW0gdG9vLCBhbmQgdGhlIHNoYXJlZCBFU0xpbnQgY29uZmlnIGxvYWRzIHRoYXQgcnVsZSBpbiBldmVyeSBjb25zdW1pbmcgcmVwbzpcbiAqIGltcG9ydGluZyBgdml0ZXN0LWNvbmZpZy50c2AgZnJvbSB0aGUgcnVsZSB3b3VsZCBsb2FkIGB2aXRlc3QvY29uZmlnYCBhdCBsaW50IHRpbWUgZm9yIG5vdGhpbmcuXG4gKi9cblxuLyoqXG4gKiBUaGUgcGVyLWV2YWwgY2FwIHRoZSBgaW50ZWdyYXRpb24tdGVzdHM6ZGVza3RvcC1wZXJmb3JtYW5jZWAgcHJvamVjdCBnaXZlcyBpdHMgQ0RQIHRyYW5zcG9ydCwgaW5cbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBFdmVyeSBvdGhlciBwcm9qZWN0IGtlZXBzIHRoZSB0cmFuc3BvcnQncyBvd24gYERFRkFVTFRfRVZBTF9DQVBfSU5fTUlMTElTRUNPTkRTYCAoMzAgMDAwKSwgYW5kIGEgcmVwb1xuICogdGhhdCByYWlzZXMgaXRzIGRlc2t0b3AgY2FwIGFib3ZlIHRoYXQgaXMgc2V0dGluZyBhIEJBQ0tTVE9QLCBub3QgYSBidWRnZXQgYSBjbG9zdXJlIG1heSBzcGVuZC4gVGhlXG4gKiBwZXJmb3JtYW5jZSBwcm9qZWN0IGlzIHRoZSBvbmUgZXhjZXB0aW9uLCBhbmQgYSBkZWxpYmVyYXRlIG9uZTogaXRzIHdob2xlIG1lYXN1cmVtZW50IGlzIG9uZSBsb25nXG4gKiBpbi1wYWdlIGBSdW50aW1lLmV2YWx1YXRlYCBvdmVyIGEgdmF1bHQgb2YgdGVucyBvZiB0aG91c2FuZHMgb2Ygbm90ZXMsIGFuZCBpdHMgZmlsZXMgcnVuIG9uIG5vIG90aGVyXG4gKiBwcm9qZWN0LiBBIGNyb3NzLXBsYXRmb3JtIHN1aXRlIGdhaW5zIG5vdGhpbmcgZnJvbSBhbnkgZGVza3RvcCByYWlzZSwgYmVjYXVzZSBBcHBpdW0gY2FwcyBpdCBhdFxuICogMzAgMDAwIHdoYXRldmVyIHRoZSBkZXNrdG9wIHByb2plY3Qgc2F5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUkZPUk1BTkNFX0VWQUxfQ0FQX0lOX01JTExJU0VDT05EUyA9IDYwMF8wMDA7XG5cbi8qKlxuICogVGhlIGZpbGUtbmFtZSBzdWZmaXggb2YgYSBzdWl0ZSB0aGUgYGludGVncmF0aW9uLXRlc3RzOmRlc2t0b3AtcGVyZm9ybWFuY2VgIHByb2plY3QgY29sbGVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBERVNLVE9QX1BFUkZPUk1BTkNFX1RFU1RfRklMRV9TVUZGSVggPSAnLmRlc2t0b3AtcGVyZm9ybWFuY2UuaW50ZWdyYXRpb24udGVzdC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCTyxNQUFNLHVDQUF1QztBQUs3QyxNQUFNLHVDQUF1QzsiLAogICJuYW1lcyI6IFtdCn0K
12
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9wZXJmb3JtYW5jZS1ldmFsLWNhcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBwZXItZXZhbCBjYXAgb2YgdGhlIGBpbnRlZ3JhdGlvbi10ZXN0czpkZXNrdG9wLXBlcmZvcm1hbmNlYCBwcm9qZWN0LCBhbmQgdGhlIGZpbGUgc3VmZml4IHRoYXRcbiAqIHByb2plY3QgY29sbGVjdHMuXG4gKlxuICogQm90aCBsaXZlIGhlcmUsIHJhdGhlciB0aGFuIGluIGB2aXRlc3QtY29uZmlnLnRzYCwgYmVjYXVzZSB0aGUgYG5vLW92ZXItY2FwLXdhaXQtaW4tZXZhbC1pbi1vYnNpZGlhbmBcbiAqIEVTTGludCBydWxlIHJlYWRzIHRoZW0gdG9vLCBhbmQgdGhlIHNoYXJlZCBFU0xpbnQgY29uZmlnIGxvYWRzIHRoYXQgcnVsZSBpbiBldmVyeSBjb25zdW1pbmcgcmVwbzpcbiAqIGltcG9ydGluZyBgdml0ZXN0LWNvbmZpZy50c2AgZnJvbSB0aGUgcnVsZSB3b3VsZCBsb2FkIGB2aXRlc3QvY29uZmlnYCBhdCBsaW50IHRpbWUgZm9yIG5vdGhpbmcuXG4gKi9cblxuLyoqXG4gKiBUaGUgcGVyLWV2YWwgY2FwIHRoZSBgaW50ZWdyYXRpb24tdGVzdHM6ZGVza3RvcC1wZXJmb3JtYW5jZWAgcHJvamVjdCBnaXZlcyBpdHMgQ0RQIHRyYW5zcG9ydCwgaW5cbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBFdmVyeSBvdGhlciBwcm9qZWN0IGtlZXBzIHRoZSB0cmFuc3BvcnQncyBvd24gYERFRkFVTFRfRVZBTF9DQVBfSU5fTUlMTElTRUNPTkRTYCAoMzAgMDAwKSwgYW5kIGEgcmVwb1xuICogdGhhdCByYWlzZXMgaXRzIGRlc2t0b3AgY2FwIGFib3ZlIHRoYXQgaXMgc2V0dGluZyBhIEJBQ0tTVE9QLCBub3QgYSBidWRnZXQgYSBjbG9zdXJlIG1heSBzcGVuZC4gVGhlXG4gKiBwZXJmb3JtYW5jZSBwcm9qZWN0IGlzIHRoZSBvbmUgZXhjZXB0aW9uLCBhbmQgYSBkZWxpYmVyYXRlIG9uZTogaXRzIHdob2xlIG1lYXN1cmVtZW50IGlzIG9uZSBsb25nXG4gKiBpbi1wYWdlIGBSdW50aW1lLmV2YWx1YXRlYCBvdmVyIGEgdmF1bHQgb2YgdGVucyBvZiB0aG91c2FuZHMgb2Ygbm90ZXMsIGFuZCBpdHMgZmlsZXMgcnVuIG9uIG5vIG90aGVyXG4gKiBwcm9qZWN0LiBBIGNyb3NzLXBsYXRmb3JtIHN1aXRlIGdhaW5zIG5vdGhpbmcgZnJvbSBhbnkgZGVza3RvcCByYWlzZSwgYmVjYXVzZSBBcHBpdW0gY2FwcyBpdCBhdFxuICogMzAgMDAwIHdoYXRldmVyIHRoZSBkZXNrdG9wIHByb2plY3Qgc2F5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUkZPUk1BTkNFX0VWQUxfQ0FQX0lOX01JTExJU0VDT05EUyA9IDYwMF8wMDA7XG5cbi8qKlxuICogVGhlIGZpbGUtbmFtZSBzdWZmaXggb2YgYSBzdWl0ZSB0aGUgYGludGVncmF0aW9uLXRlc3RzOmRlc2t0b3AtcGVyZm9ybWFuY2VgIHByb2plY3QgY29sbGVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBERVNLVE9QX1BFUkZPUk1BTkNFX1RFU1RfRklMRV9TVUZGSVggPSAnLmRlc2t0b3AtcGVyZm9ybWFuY2UuaW50ZWdyYXRpb24udGVzdC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQXNCTyxNQUFNLHVDQUF1QztBQUs3QyxNQUFNLHVDQUF1QzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,10 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- (function initEsm() {
37
- ensureDisposeSymbols();
38
- ensureBrowserProcess();
39
- })();
30
+ ensureBrowserProcess();
40
31
  })();
41
32
 
42
33
  import { toPosixPath } from "@mnaoumov/typescript-lib/path";
@@ -112,4 +103,4 @@ export {
112
103
  formatStaleBuildMessage,
113
104
  setup
114
105
  };
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9zdGFsZS1idWlsZC1nbG9iYWwtc2V0dXAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwIHRoYXQgcmVmdXNlcyB0byBzdGFydCBhbiBpbnRlZ3JhdGlvbiBwcm9qZWN0IHdob3NlIHBsdWdpbiBidWlsZCBpcyBzdGFsZS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24gaGFybmVzcyBlbmFibGVzIHRoZSBwbHVnaW4gZnJvbSBpdHMgQlVJTEQsIGBkaXN0L2J1aWxkL21haW4uanNgLCBhbmQgYSBwbHVnaW4nc1xuICogYHRlc3Q6aW50ZWdyYXRpb24qYCBzY3JpcHRzIGNhbGwgdml0ZXN0IGRpcmVjdGx5LCBzbyBub3RoaW5nIG9uIHRoYXQgcGF0aCBidWlsZHMgZmlyc3QuIEEgc2Vzc2lvbiB0aGF0XG4gKiBlZGl0cyBgc3JjL2AgYW5kIHRoZW4gcnVucyBvbmUgaW50ZWdyYXRpb24gcHJvamVjdCB0ZXN0cyB0aGUgbGFzdCBidWlsZCwgaG93ZXZlciBvbGQgaXQgaXMsIGFuZCB0aGVcbiAqIHN1aXRlIHJlcG9ydHMgdGhlIG9sZCBjb2RlIGFzIGEgYmVoYXZpb3IgZGlmZmVyZW5jZSwgbm90IGFzIGEgc3RhbGUgYXJ0aWZhY3QuIE9uZSBzdWNoIHJ1biBjb3N0IGEgQ0RQXG4gKiBwcm9iZSBpbnRvIE9ic2lkaWFuJ3Mgb3duIGxpbmsgcmVzb2x1dGlvbiwgYSB3cm9uZyBjYWNoZS1yYWNlIHRoZW9yeSwgYW5kIGEgaGFybmVzcyBjaGFuZ2UgdGhhdCB3YXNcbiAqIG1hZGUgYW5kIHRoZW4gcmV2ZXJ0ZWQgYmVmb3JlIGFueW9uZSBub3RpY2VkIHRoYXQgdGhlIGJ1aWxkIHdhcyB0aHJlZSBkYXlzIG9sZC4gYG5wbSBydW4gZ2F0ZWAgYXZvaWRlZFxuICogdGhlIHByb2JsZW0gb25seSBiZWNhdXNlIGl0IGhhcHBlbnMgdG8gYnVpbGQgYmVmb3JlIGl0IHJ1bnMgYHRlc3Q6aW50ZWdyYXRpb25gLlxuICpcbiAqIFRoZSBzZXR1cCByZWZ1c2VzIHRvIHN0YXJ0IHJhdGhlciB0aGFuIGJ1aWxkaW5nLiBBIGJ1aWxkIGluc2lkZSBhIGdsb2JhbCBzZXR1cCB3b3VsZCBydW4gb25jZSBwZXJcbiAqIHByb2plY3QgaW4gYSBtdWx0aS1wcm9qZWN0IGFnZ3JlZ2F0ZSwgYW5kIGl0IHdvdWxkIHNsb3cgZG93biBhIGRlbGliZXJhdGUgcmUtcnVuIG9mIGFuIHVuY2hhbmdlZCBidWlsZC5cbiAqIEEgcmVmdXNhbCBpcyBjaGVhcCwgYW5kIGl0IHNheXMgd2hhdCB0byBydW4uXG4gKlxuICogVGVzdCBmaWxlcyBhcmUgbm90IGJ1aWxkIGlucHV0cy4gRWRpdGluZyBhbiBpbnRlZ3JhdGlvbiBjYXNlIGFuZCByZS1ydW5uaW5nIGl0IGlzIGV4YWN0bHkgdGhlIGxvb3AgdGhhdFxuICogbXVzdCBub3QgZm9yY2UgYSByZWJ1aWxkLCBzbyBgKi50ZXN0LnRzYCBmaWxlcyBhbmQgYHNyYy90ZXN0LWhlbHBlcnMvYCBhcmUgaWdub3JlZC4gQSBkZXBlbmRlbmN5IGJ1bXBcbiAqIGlzIG5vdCBkZXRlY3RlZCBlaXRoZXI6IG9ubHkgZmlsZXMgaW4gdGhlIHJlcG8gYXJlIGNvbXBhcmVkLCBub3QgYG5vZGVfbW9kdWxlc2AuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBUZXN0UHJvamVjdCB9IGZyb20gJ3ZpdGVzdC9ub2RlJztcblxuaW1wb3J0IHsgdG9Qb3NpeFBhdGggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgc3RhdFN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZSxcbiAgc2VwXG59IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kU3RhbGVCdWlsZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZFN0YWxlQnVpbGRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHJvb3QgZm9sZGVyIG9mIHRoZSBwbHVnaW4gcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RGb2xkZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgYnVpbGQgZG9lcyBub3QgZXhpc3QgYXQgYWxsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pc3NpbmdCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgZGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ21pc3NpbmcnO1xufVxuXG4vKipcbiAqIFRoZSBidWlsZCBleGlzdHMgYnV0IGlzIG9sZGVyIHRoYW4gb25lIG9mIGl0cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3V0ZGF0ZWRCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2YgYGRpc3QvYnVpbGQvbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBidWlsZE1vZGlmaWVkQXQ6IERhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNjcmltaW5hbnQuXG4gICAqL1xuICByZWFkb25seSBraW5kOiAnb3V0ZGF0ZWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2Yge0BsaW5rIE91dGRhdGVkQnVpbGQubmV3ZXN0SW5wdXRQYXRofS5cbiAgICovXG4gIHJlYWRvbmx5IG5ld2VzdElucHV0TW9kaWZpZWRBdDogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBidWlsZCBpbnB1dCwgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV3ZXN0SW5wdXRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2h5IHRoZSBidWlsZCBjYW5ub3QgYmUgdGVzdGVkLCBhcyByZXR1cm5lZCBieSB7QGxpbmsgZmluZFN0YWxlQnVpbGR9LlxuICovXG5leHBvcnQgdHlwZSBTdGFsZUJ1aWxkID0gTWlzc2luZ0J1aWxkIHwgT3V0ZGF0ZWRCdWlsZDtcblxuY29uc3QgQlVJTERfUEFUSCA9IGAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZH0vJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnN9YDtcbmNvbnN0IFJPT1RfQlVJTERfSU5QVVRTID0gW09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzXTtcbmNvbnN0IFRFU1RfRklMRV9TVUZGSVggPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUZXN0VHMuc2xpY2UoMSk7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGRpc3QvYnVpbGQvbWFpbi5qc2AgaXMgbWlzc2luZywgb3Igb2xkZXIgdGhhbiBvbmUgb2YgdGhlIGZpbGVzIGl0IGlzIGJ1aWx0IGZyb20uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzLlxuICogQHJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJ1aWxkIGlzIGN1cnJlbnQ7IG90aGVyd2lzZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFN0YWxlQnVpbGQocGFyYW1zOiBGaW5kU3RhbGVCdWlsZFBhcmFtcyk6IG51bGwgfCBTdGFsZUJ1aWxkIHtcbiAgY29uc3QgYnVpbGRQYXRoID0gam9pbihwYXJhbXMucm9vdEZvbGRlciwgQlVJTERfUEFUSCk7XG4gIGlmICghZXhpc3RzU3luYyhidWlsZFBhdGgpKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ21pc3NpbmcnIH07XG4gIH1cblxuICBjb25zdCBidWlsZE1vZGlmaWVkQXQgPSBzdGF0U3luYyhidWlsZFBhdGgpLm10aW1lO1xuICBsZXQgbmV3ZXN0SW5wdXRQYXRoOiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgbGV0IG5ld2VzdElucHV0TW9kaWZpZWRBdCA9IGJ1aWxkTW9kaWZpZWRBdDtcblxuICBmb3IgKGNvbnN0IGlucHV0UGF0aCBvZiBnZXRCdWlsZElucHV0UGF0aHMocGFyYW1zLnJvb3RGb2xkZXIpKSB7XG4gICAgY29uc3QgbW9kaWZpZWRBdCA9IHN0YXRTeW5jKGlucHV0UGF0aCkubXRpbWU7XG4gICAgaWYgKG1vZGlmaWVkQXQgPD0gbmV3ZXN0SW5wdXRNb2RpZmllZEF0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBuZXdlc3RJbnB1dFBhdGggPSBpbnB1dFBhdGg7XG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0ID0gbW9kaWZpZWRBdDtcbiAgfVxuXG4gIGlmIChuZXdlc3RJbnB1dFBhdGggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVpbGRNb2RpZmllZEF0LFxuICAgIGtpbmQ6ICdvdXRkYXRlZCcsXG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0LFxuICAgIG5ld2VzdElucHV0UGF0aDogdG9Qb3NpeFBhdGgocmVsYXRpdmUocGFyYW1zLnJvb3RGb2xkZXIsIG5ld2VzdElucHV0UGF0aCkpXG4gIH07XG59XG5cbi8qKlxuICogRm9ybWF0cyBhIHtAbGluayBTdGFsZUJ1aWxkfSBhcyB0aGUgbWVzc2FnZSB0aGUgc2V0dXAgdGhyb3dzLlxuICpcbiAqIEBwYXJhbSBzdGFsZUJ1aWxkIC0gVGhlIHN0YWxlIGJ1aWxkLlxuICogQHJldHVybnMgVGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTdGFsZUJ1aWxkTWVzc2FnZShzdGFsZUJ1aWxkOiBTdGFsZUJ1aWxkKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWxlQnVpbGQua2luZCA9PT0gJ21pc3NpbmcnXG4gICAgPyBgJHtCVUlMRF9QQVRIfSBkb2VzIG5vdCBleGlzdCwgc28gdGhlcmUgaXMgbm8gcGx1Z2luIGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9hZC4gUnVuIFxcYG5wbSBydW4gYnVpbGRcXGAgZmlyc3QuYFxuICAgIDogYCR7QlVJTERfUEFUSH0gaXMgb2xkZXIgdGhhbiAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRQYXRofSAoYnVpbHQgJHtzdGFsZUJ1aWxkLmJ1aWxkTW9kaWZpZWRBdC50b0lTT1N0cmluZygpfSwgYFxuICAgICAgKyBgY2hhbmdlZCAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRNb2RpZmllZEF0LnRvSVNPU3RyaW5nKCl9KSwgc28gdGhlIGludGVncmF0aW9uIHRlc3RzIHdvdWxkIHJ1biB0aGUgcHJldmlvdXMgYnVpbGQgYFxuICAgICAgKyAnaW5zdGVhZCBvZiB0aGUgY3VycmVudCBzb3VyY2UuIFJ1biBgbnBtIHJ1biBidWlsZGAgZmlyc3QuJztcbn1cblxuLyoqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwOiB0aHJvd3Mgd2hlbiB0aGUgcGx1Z2luIGJ1aWxkIGlzIG1pc3Npbmcgb3Igc3RhbGUuXG4gKlxuICogQHBhcmFtIHByb2plY3QgLSBUaGUgVml0ZXN0IHRlc3QgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKHByb2plY3Q6IFRlc3RQcm9qZWN0KTogdm9pZCB7XG4gIGNvbnN0IHN0YWxlQnVpbGQgPSBmaW5kU3RhbGVCdWlsZCh7IHJvb3RGb2xkZXI6IHByb2plY3QuY29uZmlnLnJvb3QgfSk7XG4gIGlmIChzdGFsZUJ1aWxkICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdFN0YWxlQnVpbGRNZXNzYWdlKHN0YWxlQnVpbGQpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCdWlsZElucHV0UGF0aHMocm9vdEZvbGRlcjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXRocyA9IFJPT1RfQlVJTERfSU5QVVRTLm1hcCgocm9vdElucHV0KSA9PiBqb2luKHJvb3RGb2xkZXIsIHJvb3RJbnB1dCkpLmZpbHRlcigocGF0aCkgPT4gZXhpc3RzU3luYyhwYXRoKSk7XG5cbiAgY29uc3Qgc3JjRm9sZGVyID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMpO1xuICBpZiAoIWV4aXN0c1N5bmMoc3JjRm9sZGVyKSkge1xuICAgIHJldHVybiBwYXRocztcbiAgfVxuXG4gIGNvbnN0IHRlc3RIZWxwZXJzRm9sZGVyUHJlZml4ID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Nb2NrcykgKyBzZXA7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgcmVhZGRpclN5bmMoc3JjRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZW50cnkuaXNGaWxlKCkgfHwgZW50cnkubmFtZS5lbmRzV2l0aChURVNUX0ZJTEVfU1VGRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IGpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgodGVzdEhlbHBlcnNGb2xkZXJQcmVmaXgpKSB7XG4gICAgICBwYXRocy5wdXNoKHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXRocztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLFNBQVMsbUJBQW1CO0FBQzVCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLFNBQVMsK0JBQStCO0FBb0R4QyxNQUFNLGFBQWEsR0FBRyx3QkFBd0IsU0FBUyxJQUFJLHdCQUF3QixNQUFNO0FBQ3pGLE1BQU0sb0JBQW9CLENBQUMsd0JBQXdCLGNBQWMsd0JBQXdCLFNBQVM7QUFDbEcsTUFBTSxtQkFBbUIsd0JBQXdCLFVBQVUsTUFBTSxDQUFDO0FBUTNELFNBQVMsZUFBZSxRQUFpRDtBQUM5RSxRQUFNLFlBQVksS0FBSyxPQUFPLFlBQVksVUFBVTtBQUNwRCxNQUFJLENBQUMsV0FBVyxTQUFTLEdBQUc7QUFDMUIsV0FBTyxFQUFFLE1BQU0sVUFBVTtBQUFBLEVBQzNCO0FBRUEsUUFBTSxrQkFBa0IsU0FBUyxTQUFTLEVBQUU7QUFDNUMsTUFBSSxrQkFBaUM7QUFDckMsTUFBSSx3QkFBd0I7QUFFNUIsYUFBVyxhQUFhLG1CQUFtQixPQUFPLFVBQVUsR0FBRztBQUM3RCxVQUFNLGFBQWEsU0FBUyxTQUFTLEVBQUU7QUFDdkMsUUFBSSxjQUFjLHVCQUF1QjtBQUN2QztBQUFBLElBQ0Y7QUFFQSxzQkFBa0I7QUFDbEIsNEJBQXdCO0FBQUEsRUFDMUI7QUFFQSxNQUFJLG9CQUFvQixNQUFNO0FBQzVCLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBLE1BQU07QUFBQSxJQUNOO0FBQUEsSUFDQSxpQkFBaUIsWUFBWSxTQUFTLE9BQU8sWUFBWSxlQUFlLENBQUM7QUFBQSxFQUMzRTtBQUNGO0FBUU8sU0FBUyx3QkFBd0IsWUFBZ0M7QUFDdEUsU0FBTyxXQUFXLFNBQVMsWUFDdkIsR0FBRyxVQUFVLDJHQUNiLEdBQUcsVUFBVSxrQkFBa0IsV0FBVyxlQUFlLFdBQVcsV0FBVyxnQkFBZ0IsWUFBWSxDQUFDLGFBQy9GLFdBQVcsc0JBQXNCLFlBQVksQ0FBQztBQUVqRTtBQU9PLFNBQVMsTUFBTSxTQUE0QjtBQUNoRCxRQUFNLGFBQWEsZUFBZSxFQUFFLFlBQVksUUFBUSxPQUFPLEtBQUssQ0FBQztBQUNyRSxNQUFJLGVBQWUsTUFBTTtBQUN2QixVQUFNLElBQUksTUFBTSx3QkFBd0IsVUFBVSxDQUFDO0FBQUEsRUFDckQ7QUFDRjtBQUVBLFNBQVMsbUJBQW1CLFlBQThCO0FBQ3hELFFBQU0sUUFBUSxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLFdBQVcsSUFBSSxDQUFDO0FBRWpILFFBQU0sWUFBWSxLQUFLLFlBQVksd0JBQXdCLEdBQUc7QUFDOUQsTUFBSSxDQUFDLFdBQVcsU0FBUyxHQUFHO0FBQzFCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSwwQkFBMEIsS0FBSyxZQUFZLHdCQUF3QixLQUFLLElBQUk7QUFDbEYsYUFBVyxTQUFTLFlBQVksV0FBVyxFQUFFLFdBQVcsTUFBTSxlQUFlLEtBQUssQ0FBQyxHQUFHO0FBQ3BGLFFBQUksQ0FBQyxNQUFNLE9BQU8sS0FBSyxNQUFNLEtBQUssU0FBUyxnQkFBZ0IsR0FBRztBQUM1RDtBQUFBLElBQ0Y7QUFFQSxVQUFNLE9BQU8sS0FBSyxNQUFNLFlBQVksTUFBTSxJQUFJO0FBQzlDLFFBQUksQ0FBQyxLQUFLLFdBQVcsdUJBQXVCLEdBQUc7QUFDN0MsWUFBTSxLQUFLLElBQUk7QUFBQSxJQUNqQjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvc3RhbGUtYnVpbGQtZ2xvYmFsLXNldHVwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwIHRoYXQgcmVmdXNlcyB0byBzdGFydCBhbiBpbnRlZ3JhdGlvbiBwcm9qZWN0IHdob3NlIHBsdWdpbiBidWlsZCBpcyBzdGFsZS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24gaGFybmVzcyBlbmFibGVzIHRoZSBwbHVnaW4gZnJvbSBpdHMgQlVJTEQsIGBkaXN0L2J1aWxkL21haW4uanNgLCBhbmQgYSBwbHVnaW4nc1xuICogYHRlc3Q6aW50ZWdyYXRpb24qYCBzY3JpcHRzIGNhbGwgdml0ZXN0IGRpcmVjdGx5LCBzbyBub3RoaW5nIG9uIHRoYXQgcGF0aCBidWlsZHMgZmlyc3QuIEEgc2Vzc2lvbiB0aGF0XG4gKiBlZGl0cyBgc3JjL2AgYW5kIHRoZW4gcnVucyBvbmUgaW50ZWdyYXRpb24gcHJvamVjdCB0ZXN0cyB0aGUgbGFzdCBidWlsZCwgaG93ZXZlciBvbGQgaXQgaXMsIGFuZCB0aGVcbiAqIHN1aXRlIHJlcG9ydHMgdGhlIG9sZCBjb2RlIGFzIGEgYmVoYXZpb3IgZGlmZmVyZW5jZSwgbm90IGFzIGEgc3RhbGUgYXJ0aWZhY3QuIE9uZSBzdWNoIHJ1biBjb3N0IGEgQ0RQXG4gKiBwcm9iZSBpbnRvIE9ic2lkaWFuJ3Mgb3duIGxpbmsgcmVzb2x1dGlvbiwgYSB3cm9uZyBjYWNoZS1yYWNlIHRoZW9yeSwgYW5kIGEgaGFybmVzcyBjaGFuZ2UgdGhhdCB3YXNcbiAqIG1hZGUgYW5kIHRoZW4gcmV2ZXJ0ZWQgYmVmb3JlIGFueW9uZSBub3RpY2VkIHRoYXQgdGhlIGJ1aWxkIHdhcyB0aHJlZSBkYXlzIG9sZC4gYG5wbSBydW4gZ2F0ZWAgYXZvaWRlZFxuICogdGhlIHByb2JsZW0gb25seSBiZWNhdXNlIGl0IGhhcHBlbnMgdG8gYnVpbGQgYmVmb3JlIGl0IHJ1bnMgYHRlc3Q6aW50ZWdyYXRpb25gLlxuICpcbiAqIFRoZSBzZXR1cCByZWZ1c2VzIHRvIHN0YXJ0IHJhdGhlciB0aGFuIGJ1aWxkaW5nLiBBIGJ1aWxkIGluc2lkZSBhIGdsb2JhbCBzZXR1cCB3b3VsZCBydW4gb25jZSBwZXJcbiAqIHByb2plY3QgaW4gYSBtdWx0aS1wcm9qZWN0IGFnZ3JlZ2F0ZSwgYW5kIGl0IHdvdWxkIHNsb3cgZG93biBhIGRlbGliZXJhdGUgcmUtcnVuIG9mIGFuIHVuY2hhbmdlZCBidWlsZC5cbiAqIEEgcmVmdXNhbCBpcyBjaGVhcCwgYW5kIGl0IHNheXMgd2hhdCB0byBydW4uXG4gKlxuICogVGVzdCBmaWxlcyBhcmUgbm90IGJ1aWxkIGlucHV0cy4gRWRpdGluZyBhbiBpbnRlZ3JhdGlvbiBjYXNlIGFuZCByZS1ydW5uaW5nIGl0IGlzIGV4YWN0bHkgdGhlIGxvb3AgdGhhdFxuICogbXVzdCBub3QgZm9yY2UgYSByZWJ1aWxkLCBzbyBgKi50ZXN0LnRzYCBmaWxlcyBhbmQgYHNyYy90ZXN0LWhlbHBlcnMvYCBhcmUgaWdub3JlZC4gQSBkZXBlbmRlbmN5IGJ1bXBcbiAqIGlzIG5vdCBkZXRlY3RlZCBlaXRoZXI6IG9ubHkgZmlsZXMgaW4gdGhlIHJlcG8gYXJlIGNvbXBhcmVkLCBub3QgYG5vZGVfbW9kdWxlc2AuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBUZXN0UHJvamVjdCB9IGZyb20gJ3ZpdGVzdC9ub2RlJztcblxuaW1wb3J0IHsgdG9Qb3NpeFBhdGggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgc3RhdFN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZSxcbiAgc2VwXG59IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kU3RhbGVCdWlsZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZFN0YWxlQnVpbGRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHJvb3QgZm9sZGVyIG9mIHRoZSBwbHVnaW4gcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RGb2xkZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgYnVpbGQgZG9lcyBub3QgZXhpc3QgYXQgYWxsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pc3NpbmdCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgZGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ21pc3NpbmcnO1xufVxuXG4vKipcbiAqIFRoZSBidWlsZCBleGlzdHMgYnV0IGlzIG9sZGVyIHRoYW4gb25lIG9mIGl0cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3V0ZGF0ZWRCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2YgYGRpc3QvYnVpbGQvbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBidWlsZE1vZGlmaWVkQXQ6IERhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNjcmltaW5hbnQuXG4gICAqL1xuICByZWFkb25seSBraW5kOiAnb3V0ZGF0ZWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2Yge0BsaW5rIE91dGRhdGVkQnVpbGQubmV3ZXN0SW5wdXRQYXRofS5cbiAgICovXG4gIHJlYWRvbmx5IG5ld2VzdElucHV0TW9kaWZpZWRBdDogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBidWlsZCBpbnB1dCwgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV3ZXN0SW5wdXRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2h5IHRoZSBidWlsZCBjYW5ub3QgYmUgdGVzdGVkLCBhcyByZXR1cm5lZCBieSB7QGxpbmsgZmluZFN0YWxlQnVpbGR9LlxuICovXG5leHBvcnQgdHlwZSBTdGFsZUJ1aWxkID0gTWlzc2luZ0J1aWxkIHwgT3V0ZGF0ZWRCdWlsZDtcblxuY29uc3QgQlVJTERfUEFUSCA9IGAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZH0vJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnN9YDtcbmNvbnN0IFJPT1RfQlVJTERfSU5QVVRTID0gW09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzXTtcbmNvbnN0IFRFU1RfRklMRV9TVUZGSVggPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUZXN0VHMuc2xpY2UoMSk7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGRpc3QvYnVpbGQvbWFpbi5qc2AgaXMgbWlzc2luZywgb3Igb2xkZXIgdGhhbiBvbmUgb2YgdGhlIGZpbGVzIGl0IGlzIGJ1aWx0IGZyb20uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzLlxuICogQHJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJ1aWxkIGlzIGN1cnJlbnQ7IG90aGVyd2lzZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFN0YWxlQnVpbGQocGFyYW1zOiBGaW5kU3RhbGVCdWlsZFBhcmFtcyk6IG51bGwgfCBTdGFsZUJ1aWxkIHtcbiAgY29uc3QgYnVpbGRQYXRoID0gam9pbihwYXJhbXMucm9vdEZvbGRlciwgQlVJTERfUEFUSCk7XG4gIGlmICghZXhpc3RzU3luYyhidWlsZFBhdGgpKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ21pc3NpbmcnIH07XG4gIH1cblxuICBjb25zdCBidWlsZE1vZGlmaWVkQXQgPSBzdGF0U3luYyhidWlsZFBhdGgpLm10aW1lO1xuICBsZXQgbmV3ZXN0SW5wdXRQYXRoOiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgbGV0IG5ld2VzdElucHV0TW9kaWZpZWRBdCA9IGJ1aWxkTW9kaWZpZWRBdDtcblxuICBmb3IgKGNvbnN0IGlucHV0UGF0aCBvZiBnZXRCdWlsZElucHV0UGF0aHMocGFyYW1zLnJvb3RGb2xkZXIpKSB7XG4gICAgY29uc3QgbW9kaWZpZWRBdCA9IHN0YXRTeW5jKGlucHV0UGF0aCkubXRpbWU7XG4gICAgaWYgKG1vZGlmaWVkQXQgPD0gbmV3ZXN0SW5wdXRNb2RpZmllZEF0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBuZXdlc3RJbnB1dFBhdGggPSBpbnB1dFBhdGg7XG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0ID0gbW9kaWZpZWRBdDtcbiAgfVxuXG4gIGlmIChuZXdlc3RJbnB1dFBhdGggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVpbGRNb2RpZmllZEF0LFxuICAgIGtpbmQ6ICdvdXRkYXRlZCcsXG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0LFxuICAgIG5ld2VzdElucHV0UGF0aDogdG9Qb3NpeFBhdGgocmVsYXRpdmUocGFyYW1zLnJvb3RGb2xkZXIsIG5ld2VzdElucHV0UGF0aCkpXG4gIH07XG59XG5cbi8qKlxuICogRm9ybWF0cyBhIHtAbGluayBTdGFsZUJ1aWxkfSBhcyB0aGUgbWVzc2FnZSB0aGUgc2V0dXAgdGhyb3dzLlxuICpcbiAqIEBwYXJhbSBzdGFsZUJ1aWxkIC0gVGhlIHN0YWxlIGJ1aWxkLlxuICogQHJldHVybnMgVGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTdGFsZUJ1aWxkTWVzc2FnZShzdGFsZUJ1aWxkOiBTdGFsZUJ1aWxkKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWxlQnVpbGQua2luZCA9PT0gJ21pc3NpbmcnXG4gICAgPyBgJHtCVUlMRF9QQVRIfSBkb2VzIG5vdCBleGlzdCwgc28gdGhlcmUgaXMgbm8gcGx1Z2luIGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9hZC4gUnVuIFxcYG5wbSBydW4gYnVpbGRcXGAgZmlyc3QuYFxuICAgIDogYCR7QlVJTERfUEFUSH0gaXMgb2xkZXIgdGhhbiAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRQYXRofSAoYnVpbHQgJHtzdGFsZUJ1aWxkLmJ1aWxkTW9kaWZpZWRBdC50b0lTT1N0cmluZygpfSwgYFxuICAgICAgKyBgY2hhbmdlZCAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRNb2RpZmllZEF0LnRvSVNPU3RyaW5nKCl9KSwgc28gdGhlIGludGVncmF0aW9uIHRlc3RzIHdvdWxkIHJ1biB0aGUgcHJldmlvdXMgYnVpbGQgYFxuICAgICAgKyAnaW5zdGVhZCBvZiB0aGUgY3VycmVudCBzb3VyY2UuIFJ1biBgbnBtIHJ1biBidWlsZGAgZmlyc3QuJztcbn1cblxuLyoqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwOiB0aHJvd3Mgd2hlbiB0aGUgcGx1Z2luIGJ1aWxkIGlzIG1pc3Npbmcgb3Igc3RhbGUuXG4gKlxuICogQHBhcmFtIHByb2plY3QgLSBUaGUgVml0ZXN0IHRlc3QgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKHByb2plY3Q6IFRlc3RQcm9qZWN0KTogdm9pZCB7XG4gIGNvbnN0IHN0YWxlQnVpbGQgPSBmaW5kU3RhbGVCdWlsZCh7IHJvb3RGb2xkZXI6IHByb2plY3QuY29uZmlnLnJvb3QgfSk7XG4gIGlmIChzdGFsZUJ1aWxkICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdFN0YWxlQnVpbGRNZXNzYWdlKHN0YWxlQnVpbGQpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCdWlsZElucHV0UGF0aHMocm9vdEZvbGRlcjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXRocyA9IFJPT1RfQlVJTERfSU5QVVRTLm1hcCgocm9vdElucHV0KSA9PiBqb2luKHJvb3RGb2xkZXIsIHJvb3RJbnB1dCkpLmZpbHRlcigocGF0aCkgPT4gZXhpc3RzU3luYyhwYXRoKSk7XG5cbiAgY29uc3Qgc3JjRm9sZGVyID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMpO1xuICBpZiAoIWV4aXN0c1N5bmMoc3JjRm9sZGVyKSkge1xuICAgIHJldHVybiBwYXRocztcbiAgfVxuXG4gIGNvbnN0IHRlc3RIZWxwZXJzRm9sZGVyUHJlZml4ID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Nb2NrcykgKyBzZXA7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgcmVhZGRpclN5bmMoc3JjRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZW50cnkuaXNGaWxlKCkgfHwgZW50cnkubmFtZS5lbmRzV2l0aChURVNUX0ZJTEVfU1VGRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IGpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgodGVzdEhlbHBlcnNGb2xkZXJQcmVmaXgpKSB7XG4gICAgICBwYXRocy5wdXNoKHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXRocztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsU0FBUyxtQkFBbUI7QUFDNUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUywrQkFBK0I7QUFvRHhDLE1BQU0sYUFBYSxHQUFHLHdCQUF3QixTQUFTLElBQUksd0JBQXdCLE1BQU07QUFDekYsTUFBTSxvQkFBb0IsQ0FBQyx3QkFBd0IsY0FBYyx3QkFBd0IsU0FBUztBQUNsRyxNQUFNLG1CQUFtQix3QkFBd0IsVUFBVSxNQUFNLENBQUM7QUFRM0QsU0FBUyxlQUFlLFFBQWlEO0FBQzlFLFFBQU0sWUFBWSxLQUFLLE9BQU8sWUFBWSxVQUFVO0FBQ3BELE1BQUksQ0FBQyxXQUFXLFNBQVMsR0FBRztBQUMxQixXQUFPLEVBQUUsTUFBTSxVQUFVO0FBQUEsRUFDM0I7QUFFQSxRQUFNLGtCQUFrQixTQUFTLFNBQVMsRUFBRTtBQUM1QyxNQUFJLGtCQUFpQztBQUNyQyxNQUFJLHdCQUF3QjtBQUU1QixhQUFXLGFBQWEsbUJBQW1CLE9BQU8sVUFBVSxHQUFHO0FBQzdELFVBQU0sYUFBYSxTQUFTLFNBQVMsRUFBRTtBQUN2QyxRQUFJLGNBQWMsdUJBQXVCO0FBQ3ZDO0FBQUEsSUFDRjtBQUVBLHNCQUFrQjtBQUNsQiw0QkFBd0I7QUFBQSxFQUMxQjtBQUVBLE1BQUksb0JBQW9CLE1BQU07QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBLGlCQUFpQixZQUFZLFNBQVMsT0FBTyxZQUFZLGVBQWUsQ0FBQztBQUFBLEVBQzNFO0FBQ0Y7QUFRTyxTQUFTLHdCQUF3QixZQUFnQztBQUN0RSxTQUFPLFdBQVcsU0FBUyxZQUN2QixHQUFHLFVBQVUsMkdBQ2IsR0FBRyxVQUFVLGtCQUFrQixXQUFXLGVBQWUsV0FBVyxXQUFXLGdCQUFnQixZQUFZLENBQUMsYUFDL0YsV0FBVyxzQkFBc0IsWUFBWSxDQUFDO0FBRWpFO0FBT08sU0FBUyxNQUFNLFNBQTRCO0FBQ2hELFFBQU0sYUFBYSxlQUFlLEVBQUUsWUFBWSxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JFLE1BQUksZUFBZSxNQUFNO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLHdCQUF3QixVQUFVLENBQUM7QUFBQSxFQUNyRDtBQUNGO0FBRUEsU0FBUyxtQkFBbUIsWUFBOEI7QUFDeEQsUUFBTSxRQUFRLGtCQUFrQixJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsV0FBVyxJQUFJLENBQUM7QUFFakgsUUFBTSxZQUFZLEtBQUssWUFBWSx3QkFBd0IsR0FBRztBQUM5RCxNQUFJLENBQUMsV0FBVyxTQUFTLEdBQUc7QUFDMUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLDBCQUEwQixLQUFLLFlBQVksd0JBQXdCLEtBQUssSUFBSTtBQUNsRixhQUFXLFNBQVMsWUFBWSxXQUFXLEVBQUUsV0FBVyxNQUFNLGVBQWUsS0FBSyxDQUFDLEdBQUc7QUFDcEYsUUFBSSxDQUFDLE1BQU0sT0FBTyxLQUFLLE1BQU0sS0FBSyxTQUFTLGdCQUFnQixHQUFHO0FBQzVEO0FBQUEsSUFDRjtBQUVBLFVBQU0sT0FBTyxLQUFLLE1BQU0sWUFBWSxNQUFNLElBQUk7QUFDOUMsUUFBSSxDQUFDLEtBQUssV0FBVyx1QkFBdUIsR0FBRztBQUM3QyxZQUFNLEtBQUssSUFBSTtBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -10,8 +10,7 @@
10
10
  * near-identical edit per plugin, and any repo that is missed drifts silently. This module owns that
11
11
  * configuration once, so a plugin's `scripts/vitest-config.ts` collapses to a single call.
12
12
  *
13
- * The seam mirrors {@link https://www.npmjs.com/package/obsidian-dev-utils | the ESLint one}
14
- * (`defineEslintConfigs`): the factory builds a context holding the standard projects, the caller edits
13
+ * The seam mirrors the ESLint one (`defineEslintConfigs`): the factory builds a context holding the standard projects, the caller edits
15
14
  * it in place through {@link DefineObsidianPluginVitestConfigOptions.editContext}, and appends any
16
15
  * project the base does not know about through
17
16
  * {@link DefineObsidianPluginVitestConfigOptions.customProjects}.