obsidian-dev-utils 2.27.0 → 3.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 (161) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/@types/compare-versions.d.ts +2 -2
  3. package/dist/lib/@types.cjs +11 -2
  4. package/dist/lib/Async.cjs +18 -7
  5. package/dist/lib/Async.d.ts +2 -2
  6. package/dist/lib/Blob.cjs +21 -6
  7. package/dist/lib/DocumentFragment.cjs +11 -2
  8. package/dist/lib/Error.cjs +20 -6
  9. package/dist/lib/Error.d.ts +7 -0
  10. package/dist/lib/Object.cjs +38 -5
  11. package/dist/lib/Object.d.ts +21 -0
  12. package/dist/lib/Path.cjs +14 -6
  13. package/dist/lib/Path.d.ts +1 -1
  14. package/dist/lib/RegExp.cjs +11 -2
  15. package/dist/lib/String.cjs +14 -4
  16. package/dist/lib/String.d.ts +4 -1
  17. package/dist/lib/ValueProvider.cjs +11 -2
  18. package/dist/lib/ValueProvider.d.ts +1 -1
  19. package/dist/lib/_dependencies.cjs +7734 -1266
  20. package/dist/lib/_dependencies.d.ts +4 -6
  21. package/dist/lib/index.cjs +14 -23
  22. package/dist/lib/index.d.ts +13 -19
  23. package/dist/lib/obsidian/App.cjs +13 -3
  24. package/dist/lib/obsidian/App.d.ts +1 -1
  25. package/dist/lib/obsidian/AttachmentPath.cjs +13 -4
  26. package/dist/lib/obsidian/AttachmentPath.d.ts +2 -2
  27. package/dist/lib/obsidian/Backlink.cjs +16 -6
  28. package/dist/lib/obsidian/Backlink.d.ts +7 -7
  29. package/dist/lib/obsidian/Callout.cjs +14 -4
  30. package/dist/lib/obsidian/Callout.d.ts +4 -4
  31. package/dist/lib/obsidian/Dataview.cjs +20 -9
  32. package/dist/lib/obsidian/Dataview.d.ts +22 -16
  33. package/dist/lib/obsidian/DataviewLink.cjs +12 -4
  34. package/dist/lib/obsidian/DataviewLink.d.ts +2 -2
  35. package/dist/lib/obsidian/FrontMatter.cjs +17 -7
  36. package/dist/lib/obsidian/FrontMatter.d.ts +31 -7
  37. package/dist/lib/obsidian/Link.cjs +19 -10
  38. package/dist/lib/obsidian/Link.d.ts +25 -13
  39. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +14 -4
  40. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
  41. package/dist/lib/obsidian/MetadataCache.cjs +16 -5
  42. package/dist/lib/obsidian/MetadataCache.d.ts +5 -5
  43. package/dist/lib/obsidian/Modal/Alert.cjs +14 -3
  44. package/dist/lib/obsidian/Modal/Alert.d.ts +1 -1
  45. package/dist/lib/obsidian/Modal/Prompt.cjs +14 -3
  46. package/dist/lib/obsidian/Modal/Prompt.d.ts +3 -3
  47. package/dist/lib/obsidian/Modal/SelectItem.cjs +11 -2
  48. package/dist/lib/obsidian/Modal/SelectItem.d.ts +4 -4
  49. package/dist/lib/obsidian/Modal/index.cjs +11 -2
  50. package/dist/lib/obsidian/Modal/index.d.ts +3 -3
  51. package/dist/lib/obsidian/ObsidianSettings.cjs +11 -2
  52. package/dist/lib/obsidian/ObsidianSettings.d.ts +1 -1
  53. package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +11 -2
  54. package/dist/lib/obsidian/Plugin/Plugin.cjs +11 -2
  55. package/dist/lib/obsidian/Plugin/Plugin.d.ts +1 -1
  56. package/dist/lib/obsidian/Plugin/PluginBase.cjs +37 -23
  57. package/dist/lib/obsidian/Plugin/PluginBase.d.ts +8 -9
  58. package/dist/lib/obsidian/Plugin/PluginSettings.cjs +11 -2
  59. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +11 -2
  60. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.d.ts +2 -2
  61. package/dist/lib/obsidian/Plugin/UIComponent.cjs +11 -2
  62. package/dist/lib/obsidian/Plugin/UIComponent.d.ts +2 -2
  63. package/dist/lib/obsidian/Plugin/index.cjs +11 -2
  64. package/dist/lib/obsidian/Plugin/index.d.ts +6 -6
  65. package/dist/lib/obsidian/ResourceUrl.cjs +11 -2
  66. package/dist/lib/obsidian/ResourceUrl.d.ts +1 -1
  67. package/dist/lib/obsidian/TAbstractFile.cjs +12 -3
  68. package/dist/lib/obsidian/TAbstractFile.d.ts +1 -1
  69. package/dist/lib/obsidian/TFile.cjs +11 -2
  70. package/dist/lib/obsidian/TFile.d.ts +1 -1
  71. package/dist/lib/obsidian/TFolder.cjs +11 -2
  72. package/dist/lib/obsidian/TFolder.d.ts +2 -1
  73. package/dist/lib/obsidian/Vault.cjs +23 -15
  74. package/dist/lib/obsidian/Vault.d.ts +21 -7
  75. package/dist/lib/obsidian/index.cjs +11 -2
  76. package/dist/lib/obsidian/index.d.ts +18 -18
  77. package/dist/lib/scripts/CliUtils.cjs +170 -0
  78. package/dist/lib/{cli.d.ts → scripts/CliUtils.d.ts} +1 -1
  79. package/dist/lib/scripts/CodeGenerator.cjs +56 -0
  80. package/dist/lib/{bin → scripts}/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.ts +3 -2
  81. package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-modules-newlines.d.ts +3 -2
  82. package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-verify-tsdoc.d.ts +3 -2
  83. package/dist/lib/scripts/ESLint/ESLint.cjs +92 -0
  84. package/dist/lib/{bin → scripts}/ESLint/ESLint.d.ts +2 -2
  85. package/dist/lib/scripts/ESLint/eslint.config.cjs +170 -0
  86. package/dist/lib/scripts/ESLint/eslint.config.d.ts +16 -0
  87. package/dist/lib/scripts/ESLint/index.cjs +62 -0
  88. package/dist/lib/scripts/ESLint/index.d.ts +2 -0
  89. package/dist/lib/scripts/Fs.cjs +98 -0
  90. package/dist/lib/{Fs.d.ts → scripts/Fs.d.ts} +3 -3
  91. package/dist/lib/scripts/JSON.cjs +71 -0
  92. package/dist/lib/{JSON.d.ts → scripts/JSON.d.ts} +3 -24
  93. package/dist/lib/scripts/NodeModules.cjs +87 -0
  94. package/dist/lib/scripts/NodeModules.d.ts +9 -0
  95. package/dist/lib/scripts/Npm.cjs +97 -0
  96. package/dist/lib/{Npm.d.ts → scripts/Npm.d.ts} +3 -3
  97. package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +76 -0
  98. package/dist/lib/{bin → scripts}/ObsidianDevUtilsRepoPaths.d.ts +4 -0
  99. package/dist/lib/scripts/Root.cjs +142 -0
  100. package/dist/lib/{Root.d.ts → scripts/Root.d.ts} +4 -4
  101. package/dist/lib/scripts/build.cjs +67 -0
  102. package/dist/lib/scripts/cli.cjs +80 -0
  103. package/dist/lib/scripts/esbuild/Dependency.cjs +135 -0
  104. package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +167 -0
  105. package/dist/lib/{bin → scripts}/esbuild/ObsidianPluginBuilder.d.ts +5 -5
  106. package/dist/lib/scripts/esbuild/copyToObsidianPluginsFolderPlugin.cjs +67 -0
  107. package/dist/lib/{bin → scripts}/esbuild/copyToObsidianPluginsFolderPlugin.d.ts +1 -1
  108. package/dist/lib/scripts/esbuild/fixSourceMapsPlugin.cjs +83 -0
  109. package/dist/lib/{bin → scripts}/esbuild/fixSourceMapsPlugin.d.ts +1 -1
  110. package/dist/lib/{bin → scripts}/esbuild/index.cjs +11 -2
  111. package/dist/lib/scripts/esbuild/index.d.ts +7 -0
  112. package/dist/lib/scripts/esbuild/lintPlugin.cjs +64 -0
  113. package/dist/lib/{bin → scripts}/esbuild/lintPlugin.d.ts +1 -1
  114. package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +95 -0
  115. package/dist/lib/{bin → scripts}/esbuild/preprocessPlugin.d.ts +1 -1
  116. package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +85 -0
  117. package/dist/lib/{bin → scripts}/esbuild/renameToCjsPlugin.d.ts +1 -1
  118. package/dist/lib/scripts/index.cjs +98 -0
  119. package/dist/lib/scripts/index.d.ts +14 -0
  120. package/dist/lib/scripts/spellcheck.cjs +67 -0
  121. package/dist/lib/{bin → scripts}/spellcheck.d.ts +1 -1
  122. package/dist/lib/scripts/version.cjs +349 -0
  123. package/dist/lib/{bin → scripts}/version.d.ts +7 -8
  124. package/dist/lib/url.cjs +11 -2
  125. package/package.json +136 -131
  126. package/dist/lib/CodeGenerator.cjs +0 -47
  127. package/dist/lib/Fs.cjs +0 -89
  128. package/dist/lib/JSON.cjs +0 -85
  129. package/dist/lib/Npm.cjs +0 -88
  130. package/dist/lib/Root.cjs +0 -145
  131. package/dist/lib/bin/ESLint/@types/@stylistic__eslint-plugin.d.ts +0 -10
  132. package/dist/lib/bin/ESLint/@types/@typescript-eslint__eslint-plugin.d.ts +0 -21
  133. package/dist/lib/bin/ESLint/@types/@typescript-eslint__parser.d.ts +0 -10
  134. package/dist/lib/bin/ESLint/@types/eslint-plugin-deprecation.d.ts +0 -11
  135. package/dist/lib/bin/ESLint/@types/eslint-plugin-import.d.ts +0 -10
  136. package/dist/lib/bin/ESLint/@types/globals.d.ts +0 -16
  137. package/dist/lib/bin/ESLint/ESLint.cjs +0 -84
  138. package/dist/lib/bin/ESLint/eslint.config.cjs +0 -114
  139. package/dist/lib/bin/ESLint/eslint.config.d.ts +0 -20
  140. package/dist/lib/bin/ESLint/index.cjs +0 -53
  141. package/dist/lib/bin/ESLint/index.d.ts +0 -2
  142. package/dist/lib/bin/ObsidianDevUtilsRepoPaths.cjs +0 -66
  143. package/dist/lib/bin/build.cjs +0 -58
  144. package/dist/lib/bin/cli.cjs +0 -81
  145. package/dist/lib/bin/esbuild/Dependency.cjs +0 -125
  146. package/dist/lib/bin/esbuild/ObsidianPluginBuilder.cjs +0 -160
  147. package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.cjs +0 -59
  148. package/dist/lib/bin/esbuild/fixSourceMapsPlugin.cjs +0 -74
  149. package/dist/lib/bin/esbuild/index.d.ts +0 -7
  150. package/dist/lib/bin/esbuild/lintPlugin.cjs +0 -55
  151. package/dist/lib/bin/esbuild/preprocessPlugin.cjs +0 -89
  152. package/dist/lib/bin/esbuild/renameToCjsPlugin.cjs +0 -75
  153. package/dist/lib/bin/index.cjs +0 -68
  154. package/dist/lib/bin/index.d.ts +0 -7
  155. package/dist/lib/bin/spellcheck.cjs +0 -58
  156. package/dist/lib/bin/version.cjs +0 -352
  157. package/dist/lib/cli.cjs +0 -170
  158. /package/dist/lib/{CodeGenerator.d.ts → scripts/CodeGenerator.d.ts} +0 -0
  159. /package/dist/lib/{bin → scripts}/build.d.ts +0 -0
  160. /package/dist/lib/{bin → scripts}/cli.d.ts +0 -0
  161. /package/dist/lib/{bin → scripts}/esbuild/Dependency.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.0.0
4
+
5
+ - Refactor ESLint rules
6
+ - Avoid using node: modules
7
+
3
8
  ## 2.27.0
4
9
 
5
10
  - ensureMetadataCacheReady in getBacklinksForFileSafe
@@ -3,7 +3,7 @@
3
3
  * Fixed typings for the `compare-versions` package.
4
4
  */
5
5
 
6
- declare module "compare-versions" {
6
+ declare module 'compare-versions' {
7
7
  /**
8
8
  * Defines the set of comparison operators that can be used to compare version strings.
9
9
  *
@@ -13,7 +13,7 @@ declare module "compare-versions" {
13
13
  * - `<`: Checks if the first version is less than the second.
14
14
  * - `<=`: Checks if the first version is less than or equal to the second.
15
15
  */
16
- export type CompareOperator = ">" | ">=" | "=" | "<" | "<=";
16
+ export type CompareOperator = '>' | '>=' | '=' | '<' | '<=';
17
17
 
18
18
  /**
19
19
  * Compares two version strings using semantic versioning rules.
@@ -19,10 +19,19 @@ var __copyProps = (to, from, except, desc) => {
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var types_exports = {};
21
21
  module.exports = __toCommonJS(types_exports);
22
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
22
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
23
+ const normalizedPath = __filename.replace(/\\/g, "/");
24
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
25
+ let path = normalizedPath;
26
+ if (windowsDriveLetterMatch) {
27
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
28
+ }
29
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
30
+ return new URL(`file://${encodedPath}`);
31
+ })();
23
32
  var __process = globalThis["process"] ?? {
24
33
  "cwd": () => "/",
25
34
  "env": {},
26
35
  "platform": "android"
27
36
  };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0B0eXBlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFxcQHR5cGVzXG4gKiBDb250YWlucyB1dGlsaXR5IHR5cGVzIGZvciB3b3JraW5nIHdpdGggVHlwZVNjcmlwdCBjbGFzc2VzIGFuZCB0eXBlIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uc3RydWN0b3IgdHlwZSBmb3IgYSBnaXZlbiBjbGFzcyBgVGAgd2l0aCBhcmd1bWVudHMgYEFyZ3NgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBpbnN0YW5jZSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSB0eXBlcyBvZiBhcmd1bWVudHMgdGhlIGNvbnN0cnVjdG9yIGFjY2VwdHMuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFR5cGUsIEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBbXT4gPSBuZXcgKC4uLmFyZ3M6IEFyZ3MpID0+IFR5cGU7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGtleXMgb2YgYSBnaXZlbiB0eXBlIGBUeXBlYCB0aGF0IG1hdGNoIGEgc3BlY2lmaWMgdmFsdWUgdHlwZSBgVmFsdWVgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUga2V5cy5cbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdmFsdWUgdHlwZSB0byBtYXRjaCBhZ2FpbnN0LlxuICovXG5leHBvcnQgdHlwZSBLZXlzTWF0Y2hpbmc8VHlwZSwgVmFsdWU+ID0geyBbS2V5IGluIGtleW9mIFR5cGVdLT86IFR5cGVbS2V5XSBleHRlbmRzIFZhbHVlID8gS2V5IDogbmV2ZXIgfVtrZXlvZiBUeXBlXTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0B0eXBlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9Pntjb25zdCBub3JtYWxpemVkUGF0aD1fX2ZpbGVuYW1lLnJlcGxhY2UoL1xcXFwvZyxcIi9cIik7Y29uc3Qgd2luZG93c0RyaXZlTGV0dGVyTWF0Y2g9L14oW2EtekEtWl0pOi8uZXhlYyhub3JtYWxpemVkUGF0aCk7bGV0IHBhdGg9bm9ybWFsaXplZFBhdGg7aWYod2luZG93c0RyaXZlTGV0dGVyTWF0Y2gpe3BhdGg9YC8ke3dpbmRvd3NEcml2ZUxldHRlck1hdGNoWzFdLnRvVXBwZXJDYXNlKCl9OiR7bm9ybWFsaXplZFBhdGguc2xpY2UoMil9YH1jb25zdCBlbmNvZGVkUGF0aD1lbmNvZGVVUklDb21wb25lbnQocGF0aCkucmVwbGFjZSgvJTJGL2csXCIvXCIpLnJlcGxhY2UoLyUzQS9nLFwiOlwiKTtyZXR1cm4gbmV3IFVSTChgZmlsZTovLyR7ZW5jb2RlZFBhdGh9YCl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFxcQHR5cGVzXG4gKiBDb250YWlucyB1dGlsaXR5IHR5cGVzIGZvciB3b3JraW5nIHdpdGggVHlwZVNjcmlwdCBjbGFzc2VzIGFuZCB0eXBlIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uc3RydWN0b3IgdHlwZSBmb3IgYSBnaXZlbiBjbGFzcyBgVGAgd2l0aCBhcmd1bWVudHMgYEFyZ3NgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBpbnN0YW5jZSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSB0eXBlcyBvZiBhcmd1bWVudHMgdGhlIGNvbnN0cnVjdG9yIGFjY2VwdHMuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFR5cGUsIEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBbXT4gPSBuZXcgKC4uLmFyZ3M6IEFyZ3MpID0+IFR5cGU7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGtleXMgb2YgYSBnaXZlbiB0eXBlIGBUeXBlYCB0aGF0IG1hdGNoIGEgc3BlY2lmaWMgdmFsdWUgdHlwZSBgVmFsdWVgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUga2V5cy5cbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdmFsdWUgdHlwZSB0byBtYXRjaCBhZ2FpbnN0LlxuICovXG5leHBvcnQgdHlwZSBLZXlzTWF0Y2hpbmc8VHlwZSwgVmFsdWU+ID0geyBbS2V5IGluIGtleW9mIFR5cGVdLT86IFR5cGVbS2V5XSBleHRlbmRzIFZhbHVlID8gS2V5IDogbmV2ZXIgfVtrZXlvZiBUeXBlXTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsUUFBTSxpQkFBZSxXQUFXLFFBQVEsT0FBTSxHQUFHO0FBQUUsUUFBTSwwQkFBd0IsZUFBZSxLQUFLLGNBQWM7QUFBRSxNQUFJLE9BQUs7QUFBZSxNQUFHLHlCQUF3QjtBQUFDLFdBQUssSUFBSSx3QkFBd0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLGVBQWUsTUFBTSxDQUFDLENBQUM7QUFBQSxFQUFFO0FBQUMsUUFBTSxjQUFZLG1CQUFtQixJQUFJLEVBQUUsUUFBUSxRQUFPLEdBQUcsRUFBRSxRQUFRLFFBQU8sR0FBRztBQUFFLFNBQU8sSUFBSSxJQUFJLFVBQVUsV0FBVyxFQUFFO0FBQUMsR0FBRztBQUNwYixJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -37,7 +37,16 @@ __export(Async_exports, {
37
37
  });
38
38
  module.exports = __toCommonJS(Async_exports);
39
39
  var import_Error = require("./Error.cjs");
40
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
40
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
41
+ const normalizedPath = __filename.replace(/\\/g, "/");
42
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
43
+ let path = normalizedPath;
44
+ if (windowsDriveLetterMatch) {
45
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
46
+ }
47
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
48
+ return new URL(`file://${encodedPath}`);
49
+ })();
41
50
  var __process = globalThis["process"] ?? {
42
51
  "cwd": () => "/",
43
52
  "env": {},
@@ -51,15 +60,15 @@ async function retryWithTimeout(asyncFn, retryOptions = {}) {
51
60
  const overriddenOptions = { ...DEFAULT_RETRY_OPTIONS, ...retryOptions };
52
61
  await runWithTimeout(overriddenOptions.timeoutInMilliseconds, async () => {
53
62
  let attempt = 0;
54
- while (true) {
63
+ for (; ; ) {
55
64
  attempt++;
56
65
  if (await asyncFn()) {
57
66
  if (attempt > 1) {
58
- console.debug(`Retry completed successfully after ${attempt} attempts`);
67
+ console.debug(`Retry completed successfully after ${attempt.toString()} attempts`);
59
68
  }
60
69
  return;
61
70
  }
62
- console.debug(`Retry attempt ${attempt} completed unsuccessfully. Trying again in ${overriddenOptions.retryDelayInMilliseconds} milliseconds`);
71
+ console.debug(`Retry attempt ${attempt.toString()} completed unsuccessfully. Trying again in ${overriddenOptions.retryDelayInMilliseconds.toString()} milliseconds`);
63
72
  console.debug(asyncFn);
64
73
  await sleep(overriddenOptions.retryDelayInMilliseconds);
65
74
  }
@@ -73,13 +82,15 @@ async function runWithTimeout(timeoutInMilliseconds, asyncFn) {
73
82
  }
74
83
  async function timeout(timeoutInMilliseconds) {
75
84
  await sleep(timeoutInMilliseconds);
76
- throw new Error(`Timed out in ${timeoutInMilliseconds} milliseconds`);
85
+ throw new Error(`Timed out in ${timeoutInMilliseconds.toString()} milliseconds`);
77
86
  }
78
87
  function invokeAsyncSafely(promise) {
79
88
  promise.catch(import_Error.emitAsyncErrorEvent);
80
89
  }
81
90
  function convertAsyncToSync(asyncFunc) {
82
- return (...args) => invokeAsyncSafely(asyncFunc(...args));
91
+ return (...args) => {
92
+ invokeAsyncSafely(asyncFunc(...args));
93
+ };
83
94
  }
84
95
  function convertSyncToAsync(syncFn) {
85
96
  return async (...args) => {
@@ -121,4 +132,4 @@ async function toArray(iter) {
121
132
  timeout,
122
133
  toArray
123
134
  });
124
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQXN5bmNcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgeyBlbWl0QXN5bmNFcnJvckV2ZW50IH0gZnJvbSBcIi4vRXJyb3IudHNcIjtcblxuLyoqXG4gKiBBIHR5cGUgcmVwcmVzZW50aW5nIGEgdmFsdWUgdGhhdCBjYW4gZWl0aGVyIGJlIGEgZGlyZWN0IHZhbHVlIG9yIGEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhhdCB2YWx1ZS5cbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgTWF5YmVQcm9taXNlPFQ+ID0gVCB8IFByb21pc2U8VD47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIHJldHJ5IGJlaGF2aW9yLlxuICovXG5leHBvcnQgdHlwZSBSZXRyeU9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBnaXZpbmcgdXAgb24gcmV0cnlpbmcuXG4gICAqL1xuICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGRlbGF5IGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHJldHJ5IGF0dGVtcHRzLlxuICAgKi9cbiAgcmV0cnlEZWxheUluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG59O1xuXG4vKipcbiAqIFJldHJpZXMgdGhlIHByb3ZpZGVkIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB1bnRpbCBpdCBzdWNjZWVkcyBvciB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICpcbiAqIEBwYXJhbSBhc3luY0ZuIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byByZXRyeS5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGNvbmZpZ3VyZSB0aGUgcmV0cnkgYmVoYXZpb3IuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBzdWNjZWVkcyBvciByZWplY3RzIHdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5V2l0aFRpbWVvdXQoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTxib29sZWFuPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFJldHJ5T3B0aW9ucyA9IHtcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMDAsXG4gICAgcmV0cnlEZWxheUluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFJldHJ5T3B0aW9ucyA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgYXdhaXQgcnVuV2l0aFRpbWVvdXQob3ZlcnJpZGRlbk9wdGlvbnMudGltZW91dEluTWlsbGlzZWNvbmRzLCBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGF0dGVtcHQgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBhdHRlbXB0Kys7XG4gICAgICBpZiAoYXdhaXQgYXN5bmNGbigpKSB7XG4gICAgICAgIGlmIChhdHRlbXB0ID4gMSkge1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoYFJldHJ5IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgYWZ0ZXIgJHthdHRlbXB0fSBhdHRlbXB0c2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc29sZS5kZWJ1ZyhgUmV0cnkgYXR0ZW1wdCAke2F0dGVtcHR9IGNvbXBsZXRlZCB1bnN1Y2Nlc3NmdWxseS4gVHJ5aW5nIGFnYWluIGluICR7b3ZlcnJpZGRlbk9wdGlvbnMucmV0cnlEZWxheUluTWlsbGlzZWNvbmRzfSBtaWxsaXNlY29uZHNgKTtcbiAgICAgIGNvbnNvbGUuZGVidWcoYXN5bmNGbik7XG4gICAgICBhd2FpdCBzbGVlcChvdmVycmlkZGVuT3B0aW9ucy5yZXRyeURlbGF5SW5NaWxsaXNlY29uZHMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsYXlzIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gVGhlIHRpbWUgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbWlsbGlzZWNvbmRzKSk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHdpdGggYSB0aW1lb3V0LiBJZiB0aGUgZnVuY3Rpb24gZG9lcyBub3QgY29tcGxldGUgd2l0aGluIHRoZSBzcGVjaWZpZWQgdGltZSwgaXQgaXMgY29uc2lkZXJlZCB0byBoYXZlIHRpbWVkIG91dC5cbiAqXG4gKiBAdHlwZVBhcmFtIFIgLSBUaGUgdHlwZSBvZiB0aGUgcmVzdWx0IGZyb20gdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbi5cbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgbWF4aW11bSB0aW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiBvciByZWplY3RzIGlmIGl0IHRpbWVzIG91dC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldpdGhUaW1lb3V0PFI+KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyLCBhc3luY0ZuOiAoKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiB7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLnJhY2UoW2FzeW5jRm4oKSwgdGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZWplY3RzIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZW91dCBwZXJpb2QuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IHBlcmlvZCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCBhbHdheXMgcmVqZWN0cyB3aXRoIGEgdGltZW91dCBlcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRpbWVvdXQodGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPG5ldmVyPiB7XG4gIGF3YWl0IHNsZWVwKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHRocm93IG5ldyBFcnJvcihgVGltZWQgb3V0IGluICR7dGltZW91dEluTWlsbGlzZWNvbmRzfSBtaWxsaXNlY29uZHNgKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGEgUHJvbWlzZSBhbmQgc2FmZWx5IGhhbmRsZXMgYW55IGVycm9ycyBieSBjYXRjaGluZyB0aGVtIGFuZCBlbWl0dGluZyBhbiBhc3luYyBlcnJvciBldmVudC5cbiAqXG4gKiBAcGFyYW0gcHJvbWlzZSAtIFRoZSBQcm9taXNlIHRvIGludm9rZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzeW5jU2FmZWx5KHByb21pc2U6IFByb21pc2U8dW5rbm93bj4pOiB2b2lkIHtcbiAgcHJvbWlzZS5jYXRjaChlbWl0QXN5bmNFcnJvckV2ZW50KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYSBzeW5jaHJvbm91cyBvbmUgYnkgYXV0b21hdGljYWxseSBoYW5kbGluZyB0aGUgUHJvbWlzZSByZWplY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAcGFyYW0gYXN5bmNGdW5jIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IHdyYXBzIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSBzeW5jaHJvbm91cyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QXN5bmNUb1N5bmM8QXJncyBleHRlbmRzIHVua25vd25bXT4oYXN5bmNGdW5jOiAoLi4uYXJnczogQXJncykgPT4gUHJvbWlzZTx1bmtub3duPik6ICguLi5hcmdzOiBBcmdzKSA9PiB2b2lkIHtcbiAgcmV0dXJuICguLi5hcmdzOiBBcmdzKTogdm9pZCA9PiBpbnZva2VBc3luY1NhZmVseShhc3luY0Z1bmMoLi4uYXJncykpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYW4gYXN5bmNocm9ub3VzIG9uZSBieSB3cmFwcGluZyBpdCBpbiBhIFByb21pc2UuXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbidzIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSBzeW5jRm4gLSBUaGUgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRTeW5jVG9Bc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXN1bHQ+KHN5bmNGbjogKC4uLmFyZ3M6IEFyZ3MpID0+IFJlc3VsdCk6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJlc3VsdD4ge1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gc3luY0ZuKC4uLmFyZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIuXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY01hcDxULCBVPihhcnI6IFRbXSwgY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gTWF5YmVQcm9taXNlPFU+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKGFyci5tYXAoY2FsbGJhY2spKTtcbn1cblxuLyoqXG4gKiBGaWx0ZXJzIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBrZWVwaW5nIG9ubHkgdGhlIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJvdmlkZWQgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gZmlsdGVyLlxuICogQHBhcmFtIHByZWRpY2F0ZSAtIFRoZSBwcmVkaWNhdGUgZnVuY3Rpb24gdG8gdGVzdCBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGaWx0ZXI8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBNYXliZVByb21pc2U8Ym9vbGVhbj4pOiBQcm9taXNlPFRbXT4ge1xuICBjb25zdCBwcmVkaWNhdGVSZXN1bHRzID0gYXdhaXQgYXN5bmNNYXAoYXJyLCBwcmVkaWNhdGUpO1xuICByZXR1cm4gYXJyLmZpbHRlcigoXywgaW5kZXgpID0+IHByZWRpY2F0ZVJlc3VsdHNbaW5kZXhdKTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQsIGFuZCB0aGVuIGZsYXR0ZW5zIHRoZSByZXN1bHRzIGludG8gYSBzaW5nbGUgYXJyYXkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIgYW5kIGZsYXR0ZW4uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGZsYXR0ZW5lZCBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZsYXRNYXA8VCwgVT4oYXJyOiBUW10sIGNhbGxiYWNrOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IE1heWJlUHJvbWlzZTxVW10+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIChhd2FpdCBhc3luY01hcChhcnIsIGNhbGxiYWNrKSkuZmxhdCgpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIEFzeW5jSXRlcmFibGVJdGVyYXRvciB0byBhbiBhcnJheSBieSBjb25zdW1pbmcgYWxsIGl0cyBlbGVtZW50cy5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBwcm9kdWNlZCBieSB0aGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yLlxuICogQHBhcmFtIGl0ZXIgLSBUaGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGFsbCB0aGUgZWxlbWVudHMgaW4gdGhlIEFzeW5jSXRlcmFibGVJdGVyYXRvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQXJyYXk8VD4oaXRlcjogQXN5bmNJdGVyYWJsZUl0ZXJhdG9yPFQ+KTogUHJvbWlzZTxUW10+IHtcbiAgY29uc3QgYXJyOiBUW10gPSBbXTtcbiAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIGl0ZXIpIHtcbiAgICBhcnIucHVzaChpdGVtKTtcbiAgfVxuICByZXR1cm4gYXJyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxtQkFBb0M7QUFYcEMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFvQ0EsZUFBc0IsaUJBQWlCLFNBQWlDLGVBQXNDLENBQUMsR0FBa0I7QUFDL0gsUUFBTSx3QkFBc0M7QUFBQSxJQUMxQyx1QkFBdUI7QUFBQSxJQUN2QiwwQkFBMEI7QUFBQSxFQUM1QjtBQUNBLFFBQU0sb0JBQWtDLEVBQUUsR0FBRyx1QkFBdUIsR0FBRyxhQUFhO0FBQ3BGLFFBQU0sZUFBZSxrQkFBa0IsdUJBQXVCLFlBQVk7QUFDeEUsUUFBSSxVQUFVO0FBQ2QsV0FBTyxNQUFNO0FBQ1g7QUFDQSxVQUFJLE1BQU0sUUFBUSxHQUFHO0FBQ25CLFlBQUksVUFBVSxHQUFHO0FBQ2Ysa0JBQVEsTUFBTSxzQ0FBc0MsT0FBTyxXQUFXO0FBQUEsUUFDeEU7QUFDQTtBQUFBLE1BQ0Y7QUFFQSxjQUFRLE1BQU0saUJBQWlCLE9BQU8sOENBQThDLGtCQUFrQix3QkFBd0IsZUFBZTtBQUM3SSxjQUFRLE1BQU0sT0FBTztBQUNyQixZQUFNLE1BQU0sa0JBQWtCLHdCQUF3QjtBQUFBLElBQ3hEO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRQSxlQUFzQixNQUFNLGNBQXFDO0FBQy9ELFFBQU0sSUFBSSxRQUFRLENBQUMsWUFBWSxXQUFXLFNBQVMsWUFBWSxDQUFDO0FBQ2xFO0FBVUEsZUFBc0IsZUFBa0IsdUJBQStCLFNBQXVDO0FBQzVHLFNBQU8sTUFBTSxRQUFRLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3ZFO0FBUUEsZUFBc0IsUUFBUSx1QkFBK0M7QUFDM0UsUUFBTSxNQUFNLHFCQUFxQjtBQUNqQyxRQUFNLElBQUksTUFBTSxnQkFBZ0IscUJBQXFCLGVBQWU7QUFDdEU7QUFPTyxTQUFTLGtCQUFrQixTQUFpQztBQUNqRSxVQUFRLE1BQU0sZ0NBQW1CO0FBQ25DO0FBU08sU0FBUyxtQkFBMkMsV0FBeUU7QUFDbEksU0FBTyxJQUFJLFNBQXFCLGtCQUFrQixVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3RFO0FBVU8sU0FBUyxtQkFBbUQsUUFBdUU7QUFDeEksU0FBTyxVQUFVLFNBQWdDO0FBQy9DLFFBQUk7QUFDRixhQUFPLE9BQU8sR0FBRyxJQUFJO0FBQUEsSUFDdkIsU0FBUyxPQUFPO0FBQ2QsYUFBTyxNQUFNLFFBQVEsT0FBTyxLQUFLO0FBQUEsSUFDbkM7QUFBQSxFQUNGO0FBQ0Y7QUFXQSxlQUFzQixTQUFlLEtBQVUsVUFBa0Y7QUFDL0gsU0FBTyxNQUFNLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDO0FBQzVDO0FBVUEsZUFBc0IsWUFBZSxLQUFVLFdBQXlGO0FBQ3RJLFFBQU0sbUJBQW1CLE1BQU0sU0FBUyxLQUFLLFNBQVM7QUFDdEQsU0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLFVBQVUsaUJBQWlCLEtBQUssQ0FBQztBQUN6RDtBQVdBLGVBQXNCLGFBQW1CLEtBQVUsVUFBb0Y7QUFDckksVUFBUSxNQUFNLFNBQVMsS0FBSyxRQUFRLEdBQUcsS0FBSztBQUM5QztBQVNBLGVBQXNCLFFBQVcsTUFBOEM7QUFDN0UsUUFBTSxNQUFXLENBQUM7QUFDbEIsbUJBQWlCLFFBQVEsTUFBTTtBQUM3QixRQUFJLEtBQUssSUFBSTtBQUFBLEVBQ2Y7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
135
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+e2NvbnN0IG5vcm1hbGl6ZWRQYXRoPV9fZmlsZW5hbWUucmVwbGFjZSgvXFxcXC9nLFwiL1wiKTtjb25zdCB3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaD0vXihbYS16QS1aXSk6Ly5leGVjKG5vcm1hbGl6ZWRQYXRoKTtsZXQgcGF0aD1ub3JtYWxpemVkUGF0aDtpZih3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaCl7cGF0aD1gLyR7d2luZG93c0RyaXZlTGV0dGVyTWF0Y2hbMV0udG9VcHBlckNhc2UoKX06JHtub3JtYWxpemVkUGF0aC5zbGljZSgyKX1gfWNvbnN0IGVuY29kZWRQYXRoPWVuY29kZVVSSUNvbXBvbmVudChwYXRoKS5yZXBsYWNlKC8lMkYvZyxcIi9cIikucmVwbGFjZSgvJTNBL2csXCI6XCIpO3JldHVybiBuZXcgVVJMKGBmaWxlOi8vJHtlbmNvZGVkUGF0aH1gKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQXN5bmNcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgeyBlbWl0QXN5bmNFcnJvckV2ZW50IH0gZnJvbSAnLi9FcnJvci50cyc7XG5cbi8qKlxuICogQSB0eXBlIHJlcHJlc2VudGluZyBhIHZhbHVlIHRoYXQgY2FuIGVpdGhlciBiZSBhIGRpcmVjdCB2YWx1ZSBvciBhIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoYXQgdmFsdWUuXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIE1heWJlUHJvbWlzZTxUPiA9IFQgfCBQcm9taXNlPFQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSByZXRyeSBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZ2l2aW5nIHVwIG9uIHJldHJ5aW5nLlxuICAgKi9cbiAgdGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWxheSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiByZXRyeSBhdHRlbXB0cy5cbiAgICovXG4gIHJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJldHJpZXMgdGhlIHByb3ZpZGVkIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB1bnRpbCBpdCBzdWNjZWVkcyBvciB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICpcbiAqIEBwYXJhbSBhc3luY0ZuIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byByZXRyeS5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGNvbmZpZ3VyZSB0aGUgcmV0cnkgYmVoYXZpb3IuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBzdWNjZWVkcyBvciByZWplY3RzIHdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5V2l0aFRpbWVvdXQoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTxib29sZWFuPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFJldHJ5T3B0aW9ucyA9IHtcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMDAsXG4gICAgcmV0cnlEZWxheUluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFJldHJ5T3B0aW9ucyA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgYXdhaXQgcnVuV2l0aFRpbWVvdXQob3ZlcnJpZGRlbk9wdGlvbnMudGltZW91dEluTWlsbGlzZWNvbmRzLCBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGF0dGVtcHQgPSAwO1xuICAgIGZvciAoOyA7KSB7XG4gICAgICBhdHRlbXB0Kys7XG4gICAgICBpZiAoYXdhaXQgYXN5bmNGbigpKSB7XG4gICAgICAgIGlmIChhdHRlbXB0ID4gMSkge1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoYFJldHJ5IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgYWZ0ZXIgJHthdHRlbXB0LnRvU3RyaW5nKCl9IGF0dGVtcHRzYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmRlYnVnKGBSZXRyeSBhdHRlbXB0ICR7YXR0ZW1wdC50b1N0cmluZygpfSBjb21wbGV0ZWQgdW5zdWNjZXNzZnVsbHkuIFRyeWluZyBhZ2FpbiBpbiAke292ZXJyaWRkZW5PcHRpb25zLnJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcy50b1N0cmluZygpfSBtaWxsaXNlY29uZHNgKTtcbiAgICAgIGNvbnNvbGUuZGVidWcoYXN5bmNGbik7XG4gICAgICBhd2FpdCBzbGVlcChvdmVycmlkZGVuT3B0aW9ucy5yZXRyeURlbGF5SW5NaWxsaXNlY29uZHMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsYXlzIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gVGhlIHRpbWUgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbWlsbGlzZWNvbmRzKSk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHdpdGggYSB0aW1lb3V0LiBJZiB0aGUgZnVuY3Rpb24gZG9lcyBub3QgY29tcGxldGUgd2l0aGluIHRoZSBzcGVjaWZpZWQgdGltZSwgaXQgaXMgY29uc2lkZXJlZCB0byBoYXZlIHRpbWVkIG91dC5cbiAqXG4gKiBAdHlwZVBhcmFtIFIgLSBUaGUgdHlwZSBvZiB0aGUgcmVzdWx0IGZyb20gdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbi5cbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgbWF4aW11bSB0aW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiBvciByZWplY3RzIGlmIGl0IHRpbWVzIG91dC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldpdGhUaW1lb3V0PFI+KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyLCBhc3luY0ZuOiAoKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiB7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLnJhY2UoW2FzeW5jRm4oKSwgdGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZWplY3RzIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZW91dCBwZXJpb2QuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IHBlcmlvZCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCBhbHdheXMgcmVqZWN0cyB3aXRoIGEgdGltZW91dCBlcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRpbWVvdXQodGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPG5ldmVyPiB7XG4gIGF3YWl0IHNsZWVwKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHRocm93IG5ldyBFcnJvcihgVGltZWQgb3V0IGluICR7dGltZW91dEluTWlsbGlzZWNvbmRzLnRvU3RyaW5nKCl9IG1pbGxpc2Vjb25kc2ApO1xufVxuXG4vKipcbiAqIEludm9rZXMgYSBQcm9taXNlIGFuZCBzYWZlbHkgaGFuZGxlcyBhbnkgZXJyb3JzIGJ5IGNhdGNoaW5nIHRoZW0gYW5kIGVtaXR0aW5nIGFuIGFzeW5jIGVycm9yIGV2ZW50LlxuICpcbiAqIEBwYXJhbSBwcm9taXNlIC0gVGhlIFByb21pc2UgdG8gaW52b2tlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXN5bmNTYWZlbHkocHJvbWlzZTogUHJvbWlzZTx1bmtub3duPik6IHZvaWQge1xuICBwcm9taXNlLmNhdGNoKGVtaXRBc3luY0Vycm9yRXZlbnQpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBhIHN5bmNocm9ub3VzIG9uZSBieSBhdXRvbWF0aWNhbGx5IGhhbmRsaW5nIHRoZSBQcm9taXNlIHJlamVjdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3MgLSBUaGUgdHlwZXMgb2YgdGhlIGFyZ3VtZW50cyB0aGUgZnVuY3Rpb24gYWNjZXB0cy5cbiAqIEBwYXJhbSBhc3luY0Z1bmMgLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgd3JhcHMgdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiBpbiBhIHN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBc3luY1RvU3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihhc3luY0Z1bmM6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPHVua25vd24+KTogKC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWQge1xuICByZXR1cm4gKC4uLmFyZ3M6IEFyZ3MpOiB2b2lkID0+IHtcbiAgICBpbnZva2VBc3luY1NhZmVseShhc3luY0Z1bmMoLi4uYXJncykpO1xuICB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYW4gYXN5bmNocm9ub3VzIG9uZSBieSB3cmFwcGluZyBpdCBpbiBhIFByb21pc2UuXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbidzIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSBzeW5jRm4gLSBUaGUgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRTeW5jVG9Bc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXN1bHQ+KHN5bmNGbjogKC4uLmFyZ3M6IEFyZ3MpID0+IFJlc3VsdCk6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJlc3VsdD4ge1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gc3luY0ZuKC4uLmFyZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yZWplY3QoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIuXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY01hcDxULCBVPihhcnI6IFRbXSwgY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gTWF5YmVQcm9taXNlPFU+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKGFyci5tYXAoY2FsbGJhY2spKTtcbn1cblxuLyoqXG4gKiBGaWx0ZXJzIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBrZWVwaW5nIG9ubHkgdGhlIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJvdmlkZWQgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gZmlsdGVyLlxuICogQHBhcmFtIHByZWRpY2F0ZSAtIFRoZSBwcmVkaWNhdGUgZnVuY3Rpb24gdG8gdGVzdCBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGaWx0ZXI8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBNYXliZVByb21pc2U8Ym9vbGVhbj4pOiBQcm9taXNlPFRbXT4ge1xuICBjb25zdCBwcmVkaWNhdGVSZXN1bHRzID0gYXdhaXQgYXN5bmNNYXAoYXJyLCBwcmVkaWNhdGUpO1xuICByZXR1cm4gYXJyLmZpbHRlcigoXywgaW5kZXgpID0+IHByZWRpY2F0ZVJlc3VsdHNbaW5kZXhdKTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQsIGFuZCB0aGVuIGZsYXR0ZW5zIHRoZSByZXN1bHRzIGludG8gYSBzaW5nbGUgYXJyYXkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIgYW5kIGZsYXR0ZW4uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGZsYXR0ZW5lZCBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZsYXRNYXA8VCwgVT4oYXJyOiBUW10sIGNhbGxiYWNrOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IE1heWJlUHJvbWlzZTxVW10+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIChhd2FpdCBhc3luY01hcChhcnIsIGNhbGxiYWNrKSkuZmxhdCgpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIEFzeW5jSXRlcmFibGVJdGVyYXRvciB0byBhbiBhcnJheSBieSBjb25zdW1pbmcgYWxsIGl0cyBlbGVtZW50cy5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBwcm9kdWNlZCBieSB0aGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yLlxuICogQHBhcmFtIGl0ZXIgLSBUaGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGFsbCB0aGUgZWxlbWVudHMgaW4gdGhlIEFzeW5jSXRlcmFibGVJdGVyYXRvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQXJyYXk8VD4oaXRlcjogQXN5bmNJdGVyYWJsZUl0ZXJhdG9yPFQ+KTogUHJvbWlzZTxUW10+IHtcbiAgY29uc3QgYXJyOiBUW10gPSBbXTtcbiAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIGl0ZXIpIHtcbiAg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
@@ -10,7 +10,7 @@ export type MaybePromise<T> = T | Promise<T>;
10
10
  /**
11
11
  * Options for configuring the retry behavior.
12
12
  */
13
- export type RetryOptions = {
13
+ export interface RetryOptions {
14
14
  /**
15
15
  * The maximum time in milliseconds to wait before giving up on retrying.
16
16
  */
@@ -19,7 +19,7 @@ export type RetryOptions = {
19
19
  * The delay in milliseconds between retry attempts.
20
20
  */
21
21
  retryDelayInMilliseconds: number;
22
- };
22
+ }
23
23
  /**
24
24
  * Retries the provided asynchronous function until it succeeds or the timeout is reached.
25
25
  *
package/dist/lib/Blob.cjs CHANGED
@@ -29,7 +29,17 @@ __export(Blob_exports, {
29
29
  isImageFile: () => isImageFile
30
30
  });
31
31
  module.exports = __toCommonJS(Blob_exports);
32
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
32
+ var import_Error = require("./Error.cjs");
33
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
34
+ const normalizedPath = __filename.replace(/\\/g, "/");
35
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
36
+ let path = normalizedPath;
37
+ if (windowsDriveLetterMatch) {
38
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
39
+ }
40
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
41
+ return new URL(`file://${encodedPath}`);
42
+ })();
33
43
  var __process = globalThis["process"] ?? {
34
44
  "cwd": () => "/",
35
45
  "env": {},
@@ -38,18 +48,23 @@ var __process = globalThis["process"] ?? {
38
48
  async function blobToArrayBuffer(blob) {
39
49
  return await new Promise((resolve) => {
40
50
  const reader = new FileReader();
41
- reader.onloadend = () => resolve(reader.result);
51
+ reader.onloadend = () => {
52
+ resolve(reader.result);
53
+ };
42
54
  reader.readAsArrayBuffer(blob);
43
55
  });
44
56
  }
45
57
  async function blobToJpegArrayBuffer(blob, jpegQuality) {
46
58
  return new Promise((resolve) => {
47
59
  const reader = new FileReader();
48
- reader.onloadend = (e) => {
60
+ reader.onloadend = () => {
49
61
  const image = new Image();
50
62
  image.onload = () => {
51
63
  const canvas = document.createElement("canvas");
52
64
  const context = canvas.getContext("2d");
65
+ if (!context) {
66
+ throw new Error("Could not get 2D context.");
67
+ }
53
68
  const imageWidth = image.width;
54
69
  const imageHeight = image.height;
55
70
  let data = "";
@@ -65,14 +80,14 @@ async function blobToJpegArrayBuffer(blob, jpegQuality) {
65
80
  const arrayBuffer = base64ToArrayBuffer(data);
66
81
  resolve(arrayBuffer);
67
82
  };
68
- image.src = e.target.result;
83
+ image.src = reader.result;
69
84
  };
70
85
  reader.readAsDataURL(blob);
71
86
  });
72
87
  }
73
88
  function base64ToArrayBuffer(code) {
74
89
  const parts = code.split(";base64,");
75
- const raw = window.atob(parts[1]);
90
+ const raw = window.atob(parts[1] ?? (0, import_Error.throwExpression)(new Error("Invalid base64 string")));
76
91
  const rawLength = raw.length;
77
92
  const uInt8Array = new Uint8Array(rawLength);
78
93
  for (let i = 0; i < rawLength; ++i) {
@@ -90,4 +105,4 @@ function isImageFile(file) {
90
105
  blobToJpegArrayBuffer,
91
106
  isImageFile
92
107
  });
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBc3luY1xuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJsb2Igb2JqZWN0cy5cbiAqL1xuXG4vKipcbiAqIENvbnZlcnRzIGEgQmxvYiBvYmplY3QgdG8gYW4gQXJyYXlCdWZmZXIuXG4gKlxuICogQHBhcmFtIGJsb2IgLSBUaGUgQmxvYiBvYmplY3QgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvQXJyYXlCdWZmZXIoYmxvYjogQmxvYik6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkZW5kID0gKCk6IHZvaWQgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyKTtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgQmxvYiBvYmplY3QgdG8gYSBKUEVHIEFycmF5QnVmZmVyIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaXR5LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ganBlZ1F1YWxpdHkgLSBUaGUgcXVhbGl0eSBvZiB0aGUgSlBFRyBpbWFnZSAoMCB0byAxKS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvSnBlZ0FycmF5QnVmZmVyKGJsb2I6IEJsb2IsIGpwZWdRdWFsaXR5OiBudW1iZXIpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9IChlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgaW1hZ2Uub25sb2FkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGltYWdlLndpZHRoO1xuICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgbGV0IGRhdGEgPSBcIlwiO1xuXG4gICAgICAgIGNhbnZhcy53aWR0aCA9IGltYWdlV2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZUhlaWdodDtcblxuICAgICAgICBjb250ZXh0IS5maWxsU3R5bGUgPSBcIiNmZmZcIjtcbiAgICAgICAgY29udGV4dCEuZmlsbFJlY3QoMCwgMCwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQpO1xuICAgICAgICBjb250ZXh0IS5zYXZlKCk7XG5cbiAgICAgICAgY29udGV4dCEudHJhbnNsYXRlKGltYWdlV2lkdGggLyAyLCBpbWFnZUhlaWdodCAvIDIpO1xuICAgICAgICBjb250ZXh0IS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCAtaW1hZ2VXaWR0aCAvIDIsIC1pbWFnZUhlaWdodCAvIDIsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgICAgY29udGV4dCEucmVzdG9yZSgpO1xuXG4gICAgICAgIGRhdGEgPSBjYW52YXMudG9EYXRhVVJMKFwiaW1hZ2UvanBlZ1wiLCBqcGVnUXVhbGl0eSk7XG5cbiAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBiYXNlNjRUb0FycmF5QnVmZmVyKGRhdGEpO1xuICAgICAgICByZXNvbHZlKGFycmF5QnVmZmVyKTtcbiAgICAgIH07XG5cbiAgICAgIGltYWdlLnNyYyA9IGUudGFyZ2V0IS5yZXN1bHQgYXMgc3RyaW5nO1xuICAgIH07XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIHRvIGFuIEFycmF5QnVmZmVyLlxuICpcbiAqIEBwYXJhbSBjb2RlIC0gVGhlIGJhc2U2NCBlbmNvZGVkIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFzZTY0VG9BcnJheUJ1ZmZlcihjb2RlOiBzdHJpbmcpOiBBcnJheUJ1ZmZlciB7XG4gIGNvbnN0IHBhcnRzID0gY29kZS5zcGxpdChcIjtiYXNlNjQsXCIpO1xuICBjb25zdCByYXcgPSB3aW5kb3cuYXRvYihwYXJ0c1sxXSEpO1xuICBjb25zdCByYXdMZW5ndGggPSByYXcubGVuZ3RoO1xuXG4gIGNvbnN0IHVJbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShyYXdMZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3TGVuZ3RoOyArK2kpIHtcbiAgICB1SW50OEFycmF5W2ldID0gcmF3LmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIHVJbnQ4QXJyYXkuYnVmZmVyO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGZpbGUgaXMgYW4gaW1hZ2UuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGZpbGUgaXMgYW4gaW1hZ2UsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2VGaWxlKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKFwiaW1hZ2UvXCIpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFZQSxlQUFzQixrQkFBa0IsTUFBa0M7QUFDeEUsU0FBTyxNQUFNLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDcEMsVUFBTSxTQUFTLElBQUksV0FBVztBQUM5QixXQUFPLFlBQVksTUFBWSxRQUFRLE9BQU8sTUFBcUI7QUFDbkUsV0FBTyxrQkFBa0IsSUFBSTtBQUFBLEVBQy9CLENBQUM7QUFDSDtBQVNBLGVBQXNCLHNCQUFzQixNQUFZLGFBQTJDO0FBQ2pHLFNBQU8sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM5QixVQUFNLFNBQVMsSUFBSSxXQUFXO0FBQzlCLFdBQU8sWUFBWSxDQUFDLE1BQVk7QUFDOUIsWUFBTSxRQUFRLElBQUksTUFBTTtBQUN4QixZQUFNLFNBQVMsTUFBWTtBQUN6QixjQUFNLFNBQVMsU0FBUyxjQUFjLFFBQVE7QUFDOUMsY0FBTSxVQUFVLE9BQU8sV0FBVyxJQUFJO0FBQ3RDLGNBQU0sYUFBYSxNQUFNO0FBQ3pCLGNBQU0sY0FBYyxNQUFNO0FBQzFCLFlBQUksT0FBTztBQUVYLGVBQU8sUUFBUTtBQUNmLGVBQU8sU0FBUztBQUVoQixnQkFBUyxZQUFZO0FBQ3JCLGdCQUFTLFNBQVMsR0FBRyxHQUFHLFlBQVksV0FBVztBQUMvQyxnQkFBUyxLQUFLO0FBRWQsZ0JBQVMsVUFBVSxhQUFhLEdBQUcsY0FBYyxDQUFDO0FBQ2xELGdCQUFTLFVBQVUsT0FBTyxHQUFHLEdBQUcsWUFBWSxhQUFhLENBQUMsYUFBYSxHQUFHLENBQUMsY0FBYyxHQUFHLFlBQVksV0FBVztBQUNuSCxnQkFBUyxRQUFRO0FBRWpCLGVBQU8sT0FBTyxVQUFVLGNBQWMsV0FBVztBQUVqRCxjQUFNLGNBQWMsb0JBQW9CLElBQUk7QUFDNUMsZ0JBQVEsV0FBVztBQUFBLE1BQ3JCO0FBRUEsWUFBTSxNQUFNLEVBQUUsT0FBUTtBQUFBLElBQ3hCO0FBQ0EsV0FBTyxjQUFjLElBQUk7QUFBQSxFQUMzQixDQUFDO0FBQ0g7QUFRTyxTQUFTLG9CQUFvQixNQUEyQjtBQUM3RCxRQUFNLFFBQVEsS0FBSyxNQUFNLFVBQVU7QUFDbkMsUUFBTSxNQUFNLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBRTtBQUNqQyxRQUFNLFlBQVksSUFBSTtBQUV0QixRQUFNLGFBQWEsSUFBSSxXQUFXLFNBQVM7QUFFM0MsV0FBUyxJQUFJLEdBQUcsSUFBSSxXQUFXLEVBQUUsR0FBRztBQUNsQyxlQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztBQUFBLEVBQ2xDO0FBQ0EsU0FBTyxXQUFXO0FBQ3BCO0FBUU8sU0FBUyxZQUFZLE1BQXFCO0FBQy9DLFNBQU8sS0FBSyxLQUFLLFdBQVcsUUFBUTtBQUN0QzsiLAogICJuYW1lcyI6IFtdCn0K
108
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT57Y29uc3Qgbm9ybWFsaXplZFBhdGg9X19maWxlbmFtZS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpO2NvbnN0IHdpbmRvd3NEcml2ZUxldHRlck1hdGNoPS9eKFthLXpBLVpdKTovLmV4ZWMobm9ybWFsaXplZFBhdGgpO2xldCBwYXRoPW5vcm1hbGl6ZWRQYXRoO2lmKHdpbmRvd3NEcml2ZUxldHRlck1hdGNoKXtwYXRoPWAvJHt3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaFsxXS50b1VwcGVyQ2FzZSgpfToke25vcm1hbGl6ZWRQYXRoLnNsaWNlKDIpfWB9Y29uc3QgZW5jb2RlZFBhdGg9ZW5jb2RlVVJJQ29tcG9uZW50KHBhdGgpLnJlcGxhY2UoLyUyRi9nLFwiL1wiKS5yZXBsYWNlKC8lM0EvZyxcIjpcIik7cmV0dXJuIG5ldyBVUkwoYGZpbGU6Ly8ke2VuY29kZWRQYXRofWApfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBc3luY1xuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJsb2Igb2JqZWN0cy5cbiAqL1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuL0Vycm9yLnRzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBhIEJsb2Igb2JqZWN0IHRvIGFuIEFycmF5QnVmZmVyLlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0FycmF5QnVmZmVyKGJsb2I6IEJsb2IpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgfTtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgQmxvYiBvYmplY3QgdG8gYSBKUEVHIEFycmF5QnVmZmVyIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaXR5LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ganBlZ1F1YWxpdHkgLSBUaGUgcXVhbGl0eSBvZiB0aGUgSlBFRyBpbWFnZSAoMCB0byAxKS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvSnBlZ0FycmF5QnVmZmVyKGJsb2I6IEJsb2IsIGpwZWdRdWFsaXR5OiBudW1iZXIpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGdldCAyRCBjb250ZXh0LicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XG4gICAgICAgIGxldCBkYXRhID0gJyc7XG5cbiAgICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2VXaWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlSGVpZ2h0O1xuXG4gICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gJyNmZmYnO1xuICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgICAgY29udGV4dC5zYXZlKCk7XG5cbiAgICAgICAgY29udGV4dC50cmFuc2xhdGUoaW1hZ2VXaWR0aCAvIDIsIGltYWdlSGVpZ2h0IC8gMik7XG4gICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgLWltYWdlV2lkdGggLyAyLCAtaW1hZ2VIZWlnaHQgLyAyLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCk7XG4gICAgICAgIGNvbnRleHQucmVzdG9yZSgpO1xuXG4gICAgICAgIGRhdGEgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywganBlZ1F1YWxpdHkpO1xuXG4gICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYmFzZTY0VG9BcnJheUJ1ZmZlcihkYXRhKTtcbiAgICAgICAgcmVzb2x2ZShhcnJheUJ1ZmZlcik7XG4gICAgICB9O1xuXG4gICAgICBpbWFnZS5zcmMgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB0byBhbiBBcnJheUJ1ZmZlci5cbiAqXG4gKiBAcGFyYW0gY29kZSAtIFRoZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhc2U2NFRvQXJyYXlCdWZmZXIoY29kZTogc3RyaW5nKTogQXJyYXlCdWZmZXIge1xuICBjb25zdCBwYXJ0cyA9IGNvZGUuc3BsaXQoJztiYXNlNjQsJyk7XG4gIGNvbnN0IHJhdyA9IHdpbmRvdy5hdG9iKHBhcnRzWzFdID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0ludmFsaWQgYmFzZTY0IHN0cmluZycpKSk7XG4gIGNvbnN0IHJhd0xlbmd0aCA9IHJhdy5sZW5ndGg7XG5cbiAgY29uc3QgdUludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHJhd0xlbmd0aCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXdMZW5ndGg7ICsraSkge1xuICAgIHVJbnQ4QXJyYXlbaV0gPSByYXcuY2hhckNvZGVBdChpKTtcbiAgfVxuICByZXR1cm4gdUludDhBcnJheS5idWZmZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gZmlsZSBpcyBhbiBpbWFnZS5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbWFnZUZpbGUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjog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
@@ -26,7 +26,16 @@ __export(DocumentFragment_exports, {
26
26
  appendCodeBlock: () => appendCodeBlock
27
27
  });
28
28
  module.exports = __toCommonJS(DocumentFragment_exports);
29
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
29
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
30
+ const normalizedPath = __filename.replace(/\\/g, "/");
31
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
32
+ let path = normalizedPath;
33
+ if (windowsDriveLetterMatch) {
34
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
35
+ }
36
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
37
+ return new URL(`file://${encodedPath}`);
38
+ })();
30
39
  var __process = globalThis["process"] ?? {
31
40
  "cwd": () => "/",
32
41
  "env": {},
@@ -42,4 +51,4 @@ function appendCodeBlock(fragment, code) {
42
51
  0 && (module.exports = {
43
52
  appendCodeBlock
44
53
  });
45
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0RvY3VtZW50RnJhZ21lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBEb2N1bWVudEZyYWdtZW50XG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIERvY3VtZW50RnJhZ21lbnRzLlxuICovXG5cbi8qKlxuICogQXBwZW5kcyBhIGNvZGUgYmxvY2sgdG8gdGhlIGdpdmVuIERvY3VtZW50RnJhZ21lbnQuXG4gKlxuICogQHBhcmFtIGZyYWdtZW50IC0gVGhlIERvY3VtZW50RnJhZ21lbnQgdG8gYXBwZW5kIHRoZSBjb2RlIGJsb2NrIHRvLlxuICogQHBhcmFtIGNvZGUgLSBUaGUgY29kZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNvZGUgYmxvY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb2RlQmxvY2soZnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQsIGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICBmcmFnbWVudC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuKHsgY2xzOiBcIm1hcmtkb3duLXJlbmRlcmVkIGNvZGVcIiB9LCAoc3BhbikgPT4ge1xuICAgIHNwYW4uc3R5bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xuICAgIHNwYW4uYXBwZW5kQ2hpbGQoY3JlYXRlRWwoXCJjb2RlXCIsIHsgdGV4dDogY29kZSB9KSk7XG4gIH0pKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBWU8sU0FBUyxnQkFBZ0IsVUFBNEIsTUFBb0I7QUFDOUUsV0FBUyxZQUFZLFdBQVcsRUFBRSxLQUFLLHlCQUF5QixHQUFHLENBQUMsU0FBUztBQUMzRSxTQUFLLE1BQU0sYUFBYTtBQUN4QixTQUFLLFlBQVksU0FBUyxRQUFRLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQ25ELENBQUMsQ0FBQztBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
54
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0RvY3VtZW50RnJhZ21lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT57Y29uc3Qgbm9ybWFsaXplZFBhdGg9X19maWxlbmFtZS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpO2NvbnN0IHdpbmRvd3NEcml2ZUxldHRlck1hdGNoPS9eKFthLXpBLVpdKTovLmV4ZWMobm9ybWFsaXplZFBhdGgpO2xldCBwYXRoPW5vcm1hbGl6ZWRQYXRoO2lmKHdpbmRvd3NEcml2ZUxldHRlck1hdGNoKXtwYXRoPWAvJHt3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaFsxXS50b1VwcGVyQ2FzZSgpfToke25vcm1hbGl6ZWRQYXRoLnNsaWNlKDIpfWB9Y29uc3QgZW5jb2RlZFBhdGg9ZW5jb2RlVVJJQ29tcG9uZW50KHBhdGgpLnJlcGxhY2UoLyUyRi9nLFwiL1wiKS5yZXBsYWNlKC8lM0EvZyxcIjpcIik7cmV0dXJuIG5ldyBVUkwoYGZpbGU6Ly8ke2VuY29kZWRQYXRofWApfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBEb2N1bWVudEZyYWdtZW50XG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIERvY3VtZW50RnJhZ21lbnRzLlxuICovXG5cbi8qKlxuICogQXBwZW5kcyBhIGNvZGUgYmxvY2sgdG8gdGhlIGdpdmVuIERvY3VtZW50RnJhZ21lbnQuXG4gKlxuICogQHBhcmFtIGZyYWdtZW50IC0gVGhlIERvY3VtZW50RnJhZ21lbnQgdG8gYXBwZW5kIHRoZSBjb2RlIGJsb2NrIHRvLlxuICogQHBhcmFtIGNvZGUgLSBUaGUgY29kZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNvZGUgYmxvY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb2RlQmxvY2soZnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQsIGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICBmcmFnbWVudC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuKHsgY2xzOiAnbWFya2Rvd24tcmVuZGVyZWQgY29kZScgfSwgKHNwYW4pID0+IHtcbiAgICBzcGFuLnN0eWxlLmZvbnRXZWlnaHQgPSAnYm9sZCc7XG4gICAgc3Bhbi5hcHBlbmRDaGlsZChjcmVhdGVFbCgnY29kZScsIHsgdGV4dDogY29kZSB9KSk7XG4gIH0pKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLFFBQU0saUJBQWUsV0FBVyxRQUFRLE9BQU0sR0FBRztBQUFFLFFBQU0sMEJBQXdCLGVBQWUsS0FBSyxjQUFjO0FBQUUsTUFBSSxPQUFLO0FBQWUsTUFBRyx5QkFBd0I7QUFBQyxXQUFLLElBQUksd0JBQXdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxlQUFlLE1BQU0sQ0FBQyxDQUFDO0FBQUEsRUFBRTtBQUFDLFFBQU0sY0FBWSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsUUFBTyxHQUFHLEVBQUUsUUFBUSxRQUFPLEdBQUc7QUFBRSxTQUFPLElBQUksSUFBSSxVQUFVLFdBQVcsRUFBRTtBQUFDLEdBQUc7QUFDcGIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQVlPLFNBQVMsZ0JBQWdCLFVBQTRCLE1BQW9CO0FBQzlFLFdBQVMsWUFBWSxXQUFXLEVBQUUsS0FBSyx5QkFBeUIsR0FBRyxDQUFDLFNBQVM7QUFDM0UsU0FBSyxNQUFNLGFBQWE7QUFDeEIsU0FBSyxZQUFZLFNBQVMsUUFBUSxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFBQSxFQUNuRCxDQUFDLENBQUM7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -26,18 +26,28 @@ __export(Error_exports, {
26
26
  emitAsyncErrorEvent: () => emitAsyncErrorEvent,
27
27
  errorToString: () => errorToString,
28
28
  printError: () => printError,
29
- registerAsyncErrorEventHandler: () => registerAsyncErrorEventHandler
29
+ registerAsyncErrorEventHandler: () => registerAsyncErrorEventHandler,
30
+ throwExpression: () => throwExpression
30
31
  });
31
32
  module.exports = __toCommonJS(Error_exports);
32
- var import_node_events = require("node:events");
33
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
33
+ var import_eventemitter3 = require("eventemitter3");
34
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
35
+ const normalizedPath = __filename.replace(/\\/g, "/");
36
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
37
+ let path = normalizedPath;
38
+ if (windowsDriveLetterMatch) {
39
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
40
+ }
41
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
42
+ return new URL(`file://${encodedPath}`);
43
+ })();
34
44
  var __process = globalThis["process"] ?? {
35
45
  "cwd": () => "/",
36
46
  "env": {},
37
47
  "platform": "android"
38
48
  };
39
49
  const ASYNC_ERROR_EVENT = "asyncError";
40
- const asyncErrorEventEmitter = new import_node_events.EventEmitter();
50
+ const asyncErrorEventEmitter = new import_eventemitter3.EventEmitter();
41
51
  asyncErrorEventEmitter.on(ASYNC_ERROR_EVENT, handleAsyncError);
42
52
  function handleAsyncError(asyncError) {
43
53
  printError(new Error("An unhandled error occurred executing async operation", { cause: asyncError }));
@@ -91,11 +101,15 @@ ${restStack}` });
91
101
  }
92
102
  return entries;
93
103
  }
104
+ function throwExpression(error) {
105
+ throw error;
106
+ }
94
107
  // Annotate the CommonJS export names for ESM import in node:
95
108
  0 && (module.exports = {
96
109
  emitAsyncErrorEvent,
97
110
  errorToString,
98
111
  printError,
99
- registerAsyncErrorEventHandler
112
+ registerAsyncErrorEventHandler,
113
+ throwExpression
100
114
  });
101
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Vycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRXJyb3JcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBlcnJvciBoYW5kbGluZy5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwibm9kZTpldmVudHNcIjtcblxuY29uc3QgQVNZTkNfRVJST1JfRVZFTlQgPSBcImFzeW5jRXJyb3JcIjtcblxuY29uc3QgYXN5bmNFcnJvckV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbmFzeW5jRXJyb3JFdmVudEVtaXR0ZXIub24oQVNZTkNfRVJST1JfRVZFTlQsIGhhbmRsZUFzeW5jRXJyb3IpO1xuXG4vKipcbiAqIEhhbmRsZXMgYXN5bmNocm9ub3VzIGVycm9ycyBieSBwcmludGluZyB0aGVtLlxuICpcbiAqIEBwYXJhbSBhc3luY0Vycm9yIC0gVGhlIGFzeW5jaHJvbm91cyBlcnJvciB0byBoYW5kbGUuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUFzeW5jRXJyb3IoYXN5bmNFcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBwcmludEVycm9yKG5ldyBFcnJvcihcIkFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBleGVjdXRpbmcgYXN5bmMgb3BlcmF0aW9uXCIsIHsgY2F1c2U6IGFzeW5jRXJyb3IgfSkpO1xufVxuXG4vKipcbiAqIEVtaXRzIGFuIGFzeW5jaHJvbm91cyBlcnJvciBldmVudC5cbiAqXG4gKiBAcGFyYW0gYXN5bmNFcnJvciAtIFRoZSBlcnJvciB0byBlbWl0IGFzIGFuIGFzeW5jaHJvbm91cyBlcnJvciBldmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtaXRBc3luY0Vycm9yRXZlbnQoYXN5bmNFcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBhc3luY0Vycm9yRXZlbnRFbWl0dGVyLmVtaXQoQVNZTkNfRVJST1JfRVZFTlQsIGFzeW5jRXJyb3IpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBoYW5kbGVyIGZvciBhc3luY2hyb25vdXMgZXJyb3JzLlxuICpcbiAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gYW4gYXN5bmNocm9ub3VzIGVycm9yIGV2ZW50IG9jY3Vycy5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdG8gdW5yZWdpc3RlciB0aGUgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcihoYW5kbGVyOiAoYXN5bmNFcnJvcjogdW5rbm93bikgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICBhc3luY0Vycm9yRXZlbnRFbWl0dGVyLm9uKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVyKTtcbiAgcmV0dXJuICgpID0+IGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIub2ZmKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVyKTtcbn1cblxudHlwZSBFcnJvckVudHJ5ID0ge1xuICBsZXZlbDogbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNob3VsZENsZWFyQW5zaVNlcXVlbmNlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcmludHMgYW4gZXJyb3IgdG8gdGhlIGNvbnNvbGUsIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzIGFuZCBvcHRpb25hbCBBTlNJIHNlcXVlbmNlIGNsZWFyaW5nLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBwcmludC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgY29uc3QgZW50cmllcyA9IHBhcnNlRXJyb3JFbnRyaWVzKGVycm9yKTtcblxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBpZiAoZW50cnkuc2hvdWxkQ2xlYXJBbnNpU2VxdWVuY2UpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFxceDFiWzBtJHtlbnRyeS5tZXNzYWdlfVxceDFiWzBtYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZW50cnkubWVzc2FnZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gZXJyb3IgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24sIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzIHdpdGggaW5kZW50YXRpb24uXG4gKlxuICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIHRvIGNvbnZlcnQgdG8gYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVycm9yVG9TdHJpbmcoZXJyb3I6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gcGFyc2VFcnJvckVudHJpZXMoZXJyb3IpLm1hcCgoZW50cnkpID0+IFwiICBcIi5yZXBlYXQoZW50cnkubGV2ZWwpICsgZW50cnkubWVzc2FnZSkuam9pbihcIlxcblwiKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gZXJyb3IgaW50byBhbiBhcnJheSBvZiBFcnJvckVudHJ5IG9iamVjdHMsIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBwYXJzZS5cbiAqIEBwYXJhbSBsZXZlbCAtIFRoZSBjdXJyZW50IGluZGVudGF0aW9uIGxldmVsIGZvciBuZXN0ZWQgY2F1c2VzLlxuICogQHBhcmFtIGVudHJpZXMgLSBUaGUgYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzIHRvIHBvcHVsYXRlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgZXJyb3IgYW5kIGl0cyBjYXVzZXMuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRXJyb3JFbnRyaWVzKGVycm9yOiB1bmtub3duLCBsZXZlbDogbnVtYmVyID0gMCwgZW50cmllczogRXJyb3JFbnRyeVtdID0gW10pOiBFcnJvckVudHJ5W10ge1xuICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG5cbiAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICBsZXQgc3RyID0gXCJcIjtcblxuICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgc3RyID0gXCIobnVsbClcIjtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgc3RyID0gZXJyb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0ciA9IEpTT04uc3RyaW5naWZ5KGVycm9yKTtcbiAgICB9XG5cbiAgICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogc3RyIH0pO1xuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG5cbiAgY29uc3QgdGl0bGUgPSBgJHtlcnJvci5uYW1lfTogJHtlcnJvci5tZXNzYWdlfWA7XG4gIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiB0aXRsZSwgc2hvdWxkQ2xlYXJBbnNpU2VxdWVuY2U6IHRydWUgfSk7XG5cbiAgaWYgKGVycm9yLnN0YWNrKSB7XG4gICAgY29uc3QgcmVzdFN0YWNrID0gZXJyb3Iuc3RhY2suc3RhcnRzV2l0aCh0aXRsZSkgPyBlcnJvci5zdGFjay5zdWJzdHJpbmcodGl0bGUubGVuZ3RoICsgMSkgOiBlcnJvci5zdGFjaztcbiAgICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogYEVycm9yIHN0YWNrOlxcbiR7cmVzdFN0YWNrfWAgfSk7XG4gIH1cblxuICBpZiAoZXJyb3IuY2F1c2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiBcIkNhdXNlZCBieTpcIiB9KTtcbiAgICBwYXJzZUVycm9yRW50cmllcyhlcnJvci5jYXVzZSwgbGV2ZWwgKyAxLCBlbnRyaWVzKTtcbiAgfVxuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EseUJBQTZCO0FBWDdCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBUUEsTUFBTSxvQkFBb0I7QUFFMUIsTUFBTSx5QkFBeUIsSUFBSSxnQ0FBYTtBQUNoRCx1QkFBdUIsR0FBRyxtQkFBbUIsZ0JBQWdCO0FBTzdELFNBQVMsaUJBQWlCLFlBQTJCO0FBQ25ELGFBQVcsSUFBSSxNQUFNLHlEQUF5RCxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUM7QUFDdEc7QUFPTyxTQUFTLG9CQUFvQixZQUEyQjtBQUM3RCx5QkFBdUIsS0FBSyxtQkFBbUIsVUFBVTtBQUMzRDtBQVFPLFNBQVMsK0JBQStCLFNBQW9EO0FBQ2pHLHlCQUF1QixHQUFHLG1CQUFtQixPQUFPO0FBQ3BELFNBQU8sTUFBTSx1QkFBdUIsSUFBSSxtQkFBbUIsT0FBTztBQUNwRTtBQWFPLFNBQVMsV0FBVyxPQUFzQjtBQUMvQyxRQUFNLFVBQVUsa0JBQWtCLEtBQUs7QUFFdkMsYUFBVyxTQUFTLFNBQVM7QUFDM0IsUUFBSSxNQUFNLHlCQUF5QjtBQUNqQyxjQUFRLE1BQU0sVUFBVSxNQUFNLE9BQU8sU0FBUztBQUFBLElBQ2hELE9BQU87QUFDTCxjQUFRLE1BQU0sTUFBTSxPQUFPO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBQ0Y7QUFRTyxTQUFTLGNBQWMsT0FBd0I7QUFDcEQsU0FBTyxrQkFBa0IsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEtBQUssT0FBTyxNQUFNLEtBQUssSUFBSSxNQUFNLE9BQU8sRUFBRSxLQUFLLElBQUk7QUFDcEc7QUFVQSxTQUFTLGtCQUFrQixPQUFnQixRQUFnQixHQUFHLFVBQXdCLENBQUMsR0FBaUI7QUFDdEcsTUFBSSxVQUFVLFFBQVc7QUFDdkIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLEVBQUUsaUJBQWlCLFFBQVE7QUFDN0IsUUFBSSxNQUFNO0FBRVYsUUFBSSxVQUFVLE1BQU07QUFDbEIsWUFBTTtBQUFBLElBQ1IsV0FBVyxPQUFPLFVBQVUsVUFBVTtBQUNwQyxZQUFNO0FBQUEsSUFDUixPQUFPO0FBQ0wsWUFBTSxLQUFLLFVBQVUsS0FBSztBQUFBLElBQzVCO0FBRUEsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTLElBQUksQ0FBQztBQUNwQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxLQUFLLE1BQU0sT0FBTztBQUM3QyxVQUFRLEtBQUssRUFBRSxPQUFPLFNBQVMsT0FBTyx5QkFBeUIsS0FBSyxDQUFDO0FBRXJFLE1BQUksTUFBTSxPQUFPO0FBQ2YsVUFBTSxZQUFZLE1BQU0sTUFBTSxXQUFXLEtBQUssSUFBSSxNQUFNLE1BQU0sVUFBVSxNQUFNLFNBQVMsQ0FBQyxJQUFJLE1BQU07QUFDbEcsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTO0FBQUEsRUFBaUIsU0FBUyxHQUFHLENBQUM7QUFBQSxFQUMvRDtBQUVBLE1BQUksTUFBTSxVQUFVLFFBQVc7QUFDN0IsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTLGFBQWEsQ0FBQztBQUM3QyxzQkFBa0IsTUFBTSxPQUFPLFFBQVEsR0FBRyxPQUFPO0FBQUEsRUFDbkQ7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
115
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Vycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+e2NvbnN0IG5vcm1hbGl6ZWRQYXRoPV9fZmlsZW5hbWUucmVwbGFjZSgvXFxcXC9nLFwiL1wiKTtjb25zdCB3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaD0vXihbYS16QS1aXSk6Ly5leGVjKG5vcm1hbGl6ZWRQYXRoKTtsZXQgcGF0aD1ub3JtYWxpemVkUGF0aDtpZih3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaCl7cGF0aD1gLyR7d2luZG93c0RyaXZlTGV0dGVyTWF0Y2hbMV0udG9VcHBlckNhc2UoKX06JHtub3JtYWxpemVkUGF0aC5zbGljZSgyKX1gfWNvbnN0IGVuY29kZWRQYXRoPWVuY29kZVVSSUNvbXBvbmVudChwYXRoKS5yZXBsYWNlKC8lMkYvZyxcIi9cIikucmVwbGFjZSgvJTNBL2csXCI6XCIpO3JldHVybiBuZXcgVVJMKGBmaWxlOi8vJHtlbmNvZGVkUGF0aH1gKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRXJyb3JcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBlcnJvciBoYW5kbGluZy5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudGVtaXR0ZXIzJztcblxuY29uc3QgQVNZTkNfRVJST1JfRVZFTlQgPSAnYXN5bmNFcnJvcic7XG5cbmNvbnN0IGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5hc3luY0Vycm9yRXZlbnRFbWl0dGVyLm9uKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVBc3luY0Vycm9yKTtcblxuLyoqXG4gKiBIYW5kbGVzIGFzeW5jaHJvbm91cyBlcnJvcnMgYnkgcHJpbnRpbmcgdGhlbS5cbiAqXG4gKiBAcGFyYW0gYXN5bmNFcnJvciAtIFRoZSBhc3luY2hyb25vdXMgZXJyb3IgdG8gaGFuZGxlLlxuICovXG5mdW5jdGlvbiBoYW5kbGVBc3luY0Vycm9yKGFzeW5jRXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgcHJpbnRFcnJvcihuZXcgRXJyb3IoJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBleGVjdXRpbmcgYXN5bmMgb3BlcmF0aW9uJywgeyBjYXVzZTogYXN5bmNFcnJvciB9KSk7XG59XG5cbi8qKlxuICogRW1pdHMgYW4gYXN5bmNocm9ub3VzIGVycm9yIGV2ZW50LlxuICpcbiAqIEBwYXJhbSBhc3luY0Vycm9yIC0gVGhlIGVycm9yIHRvIGVtaXQgYXMgYW4gYXN5bmNocm9ub3VzIGVycm9yIGV2ZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1pdEFzeW5jRXJyb3JFdmVudChhc3luY0Vycm9yOiB1bmtub3duKTogdm9pZCB7XG4gIGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIuZW1pdChBU1lOQ19FUlJPUl9FVkVOVCwgYXN5bmNFcnJvcik7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGFuIGV2ZW50IGhhbmRsZXIgZm9yIGFzeW5jaHJvbm91cyBlcnJvcnMuXG4gKlxuICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiBhbiBhc3luY2hyb25vdXMgZXJyb3IgZXZlbnQgb2NjdXJzLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0byB1bnJlZ2lzdGVyIHRoZSBoYW5kbGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyKGhhbmRsZXI6IChhc3luY0Vycm9yOiB1bmtub3duKSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gIGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIub24oQVNZTkNfRVJST1JfRVZFTlQsIGhhbmRsZXIpO1xuICByZXR1cm4gKCkgPT4gYXN5bmNFcnJvckV2ZW50RW1pdHRlci5vZmYoQVNZTkNfRVJST1JfRVZFTlQsIGhhbmRsZXIpO1xufVxuXG5pbnRlcmZhY2UgRXJyb3JFbnRyeSB7XG4gIGxldmVsOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc2hvdWxkQ2xlYXJBbnNpU2VxdWVuY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByaW50cyBhbiBlcnJvciB0byB0aGUgY29uc29sZSwgaW5jbHVkaW5nIG5lc3RlZCBjYXVzZXMgYW5kIG9wdGlvbmFsIEFOU0kgc2VxdWVuY2UgY2xlYXJpbmcuXG4gKlxuICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIHRvIHByaW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRFcnJvcihlcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBjb25zdCBlbnRyaWVzID0gcGFyc2VFcnJvckVudHJpZXMoZXJyb3IpO1xuXG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGlmIChlbnRyeS5zaG91bGRDbGVhckFuc2lTZXF1ZW5jZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgXFx4MWJbMG0ke2VudHJ5Lm1lc3NhZ2V9XFx4MWJbMG1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihlbnRyeS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBlcnJvciB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiwgaW5jbHVkaW5nIG5lc3RlZCBjYXVzZXMgd2l0aCBpbmRlbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gY29udmVydCB0byBhIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JUb1N0cmluZyhlcnJvcjogdW5rbm93bik6IHN0cmluZyB7XG4gIHJldHVybiBwYXJzZUVycm9yRW50cmllcyhlcnJvcikubWFwKChlbnRyeSkgPT4gJyAgJy5yZXBlYXQoZW50cnkubGV2ZWwpICsgZW50cnkubWVzc2FnZSkuam9pbignXFxuJyk7XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGVycm9yIGludG8gYW4gYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzLCBpbmNsdWRpbmcgbmVzdGVkIGNhdXNlcy5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gcGFyc2UuXG4gKiBAcGFyYW0gbGV2ZWwgLSBUaGUgY3VycmVudCBpbmRlbnRhdGlvbiBsZXZlbCBmb3IgbmVzdGVkIGNhdXNlcy5cbiAqIEBwYXJhbSBlbnRyaWVzIC0gVGhlIGFycmF5IG9mIEVycm9yRW50cnkgb2JqZWN0cyB0byBwb3B1bGF0ZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIEVycm9yRW50cnkgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGVycm9yIGFuZCBpdHMgY2F1c2VzLlxuICovXG5mdW5jdGlvbiBwYXJzZUVycm9yRW50cmllcyhlcnJvcjogdW5rbm93biwgbGV2ZWwgPSAwLCBlbnRyaWVzOiBFcnJvckVudHJ5W10gPSBbXSk6IEVycm9yRW50cnlbXSB7XG4gIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cblxuICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgIGxldCBzdHIgPSAnJztcblxuICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgc3RyID0gJyhudWxsKSc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBzdHIgPSBlcnJvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyID0gSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgIH1cblxuICAgIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiBzdHIgfSk7XG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cblxuICBjb25zdCB0aXRsZSA9IGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YDtcbiAgZW50cmllcy5wdXNoKHsgbGV2ZWwsIG1lc3NhZ2U6IHRpdGxlLCBzaG91bGRDbGVhckFuc2lTZXF1ZW5jZTogdHJ1ZSB9KTtcblxuICBpZiAoZXJyb3Iuc3RhY2spIHtcbiAgICBjb25zdCByZXN0U3RhY2sgPSBlcnJvci5zdGFjay5zdGFydHNXaXRoKHRpdGxlKSA/IGVycm9yLnN0YWNrLnN1YnN0cmluZyh0aXRsZS5sZW5ndGggKyAxKSA6IGVycm9yLnN0YWNrO1xuICAgIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiBgRXJyb3Igc3RhY2s6XFxuJHtyZXN0U3RhY2t9YCB9KTtcbiAgfVxuXG4gIGlmIChlcnJvci5jYXVzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZW50cmllcy5wdXNoKHsgbGV2ZWwsIG1lc3NhZ2U6ICdDYXVzZWQgYnk6JyB9KTtcbiAgICBwYXJzZUVycm9yRW50cmllcyhlcnJvci5jYXVzZSwgbGV2ZWwgKyAxLCBlbnRyaWVzKTtcbiAgfVxuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciB3aXRoIHRoZSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gdGhyb3cuXG4gKiBAcmV0dXJucyBBIG5ldmVyLXJldHVybmluZyBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRocm93RXhwcmVzc2lvbihlcnJvcjogdW5rbm93bik6IG5ldmVyIHtcbiAgdGhyb3cgZXJyb3I7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
@@ -28,3 +28,10 @@ export declare function printError(error: unknown): void;
28
28
  * @returns The string representation of the error.
29
29
  */
30
30
  export declare function errorToString(error: unknown): string;
31
+ /**
32
+ * Throws an error with the specified message.
33
+ *
34
+ * @param error - The error to throw.
35
+ * @returns A never-returning function.
36
+ */
37
+ export declare function throwExpression(error: unknown): never;
@@ -25,10 +25,21 @@ var Object_exports = {};
25
25
  __export(Object_exports, {
26
26
  deepEqual: () => deepEqual,
27
27
  getPrototypeOf: () => getPrototypeOf,
28
- nameof: () => nameof
28
+ nameof: () => nameof,
29
+ toJson: () => toJson
29
30
  });
30
31
  module.exports = __toCommonJS(Object_exports);
31
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
32
+ var import_Error = require("./Error.cjs");
33
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
34
+ const normalizedPath = __filename.replace(/\\/g, "/");
35
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
36
+ let path = normalizedPath;
37
+ if (windowsDriveLetterMatch) {
38
+ path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
39
+ }
40
+ const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
41
+ return new URL(`file://${encodedPath}`);
42
+ })();
32
43
  var __process = globalThis["process"] ?? {
33
44
  "cwd": () => "/",
34
45
  "env": {},
@@ -38,7 +49,7 @@ function deepEqual(a, b) {
38
49
  if (a === b) {
39
50
  return true;
40
51
  }
41
- if (typeof a !== "object" || typeof b !== "object" || a === null || b === null || a === void 0 || b === void 0) {
52
+ if (typeof a !== "object" || typeof b !== "object" || a === null || b === null) {
42
53
  return false;
43
54
  }
44
55
  const keysA = Object.keys(a);
@@ -61,10 +72,32 @@ function nameof(name) {
61
72
  function getPrototypeOf(instance) {
62
73
  return Object.getPrototypeOf(instance);
63
74
  }
75
+ function toJson(value, options = {}) {
76
+ const {
77
+ shouldHandleFunctions = false,
78
+ space = 2
79
+ } = options;
80
+ if (!shouldHandleFunctions) {
81
+ return JSON.stringify(value, null, space);
82
+ }
83
+ const functionTexts = [];
84
+ const replacer = (_, value2) => {
85
+ if (typeof value2 === "function") {
86
+ const index = functionTexts.length;
87
+ functionTexts.push(value2.toString());
88
+ return `__FUNCTION_${index.toString()}`;
89
+ }
90
+ return value2;
91
+ };
92
+ let json = JSON.stringify(value, replacer, space);
93
+ json = json.replaceAll(/"__FUNCTION_(\d+)"/g, (_, indexStr) => functionTexts[parseInt(indexStr)] ?? (0, import_Error.throwExpression)(new Error(`Function with index ${indexStr} not found`)));
94
+ return json;
95
+ }
64
96
  // Annotate the CommonJS export names for ESM import in node:
65
97
  0 && (module.exports = {
66
98
  deepEqual,
67
99
  getPrototypeOf,
68
- nameof
100
+ nameof,
101
+ toJson
69
102
  });
70
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL09iamVjdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE9iamVjdFxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIE9iamVjdHMuXG4gKi9cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBkZWVwbHkgZXF1YWwuXG4gKlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGRlZXBseSBlcXVhbCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBiICE9PSBcIm9iamVjdFwiIHx8IGEgPT09IG51bGwgfHwgYiA9PT0gbnVsbCB8fCBhID09PSB1bmRlZmluZWQgfHwgYiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgY29uc3Qga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcblxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhUmVjb3JkID0gYSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYlJlY29yZCA9IGIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5c0EpIHtcbiAgICBpZiAoIWtleXNCLmluY2x1ZGVzKGtleSkgfHwgIWRlZXBFcXVhbChhUmVjb3JkW2tleV0sIGJSZWNvcmRba2V5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG5hbWUgb2YgYSBwcm9wZXJ0eSBvZiBhIGdpdmVuIHR5cGUgYFRgLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgcHJvcGVydHkuXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSBhcyBhIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hbWVvZjxUPihuYW1lOiBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz4pOiBzdHJpbmcge1xuICByZXR1cm4gbmFtZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBvYmplY3QgaW5zdGFuY2UgdG8gcmV0cmlldmUgdGhlIHByb3RvdHlwZSBvZi5cbiAqIEByZXR1cm5zIFRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mPFQ+KGluc3RhbmNlOiBUKTogVCB7XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpIGFzIFQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFhTyxTQUFTLFVBQVUsR0FBWSxHQUFxQjtBQUN6RCxNQUFJLE1BQU0sR0FBRztBQUNYLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxPQUFPLE1BQU0sWUFBWSxPQUFPLE1BQU0sWUFBWSxNQUFNLFFBQVEsTUFBTSxRQUFRLE1BQU0sVUFBYSxNQUFNLFFBQVc7QUFDcEgsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDM0IsUUFBTSxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBRTNCLE1BQUksTUFBTSxXQUFXLE1BQU0sUUFBUTtBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sVUFBVTtBQUNoQixRQUFNLFVBQVU7QUFFaEIsYUFBVyxPQUFPLE9BQU87QUFDdkIsUUFBSSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLFFBQVEsR0FBRyxHQUFHLFFBQVEsR0FBRyxDQUFDLEdBQUc7QUFDbEUsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUO0FBU08sU0FBUyxPQUFVLE1BQXdDO0FBQ2hFLFNBQU87QUFDVDtBQVNPLFNBQVMsZUFBa0IsVUFBZ0I7QUFDaEQsU0FBTyxPQUFPLGVBQWUsUUFBUTtBQUN2QzsiLAogICJuYW1lcyI6IFtdCn0K
103
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL09iamVjdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9Pntjb25zdCBub3JtYWxpemVkUGF0aD1fX2ZpbGVuYW1lLnJlcGxhY2UoL1xcXFwvZyxcIi9cIik7Y29uc3Qgd2luZG93c0RyaXZlTGV0dGVyTWF0Y2g9L14oW2EtekEtWl0pOi8uZXhlYyhub3JtYWxpemVkUGF0aCk7bGV0IHBhdGg9bm9ybWFsaXplZFBhdGg7aWYod2luZG93c0RyaXZlTGV0dGVyTWF0Y2gpe3BhdGg9YC8ke3dpbmRvd3NEcml2ZUxldHRlck1hdGNoWzFdLnRvVXBwZXJDYXNlKCl9OiR7bm9ybWFsaXplZFBhdGguc2xpY2UoMil9YH1jb25zdCBlbmNvZGVkUGF0aD1lbmNvZGVVUklDb21wb25lbnQocGF0aCkucmVwbGFjZSgvJTJGL2csXCIvXCIpLnJlcGxhY2UoLyUzQS9nLFwiOlwiKTtyZXR1cm4gbmV3IFVSTChgZmlsZTovLyR7ZW5jb2RlZFBhdGh9YCl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE9iamVjdFxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIE9iamVjdHMuXG4gKi9cblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi9FcnJvci50cyc7XG5cbi8qKlxuICogQ29tcGFyZXMgdHdvIHZhbHVlcyB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgZGVlcGx5IGVxdWFsLlxuICpcbiAqIEBwYXJhbSBhIC0gVGhlIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0gYiAtIFRoZSBzZWNvbmQgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBkZWVwbHkgZXF1YWwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcEVxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYSAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIGIgIT09ICdvYmplY3QnIHx8IGEgPT09IG51bGwgfHwgYiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gIGNvbnN0IGtleXNCID0gT2JqZWN0LmtleXMoYik7XG5cbiAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgYVJlY29yZCA9IGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGJSZWNvcmQgPSBiIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXNBKSB7XG4gICAgaWYgKCFrZXlzQi5pbmNsdWRlcyhrZXkpIHx8ICFkZWVwRXF1YWwoYVJlY29yZFtrZXldLCBiUmVjb3JkW2tleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkgb2YgYSBnaXZlbiB0eXBlIGBUYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5LlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgYXMgYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1lb2Y8VD4obmFtZTogRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWU7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgcHJvdG90eXBlIG9mIHRoZSBzcGVjaWZpZWQgb2JqZWN0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBvYmplY3QuXG4gKiBAcGFyYW0gaW5zdGFuY2UgLSBUaGUgb2JqZWN0IGluc3RhbmNlIHRvIHJldHJpZXZlIHRoZSBwcm90b3R5cGUgb2YuXG4gKiBAcmV0dXJucyBUaGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm90b3R5cGVPZjxUPihpbnN0YW5jZTogVCk6IFQge1xuICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKSBhcyBUO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbnZlcnRpbmcgYW4gb2JqZWN0IHRvIEpTT04uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9Kc29uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGZ1bmN0aW9ucyB3aXRoaW4gdGhlIHZhbHVlIHdpbGwgYmUgaGFuZGxlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIEpTT04gc3RyaW5nLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkSGFuZGxlRnVuY3Rpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaW5kZW50YXRpb24gb2YgdGhlIEpTT04gb3V0cHV0LiBUaGlzIGNhbiBiZSBhIG51bWJlciBvZiBzcGFjZXMgb3IgYSBzdHJpbmcuIERlZmF1bHRzIHRvIGAyYC5cbiAgICovXG4gIHNwYWNlPzogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gdmFsdWUgdG8gYSBKU09OIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYmUgY29udmVydGVkIHRvIEpTT04uIFRoaXMgY2FuIGJlIG9mIGFueSB0eXBlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgSlNPTiBjb252ZXJzaW9uIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGlucHV0IHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uKHZhbHVlOiB1bmtub3duLCBvcHRpb25zOiBUb0pzb25PcHRpb25zID0ge30pOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgc2hvdWxkSGFuZGxlRnVuY3Rpb25zID0gZmFsc2UsXG4gICAgc3BhY2UgPSAyXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoIXNob3VsZEhhbmRsZUZ1bmN0aW9ucykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgc3BhY2UpO1xuICB9XG5cbiAgY29uc3QgZnVuY3Rpb25UZXh0czogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdCByZXBsYWNlciA9IChfOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdW5rbm93biA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgaW5kZXggPSBmdW5jdGlvblRleHRzLmxlbmd0aDtcbiAgICAgIGZ1bmN0aW9uVGV4dHMucHVzaCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIHJldHVybiBgX19GVU5DVElPTl8ke2luZGV4LnRvU3RyaW5nKCl9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG5cbiAgbGV0IGpzb24gPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgcmVwbGFjZXIsIHNwYWNlKTtcbiAganNvbiA9IGpzb24ucmVwbGFjZUFsbCgvXCJfX0ZVTkNUSU9OXyhcXGQrKVwiL2csIChfLCBpbmRleFN0cjogc3RyaW5nKSA9PiBmdW5jdGlvblRleHRzW3BhcnNlSW50KGluZGV4U3RyKV0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcihgRnVuY3Rpb24gd2l0aCBpbmRleCAke2luZGV4U3RyfSBub3QgZm91bmRgKSkpO1xuICByZXR1cm4ganNvbjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLG1CQUFnQztBQVhoQyxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxRQUFNLGlCQUFlLFdBQVcsUUFBUSxPQUFNLEdBQUc7QUFBRSxRQUFNLDBCQUF3QixlQUFlLEtBQUssY0FBYztBQUFFLE1BQUksT0FBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsV0FBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CLElBQUksRUFBRSxRQUFRLFFBQU8sR0FBRyxFQUFFLFFBQVEsUUFBTyxHQUFHO0FBQUUsU0FBTyxJQUFJLElBQUksVUFBVSxXQUFXLEVBQUU7QUFBQyxHQUFHO0FBQ3BiLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFlTyxTQUFTLFVBQVUsR0FBWSxHQUFxQjtBQUN6RCxNQUFJLE1BQU0sR0FBRztBQUNYLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxPQUFPLE1BQU0sWUFBWSxPQUFPLE1BQU0sWUFBWSxNQUFNLFFBQVEsTUFBTSxNQUFNO0FBQzlFLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQzNCLFFBQU0sUUFBUSxPQUFPLEtBQUssQ0FBQztBQUUzQixNQUFJLE1BQU0sV0FBVyxNQUFNLFFBQVE7QUFDakMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFVBQVU7QUFDaEIsUUFBTSxVQUFVO0FBRWhCLGFBQVcsT0FBTyxPQUFPO0FBQ3ZCLFFBQUksQ0FBQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxRQUFRLEdBQUcsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHO0FBQ2xFLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVNPLFNBQVMsT0FBVSxNQUF3QztBQUNoRSxTQUFPO0FBQ1Q7QUFTTyxTQUFTLGVBQWtCLFVBQWdCO0FBQ2hELFNBQU8sT0FBTyxlQUFlLFFBQVE7QUFDdkM7QUF1Qk8sU0FBUyxPQUFPLE9BQWdCLFVBQXlCLENBQUMsR0FBVztBQUMxRSxRQUFNO0FBQUEsSUFDSix3QkFBd0I7QUFBQSxJQUN4QixRQUFRO0FBQUEsRUFDVixJQUFJO0FBQ0osTUFBSSxDQUFDLHVCQUF1QjtBQUMxQixXQUFPLEtBQUssVUFBVSxPQUFPLE1BQU0sS0FBSztBQUFBLEVBQzFDO0FBRUEsUUFBTSxnQkFBMEIsQ0FBQztBQUVqQyxRQUFNLFdBQVcsQ0FBQyxHQUFXQSxXQUE0QjtBQUN2RCxRQUFJLE9BQU9BLFdBQVUsWUFBWTtBQUMvQixZQUFNLFFBQVEsY0FBYztBQUM1QixvQkFBYyxLQUFLQSxPQUFNLFNBQVMsQ0FBQztBQUNuQyxhQUFPLGNBQWMsTUFBTSxTQUFTLENBQUM7QUFBQSxJQUN2QztBQUVBLFdBQU9BO0FBQUEsRUFDVDtBQUVBLE1BQUksT0FBTyxLQUFLLFVBQVUsT0FBTyxVQUFVLEtBQUs7QUFDaEQsU0FBTyxLQUFLLFdBQVcsdUJBQXVCLENBQUMsR0FBRyxhQUFxQixjQUFjLFNBQVMsUUFBUSxDQUFDLFNBQUssOEJBQWdCLElBQUksTUFBTSx1QkFBdUIsUUFBUSxZQUFZLENBQUMsQ0FBQztBQUNuTCxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbInZhbHVlIl0KfQo=
@@ -26,3 +26,24 @@ export declare function nameof<T>(name: Extract<keyof T, string>): string;
26
26
  * @returns The prototype of the object.
27
27
  */
28
28
  export declare function getPrototypeOf<T>(instance: T): T;
29
+ /**
30
+ * Options for converting an object to JSON.
31
+ */
32
+ export interface ToJsonOptions {
33
+ /**
34
+ * If `true`, functions within the value will be handled and included in the JSON string. Defaults to `false`.
35
+ */
36
+ shouldHandleFunctions?: boolean;
37
+ /**
38
+ * Specifies the indentation of the JSON output. This can be a number of spaces or a string. Defaults to `2`.
39
+ */
40
+ space?: string | number | undefined;
41
+ }
42
+ /**
43
+ * Converts a given value to a JSON string.
44
+ *
45
+ * @param value - The value to be converted to JSON. This can be of any type.
46
+ * @param options - Options for customizing the JSON conversion process.
47
+ * @returns The JSON string representation of the input value.
48
+ */
49
+ export declare function toJson(value: unknown, options?: ToJsonOptions): string;
package/dist/lib/Path.cjs CHANGED
@@ -54,9 +54,17 @@ __export(Path_exports, {
54
54
  });
55
55
  module.exports = __toCommonJS(Path_exports);
56
56
  var import_path_browserify = __toESM(require("path-browserify"), 1);
57
- var import_node_url = require("node:url");
58
57
  var import_String = require("./String.cjs");
59
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
58
+ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
59
+ const normalizedPath = __filename.replace(/\\/g, "/");
60
+ const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
61
+ let path2 = normalizedPath;
62
+ if (windowsDriveLetterMatch) {
63
+ path2 = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
64
+ }
65
+ const encodedPath = encodeURIComponent(path2).replace(/%2F/g, "/").replace(/%3A/g, ":");
66
+ return new URL(`file://${encodedPath}`);
67
+ })();
60
68
  var __process = globalThis["process"] ?? {
61
69
  "cwd": () => "/",
62
70
  "env": {},
@@ -77,7 +85,7 @@ const relative = posix.relative;
77
85
  function resolve(...pathSegments) {
78
86
  let path2 = posix.resolve(...pathSegments);
79
87
  path2 = toPosixPath(path2);
80
- const match = path2.match(/.:[^:]*$/);
88
+ const match = /.:[^:]*$/.exec(path2);
81
89
  return match?.[0] ?? path2;
82
90
  }
83
91
  function toPosixPath(path2) {
@@ -87,13 +95,13 @@ function toPosixBuffer(buffer) {
87
95
  return Buffer.from(toPosixPath(buffer.toString()));
88
96
  }
89
97
  function getFilename(importMetaUrl) {
90
- return toPosixPath((0, import_node_url.fileURLToPath)(importMetaUrl));
98
+ return resolve(new URL(importMetaUrl).pathname);
91
99
  }
92
100
  function getDirname(importMetaUrl) {
93
101
  return dirname(getFilename(importMetaUrl));
94
102
  }
95
103
  function normalizeIfRelative(path2) {
96
- if (path2[0] === "/" || path2.includes(":")) {
104
+ if (path2.startsWith("/") || path2.includes(":")) {
97
105
  return path2;
98
106
  }
99
107
  return (0, import_String.ensureStartsWith)(path2, "./");
@@ -119,4 +127,4 @@ function normalizeIfRelative(path2) {
119
127
  toPosixBuffer,
120
128
  toPosixPath
121
129
  });
122
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL1BhdGgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQYXRoXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGgtYnJvd3NlcmlmeVwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHsgZW5zdXJlU3RhcnRzV2l0aCB9IGZyb20gXCIuL1N0cmluZy50c1wiO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIGhhbmRsaW5nIFBPU0lYIHBhdGhzLlxuICovXG5leHBvcnQgY29uc3QgcG9zaXggPSBwYXRoLnBvc2l4O1xuXG4vKipcbiAqIFRoZSBQT1NJWCBwYXRoIGRlbGltaXRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlbGltaXRlciA9IHBvc2l4LmRlbGltaXRlcjtcblxuLyoqXG4gKiBUaGUgUE9TSVggc2VnbWVudCBzZXBhcmF0b3IuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXAgPSBwYXRoLnBvc2l4LnNlcDtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIG5hbWUgb2YgYSBmaWxlLCBvcHRpb25hbGx5IHJlbW92aW5nIHRoZSBmaWxlIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgYmFzZSBuYW1lIGZyb20uXG4gKiBAcGFyYW0gZXh0IC0gQW4gb3B0aW9uYWwgZXh0ZW5zaW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBiYXNlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgYmFzZW5hbWUgPSBwb3NpeC5iYXNlbmFtZTtcblxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpcmVjdG9yeSBuYW1lIG9mIGEgcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgZGlyZWN0b3J5IG5hbWUgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBkaXJlY3RvcnkgbmFtZSBvZiB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGRpcm5hbWUgPSBwb3NpeC5kaXJuYW1lO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGZpbGUgZXh0ZW5zaW9uIG9mIGEgcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgZXh0ZW5zaW9uIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBleHRlbnNpb24gb2YgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBleHRuYW1lID0gcG9zaXguZXh0bmFtZTtcblxuLyoqXG4gKiBGb3JtYXRzIGEgcGF0aCBvYmplY3QgaW50byBhIHBhdGggc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBwYXRoT2JqZWN0IC0gVGhlIHBhdGggb2JqZWN0IHRvIGZvcm1hdC5cbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgcGF0aCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXQgPSBwb3NpeC5mb3JtYXQ7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBhIHBhdGggaXMgYWJzb2x1dGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcGF0aCBpcyBhYnNvbHV0ZSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlID0gcG9zaXguaXNBYnNvbHV0ZTtcblxuLyoqXG4gKiBKb2lucyBtdWx0aXBsZSBwYXRoIHNlZ21lbnRzIGludG8gYSBzaW5nbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aHMgLSBUaGUgcGF0aCBzZWdtZW50cyB0byBqb2luLlxuICogQHJldHVybnMgVGhlIGpvaW5lZCBwYXRoLlxuICovXG5leHBvcnQgY29uc3Qgam9pbiA9IHBvc2l4LmpvaW47XG5cbi8qKlxuICAqIE5vcm1hbGl6ZXMgYSBwYXRoLCByZXNvbHZpbmcgJy4uJyBhbmQgJy4nIHNlZ21lbnRzLlxuICAqXG4gICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAgKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSBwb3NpeC5ub3JtYWxpemU7XG5cblxuLyoqXG4gKiBQYXJzZXMgYSBwYXRoIHN0cmluZyBpbnRvIGEgcGF0aCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBzdHJpbmcgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIHBhdGggb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgcGFyc2UgPSBwb3NpeC5wYXJzZTtcblxuXG4vKipcbiAqIFJldHVybnMgdGhlIHJlbGF0aXZlIHBhdGggZnJvbSBvbmUgcGF0aCB0byBhbm90aGVyLlxuICpcbiAqIEBwYXJhbSBmcm9tIC0gVGhlIHN0YXJ0aW5nIHBhdGguXG4gKiBAcGFyYW0gdG8gLSBUaGUgZGVzdGluYXRpb24gcGF0aC5cbiAqIEByZXR1cm5zIFRoZSByZWxhdGl2ZSBwYXRoIGZyb20gYGZyb21gIHRvIGB0b2AuXG4gKi9cbmV4cG9ydCBjb25zdCByZWxhdGl2ZSA9IHBvc2l4LnJlbGF0aXZlO1xuXG4vKipcbiAqIFJlc29sdmVzIGEgc2VxdWVuY2Ugb2YgcGF0aHMgb3IgcGF0aCBzZWdtZW50cyBpbnRvIGFuIGFic29sdXRlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhTZWdtZW50cyAtIFRoZSBzZXF1ZW5jZSBvZiBwYXRoIHNlZ21lbnRzIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmUoLi4ucGF0aFNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGxldCBwYXRoID0gcG9zaXgucmVzb2x2ZSguLi5wYXRoU2VnbWVudHMpO1xuICBwYXRoID0gdG9Qb3NpeFBhdGgocGF0aCk7XG4gIGNvbnN0IG1hdGNoID0gcGF0aC5tYXRjaCgvLjpbXjpdKiQvKTtcbiAgcmV0dXJuIG1hdGNoPy5bMF0gPz8gcGF0aDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBwYXRoIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYnVmZmVyIGNvbnRhaW5pbmcgYSBwYXRoIHRvIGEgUE9TSVgtc3R5bGUgYnVmZmVyIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyIC0gVGhlIGJ1ZmZlciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBuZXcgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFBPU0lYLXN0eWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4QnVmZmVyKGJ1ZmZlcjogQnVmZmVyKTogQnVmZmVyIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRvUG9zaXhQYXRoKGJ1ZmZlci50b1N0cmluZygpKSk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZmlsZW5hbWUgZnJvbSB0aGUgYGltcG9ydC5tZXRhLnVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQubWV0YS51cmxgIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgZmlsZW5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZmlsZW5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlbmFtZShpbXBvcnRNZXRhVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdG9Qb3NpeFBhdGgoZmlsZVVSTFRvUGF0aChpbXBvcnRNZXRhVXJsKSk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZGlyZWN0b3J5IG5hbWUgZnJvbSB0aGUgYGltcG9ydC5tZXRhLnVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQubWV0YS51cmxgIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgZGlyZWN0b3J5IG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZGlyZWN0b3J5IG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJuYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBkaXJuYW1lKGdldEZpbGVuYW1lKGltcG9ydE1ldGFVcmwpKTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgZ2l2ZW4gcGF0aCBieSBlbnN1cmluZyBpdCBpcyByZWxhdGl2ZSwgYWRkaW5nIFwiLi9cIiBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLCBzdGFydGluZyB3aXRoIFwiLi9cIiBpZiBpdCB3YXMgcmVsYXRpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJZlJlbGF0aXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXRoWzBdID09PSBcIi9cIiB8fCBwYXRoLmluY2x1ZGVzKFwiOlwiKSkge1xuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcmV0dXJuIGVuc3VyZVN0YXJ0c1dpdGgocGF0aCwgXCIuL1wiKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsNkJBQWlCO0FBQ2pCLHNCQUE4QjtBQUM5QixvQkFBaUM7QUFiakMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFhTyxNQUFNLFFBQVEsdUJBQUFBLFFBQUs7QUFLbkIsTUFBTSxZQUFZLE1BQU07QUFLeEIsTUFBTSxNQUFNLHVCQUFBQSxRQUFLLE1BQU07QUFTdkIsTUFBTSxXQUFXLE1BQU07QUFTdkIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxTQUFTLE1BQU07QUFRckIsTUFBTSxhQUFhLE1BQU07QUFRekIsTUFBTSxPQUFPLE1BQU07QUFRbkIsTUFBTSxZQUFZLE1BQU07QUFTeEIsTUFBTSxRQUFRLE1BQU07QUFVcEIsTUFBTSxXQUFXLE1BQU07QUFRdkIsU0FBUyxXQUFXLGNBQWdDO0FBQ3pELE1BQUlBLFFBQU8sTUFBTSxRQUFRLEdBQUcsWUFBWTtBQUN4QyxFQUFBQSxRQUFPLFlBQVlBLEtBQUk7QUFDdkIsUUFBTSxRQUFRQSxNQUFLLE1BQU0sVUFBVTtBQUNuQyxTQUFPLFFBQVEsQ0FBQyxLQUFLQTtBQUN2QjtBQVFPLFNBQVMsWUFBWUEsT0FBc0I7QUFDaEQsU0FBT0EsTUFBSyxRQUFRLE9BQU8sR0FBRztBQUNoQztBQVFPLFNBQVMsY0FBYyxRQUF3QjtBQUNwRCxTQUFPLE9BQU8sS0FBSyxZQUFZLE9BQU8sU0FBUyxDQUFDLENBQUM7QUFDbkQ7QUFRTyxTQUFTLFlBQVksZUFBK0I7QUFDekQsU0FBTyxnQkFBWSwrQkFBYyxhQUFhLENBQUM7QUFDakQ7QUFRTyxTQUFTLFdBQVcsZUFBK0I7QUFDeEQsU0FBTyxRQUFRLFlBQVksYUFBYSxDQUFDO0FBQzNDO0FBUU8sU0FBUyxvQkFBb0JBLE9BQXNCO0FBQ3hELE1BQUlBLE1BQUssQ0FBQyxNQUFNLE9BQU9BLE1BQUssU0FBUyxHQUFHLEdBQUc7QUFDekMsV0FBT0E7QUFBQSxFQUNUO0FBRUEsYUFBTyxnQ0FBaUJBLE9BQU0sSUFBSTtBQUNwQzsiLAogICJuYW1lcyI6IFsicGF0aCJdCn0K
130
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL1BhdGgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT57Y29uc3Qgbm9ybWFsaXplZFBhdGg9X19maWxlbmFtZS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpO2NvbnN0IHdpbmRvd3NEcml2ZUxldHRlck1hdGNoPS9eKFthLXpBLVpdKTovLmV4ZWMobm9ybWFsaXplZFBhdGgpO2xldCBwYXRoPW5vcm1hbGl6ZWRQYXRoO2lmKHdpbmRvd3NEcml2ZUxldHRlck1hdGNoKXtwYXRoPWAvJHt3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaFsxXS50b1VwcGVyQ2FzZSgpfToke25vcm1hbGl6ZWRQYXRoLnNsaWNlKDIpfWB9Y29uc3QgZW5jb2RlZFBhdGg9ZW5jb2RlVVJJQ29tcG9uZW50KHBhdGgpLnJlcGxhY2UoLyUyRi9nLFwiL1wiKS5yZXBsYWNlKC8lM0EvZyxcIjpcIik7cmV0dXJuIG5ldyBVUkwoYGZpbGU6Ly8ke2VuY29kZWRQYXRofWApfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQYXRoXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSAncGF0aC1icm93c2VyaWZ5JztcblxuaW1wb3J0IHsgZW5zdXJlU3RhcnRzV2l0aCB9IGZyb20gJy4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBQcm92aWRlcyBtZXRob2RzIGZvciBoYW5kbGluZyBQT1NJWCBwYXRocy5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc2l4ID0gcGF0aC5wb3NpeDtcblxuLyoqXG4gKiBUaGUgUE9TSVggcGF0aCBkZWxpbWl0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxpbWl0ZXIgPSBwb3NpeC5kZWxpbWl0ZXI7XG5cbi8qKlxuICogVGhlIFBPU0lYIHNlZ21lbnQgc2VwYXJhdG9yLlxuICovXG5leHBvcnQgY29uc3Qgc2VwID0gcGF0aC5wb3NpeC5zZXA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSBuYW1lIG9mIGEgZmlsZSwgb3B0aW9uYWxseSByZW1vdmluZyB0aGUgZmlsZSBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGJhc2UgbmFtZSBmcm9tLlxuICogQHBhcmFtIGV4dCAtIEFuIG9wdGlvbmFsIGV4dGVuc2lvbiB0byByZW1vdmUgZnJvbSB0aGUgYmFzZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGJhc2UgbmFtZSBvZiB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhc2VuYW1lID0gcG9zaXguYmFzZW5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGlyZWN0b3J5IG5hbWUgb2YgYSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBkaXJlY3RvcnkgbmFtZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGRpcmVjdG9yeSBuYW1lIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZGlybmFtZSA9IHBvc2l4LmRpcm5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmlsZSBleHRlbnNpb24gb2YgYSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBleHRlbnNpb24gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGV4dGVuc2lvbiBvZiB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dG5hbWUgPSBwb3NpeC5leHRuYW1lO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBwYXRoIG9iamVjdCBpbnRvIGEgcGF0aCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHBhdGhPYmplY3QgLSBUaGUgcGF0aCBvYmplY3QgdG8gZm9ybWF0LlxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBwYXRoIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdCA9IHBvc2l4LmZvcm1hdDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgcGF0aCBpcyBhYnNvbHV0ZS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQWJzb2x1dGUgPSBwb3NpeC5pc0Fic29sdXRlO1xuXG4vKipcbiAqIEpvaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMgaW50byBhIHNpbmdsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRocyAtIFRoZSBwYXRoIHNlZ21lbnRzIHRvIGpvaW4uXG4gKiBAcmV0dXJucyBUaGUgam9pbmVkIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBqb2luID0gcG9zaXguam9pbjtcblxuLyoqXG4gICogTm9ybWFsaXplcyBhIHBhdGgsIHJlc29sdmluZyAnLi4nIGFuZCAnLicgc2VnbWVudHMuXG4gICpcbiAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAgKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLlxuICAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHBvc2l4Lm5vcm1hbGl6ZTtcblxuLyoqXG4gKiBQYXJzZXMgYSBwYXRoIHN0cmluZyBpbnRvIGEgcGF0aCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBzdHJpbmcgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIHBhdGggb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgcGFyc2UgPSBwb3NpeC5wYXJzZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci5cbiAqXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBzdGFydGluZyBwYXRoLlxuICogQHBhcmFtIHRvIC0gVGhlIGRlc3RpbmF0aW9uIHBhdGguXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRpdmUgcGF0aCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICovXG5leHBvcnQgY29uc3QgcmVsYXRpdmUgPSBwb3NpeC5yZWxhdGl2ZTtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIHNlcXVlbmNlIG9mIHBhdGhzIG9yIHBhdGggc2VnbWVudHMgaW50byBhbiBhYnNvbHV0ZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRoU2VnbWVudHMgLSBUaGUgc2VxdWVuY2Ugb2YgcGF0aCBzZWdtZW50cyB0byByZXNvbHZlLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGFic29sdXRlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKC4uLnBhdGhTZWdtZW50czogc3RyaW5nW10pOiBzdHJpbmcge1xuICBsZXQgcGF0aCA9IHBvc2l4LnJlc29sdmUoLi4ucGF0aFNlZ21lbnRzKTtcbiAgcGF0aCA9IHRvUG9zaXhQYXRoKHBhdGgpO1xuICBjb25zdCBtYXRjaCA9IC8uOlteOl0qJC8uZXhlYyhwYXRoKTtcbiAgcmV0dXJuIG1hdGNoPy5bMF0gPz8gcGF0aDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBwYXRoIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJ1ZmZlciBjb250YWluaW5nIGEgcGF0aCB0byBhIFBPU0lYLXN0eWxlIGJ1ZmZlciBieSByZXBsYWNpbmcgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkIHNsYXNoZXMuXG4gKlxuICogQHBhcmFtIGJ1ZmZlciAtIFRoZSBidWZmZXIgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgbmV3IGJ1ZmZlciBjb250YWluaW5nIHRoZSBQT1NJWC1zdHlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qb3NpeEJ1ZmZlcihidWZmZXI6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0b1Bvc2l4UGF0aChidWZmZXIudG9TdHJpbmcoKSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGZpbGVuYW1lIGZyb20gdGhlIGBpbXBvcnQubWV0YS51cmxgLCBjb252ZXJ0aW5nIGl0IHRvIGEgUE9TSVgtc3R5bGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gaW1wb3J0TWV0YVVybCAtIFRoZSBgaW1wb3J0Lm1ldGEudXJsYCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgdGhlIGZpbGVuYW1lLlxuICogQHJldHVybnMgVGhlIFBPU0lYLXN0eWxlIGZpbGVuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZW5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmUobmV3IFVSTChpbXBvcnRNZXRhVXJsKS5wYXRobmFtZSk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZGlyZWN0b3J5IG5hbWUgZnJvbSB0aGUgYGltcG9ydC5tZXRhLnVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQubWV0YS51cmxgIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgZGlyZWN0b3J5IG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZGlyZWN0b3J5IG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJuYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBkaXJuYW1lKGdldEZpbGVuYW1lKGltcG9ydE1ldGFVcmwpKTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgZ2l2ZW4gcGF0aCBieSBlbnN1cmluZyBpdCBpcyByZWxhdGl2ZSwgYWRkaW5nIFwiLi9cIiBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLCBzdGFydGluZyB3aXRoIFwiLi9cIiBpZiBpdCB3YXMgcmVsYXRpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJZlJlbGF0aXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSB8fCBwYXRoLmluY2x1ZGVzKCc6JykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBlbnN1cmVTdGFydHNXaXRoKHBhdGgsICcuLycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSw2QkFBaUI7QUFFakIsb0JBQWlDO0FBYmpDLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLFFBQU0saUJBQWUsV0FBVyxRQUFRLE9BQU0sR0FBRztBQUFFLFFBQU0sMEJBQXdCLGVBQWUsS0FBSyxjQUFjO0FBQUUsTUFBSUEsUUFBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsSUFBQUEsUUFBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CQSxLQUFJLEVBQUUsUUFBUSxRQUFPLEdBQUcsRUFBRSxRQUFRLFFBQU8sR0FBRztBQUFFLFNBQU8sSUFBSSxJQUFJLFVBQVUsV0FBVyxFQUFFO0FBQUMsR0FBRztBQUNwYixJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBYU8sTUFBTSxRQUFRLHVCQUFBQSxRQUFLO0FBS25CLE1BQU0sWUFBWSxNQUFNO0FBS3hCLE1BQU0sTUFBTSx1QkFBQUEsUUFBSyxNQUFNO0FBU3ZCLE1BQU0sV0FBVyxNQUFNO0FBUXZCLE1BQU0sVUFBVSxNQUFNO0FBUXRCLE1BQU0sVUFBVSxNQUFNO0FBUXRCLE1BQU0sU0FBUyxNQUFNO0FBUXJCLE1BQU0sYUFBYSxNQUFNO0FBUXpCLE1BQU0sT0FBTyxNQUFNO0FBUW5CLE1BQU0sWUFBWSxNQUFNO0FBUXhCLE1BQU0sUUFBUSxNQUFNO0FBU3BCLE1BQU0sV0FBVyxNQUFNO0FBUXZCLFNBQVMsV0FBVyxjQUFnQztBQUN6RCxNQUFJQSxRQUFPLE1BQU0sUUFBUSxHQUFHLFlBQVk7QUFDeEMsRUFBQUEsUUFBTyxZQUFZQSxLQUFJO0FBQ3ZCLFFBQU0sUUFBUSxXQUFXLEtBQUtBLEtBQUk7QUFDbEMsU0FBTyxRQUFRLENBQUMsS0FBS0E7QUFDdkI7QUFRTyxTQUFTLFlBQVlBLE9BQXNCO0FBQ2hELFNBQU9BLE1BQUssUUFBUSxPQUFPLEdBQUc7QUFDaEM7QUFRTyxTQUFTLGNBQWMsUUFBd0I7QUFDcEQsU0FBTyxPQUFPLEtBQUssWUFBWSxPQUFPLFNBQVMsQ0FBQyxDQUFDO0FBQ25EO0FBUU8sU0FBUyxZQUFZLGVBQStCO0FBQ3pELFNBQU8sUUFBUSxJQUFJLElBQUksYUFBYSxFQUFFLFFBQVE7QUFDaEQ7QUFRTyxTQUFTLFdBQVcsZUFBK0I7QUFDeEQsU0FBTyxRQUFRLFlBQVksYUFBYSxDQUFDO0FBQzNDO0FBUU8sU0FBUyxvQkFBb0JBLE9BQXNCO0FBQ3hELE1BQUlBLE1BQUssV0FBVyxHQUFHLEtBQUtBLE1BQUssU0FBUyxHQUFHLEdBQUc7QUFDOUMsV0FBT0E7QUFBQSxFQUNUO0FBRUEsYUFBTyxnQ0FBaUJBLE9BQU0sSUFBSTtBQUNwQzsiLAogICJuYW1lcyI6IFsicGF0aCJdCn0K