obsidian-dev-utils 48.1.2 → 48.1.3

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 (334) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/cjs/AbortController.cjs +1 -1
  3. package/dist/lib/cjs/Array.cjs +1 -1
  4. package/dist/lib/cjs/Async.cjs +5 -3
  5. package/dist/lib/cjs/Async.d.cts +28 -19
  6. package/dist/lib/cjs/AsyncEvents.cjs +1 -1
  7. package/dist/lib/cjs/Blob.cjs +4 -5
  8. package/dist/lib/cjs/CssClass.cjs +1 -1
  9. package/dist/lib/cjs/Debug.cjs +2 -2
  10. package/dist/lib/cjs/DebugController.cjs +2 -2
  11. package/dist/lib/cjs/Enum.cjs +5 -12
  12. package/dist/lib/cjs/Error.cjs +6 -5
  13. package/dist/lib/cjs/Function.cjs +1 -1
  14. package/dist/lib/cjs/HTMLElement.cjs +1 -1
  15. package/dist/lib/cjs/Library.cjs +2 -2
  16. package/dist/lib/cjs/ObjectUtils.cjs +16 -8
  17. package/dist/lib/cjs/ObjectUtils.d.cts +17 -13
  18. package/dist/lib/cjs/Path.cjs +1 -1
  19. package/dist/lib/cjs/RegExp.cjs +4 -2
  20. package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +1 -1
  21. package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +1 -1
  22. package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +4 -5
  23. package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +5 -3
  24. package/dist/lib/cjs/ScriptUtils/ESLint/index.cjs +1 -1
  25. package/dist/lib/cjs/ScriptUtils/Exec.cjs +2 -2
  26. package/dist/lib/cjs/ScriptUtils/Exec.d.cts +6 -6
  27. package/dist/lib/cjs/ScriptUtils/Fs.cjs +2 -2
  28. package/dist/lib/cjs/ScriptUtils/Fs.d.cts +7 -7
  29. package/dist/lib/cjs/ScriptUtils/JSON.cjs +2 -2
  30. package/dist/lib/cjs/ScriptUtils/JSON.d.cts +1 -1
  31. package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +2 -2
  32. package/dist/lib/cjs/ScriptUtils/Npm.cjs +6 -6
  33. package/dist/lib/cjs/ScriptUtils/Npm.d.cts +2 -2
  34. package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +1 -1
  35. package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +13 -4
  36. package/dist/lib/cjs/ScriptUtils/NpmRun.d.cts +7 -0
  37. package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +1 -1
  38. package/dist/lib/cjs/ScriptUtils/Root.cjs +1 -1
  39. package/dist/lib/cjs/ScriptUtils/build.cjs +1 -1
  40. package/dist/lib/cjs/ScriptUtils/cli.cjs +2 -2
  41. package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +4 -4
  42. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +12 -12
  43. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +4 -4
  44. package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +2 -2
  45. package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +2 -2
  46. package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +2 -2
  47. package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +2 -2
  48. package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +2 -2
  49. package/dist/lib/cjs/ScriptUtils/esbuild/index.cjs +1 -1
  50. package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +16 -3
  51. package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +2 -2
  52. package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +2 -2
  53. package/dist/lib/cjs/ScriptUtils/format.cjs +5 -8
  54. package/dist/lib/cjs/ScriptUtils/index.cjs +1 -1
  55. package/dist/lib/cjs/ScriptUtils/markdownlint/index.cjs +1 -1
  56. package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.cjs +2 -2
  57. package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.cjs +4 -5
  58. package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +1 -1
  59. package/dist/lib/cjs/ScriptUtils/version.cjs +13 -11
  60. package/dist/lib/cjs/String.cjs +2 -2
  61. package/dist/lib/cjs/Transformers/DateTransformer.cjs +1 -1
  62. package/dist/lib/cjs/Transformers/DurationTransformer.cjs +1 -1
  63. package/dist/lib/cjs/Transformers/GroupTransformer.cjs +5 -7
  64. package/dist/lib/cjs/Transformers/MapTransformer.cjs +1 -1
  65. package/dist/lib/cjs/Transformers/SetTransformer.cjs +1 -1
  66. package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +1 -1
  67. package/dist/lib/cjs/Transformers/Transformer.cjs +2 -2
  68. package/dist/lib/cjs/Transformers/Transformer.d.cts +1 -1
  69. package/dist/lib/cjs/Transformers/TwoWayMapTransformer.cjs +1 -1
  70. package/dist/lib/cjs/Transformers/TypedTransformer.cjs +1 -1
  71. package/dist/lib/cjs/Transformers/index.cjs +1 -1
  72. package/dist/lib/cjs/TwoWayMap.cjs +1 -1
  73. package/dist/lib/cjs/Type.cjs +14 -34
  74. package/dist/lib/cjs/Type.d.cts +52 -73
  75. package/dist/lib/cjs/TypeGuards.cjs +156 -0
  76. package/dist/lib/cjs/TypeGuards.d.cts +47 -0
  77. package/dist/lib/cjs/ValueProvider.cjs +1 -1
  78. package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +2 -2
  79. package/dist/lib/cjs/codemirror/index.cjs +1 -1
  80. package/dist/lib/cjs/index.cjs +5 -2
  81. package/dist/lib/cjs/index.d.cts +1 -0
  82. package/dist/lib/cjs/obsidian/App.cjs +2 -2
  83. package/dist/lib/cjs/obsidian/AsyncWithNotice.cjs +2 -2
  84. package/dist/lib/cjs/obsidian/AsyncWithNotice.d.cts +11 -11
  85. package/dist/lib/cjs/obsidian/AttachmentPath.cjs +2 -2
  86. package/dist/lib/cjs/obsidian/AttachmentPath.d.cts +23 -23
  87. package/dist/lib/cjs/obsidian/Backlink.cjs +4 -4
  88. package/dist/lib/cjs/obsidian/Backlink.d.cts +6 -6
  89. package/dist/lib/cjs/obsidian/Callout.cjs +4 -4
  90. package/dist/lib/cjs/obsidian/Callout.d.cts +6 -6
  91. package/dist/lib/cjs/obsidian/CodeBlockMarkdownInformation.cjs +2 -2
  92. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +2 -2
  93. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.d.cts +7 -7
  94. package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +4 -5
  95. package/dist/lib/cjs/obsidian/Commands/CommandBase.d.cts +4 -4
  96. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +2 -2
  97. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.d.cts +4 -4
  98. package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +2 -2
  99. package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +2 -2
  100. package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +2 -2
  101. package/dist/lib/cjs/obsidian/Commands/index.cjs +1 -1
  102. package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +1 -1
  103. package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +1 -1
  104. package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.cjs +14 -3
  105. package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.cts +5 -0
  106. package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.cjs +1 -1
  107. package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.cjs +1 -1
  108. package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +1 -1
  109. package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.cjs +1 -1
  110. package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.cjs +1 -1
  111. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +14 -3
  112. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.cts +5 -0
  113. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.cjs +1 -1
  114. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.cjs +1 -1
  115. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +14 -3
  116. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.d.cts +5 -0
  117. package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +1 -1
  118. package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +1 -1
  119. package/dist/lib/cjs/obsidian/Components/SettingComponents/SettingComponentWrapper.cjs +4 -5
  120. package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +1 -1
  121. package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +1 -1
  122. package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +1 -1
  123. package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +1 -1
  124. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +14 -3
  125. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.d.cts +5 -0
  126. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +14 -3
  127. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.cts +5 -0
  128. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.cjs +1 -1
  129. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +1 -1
  130. package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +1 -1
  131. package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +1 -1
  132. package/dist/lib/cjs/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking.cjs +2 -2
  133. package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.cjs +1 -1
  134. package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +1 -1
  135. package/dist/lib/cjs/obsidian/Components/index.cjs +1 -1
  136. package/dist/lib/cjs/obsidian/Dataview.cjs +4 -3
  137. package/dist/lib/cjs/obsidian/Dataview.d.cts +15 -15
  138. package/dist/lib/cjs/obsidian/DataviewLink.cjs +1 -1
  139. package/dist/lib/cjs/obsidian/Editor.cjs +1 -1
  140. package/dist/lib/cjs/obsidian/FileChange.cjs +2 -2
  141. package/dist/lib/cjs/obsidian/FileManager.cjs +1 -1
  142. package/dist/lib/cjs/obsidian/FileSystem.cjs +13 -11
  143. package/dist/lib/cjs/obsidian/Frontmatter.cjs +2 -2
  144. package/dist/lib/cjs/obsidian/Frontmatter.d.cts +1 -1
  145. package/dist/lib/cjs/obsidian/FrontmatterLinkCacheWithOffsets.cjs +1 -1
  146. package/dist/lib/cjs/obsidian/Link.cjs +24 -15
  147. package/dist/lib/cjs/obsidian/Link.d.cts +58 -58
  148. package/dist/lib/cjs/obsidian/Logger.cjs +1 -1
  149. package/dist/lib/cjs/obsidian/Loop.cjs +4 -2
  150. package/dist/lib/cjs/obsidian/Loop.d.cts +11 -11
  151. package/dist/lib/cjs/obsidian/Markdown.cjs +4 -5
  152. package/dist/lib/cjs/obsidian/Markdown.d.cts +6 -6
  153. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +5 -8
  154. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.d.cts +12 -12
  155. package/dist/lib/cjs/obsidian/MarkdownView.cjs +1 -1
  156. package/dist/lib/cjs/obsidian/MetadataCache.cjs +4 -6
  157. package/dist/lib/cjs/obsidian/MetadataCache.d.cts +1 -1
  158. package/dist/lib/cjs/obsidian/Modals/Alert.cjs +2 -2
  159. package/dist/lib/cjs/obsidian/Modals/Alert.d.cts +5 -5
  160. package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +2 -2
  161. package/dist/lib/cjs/obsidian/Modals/Confirm.d.cts +6 -6
  162. package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +1 -1
  163. package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +2 -2
  164. package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +7 -7
  165. package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +2 -2
  166. package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +5 -5
  167. package/dist/lib/cjs/obsidian/Modals/index.cjs +1 -1
  168. package/dist/lib/cjs/obsidian/MonkeyAround.cjs +2 -2
  169. package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +1 -1
  170. package/dist/lib/cjs/obsidian/Pdf.cjs +2 -2
  171. package/dist/lib/cjs/obsidian/Pdf.d.cts +8 -8
  172. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +4 -2
  173. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.d.cts +4 -0
  174. package/dist/lib/cjs/obsidian/Plugin/PathSettings.cjs +6 -2
  175. package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +1 -1
  176. package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +2 -2
  177. package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +1 -1
  178. package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +1 -1
  179. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +2 -2
  180. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +1 -1
  181. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +2 -2
  182. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +6 -6
  183. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.cjs +2 -2
  184. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +2 -2
  185. package/dist/lib/cjs/obsidian/Plugin/index.cjs +1 -1
  186. package/dist/lib/cjs/obsidian/Queue.cjs +2 -2
  187. package/dist/lib/cjs/obsidian/Queue.d.cts +14 -14
  188. package/dist/lib/cjs/obsidian/React/AppContext.cjs +4 -7
  189. package/dist/lib/cjs/obsidian/React/index.cjs +1 -1
  190. package/dist/lib/cjs/obsidian/Reference.cjs +2 -2
  191. package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +2 -2
  192. package/dist/lib/cjs/obsidian/ResourceUrl.cjs +1 -1
  193. package/dist/lib/cjs/obsidian/SettingEx.cjs +1 -1
  194. package/dist/lib/cjs/obsidian/SettingGroupEx.cjs +1 -1
  195. package/dist/lib/cjs/obsidian/Validation.cjs +1 -1
  196. package/dist/lib/cjs/obsidian/Vault.cjs +2 -2
  197. package/dist/lib/cjs/obsidian/Vault.d.cts +3 -3
  198. package/dist/lib/cjs/obsidian/VaultEx.cjs +2 -2
  199. package/dist/lib/cjs/obsidian/Workspace.cjs +1 -1
  200. package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +2 -2
  201. package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +2 -2
  202. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +14 -4
  203. package/dist/lib/cjs/obsidian/i18n/index.cjs +1 -1
  204. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +1 -1
  205. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +1 -1
  206. package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +1 -1
  207. package/dist/lib/cjs/obsidian/index.cjs +1 -1
  208. package/dist/lib/cjs/url.cjs +1 -1
  209. package/dist/lib/esm/Async.d.mts +28 -19
  210. package/dist/lib/esm/Async.mjs +4 -2
  211. package/dist/lib/esm/Blob.mjs +3 -4
  212. package/dist/lib/esm/Debug.mjs +1 -1
  213. package/dist/lib/esm/Enum.mjs +4 -11
  214. package/dist/lib/esm/Error.mjs +5 -4
  215. package/dist/lib/esm/Library.mjs +1 -1
  216. package/dist/lib/esm/ObjectUtils.d.mts +17 -13
  217. package/dist/lib/esm/ObjectUtils.mjs +18 -11
  218. package/dist/lib/esm/RegExp.mjs +3 -1
  219. package/dist/lib/esm/ScriptUtils/ESLint/ESLint.mjs +3 -4
  220. package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +4 -2
  221. package/dist/lib/esm/ScriptUtils/Exec.d.mts +6 -6
  222. package/dist/lib/esm/ScriptUtils/Exec.mjs +1 -1
  223. package/dist/lib/esm/ScriptUtils/Fs.d.mts +7 -7
  224. package/dist/lib/esm/ScriptUtils/Fs.mjs +1 -1
  225. package/dist/lib/esm/ScriptUtils/JSON.d.mts +1 -1
  226. package/dist/lib/esm/ScriptUtils/JSON.mjs +1 -1
  227. package/dist/lib/esm/ScriptUtils/NodeModules.mjs +1 -1
  228. package/dist/lib/esm/ScriptUtils/Npm.d.mts +2 -2
  229. package/dist/lib/esm/ScriptUtils/Npm.mjs +5 -5
  230. package/dist/lib/esm/ScriptUtils/NpmRun.d.mts +7 -0
  231. package/dist/lib/esm/ScriptUtils/NpmRun.mjs +10 -2
  232. package/dist/lib/esm/ScriptUtils/cli.mjs +1 -1
  233. package/dist/lib/esm/ScriptUtils/esbuild/Dependency.mjs +3 -3
  234. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +4 -4
  235. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.mjs +11 -11
  236. package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.mjs +1 -1
  237. package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +1 -1
  238. package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.mjs +1 -1
  239. package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.mjs +1 -1
  240. package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.mjs +1 -1
  241. package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +3 -2
  242. package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.mjs +1 -1
  243. package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.mjs +1 -1
  244. package/dist/lib/esm/ScriptUtils/format.mjs +4 -7
  245. package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint-cli2-config.mjs +1 -1
  246. package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint.mjs +3 -4
  247. package/dist/lib/esm/ScriptUtils/version.mjs +19 -11
  248. package/dist/lib/esm/String.mjs +1 -1
  249. package/dist/lib/esm/Transformers/GroupTransformer.mjs +7 -6
  250. package/dist/lib/esm/Transformers/Transformer.d.mts +1 -1
  251. package/dist/lib/esm/Transformers/Transformer.mjs +1 -1
  252. package/dist/lib/esm/Type.d.mts +52 -73
  253. package/dist/lib/esm/Type.mjs +12 -30
  254. package/dist/lib/esm/TypeGuards.d.mts +47 -0
  255. package/dist/lib/esm/TypeGuards.mjs +47 -0
  256. package/dist/lib/esm/index.d.mts +1 -0
  257. package/dist/lib/esm/index.mjs +3 -1
  258. package/dist/lib/esm/obsidian/App.mjs +1 -1
  259. package/dist/lib/esm/obsidian/AsyncWithNotice.d.mts +11 -11
  260. package/dist/lib/esm/obsidian/AsyncWithNotice.mjs +1 -1
  261. package/dist/lib/esm/obsidian/AttachmentPath.d.mts +23 -23
  262. package/dist/lib/esm/obsidian/AttachmentPath.mjs +1 -1
  263. package/dist/lib/esm/obsidian/Backlink.d.mts +6 -6
  264. package/dist/lib/esm/obsidian/Backlink.mjs +3 -3
  265. package/dist/lib/esm/obsidian/Callout.d.mts +6 -6
  266. package/dist/lib/esm/obsidian/Callout.mjs +3 -3
  267. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.d.mts +7 -7
  268. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.mjs +1 -1
  269. package/dist/lib/esm/obsidian/Commands/CommandBase.d.mts +4 -4
  270. package/dist/lib/esm/obsidian/Commands/CommandBase.mjs +3 -4
  271. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.d.mts +4 -4
  272. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.mjs +1 -1
  273. package/dist/lib/esm/obsidian/Commands/FileCommandBase.mjs +1 -1
  274. package/dist/lib/esm/obsidian/Commands/FolderCommandBase.mjs +1 -1
  275. package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.mjs +1 -1
  276. package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.mts +5 -0
  277. package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.mjs +13 -2
  278. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.mts +5 -0
  279. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.mjs +13 -2
  280. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.d.mts +5 -0
  281. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.mjs +13 -2
  282. package/dist/lib/esm/obsidian/Components/SettingComponents/SettingComponentWrapper.mjs +3 -4
  283. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.d.mts +5 -0
  284. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.mjs +13 -2
  285. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.mts +5 -0
  286. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.mjs +13 -2
  287. package/dist/lib/esm/obsidian/Dataview.d.mts +15 -15
  288. package/dist/lib/esm/obsidian/Dataview.mjs +4 -6
  289. package/dist/lib/esm/obsidian/FileChange.mjs +1 -1
  290. package/dist/lib/esm/obsidian/FileSystem.mjs +12 -10
  291. package/dist/lib/esm/obsidian/Frontmatter.d.mts +1 -1
  292. package/dist/lib/esm/obsidian/Frontmatter.mjs +1 -1
  293. package/dist/lib/esm/obsidian/Link.d.mts +58 -58
  294. package/dist/lib/esm/obsidian/Link.mjs +26 -14
  295. package/dist/lib/esm/obsidian/Loop.d.mts +11 -11
  296. package/dist/lib/esm/obsidian/Loop.mjs +3 -1
  297. package/dist/lib/esm/obsidian/Markdown.d.mts +6 -6
  298. package/dist/lib/esm/obsidian/Markdown.mjs +3 -4
  299. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.d.mts +12 -12
  300. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.mjs +4 -7
  301. package/dist/lib/esm/obsidian/MetadataCache.d.mts +1 -1
  302. package/dist/lib/esm/obsidian/MetadataCache.mjs +3 -5
  303. package/dist/lib/esm/obsidian/Modals/Alert.d.mts +5 -5
  304. package/dist/lib/esm/obsidian/Modals/Alert.mjs +1 -1
  305. package/dist/lib/esm/obsidian/Modals/Confirm.d.mts +6 -6
  306. package/dist/lib/esm/obsidian/Modals/Confirm.mjs +1 -1
  307. package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +7 -7
  308. package/dist/lib/esm/obsidian/Modals/Prompt.mjs +1 -1
  309. package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +5 -5
  310. package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +1 -1
  311. package/dist/lib/esm/obsidian/MonkeyAround.mjs +1 -1
  312. package/dist/lib/esm/obsidian/Pdf.d.mts +8 -8
  313. package/dist/lib/esm/obsidian/Pdf.mjs +1 -1
  314. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.d.mts +4 -0
  315. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.mjs +3 -1
  316. package/dist/lib/esm/obsidian/Plugin/PathSettings.mjs +5 -1
  317. package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +1 -1
  318. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +1 -1
  319. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +1 -1
  320. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +6 -6
  321. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +1 -1
  322. package/dist/lib/esm/obsidian/Queue.d.mts +14 -14
  323. package/dist/lib/esm/obsidian/Queue.mjs +1 -1
  324. package/dist/lib/esm/obsidian/React/AppContext.mjs +3 -6
  325. package/dist/lib/esm/obsidian/Reference.mjs +1 -1
  326. package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +1 -1
  327. package/dist/lib/esm/obsidian/Vault.d.mts +3 -3
  328. package/dist/lib/esm/obsidian/Vault.mjs +1 -1
  329. package/dist/lib/esm/obsidian/VaultEx.mjs +1 -1
  330. package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.mjs +1 -1
  331. package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.mjs +1 -1
  332. package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -3
  333. package/dist/scripts/examples/format.prettier.ts +2 -3
  334. package/package.json +10 -2
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -204,4 +204,4 @@ var import_node_url = require('node:url');
204
204
  writeFile,
205
205
  writeFileSync
206
206
  });
207
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05vZGVNb2R1bGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBOb2RlLmpzIG1vZHVsZXMuXG4gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBpbXBvcnQteC9uby1uYW1lc3BhY2UgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5pbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7XG4gIGNyZWF0ZUhvb2ssXG4gIGV4ZWN1dGlvbkFzeW5jSWRcbn0gZnJvbSAnbm9kZTphc3luY19ob29rcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7IHNwYXduIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBlc2xpbnQtcGx1Z2luLXRzZG9jLXJlcXVpcmVkL3RzZG9jLXJlcXVpcmVkIC0tIFRoaXMgaXMgdGhlIG9ubHkgZmlsZSB3ZSBlbmNhcHN1bGF0ZSBpbXBvcnRpbmcgTm9kZS5qcyBtb2R1bGVzLlxuZXhwb3J0IHtcbiAgZXhpc3RzU3luYyxcbiAgcmVhZEZpbGVTeW5jLFxuICBzdGF0U3luYyxcbiAgdW5saW5rU3luYyxcbiAgd2F0Y2gsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB0eXBlIHtcbiAgRGlyZW50LFxuICBGU1dhdGNoZXIsXG4gIE9iamVjdEVuY29kaW5nT3B0aW9ucyxcbiAgUGF0aExpa2UsXG4gIFN0YXRzLFxuICBXYXRjaEV2ZW50VHlwZVxufSBmcm9tICdub2RlOmZzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBwcm9jZXNzIH07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBta2RpcixcbiAgcmVhZGRpcixcbiAgcmVhZEZpbGUsXG4gIHJlbmFtZSxcbiAgcm0sXG4gIHN0YXQsXG4gIHVubGluayxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZSxcbiAgTW9kdWxlXG59IGZyb20gJ25vZGU6bW9kdWxlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBlc2xpbnQtcGx1Z2luLXRzZG9jLXJlcXVpcmVkL3RzZG9jLXJlcXVpcmVkIC0tIFRoaXMgaXMgdGhlIG9ubHkgZmlsZSB3ZSBlbmNhcHN1bGF0ZSBpbXBvcnRpbmcgTm9kZS5qcyBtb2R1bGVzLlxuZXhwb3J0IHtcbiAgYXJjaCxcbiAgZW5kaWFubmVzcyxcbiAgdG1wZGlyXG59IGZyb20gJ25vZGU6b3MnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7IGNyZWF0ZUludGVyZmFjZSB9IGZyb20gJ25vZGU6cmVhZGxpbmUvcHJvbWlzZXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxjQUF5QjtBQUd6Qiw4QkFHTztBQUdQLGdDQUFzQjtBQUd0QixxQkFPTztBQWdCUCxzQkFXTztBQUdQLHlCQUlPO0FBR1AscUJBSU87QUFHUCwwQkFBNEI7QUFHNUIsSUFBQUEsbUJBQWdDO0FBR2hDLHNCQUE4QjsiLAogICJuYW1lcyI6IFsiaW1wb3J0X3Byb21pc2VzIl0KfQo=
207
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05vZGVNb2R1bGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBOb2RlLmpzIG1vZHVsZXMuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIFB1cmUgcmUtZXhwb3J0cyBmcm9tIE5vZGUuanMgYnVpbHQtaW4gbW9kdWxlczsgbm8gbG9naWMgdG8gdGVzdC4gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBpbXBvcnQteC9uby1uYW1lc3BhY2UgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5pbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7XG4gIGNyZWF0ZUhvb2ssXG4gIGV4ZWN1dGlvbkFzeW5jSWRcbn0gZnJvbSAnbm9kZTphc3luY19ob29rcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7IHNwYXduIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBlc2xpbnQtcGx1Z2luLXRzZG9jLXJlcXVpcmVkL3RzZG9jLXJlcXVpcmVkIC0tIFRoaXMgaXMgdGhlIG9ubHkgZmlsZSB3ZSBlbmNhcHN1bGF0ZSBpbXBvcnRpbmcgTm9kZS5qcyBtb2R1bGVzLlxuZXhwb3J0IHtcbiAgZXhpc3RzU3luYyxcbiAgcmVhZEZpbGVTeW5jLFxuICBzdGF0U3luYyxcbiAgdW5saW5rU3luYyxcbiAgd2F0Y2gsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB0eXBlIHtcbiAgRGlyZW50LFxuICBGU1dhdGNoZXIsXG4gIE9iamVjdEVuY29kaW5nT3B0aW9ucyxcbiAgUGF0aExpa2UsXG4gIFN0YXRzLFxuICBXYXRjaEV2ZW50VHlwZVxufSBmcm9tICdub2RlOmZzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBwcm9jZXNzIH07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBta2RpcixcbiAgcmVhZGRpcixcbiAgcmVhZEZpbGUsXG4gIHJlbmFtZSxcbiAgcm0sXG4gIHN0YXQsXG4gIHVubGluayxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZSxcbiAgTW9kdWxlXG59IGZyb20gJ25vZGU6bW9kdWxlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzLCBlc2xpbnQtcGx1Z2luLXRzZG9jLXJlcXVpcmVkL3RzZG9jLXJlcXVpcmVkIC0tIFRoaXMgaXMgdGhlIG9ubHkgZmlsZSB3ZSBlbmNhcHN1bGF0ZSBpbXBvcnRpbmcgTm9kZS5qcyBtb2R1bGVzLlxuZXhwb3J0IHtcbiAgYXJjaCxcbiAgZW5kaWFubmVzcyxcbiAgdG1wZGlyXG59IGZyb20gJ25vZGU6b3MnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgZXNsaW50LXBsdWdpbi10c2RvYy1yZXF1aXJlZC90c2RvYy1yZXF1aXJlZCAtLSBUaGlzIGlzIHRoZSBvbmx5IGZpbGUgd2UgZW5jYXBzdWxhdGUgaW1wb3J0aW5nIE5vZGUuanMgbW9kdWxlcy5cbmV4cG9ydCB7IGNyZWF0ZUludGVyZmFjZSB9IGZyb20gJ25vZGU6cmVhZGxpbmUvcHJvbWlzZXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIGVzbGludC1wbHVnaW4tdHNkb2MtcmVxdWlyZWQvdHNkb2MtcmVxdWlyZWQgLS0gVGhpcyBpcyB0aGUgb25seSBmaWxlIHdlIGVuY2Fwc3VsYXRlIGltcG9ydGluZyBOb2RlLmpzIG1vZHVsZXMuXG5leHBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxjQUF5QjtBQUd6Qiw4QkFHTztBQUdQLGdDQUFzQjtBQUd0QixxQkFPTztBQWdCUCxzQkFXTztBQUdQLHlCQUlPO0FBR1AscUJBSU87QUFHUCwwQkFBNEI7QUFHNUIsSUFBQUEsbUJBQWdDO0FBR2hDLHNCQUE4QjsiLAogICJuYW1lcyI6IFsiaW1wb3J0X3Byb21pc2VzIl0KfQo=
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -139,9 +139,9 @@ __export(Npm_exports, {
139
139
  writePackageLockJsonSync: () => writePackageLockJsonSync
140
140
  });
141
141
  module.exports = __toCommonJS(Npm_exports);
142
- var import_Error = require('../Error.cjs');
143
142
  var import_ObjectUtils = require('../ObjectUtils.cjs');
144
143
  var import_ObsidianPluginRepoPaths = require('../obsidian/Plugin/ObsidianPluginRepoPaths.cjs');
144
+ var import_TypeGuards = require('../TypeGuards.cjs');
145
145
  var import_JSON = require('./JSON.cjs');
146
146
  var import_Root = require('./Root.cjs');
147
147
  async function editNpmShrinkWrapJson(editFn, options = {}) {
@@ -180,13 +180,13 @@ function editPackageLockJsonSync(editFn, options = {}) {
180
180
  (0, import_JSON.editJsonSync)(getPackageLockJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
181
181
  }
182
182
  function getNpmShrinkWrapJsonPath(cwd) {
183
- return (0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.NpmShrinkwrapJson, cwd) ?? (0, import_Error.throwExpression)(new Error("Could not determine the npm-shrinkwrap.json path"));
183
+ return (0, import_TypeGuards.ensureNonNullable)((0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.NpmShrinkwrapJson, cwd), "Could not determine the npm-shrinkwrap.json path");
184
184
  }
185
185
  function getPackageJsonPath(cwd) {
186
- return (0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.PackageJson, cwd) ?? (0, import_Error.throwExpression)(new Error("Could not determine the package.json path"));
186
+ return (0, import_TypeGuards.ensureNonNullable)((0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.PackageJson, cwd), "Could not determine the package.json path");
187
187
  }
188
188
  function getPackageLockJsonPath(cwd) {
189
- return (0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.PackageLockJson, cwd) ?? (0, import_Error.throwExpression)(new Error("Could not determine the package-lock.json path"));
189
+ return (0, import_TypeGuards.ensureNonNullable)((0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.PackageLockJson, cwd), "Could not determine the package-lock.json path");
190
190
  }
191
191
  async function readPackageJson(cwd) {
192
192
  return await (0, import_JSON.readJson)(getPackageJsonPath(cwd));
@@ -231,4 +231,4 @@ function writePackageLockJsonSync(packageLockJson, cwd) {
231
231
  writePackageLockJson,
232
232
  writePackageLockJsonSync
233
233
  });
234
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgTlBNIHBhY2thZ2UuanNvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBhY2thZ2VKc29uLFxuICBQcm9taXNhYmxlXG59IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgRWRpdEpzb25PcHRpb25zIH0gZnJvbSAnLi9KU09OLnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi9QbHVnaW4vT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdEpzb24sXG4gIGVkaXRKc29uU3luYyxcbiAgcmVhZEpzb24sXG4gIHJlYWRKc29uU3luYyxcbiAgd3JpdGVKc29uLFxuICB3cml0ZUpzb25TeW5jXG59IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgZWRpdFBhY2thZ2VKc29ufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0UGFja2FnZUpzb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICAgKi9cbiAgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBza2lwcyBlZGl0aW5nIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICAgKi9cbiAgc2hvdWxkU2tpcElmTWlzc2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSB0eXBlIG9mIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgdHlwZSB7IFBhY2thZ2VKc29uIH07XG5cbi8qKlxuICogQSB0eXBlIG9mIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZUxvY2tKc29uIGV4dGVuZHMgUGFydGlhbDxQYWNrYWdlSnNvbj4ge1xuICAvKipcbiAgICogUGFja2FnZXMgaW4gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAgICovXG4gIHBhY2thZ2VzPzogUmVjb3JkPHN0cmluZywgUGFja2FnZUpzb24+O1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TnBtU2hyaW5rV3JhcEpzb24oXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPFBhY2thZ2VKc29uPihnZXROcG1TaHJpbmtXcmFwSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdFBhY2thZ2VKc29uKFxuICBlZGl0Rm46IChwYWNrYWdlSnNvbjogUGFja2FnZUpzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVkaXRQYWNrYWdlSnNvblN5bmMoXG4gIGVkaXRGbjogKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbikgPT4gdm9pZCxcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRQYWNrYWdlTG9ja0pzb24oXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFBhY2thZ2VMb2NrSnNvblN5bmMoXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGVkaXRKc29uU3luYzxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgbnBtLXNocmlua3dyYXAuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5wbVNocmlua1dyYXBKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZVBhdGhGcm9tUm9vdChPYnNpZGlhblBsdWdpblJlcG9QYXRocy5OcG1TaHJpbmt3cmFwSnNvbiwgY3dkKSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBucG0tc2hyaW5rd3JhcC5qc29uIHBhdGgnKSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUpzb25QYXRoKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXNvbHZlUGF0aEZyb21Sb290KE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBhY2thZ2VKc29uLCBjd2QpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UuanNvbiBwYXRoJykpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLCBjd2QpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UtbG9jay5qc29uIHBhdGgnKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvbihjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPFBhY2thZ2VKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvblN5bmMoY3dkPzogc3RyaW5nKTogUGFja2FnZUpzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uKGN3ZD86IHN0cmluZyk6IFByb21pc2U8UGFja2FnZUxvY2tKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uU3luYyhjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTG9ja0pzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlSnNvbiAtIFRoZSBgUGFja2FnZUpzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbiwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgcGFja2FnZUpzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VKc29uIC0gVGhlIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uU3luYyhwYWNrYWdlSnNvbjogUGFja2FnZUpzb24sIGN3ZD86IHN0cmluZyk6IHZvaWQge1xuICB3cml0ZUpzb25TeW5jKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBwYWNrYWdlSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb24ocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBwYWNrYWdlTG9ja0pzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VMb2NrSnNvbiAtIFRoZSBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb25TeW5jKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uLCBjd2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgd3JpdGVKc29uU3luYyhnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHBhY2thZ2VMb2NrSnNvbik7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLG1CQUFnQztBQUNoQyx5QkFBNEM7QUFDNUMscUNBQXdDO0FBQ3hDLGtCQU9PO0FBQ1Asa0JBQW9DO0FBdUNwQyxlQUFzQixzQkFDcEIsUUFDQSxVQUFrQyxDQUFDLEdBQ3BCO0FBQ2YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osWUFBTSxzQkFBc0IseUJBQXlCLEdBQUcsR0FBRyxZQUFRLGdEQUE2QyxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFDMUk7QUFTQSxlQUFzQixnQkFDcEIsUUFDQSxVQUFrQyxDQUFDLEdBQ3BCO0FBQ2YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osWUFBTSxzQkFBc0IsbUJBQW1CLEdBQUcsR0FBRyxZQUFRLGdEQUE2QyxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFDcEk7QUFRTyxTQUFTLG9CQUNkLFFBQ0EsVUFBa0MsQ0FBQyxHQUM3QjtBQUNOLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLGdDQUEwQixtQkFBbUIsR0FBRyxHQUFHLFlBQVEsZ0RBQTZDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUNsSTtBQVNBLGVBQXNCLG9CQUNwQixRQUNBLFVBQWtDLENBQUMsR0FDcEI7QUFDZixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixZQUFNLHNCQUFzQix1QkFBdUIsR0FBRyxHQUFHLFlBQVEsZ0RBQTZDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUN4STtBQVFPLFNBQVMsd0JBQ2QsUUFDQSxVQUFrQyxDQUFDLEdBQzdCO0FBQ04sUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osZ0NBQThCLHVCQUF1QixHQUFHLEdBQUcsWUFBUSxnREFBNkMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQzFJO0FBUU8sU0FBUyx5QkFBeUIsS0FBc0I7QUFDN0QsYUFBTyxpQ0FBb0IsdURBQXdCLG1CQUFtQixHQUFHLFNBQUssOEJBQWdCLElBQUksTUFBTSxrREFBa0QsQ0FBQztBQUM3SjtBQVFPLFNBQVMsbUJBQW1CLEtBQXNCO0FBQ3ZELGFBQU8saUNBQW9CLHVEQUF3QixhQUFhLEdBQUcsU0FBSyw4QkFBZ0IsSUFBSSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hKO0FBUU8sU0FBUyx1QkFBdUIsS0FBc0I7QUFDM0QsYUFBTyxpQ0FBb0IsdURBQXdCLGlCQUFpQixHQUFHLFNBQUssOEJBQWdCLElBQUksTUFBTSxnREFBZ0QsQ0FBQztBQUN6SjtBQVFBLGVBQXNCLGdCQUFnQixLQUFvQztBQUN4RSxTQUFPLFVBQU0sc0JBQXNCLG1CQUFtQixHQUFHLENBQUM7QUFDNUQ7QUFRTyxTQUFTLG9CQUFvQixLQUEyQjtBQUM3RCxhQUFPLDBCQUEwQixtQkFBbUIsR0FBRyxDQUFDO0FBQzFEO0FBUUEsZUFBc0Isb0JBQW9CLEtBQXdDO0FBQ2hGLFNBQU8sVUFBTSxzQkFBMEIsdUJBQXVCLEdBQUcsQ0FBQztBQUNwRTtBQVFPLFNBQVMsd0JBQXdCLEtBQStCO0FBQ3JFLGFBQU8sMEJBQThCLHVCQUF1QixHQUFHLENBQUM7QUFDbEU7QUFTQSxlQUFzQixpQkFBaUIsYUFBMEIsS0FBNkI7QUFDNUYsWUFBTSx1QkFBVSxtQkFBbUIsR0FBRyxHQUFHLFdBQVc7QUFDdEQ7QUFRTyxTQUFTLHFCQUFxQixhQUEwQixLQUFvQjtBQUNqRixpQ0FBYyxtQkFBbUIsR0FBRyxHQUFHLFdBQVc7QUFDcEQ7QUFTQSxlQUFzQixxQkFBcUIsaUJBQWtDLEtBQTZCO0FBQ3hHLFlBQU0sdUJBQVUsdUJBQXVCLEdBQUcsR0FBRyxlQUFlO0FBQzlEO0FBUU8sU0FBUyx5QkFBeUIsaUJBQWtDLEtBQW9CO0FBQzdGLGlDQUFjLHVCQUF1QixHQUFHLEdBQUcsZUFBZTtBQUM1RDsiLAogICJuYW1lcyI6IFtdCn0K
234
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgTlBNIHBhY2thZ2UuanNvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBhY2thZ2VKc29uLFxuICBQcm9taXNhYmxlXG59IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgRWRpdEpzb25PcHRpb25zIH0gZnJvbSAnLi9KU09OLnRzJztcblxuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi9QbHVnaW4vT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi9UeXBlR3VhcmRzLnRzJztcbmltcG9ydCB7XG4gIGVkaXRKc29uLFxuICBlZGl0SnNvblN5bmMsXG4gIHJlYWRKc29uLFxuICByZWFkSnNvblN5bmMsXG4gIHdyaXRlSnNvbixcbiAgd3JpdGVKc29uU3luY1xufSBmcm9tICcuL0pTT04udHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4vUm9vdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlSnNvbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdFBhY2thZ2VKc29uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2tpcHMgZWRpdGluZyBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNraXBJZk1pc3Npbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdHlwZSBvZiB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IHR5cGUgeyBQYWNrYWdlSnNvbiB9O1xuXG4vKipcbiAqIEEgdHlwZSBvZiB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VMb2NrSnNvbiBleHRlbmRzIFBhcnRpYWw8UGFja2FnZUpzb24+IHtcbiAgLyoqXG4gICAqIFBhY2thZ2VzIGluIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUuXG4gICAqL1xuICBwYWNrYWdlcz86IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VKc29uPjtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdE5wbVNocmlua1dyYXBKc29uKFxuICBlZGl0Rm46IChwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBhd2FpdCBlZGl0SnNvbjxQYWNrYWdlSnNvbj4oZ2V0TnBtU2hyaW5rV3JhcEpzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRQYWNrYWdlSnNvbihcbiAgZWRpdEZuOiAocGFja2FnZUpzb246IFBhY2thZ2VKc29uKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlZGl0UGFja2FnZUpzb25TeW5jKFxuICBlZGl0Rm46IChwYWNrYWdlSnNvbjogUGFja2FnZUpzb24pID0+IHZvaWQsXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgZWRpdEpzb25TeW5jPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uKFxuICBlZGl0Rm46IChwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBhd2FpdCBlZGl0SnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVkaXRQYWNrYWdlTG9ja0pzb25TeW5jKFxuICBlZGl0Rm46IChwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbikgPT4gdm9pZCxcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUxvY2tKc29uPihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYG5wbS1zaHJpbmt3cmFwLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYG5wbS1zaHJpbmt3cmFwLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgcGF0aCB0byB0aGUgYG5wbS1zaHJpbmt3cmFwLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXROcG1TaHJpbmtXcmFwSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTnBtU2hyaW5rd3JhcEpzb24sIGN3ZCksICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBucG0tc2hyaW5rd3JhcC5qc29uIHBhdGgnKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sIGN3ZCksICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBwYWNrYWdlLmpzb24gcGF0aCcpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLCBjd2QpLCAnQ291bGQgbm90IGRldGVybWluZSB0aGUgcGFja2FnZS1sb2NrLmpzb24gcGF0aCcpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGFja2FnZUpzb24oY3dkPzogc3RyaW5nKTogUHJvbWlzZTxQYWNrYWdlSnNvbj4ge1xuICByZXR1cm4gYXdhaXQgcmVhZEpzb248UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkUGFja2FnZUpzb25TeW5jKGN3ZD86IHN0cmluZyk6IFBhY2thZ2VKc29uIHtcbiAgcmV0dXJuIHJlYWRKc29uU3luYzxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFBhY2thZ2VMb2NrSnNvbihjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPFBhY2thZ2VMb2NrSnNvbj4ge1xuICByZXR1cm4gYXdhaXQgcmVhZEpzb248UGFja2FnZUxvY2tKc29uPihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZFBhY2thZ2VMb2NrSnNvblN5bmMoY3dkPzogc3RyaW5nKTogUGFja2FnZUxvY2tKc29uIHtcbiAgcmV0dXJuIHJlYWRKc29uU3luYzxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZUpzb24gLSBUaGUgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVQYWNrYWdlSnNvbihwYWNrYWdlSnNvbjogUGFja2FnZUpzb24sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIHBhY2thZ2VKc29uKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlSnNvbiAtIFRoZSBgUGFja2FnZUpzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQYWNrYWdlSnNvblN5bmMocGFja2FnZUpzb246IFBhY2thZ2VKc29uLCBjd2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgd3JpdGVKc29uU3luYyhnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgcGFja2FnZUpzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZUxvY2tKc29uIC0gVGhlIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlUGFja2FnZUxvY2tKc29uKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uLCBjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd3JpdGVKc29uKGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSwgcGFja2FnZUxvY2tKc29uKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlUGFja2FnZUxvY2tKc29uU3luYyhwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbiwgY3dkPzogc3RyaW5nKTogdm9pZCB7XG4gIHdyaXRlSnNvblN5bmMoZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBwYWNrYWdlTG9ja0pzb24pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSx5QkFBNEM7QUFDNUMscUNBQXdDO0FBQ3hDLHdCQUFrQztBQUNsQyxrQkFPTztBQUNQ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
@@ -11,11 +11,11 @@ export interface EditPackageJsonOptions {
11
11
  /**
12
12
  * A current working folder where `package.json` is located.
13
13
  */
14
- cwd?: string;
14
+ readonly cwd?: string;
15
15
  /**
16
16
  * If true, skips editing if the file does not exist.
17
17
  */
18
- shouldSkipIfMissing?: boolean;
18
+ readonly shouldSkipIfMissing?: boolean;
19
19
  }
20
20
  /**
21
21
  * A type of the `package.json` file.
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -121,7 +121,8 @@ var __copyProps = (to, from, except, desc) => {
121
121
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
122
122
  var NpmRun_exports = {};
123
123
  __export(NpmRun_exports, {
124
- npmRun: () => npmRun
124
+ npmRun: () => npmRun,
125
+ npmRunOptional: () => npmRunOptional
125
126
  });
126
127
  module.exports = __toCommonJS(NpmRun_exports);
127
128
  var import_Npm = require('./Npm.cjs');
@@ -135,8 +136,16 @@ async function npmRun(command) {
135
136
  await (0, import_Root.execFromRoot)(["npx", "obsidian-dev-utils", command]);
136
137
  }
137
138
  }
139
+ async function npmRunOptional(command) {
140
+ const packageJson = await (0, import_Npm.readPackageJson)();
141
+ const isKnownCommand = Object.keys(packageJson.scripts ?? {}).includes(command);
142
+ if (isKnownCommand) {
143
+ await (0, import_Root.execFromRoot)(["npm", "run", command]);
144
+ }
145
+ }
138
146
  // Annotate the CommonJS export names for ESM import in node:
139
147
  0 && (module.exports = {
140
- npmRun
148
+ npmRun,
149
+ npmRunOptional
141
150
  });
142
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbVJ1bi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBOUE0gcnVuIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBjb21tYW5kIHVzaW5nIG5wbSBjaGVja2luZyBpZiB0aGUgY29tbWFuZCBpcyBvdmVycmlkZGVuIGluIHRoZSBwYWNrYWdlLmpzb24uXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBydW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1SdW4oY29tbWFuZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IGlzS25vd25Db21tYW5kID0gT2JqZWN0LmtleXMocGFja2FnZUpzb24uc2NyaXB0cyA/PyB7fSkuaW5jbHVkZXMoY29tbWFuZCk7XG4gIGlmIChpc0tub3duQ29tbWFuZCkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25wbScsICdydW4nLCBjb21tYW5kXSk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ29ic2lkaWFuLWRldi11dGlscycsIGNvbW1hbmRdKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxpQkFBZ0M7QUFDaEMsa0JBQTZCO0FBTzdCLGVBQXNCLE9BQU8sU0FBZ0M7QUFDM0QsUUFBTSxjQUFjLFVBQU0sNEJBQWdCO0FBQzFDLFFBQU0saUJBQWlCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxPQUFPO0FBQzlFLE1BQUksZ0JBQWdCO0FBQ2xCLGNBQU0sMEJBQWEsQ0FBQyxPQUFPLE9BQU8sT0FBTyxDQUFDO0FBQUEsRUFDNUMsT0FBTztBQUNMLGNBQU0sMEJBQWEsQ0FBQyxPQUFPLHNCQUFzQixPQUFPLENBQUM7QUFBQSxFQUMzRDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
151
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbVJ1bi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBOUE0gcnVuIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBjb21tYW5kIHVzaW5nIG5wbSBjaGVja2luZyBpZiB0aGUgY29tbWFuZCBpcyBvdmVycmlkZGVuIGluIHRoZSBwYWNrYWdlLmpzb24uXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBydW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1SdW4oY29tbWFuZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IGlzS25vd25Db21tYW5kID0gT2JqZWN0LmtleXMocGFja2FnZUpzb24uc2NyaXB0cyA/PyB7fSkuaW5jbHVkZXMoY29tbWFuZCk7XG4gIGlmIChpc0tub3duQ29tbWFuZCkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25wbScsICdydW4nLCBjb21tYW5kXSk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ29ic2lkaWFuLWRldi11dGlscycsIGNvbW1hbmRdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgYSBjb21tYW5kIHVzaW5nIG5wbSBvbmx5IGlmIHRoZSBjb21tYW5kIGlzIGRlZmluZWQgaW4gdGhlIHBhY2thZ2UuanNvbiBzY3JpcHRzLlxuICogSWYgdGhlIGNvbW1hbmQgaXMgbm90IGRlZmluZWQsIGl0IGlzIHNpbGVudGx5IHNraXBwZWQuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBydW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1SdW5PcHRpb25hbChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgaWYgKGlzS25vd25Db21tYW5kKSB7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3J1bicsIGNvbW1hbmRdKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLGlCQUFnQztBQUNoQyxrQkFBNkI7QUFPN0IsZUFBc0IsT0FBTyxTQUFnQztBQUMzRCxRQUFNLGNBQWMsVUFBTSw0QkFBZ0I7QUFDMUMsUUFBTSxpQkFBaUIsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDLENBQUMsRUFBRSxTQUFTLE9BQU87QUFDOUUsTUFBSSxnQkFBZ0I7QUFDbEIsY0FBTSwwQkFBYSxDQUFDLE9BQU8sT0FBTyxPQUFPLENBQUM7QUFBQSxFQUM1QyxPQUFPO0FBQ0wsY0FBTSwwQkFBYSxDQUFDLE9BQU8sc0JBQXNCLE9BQU8sQ0FBQztBQUFBLEVBQzNEO0FBQ0Y7QUFRQSxlQUFzQixlQUFlLFNBQWdDO0FBQ25FLFFBQU0sY0FBYyxVQUFNLDRCQUFnQjtBQUMxQyxRQUFNLGlCQUFpQixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxFQUFFLFNBQVMsT0FBTztBQUM5RSxNQUFJLGdCQUFnQjtBQUNsQixjQUFNLDBCQUFhLENBQUMsT0FBTyxPQUFPLE9BQU8sQ0FBQztBQUFBLEVBQzVDO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -9,3 +9,10 @@
9
9
  * @param command - The command to run.
10
10
  */
11
11
  export declare function npmRun(command: string): Promise<void>;
12
+ /**
13
+ * Runs a command using npm only if the command is defined in the package.json scripts.
14
+ * If the command is not defined, it is silently skipped.
15
+ *
16
+ * @param command - The command to run.
17
+ */
18
+ export declare function npmRunOptional(command: string): Promise<void>;
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -204,4 +204,4 @@ function addCommand(program, name, description, taskFn) {
204
204
  0 && (module.exports = {
205
205
  cli
206
206
  });
207
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2NsaS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIENMSSBmb3IgbWFuYWdpbmcgdmFyaW91cyB0YXNrcyByZWxhdGVkIHRvIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqIEl0IGxldmVyYWdlcyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSB0byBkZWZpbmUgY29tbWFuZHMgZm9yIGJ1aWxkaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLFxuICogYW5kIHVwZGF0aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uIFRoZSBDTEkgaXMgZGVzaWduZWQgdG8gYmUgZmxleGlibGUgYW5kIGNhbiBoYW5kbGUgYm90aFxuICogc3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGNyZWF0ZUppdGkgfSBmcm9tICdqaXRpJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVJldHVybiB9IGZyb20gJy4uL1R5cGUudHMnO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW4sXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHtcbiAgYnVpbGRDbGVhbixcbiAgYnVpbGRDb21waWxlLFxuICBidWlsZENvbXBpbGVTdmVsdGUsXG4gIGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQsXG4gIGJ1aWxkU3RhdGljXG59IGZyb20gJy4vYnVpbGQudHMnO1xuaW1wb3J0IHtcbiAgQ2xpVGFza1Jlc3VsdCxcbiAgd3JhcENsaVRhc2tcbn0gZnJvbSAnLi9DbGlVdGlscy50cyc7XG5pbXBvcnQge1xuICBCdWlsZE1vZGUsXG4gIGJ1aWxkT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnLi9lc2J1aWxkL09ic2lkaWFuUGx1Z2luQnVpbGRlci50cyc7XG5pbXBvcnQgeyBsaW50IH0gZnJvbSAnLi9FU0xpbnQvRVNMaW50LnRzJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJy4vZm9ybWF0LnRzJztcbmltcG9ydCB7IGxpbnRNYXJrZG93biB9IGZyb20gJy4vbWFya2Rvd25saW50L21hcmtkb3dubGludC50cyc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICBwcm9jZXNzXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuaW1wb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlIH0gZnJvbSAnLi9Sb290LnRzJztcbmltcG9ydCB7IHNwZWxsY2hlY2sgfSBmcm9tICcuL3NwZWxsY2hlY2sudHMnO1xuaW1wb3J0IHsgdXBkYXRlVmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbi50cyc7XG5cbmNvbnN0IGppdGkgPSBjcmVhdGVKaXRpKGltcG9ydC5tZXRhLnVybCk7XG5cbi8qKlxuICogQSBudW1iZXIgb2YgbGVhZGluZyBhcmd1bWVudHMgdG8gc2tpcCB3aGVuIHBhcnNpbmcgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAqIEZpcnN0IHR3byBlbGVtZW50cyB0eXBpY2FsbHkgcmVwcmVzZW50IHRoZSBOb2RlLmpzIGV4ZWN1dGFibGUgYW5kIHRoZSBzY3JpcHQgcGF0aDpcbiAqIGBbXCJub2RlXCIsIFwicGF0aC90by9jbGkuY2pzXCIsIC4uLmFjdHVhbEFyZ3NdYFxuICovXG5jb25zdCBOT0RFX1NDUklQVF9BUkdWX1NLSVBfQ09VTlQgPSAyO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBuYW1lcyBvZiB0aGUgY29tbWFuZHMgYXZhaWxhYmxlIGluIHRoZSBDTEkuXG4gKi9cbmVudW0gQ29tbWFuZE5hbWVzIHtcbiAgQnVpbGQgPSAnYnVpbGQnLFxuICBCdWlsZENsZWFuID0gJ2J1aWxkOmNsZWFuJyxcbiAgQnVpbGRDb21waWxlID0gJ2J1aWxkOmNvbXBpbGUnLFxuICBCdWlsZENvbXBpbGVTdmVsdGUgPSAnYnVpbGQ6Y29tcGlsZTpzdmVsdGUnLFxuICBCdWlsZENvbXBpbGVUeXBlU2NyaXB0ID0gJ2J1aWxkOmNvbXBpbGU6dHlwZXNjcmlwdCcsXG4gIEJ1aWxkU3RhdGljID0gJ2J1aWxkOnN0YXRpYycsXG4gIERldiA9ICdkZXYnLFxuICBGb3JtYXQgPSAnZm9ybWF0JyxcbiAgRm9ybWF0Q2hlY2sgPSAnZm9ybWF0OmNoZWNrJyxcbiAgTGludCA9ICdsaW50JyxcbiAgTGludEZpeCA9ICdsaW50OmZpeCcsXG4gIExpbnRNYXJrZG93biA9ICdsaW50Om1kJyxcbiAgTGludE1hcmtkb3duRml4ID0gJ2xpbnQ6bWQ6Zml4JyxcbiAgUHVibGlzaCA9ICdwdWJsaXNoJyxcbiAgU3BlbGxjaGVjayA9ICdzcGVsbGNoZWNrJyxcbiAgVmVyc2lvbiA9ICd2ZXJzaW9uJ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnJpZGVNb2R1bGU8QXJncyBleHRlbmRzIHVua25vd25bXT4ge1xuICBpbnZva2UoLi4uYXJnczogQXJncyk6IFByb21pc2U8TWF5YmVSZXR1cm48Q2xpVGFza1Jlc3VsdD4+O1xufVxuXG4vKipcbiAqIE1haW4gZnVuY3Rpb24gdG8gcnVuIHRoZSBDTEkuIEl0IHNldHMgdXAgdGhlIGNvbW1hbmRzIHVzaW5nIHRoZSBgY29tbWFuZGVyYCBsaWJyYXJ5IGFuZFxuICogaGFuZGxlcyB0aGUgZXhlY3V0aW9uIG9mIHRhc2tzIGxpa2UgYnVpbGRpbmcsIGNsZWFuaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLCBhbmQgdmVyc2lvbmluZy5cbiAqXG4gKiBAcGFyYW0gYXJndiAtIFRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIHBhcnNlLiBEZWZhdWx0cyB0byBgcHJvY2Vzcy5hcmd2YCBtaW51cyB0aGUgZmlyc3QgdHdvIGVsZW1lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xpKGFyZ3Y6IHN0cmluZ1tdID0gcHJvY2Vzcy5hcmd2LnNsaWNlKE5PREVfU0NSSVBUX0FSR1ZfU0tJUF9DT1VOVCkpOiB2b2lkIHtcbiAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT5cbiAgICB3cmFwQ2xpVGFzayhhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgICAgY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbiAgICAgIHByb2dyYW1cbiAgICAgICAgLm5hbWUocGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJylcbiAgICAgICAgLmRlc2NyaXB0aW9uKCdDTEkgZm9yIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudCB1dGlsaXRpZXMnKVxuICAgICAgICAudmVyc2lvbihwYWNrYWdlSnNvbi52ZXJzaW9uID8/ICcodW5rbm93biknKTtcblxuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGQsICdCdWlsZCB0aGUgcGx1Z2luJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkQ2xlYW4sICdDbGVhbiB0aGUgZGlzdCBmb2xkZXInLCAoKSA9PiBidWlsZENsZWFuKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGRDb21waWxlLCAnQ2hlY2sgaWYgY29kZSBjb21waWxlcycsICgpID0+IGJ1aWxkQ29tcGlsZSgpKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkQ29tcGlsZVN2ZWx0ZSwgJ0NoZWNrIGlmIFN2ZWx0ZSBjb2RlIGNvbXBpbGVzJywgKCkgPT4gYnVpbGRDb21waWxlU3ZlbHRlKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGRDb21waWxlVHlwZVNjcmlwdCwgJ0NoZWNrIGlmIFR5cGVTY3JpcHQgY29kZSBjb21waWxlcycsICgpID0+IGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQoKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZFN0YXRpYywgJ0NvcHkgc3RhdGljIGNvbnRlbnQgdG8gZGlzdCcsICgpID0+IGJ1aWxkU3RhdGljKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuRGV2LCAnQnVpbGQgdGhlIHBsdWdpbiBpbiBkZXZlbG9wbWVudCBtb2RlJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5EZXZlbG9wbWVudCB9KSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5Gb3JtYXQsICdGb3JtYXQgdGhlIHNvdXJjZSBjb2RlJywgKCkgPT4gZm9ybWF0KCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuRm9ybWF0Q2hlY2ssICdDaGVjayBpZiB0aGUgc291cmNlIGNvZGUgaXMgZm9ybWF0dGVkJywgKCkgPT4gZm9ybWF0KGZhbHNlKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50LCAnTGludCB0aGUgc291cmNlIGNvZGUnLCAoKSA9PiBsaW50KCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuTGludEZpeCwgJ0xpbnQgdGhlIHNvdXJjZSBjb2RlIGFuZCBhcHBseSBhdXRvbWF0aWMgZml4ZXMnLCAoKSA9PiBsaW50KHRydWUpKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkxpbnRNYXJrZG93biwgJ0xpbnQgdGhlIG1hcmtkb3duIGRvY3VtZW50YXRpb24nLCAoKSA9PiBsaW50TWFya2Rvd24oKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50TWFya2Rvd25GaXgsICdMaW50IHRoZSBtYXJrZG93biBkb2N1bWVudGF0aW9uIGFuZCBhcHBseSBhdXRvbWF0aWMgZml4ZXMnLCAoKSA9PiBsaW50TWFya2Rvd24odHJ1ZSkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuUHVibGlzaCwgJ1B1Ymxpc2ggdG8gTlBNJywgKGlzQmV0YTogYm9vbGVhbikgPT4gcHVibGlzaChpc0JldGEpKVxuICAgICAgICAuYXJndW1lbnQoJ1tpc0JldGFdJywgJ1B1Ymxpc2ggdG8gTlBNIGJldGEnKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLlNwZWxsY2hlY2ssICdTcGVsbGNoZWNrIHRoZSBzb3VyY2UgY29kZScsICgpID0+IHNwZWxsY2hlY2soKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5WZXJzaW9uLCAnUmVsZWFzZSBhIG5ldyB2ZXJzaW9uJywgKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpID0+IHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGUpKVxuICAgICAgICAuYXJndW1lbnQoJ1t2ZXJzaW9uVXBkYXRlVHlwZV0nLCAnVmVyc2lvbiB1cGRhdGUgdHlwZTogbWFqb3IsIG1pbm9yLCBwYXRjaCwgYmV0YSwgb3IgeC55LnpbLXN1ZmZpeF0nKTtcbiAgICAgIGF3YWl0IHByb2dyYW0ucGFyc2VBc3luYyhhcmd2LCB7IGZyb206ICd1c2VyJyB9KTtcbiAgICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogQWRkcyBhIGNvbW1hbmQgdG8gdGhlIENMSSBwcm9ncmFtIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIHRhc2sgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgYGNvbW1hbmRlcmAgcHJvZ3JhbSBpbnN0YW5jZSB0byB3aGljaCB0aGUgY29tbWFuZCBpcyBhZGRlZC5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGNvbW1hbmQgZG9lcy5cbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQuIENhbiByZXR1cm4gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gb3IgYHZvaWRgLlxuICogQHJldHVybnMgVGhlIGBjb21tYW5kZXJgIGNvbW1hbmQgaW5zdGFuY2UgZm9yIGZ1cnRoZXIgY2hhaW5pbmcuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuZnVuY3Rpb24gYWRkQ29tbWFuZDxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgcHJvZ3JhbTogQ29tbWFuZCxcbiAgbmFtZTogc3RyaW5nLFxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICB0YXNrRm46ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPENsaVRhc2tSZXN1bHQ+PlxuKTogQ29tbWFuZCB7XG4gIHJldHVybiBwcm9ncmFtLmNvbW1hbmQobmFtZSlcbiAgICAuZGVzY3JpcHRpb24oZGVzY3JpcHRpb24pXG4gICAgLmFjdGlvbigoLi4uYXJnczogQXJncykgPT5cbiAgICAgIHdyYXBDbGlUYXNrKGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2NyaXB0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TY3JpcHRzLCBgJHtuYW1lLnJlcGxhY2UoJzonLCAnLScpfS50c2ApKTtcbiAgICAgICAgaWYgKGV4aXN0c1N5bmMoc2NyaXB0UGF0aCkpIHtcbiAgICAgICAgICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCk7XG4gICAgICAgICAgY29uc3QgcmVsYXRpdmVTY3JpcHRQYXRoID0gcmVsYXRpdmUoZm9sZGVyLCBzY3JpcHRQYXRoKTtcbiAgICAgICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBqaXRpLmltcG9ydDxQYXJ0aWFsPE92ZXJyaWRlTW9kdWxlPEFyZ3M+Pj4ocmVsYXRpdmVTY3JpcHRQYXRoKTtcbiAgICAgICAgICBpZiAodHlwZW9mIG1vZHVsZS5pbnZva2UgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtyZWxhdGl2ZVNjcmlwdFBhdGh9IGRvZXMgbm90IGV4cG9ydCBhbiBpbnZva2UgZnVuY3Rpb25gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG1vZHVsZS5pbnZva2UoLi4uYXJncyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXdhaXQgdGFza0ZuKC4uLmFyZ3MpO1xuICAgICAgfSlcbiAgICApO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyQkEsdUJBQXdCO0FBQ3hCLGtCQUEyQjtBQUkzQixtQkFBa0M7QUFDbEMsa0JBSU87QUFDUCxtQkFNTztBQUNQLHNCQUdPO0FBQ1AsbUNBR087QUFDUCxvQkFBcUI7QUFDckIsb0JBQXVCO0FBQ3ZCLDBCQUE2QjtBQUM3Qix5QkFHTztBQUNQLGlCQUFnQztBQUNoQyx3QkFBd0I7QUFDeEIsdUNBQTBDO0FBQzFDLGtCQUF3QztBQUN4Qyx3QkFBMkI7QUFDM0IscUJBQThCO0FBakU5QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQU07QUFDMUQsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLGVBQWU7QUFDckIsVUFBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxRQUFJLE9BQU8sSUFBSSxrQkFBa0IsWUFBWTtBQUMzQyxhQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxJQUN2QztBQUFBLEVBQ0Y7QUFFQSxNQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLFdBQU8sT0FBTyxTQUFTO0FBQUEsRUFDekI7QUFHQSxTQUFPO0FBQ1QsR0FBRztBQW9EUCxNQUFNLFdBQU8sd0JBQVcsaUJBQWU7QUFPdkMsTUFBTSw4QkFBOEI7QUFrQzdCLFNBQVMsSUFBSSxPQUFpQiwyQkFBUSxLQUFLLE1BQU0sMkJBQTJCLEdBQVM7QUFDMUY7QUFBQSxJQUFrQixVQUNoQiw2QkFBWSxZQUFZO0FBQ3RCLFlBQU0sY0FBYyxVQUFNLGdDQUFnQiwyQkFBYyxpQkFBZSxDQUFDO0FBQ3hFLFlBQU0sVUFBVSxJQUFJLHlCQUFRO0FBRTVCLGNBQ0csS0FBSyxZQUFZLFFBQVEsV0FBVyxFQUNwQyxZQUFZLCtDQUErQyxFQUMzRCxRQUFRLFlBQVksV0FBVyxXQUFXO0FBRTdDLGlCQUFXLFNBQVMscUJBQW9CLG9CQUFvQixVQUFNLGtEQUFvQixFQUFFLE1BQU0sdUNBQVUsV0FBVyxDQUFDLENBQUM7QUFDckgsaUJBQVcsU0FBUyxnQ0FBeUIseUJBQXlCLFVBQU0seUJBQVcsQ0FBQztBQUN4RixpQkFBVyxTQUFTLG9DQUEyQiwwQkFBMEIsVUFBTSwyQkFBYSxDQUFDO0FBQzdGLGlCQUFXLFNBQVMsaURBQWlDLGlDQUFpQyxVQUFNLGlDQUFtQixDQUFDO0FBQ2hILGlCQUFXLFNBQVMseURBQXFDLHFDQUFxQyxVQUFNLHFDQUF1QixDQUFDO0FBQzVILGlCQUFXLFNBQVMsa0NBQTBCLCtCQUErQixVQUFNLDBCQUFZLENBQUM7QUFDaEcsaUJBQVcsU0FBUyxpQkFBa0Isd0NBQXdDLFVBQU0sa0RBQW9CLEVBQUUsTUFBTSx1Q0FBVSxZQUFZLENBQUMsQ0FBQztBQUN4SSxpQkFBVyxTQUFTLHVCQUFxQiwwQkFBMEIsVUFBTSxzQkFBTyxDQUFDO0FBQ2pGLGlCQUFXLFNBQVMsa0NBQTBCLHlDQUF5QyxVQUFNLHNCQUFPLEtBQUssQ0FBQztBQUMxRyxpQkFBVyxTQUFTLG1CQUFtQix3QkFBd0IsVUFBTSxvQkFBSyxDQUFDO0FBQzNFLGlCQUFXLFNBQVMsMEJBQXNCLGtEQUFrRCxVQUFNLG9CQUFLLElBQUksQ0FBQztBQUM1RyxpQkFBVyxTQUFTLDhCQUEyQixtQ0FBbUMsVUFBTSxrQ0FBYSxDQUFDO0FBQ3RHLGlCQUFXLFNBQVMscUNBQThCLDZEQUE2RCxVQUFNLGtDQUFhLElBQUksQ0FBQztBQUN2SSxpQkFBVyxTQUFTLHlCQUFzQixrQkFBa0IsQ0FBQyxlQUFvQiwyQkFBUSxNQUFNLENBQUMsRUFDN0YsU0FBUyxZQUFZLHFCQUFxQjtBQUM3QyxpQkFBVyxTQUFTLCtCQUF5Qiw4QkFBOEIsVUFBTSw4QkFBVyxDQUFDO0FBQzdGLGlCQUFXLFNBQVMseUJBQXNCLHlCQUF5QixDQUFDLDBCQUE4Qiw4QkFBYyxpQkFBaUIsQ0FBQyxFQUMvSCxTQUFTLHVCQUF1QixtRUFBbUU7QUFDdEcsWUFBTSxRQUFRLFdBQVcsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQy9DLGFBQU8sOEJBQWMsVUFBVTtBQUFBLElBQ2pDLENBQUM7QUFBQSxFQUNIO0FBQ0Y7QUFZQSxTQUFTLFdBQ1AsU0FDQSxNQUNBLGFBQ0EsUUFDUztBQUNULFNBQU8sUUFBUSxRQUFRLElBQUksRUFDeEIsWUFBWSxXQUFXLEVBQ3ZCO0FBQUEsSUFBTyxJQUFJLGFBQ1YsNkJBQVksWUFBWTtBQUN0QixZQUFNLGlCQUFhLHlDQUF3QixrQkFBSywyREFBMEIsU0FBUyxHQUFHLEtBQUssUUFBUSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDbEgsY0FBSSwrQkFBVyxVQUFVLEdBQUc7QUFDMUIsY0FBTSxhQUFTLDJCQUFjLGlCQUFlO0FBQzVDLGNBQU0seUJBQXFCLHNCQUFTLFFBQVEsVUFBVTtBQUN0RCxjQUFNQSxVQUFTLE1BQU0sS0FBSyxPQUFzQyxrQkFBa0I7QUFDbEYsWUFBSSxPQUFPQSxRQUFPLFdBQVcsWUFBWTtBQUN2QyxnQkFBTSxJQUFJLE1BQU0sR0FBRyxrQkFBa0IscUNBQXFDO0FBQUEsUUFDNUU7QUFDQSxlQUFPQSxRQUFPLE9BQU8sR0FBRyxJQUFJO0FBQUEsTUFDOUI7QUFFQSxhQUFPLE1BQU0sT0FBTyxHQUFHLElBQUk7QUFBQSxJQUM3QixDQUFDO0FBQUEsRUFDSDtBQUNKOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
207
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2NsaS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIENMSSBmb3IgbWFuYWdpbmcgdmFyaW91cyB0YXNrcyByZWxhdGVkIHRvIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqIEl0IGxldmVyYWdlcyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSB0byBkZWZpbmUgY29tbWFuZHMgZm9yIGJ1aWxkaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLFxuICogYW5kIHVwZGF0aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uIFRoZSBDTEkgaXMgZGVzaWduZWQgdG8gYmUgZmxleGlibGUgYW5kIGNhbiBoYW5kbGUgYm90aFxuICogc3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcy5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gQ0xJIGVudHJ5IHBvaW50IHVzaW5nIGNvbW1hbmRlciBhbmQgZHluYW1pYyBqaXRpIGltcG9ydHM7IHJlcXVpcmVzIGEgbGl2ZSBwcm9jZXNzIGVudmlyb25tZW50LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGNyZWF0ZUppdGkgfSBmcm9tICdqaXRpJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVJldHVybiB9IGZyb20gJy4uL1R5cGUudHMnO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW4sXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHtcbiAgYnVpbGRDbGVhbixcbiAgYnVpbGRDb21waWxlLFxuICBidWlsZENvbXBpbGVTdmVsdGUsXG4gIGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQsXG4gIGJ1aWxkU3RhdGljXG59IGZyb20gJy4vYnVpbGQudHMnO1xuaW1wb3J0IHtcbiAgQ2xpVGFza1Jlc3VsdCxcbiAgd3JhcENsaVRhc2tcbn0gZnJvbSAnLi9DbGlVdGlscy50cyc7XG5pbXBvcnQge1xuICBCdWlsZE1vZGUsXG4gIGJ1aWxkT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnLi9lc2J1aWxkL09ic2lkaWFuUGx1Z2luQnVpbGRlci50cyc7XG5pbXBvcnQgeyBsaW50IH0gZnJvbSAnLi9FU0xpbnQvRVNMaW50LnRzJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJy4vZm9ybWF0LnRzJztcbmltcG9ydCB7IGxpbnRNYXJrZG93biB9IGZyb20gJy4vbWFya2Rvd25saW50L21hcmtkb3dubGludC50cyc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICBwcm9jZXNzXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuaW1wb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlIH0gZnJvbSAnLi9Sb290LnRzJztcbmltcG9ydCB7IHNwZWxsY2hlY2sgfSBmcm9tICcuL3NwZWxsY2hlY2sudHMnO1xuaW1wb3J0IHsgdXBkYXRlVmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbi50cyc7XG5cbmNvbnN0IGppdGkgPSBjcmVhdGVKaXRpKGltcG9ydC5tZXRhLnVybCk7XG5cbi8qKlxuICogQSBudW1iZXIgb2YgbGVhZGluZyBhcmd1bWVudHMgdG8gc2tpcCB3aGVuIHBhcnNpbmcgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAqIEZpcnN0IHR3byBlbGVtZW50cyB0eXBpY2FsbHkgcmVwcmVzZW50IHRoZSBOb2RlLmpzIGV4ZWN1dGFibGUgYW5kIHRoZSBzY3JpcHQgcGF0aDpcbiAqIGBbXCJub2RlXCIsIFwicGF0aC90by9jbGkuY2pzXCIsIC4uLmFjdHVhbEFyZ3NdYFxuICovXG5jb25zdCBOT0RFX1NDUklQVF9BUkdWX1NLSVBfQ09VTlQgPSAyO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBuYW1lcyBvZiB0aGUgY29tbWFuZHMgYXZhaWxhYmxlIGluIHRoZSBDTEkuXG4gKi9cbmVudW0gQ29tbWFuZE5hbWVzIHtcbiAgQnVpbGQgPSAnYnVpbGQnLFxuICBCdWlsZENsZWFuID0gJ2J1aWxkOmNsZWFuJyxcbiAgQnVpbGRDb21waWxlID0gJ2J1aWxkOmNvbXBpbGUnLFxuICBCdWlsZENvbXBpbGVTdmVsdGUgPSAnYnVpbGQ6Y29tcGlsZTpzdmVsdGUnLFxuICBCdWlsZENvbXBpbGVUeXBlU2NyaXB0ID0gJ2J1aWxkOmNvbXBpbGU6dHlwZXNjcmlwdCcsXG4gIEJ1aWxkU3RhdGljID0gJ2J1aWxkOnN0YXRpYycsXG4gIERldiA9ICdkZXYnLFxuICBGb3JtYXQgPSAnZm9ybWF0JyxcbiAgRm9ybWF0Q2hlY2sgPSAnZm9ybWF0OmNoZWNrJyxcbiAgTGludCA9ICdsaW50JyxcbiAgTGludEZpeCA9ICdsaW50OmZpeCcsXG4gIExpbnRNYXJrZG93biA9ICdsaW50Om1kJyxcbiAgTGludE1hcmtkb3duRml4ID0gJ2xpbnQ6bWQ6Zml4JyxcbiAgUHVibGlzaCA9ICdwdWJsaXNoJyxcbiAgU3BlbGxjaGVjayA9ICdzcGVsbGNoZWNrJyxcbiAgVmVyc2lvbiA9ICd2ZXJzaW9uJ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnJpZGVNb2R1bGU8QXJncyBleHRlbmRzIHVua25vd25bXT4ge1xuICBpbnZva2UoLi4uYXJnczogQXJncyk6IFByb21pc2U8TWF5YmVSZXR1cm48Q2xpVGFza1Jlc3VsdD4+O1xufVxuXG4vKipcbiAqIE1haW4gZnVuY3Rpb24gdG8gcnVuIHRoZSBDTEkuIEl0IHNldHMgdXAgdGhlIGNvbW1hbmRzIHVzaW5nIHRoZSBgY29tbWFuZGVyYCBsaWJyYXJ5IGFuZFxuICogaGFuZGxlcyB0aGUgZXhlY3V0aW9uIG9mIHRhc2tzIGxpa2UgYnVpbGRpbmcsIGNsZWFuaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLCBhbmQgdmVyc2lvbmluZy5cbiAqXG4gKiBAcGFyYW0gYXJndiAtIFRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIHBhcnNlLiBEZWZhdWx0cyB0byBgcHJvY2Vzcy5hcmd2YCBtaW51cyB0aGUgZmlyc3QgdHdvIGVsZW1lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xpKGFyZ3Y6IHN0cmluZ1tdID0gcHJvY2Vzcy5hcmd2LnNsaWNlKE5PREVfU0NSSVBUX0FSR1ZfU0tJUF9DT1VOVCkpOiB2b2lkIHtcbiAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT5cbiAgICB3cmFwQ2xpVGFzayhhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgICAgY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbiAgICAgIHByb2dyYW1cbiAgICAgICAgLm5hbWUocGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJylcbiAgICAgICAgLmRlc2NyaXB0aW9uKCdDTEkgZm9yIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudCB1dGlsaXRpZXMnKVxuICAgICAgICAudmVyc2lvbihwYWNrYWdlSnNvbi52ZXJzaW9uID8/ICcodW5rbm93biknKTtcblxuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGQsICdCdWlsZCB0aGUgcGx1Z2luJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkQ2xlYW4sICdDbGVhbiB0aGUgZGlzdCBmb2xkZXInLCAoKSA9PiBidWlsZENsZWFuKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGRDb21waWxlLCAnQ2hlY2sgaWYgY29kZSBjb21waWxlcycsICgpID0+IGJ1aWxkQ29tcGlsZSgpKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkQ29tcGlsZVN2ZWx0ZSwgJ0NoZWNrIGlmIFN2ZWx0ZSBjb2RlIGNvbXBpbGVzJywgKCkgPT4gYnVpbGRDb21waWxlU3ZlbHRlKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGRDb21waWxlVHlwZVNjcmlwdCwgJ0NoZWNrIGlmIFR5cGVTY3JpcHQgY29kZSBjb21waWxlcycsICgpID0+IGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQoKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZFN0YXRpYywgJ0NvcHkgc3RhdGljIGNvbnRlbnQgdG8gZGlzdCcsICgpID0+IGJ1aWxkU3RhdGljKCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuRGV2LCAnQnVpbGQgdGhlIHBsdWdpbiBpbiBkZXZlbG9wbWVudCBtb2RlJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5EZXZlbG9wbWVudCB9KSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5Gb3JtYXQsICdGb3JtYXQgdGhlIHNvdXJjZSBjb2RlJywgKCkgPT4gZm9ybWF0KCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuRm9ybWF0Q2hlY2ssICdDaGVjayBpZiB0aGUgc291cmNlIGNvZGUgaXMgZm9ybWF0dGVkJywgKCkgPT4gZm9ybWF0KGZhbHNlKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50LCAnTGludCB0aGUgc291cmNlIGNvZGUnLCAoKSA9PiBsaW50KCkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuTGludEZpeCwgJ0xpbnQgdGhlIHNvdXJjZSBjb2RlIGFuZCBhcHBseSBhdXRvbWF0aWMgZml4ZXMnLCAoKSA9PiBsaW50KHRydWUpKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkxpbnRNYXJrZG93biwgJ0xpbnQgdGhlIG1hcmtkb3duIGRvY3VtZW50YXRpb24nLCAoKSA9PiBsaW50TWFya2Rvd24oKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50TWFya2Rvd25GaXgsICdMaW50IHRoZSBtYXJrZG93biBkb2N1bWVudGF0aW9uIGFuZCBhcHBseSBhdXRvbWF0aWMgZml4ZXMnLCAoKSA9PiBsaW50TWFya2Rvd24odHJ1ZSkpO1xuICAgICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuUHVibGlzaCwgJ1B1Ymxpc2ggdG8gTlBNJywgKGlzQmV0YTogYm9vbGVhbikgPT4gcHVibGlzaChpc0JldGEpKVxuICAgICAgICAuYXJndW1lbnQoJ1tpc0JldGFdJywgJ1B1Ymxpc2ggdG8gTlBNIGJldGEnKTtcbiAgICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLlNwZWxsY2hlY2ssICdTcGVsbGNoZWNrIHRoZSBzb3VyY2UgY29kZScsICgpID0+IHNwZWxsY2hlY2soKSk7XG4gICAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5WZXJzaW9uLCAnUmVsZWFzZSBhIG5ldyB2ZXJzaW9uJywgKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpID0+IHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGUpKVxuICAgICAgICAuYXJndW1lbnQoJ1t2ZXJzaW9uVXBkYXRlVHlwZV0nLCAnVmVyc2lvbiB1cGRhdGUgdHlwZTogbWFqb3IsIG1pbm9yLCBwYXRjaCwgYmV0YSwgb3IgeC55LnpbLXN1ZmZpeF0nKTtcbiAgICAgIGF3YWl0IHByb2dyYW0ucGFyc2VBc3luYyhhcmd2LCB7IGZyb206ICd1c2VyJyB9KTtcbiAgICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogQWRkcyBhIGNvbW1hbmQgdG8gdGhlIENMSSBwcm9ncmFtIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIHRhc2sgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgYGNvbW1hbmRlcmAgcHJvZ3JhbSBpbnN0YW5jZSB0byB3aGljaCB0aGUgY29tbWFuZCBpcyBhZGRlZC5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGNvbW1hbmQgZG9lcy5cbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQuIENhbiByZXR1cm4gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gb3IgYHZvaWRgLlxuICogQHJldHVybnMgVGhlIGBjb21tYW5kZXJgIGNvbW1hbmQgaW5zdGFuY2UgZm9yIGZ1cnRoZXIgY2hhaW5pbmcuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxuZnVuY3Rpb24gYWRkQ29tbWFuZDxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgcHJvZ3JhbTogQ29tbWFuZCxcbiAgbmFtZTogc3RyaW5nLFxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICB0YXNrRm46ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPENsaVRhc2tSZXN1bHQ+PlxuKTogQ29tbWFuZCB7XG4gIHJldHVybiBwcm9ncmFtLmNvbW1hbmQobmFtZSlcbiAgICAuZGVzY3JpcHRpb24oZGVzY3JpcHRpb24pXG4gICAgLmFjdGlvbigoLi4uYXJnczogQXJncykgPT5cbiAgICAgIHdyYXBDbGlUYXNrKGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2NyaXB0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TY3JpcHRzLCBgJHtuYW1lLnJlcGxhY2UoJzonLCAnLScpfS50c2ApKTtcbiAgICAgICAgaWYgKGV4aXN0c1N5bmMoc2NyaXB0UGF0aCkpIHtcbiAgICAgICAgICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCk7XG4gICAgICAgICAgY29uc3QgcmVsYXRpdmVTY3JpcHRQYXRoID0gcmVsYXRpdmUoZm9sZGVyLCBzY3JpcHRQYXRoKTtcbiAgICAgICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBqaXRpLmltcG9ydDxQYXJ0aWFsPE92ZXJyaWRlTW9kdWxlPEFyZ3M+Pj4ocmVsYXRpdmVTY3JpcHRQYXRoKTtcbiAgICAgICAgICBpZiAodHlwZW9mIG1vZHVsZS5pbnZva2UgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtyZWxhdGl2ZVNjcmlwdFBhdGh9IGRvZXMgbm90IGV4cG9ydCBhbiBpbnZva2UgZnVuY3Rpb25gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG1vZHVsZS5pbnZva2UoLi4uYXJncyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXdhaXQgdGFza0ZuKC4uLmFyZ3MpO1xuICAgICAgfSlcbiAgICApO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE2QkEsdUJBQXdCO0FBQ3hCLGtCQUEyQjtBQUkzQixtQkFBa0M7QUFDbEMsa0JBSU87QUFDUCxtQkFNTztBQUNQLHNCQUdPO0FBQ1AsbUNBR087QUFDUCxvQkFBcUI7QUFDckIsb0JBQXVCO0FBQ3ZCLDBCQUE2QjtBQUM3Qix5QkFHTztB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
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -126,9 +126,9 @@ __export(Dependency_exports, {
126
126
  });
127
127
  module.exports = __toCommonJS(Dependency_exports);
128
128
  var import_esbuild = require('esbuild');
129
- var import_Error = require('../../Error.cjs');
130
129
  var import_Path = require('../../Path.cjs');
131
130
  var import_String = require('../../String.cjs');
131
+ var import_TypeGuards = require('../../TypeGuards.cjs');
132
132
  var import_NodeModules = require('../NodeModules.cjs');
133
133
  var import_Npm = require('../Npm.cjs');
134
134
  var import_ObsidianDevUtilsRepoPaths = require('../ObsidianDevUtilsRepoPaths.cjs');
@@ -202,7 +202,7 @@ function extractDependenciesToBundlePlugin(dependenciesToSkip, dependenciesToBun
202
202
  setup(build) {
203
203
  build.onResolve({ filter: /^[^./]/ }, (args) => {
204
204
  if (!args.importer.endsWith(import_ObsidianDevUtilsRepoPaths.ObsidianDevUtilsRepoPaths.DtsExtension)) {
205
- const moduleName = (0, import_String.trimStart)(args.path.split("/")[0] ?? (0, import_Error.throwExpression)(new Error("Wrong path")), "node:");
205
+ const moduleName = (0, import_String.trimStart)((0, import_TypeGuards.ensureNonNullable)(args.path.split("/")[0], "Wrong path"), "node:");
206
206
  if (!dependenciesToSkip.has(args.path) && !dependenciesToSkip.has(moduleName)) {
207
207
  dependenciesToBundle.add(args.path);
208
208
  }
@@ -217,4 +217,4 @@ function extractDependenciesToBundlePlugin(dependenciesToSkip, dependenciesToBun
217
217
  getDependenciesToBundle,
218
218
  getDependenciesToSkip
219
219
  });
220
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvRGVwZW5kZW5jeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBtYW5hZ2luZyBkZXBlbmRlbmNpZXMgZHVyaW5nIHRoZSBlc2J1aWxkIHByb2Nlc3MuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gZGV0ZXJtaW5lIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgc2tpcHBlZCBhbmQgd2hpY2hcbiAqIHNob3VsZCBiZSBidW5kbGVkLCBhcyB3ZWxsIGFzIGFuIGVzYnVpbGQgcGx1Z2luIGZvciBleHRyYWN0aW5nIGRlcGVuZGVuY2llcyB0byBidW5kbGUuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9FcnJvci50cyc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJy4uLy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbVN0YXJ0IH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7XG4gIGJ1aWx0aW5Nb2R1bGVzLFxuICBjcmVhdGVSZXF1aXJlXG59IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcbmltcG9ydCB7IHJlYWRQYWNrYWdlSnNvbiB9IGZyb20gJy4uL05wbS50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5pbXBvcnQge1xuICBiYW5uZXIsXG4gIGludm9rZUVzYnVpbGRcbn0gZnJvbSAnLi9PYnNpZGlhblBsdWdpbkJ1aWxkZXIudHMnO1xuaW1wb3J0IHsgcHJlcHJvY2Vzc1BsdWdpbiB9IGZyb20gJy4vcHJlcHJvY2Vzc1BsdWdpbi50cyc7XG5cbmNvbnN0IGVzbVJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbmludGVyZmFjZSBNb2R1bGVXaXRoRGVmYXVsdEV4cG9ydCB7XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIGJ1bmRsZWQgYnkgZXNidWlsZC5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIGRlcGVuZGVuY3kgbmFtZXMgdG8gYnVuZGxlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzVG9CdW5kbGUoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb1NraXAgPSBhd2FpdCBnZXREZXBlbmRlbmNpZXNUb1NraXAoKTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9CdW5kbGUgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyA9IHtcbiAgICBiYW5uZXI6IHtcbiAgICAgIGpzOiBiYW5uZXJcbiAgICB9LFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICBlbnRyeVBvaW50czogW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TcmMsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5BbnlUcyldLFxuICAgIGZvcm1hdDogJ2NqcycsXG4gICAgbG9nTGV2ZWw6ICdpbmZvJyxcbiAgICBvdXRkaXI6ICdub3RoaW5nLXdpbGwtYmUtd3JpdHRlbi1vbi1kaXNrLXNvLXRoaXMtZG9lcy1ub3QtbWF0dGVyJyxcbiAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpbihkZXBlbmRlbmNpZXNUb1NraXAsIGRlcGVuZGVuY2llc1RvQnVuZGxlKVxuICAgIF0sXG4gICAgc291cmNlbWFwOiAnaW5saW5lJyxcbiAgICB0YXJnZXQ6ICdFU05leHQnLFxuICAgIHRyZWVTaGFraW5nOiB0cnVlLFxuICAgIHdyaXRlOiBmYWxzZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgYXdhaXQgaW52b2tlRXNidWlsZChidWlsZENvbnRleHQsIHRydWUpO1xuICByZXR1cm4gQXJyYXkuZnJvbShkZXBlbmRlbmNpZXNUb0J1bmRsZSkuc29ydCgpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBkZXBlbmRlbmNpZXMgdGhhdCBzaG91bGQgYmUgc2tpcHBlZCBkdXJpbmcgdGhlIGJ1bmRsaW5nIHByb2Nlc3MuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBTZXR9IG9mIGRlcGVuZGVuY3kgbmFtZXMgdG8gc2tpcC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlcGVuZGVuY2llc1RvU2tpcCgpOiBQcm9taXNlPFNldDxzdHJpbmc+PiB7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvU2tpcCA9IG5ldyBTZXQ8c3RyaW5nPihbLi4uYnVpbHRpbk1vZHVsZXMsIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyA/PyB7fSkuZmlsdGVyKGNhblNraXBGcm9tQnVuZGxpbmcpXSk7XG4gIHJldHVybiBkZXBlbmRlbmNpZXNUb1NraXA7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbW9kdWxlIGNhbiBiZSBza2lwcGVkIGZyb20gYnVuZGxpbmcuXG4gKlxuICogQHBhcmFtIG1vZHVsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgbW9kdWxlIGNhbiBiZSBza2lwcGVkIGZyb20gYnVuZGxpbmcuXG4gKi9cbmZ1bmN0aW9uIGNhblNraXBGcm9tQnVuZGxpbmcobW9kdWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmIChtb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJ0B0eXBlcy8nKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKG1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnb2JzaWRpYW4nKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKG1vZHVsZU5hbWUgPT09ICdlc2J1aWxkJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBlc21SZXF1aXJlKG1vZHVsZU5hbWUpIGFzIE1vZHVsZVdpdGhEZWZhdWx0RXhwb3J0O1xuICAgIHJldHVybiAhbW9kdWxlLmRlZmF1bHQ7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBpZGVudGlmaWVzIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYnVuZGxlZC5cbiAqXG4gKiBAcGFyYW0gZGVwZW5kZW5jaWVzVG9Ta2lwIC0gQSBzZXQgb2YgZGVwZW5kZW5jeSBuYW1lcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkIGR1cmluZyBidW5kbGluZy5cbiAqIEBwYXJhbSBkZXBlbmRlbmNpZXNUb0J1bmRsZSAtIEEgc2V0IHdoZXJlIHRoZSBuYW1lcyBvZiBkZXBlbmRlbmNpZXMgdG8gYmUgYnVuZGxlZCB3aWxsIGJlIGFkZGVkLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBleHRyYWN0cyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVwZW5kZW5jaWVzVG9CdW5kbGVQbHVnaW4oZGVwZW5kZW5jaWVzVG9Ta2lwOiBTZXQ8c3RyaW5nPiwgZGVwZW5kZW5jaWVzVG9CdW5kbGU6IFNldDxzdHJpbmc+KTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAndGVzdCcsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL15bXi4vXS8gfSwgKGFyZ3MpID0+IHtcbiAgICAgICAgaWYgKCFhcmdzLmltcG9ydGVyLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHRzRXh0ZW5zaW9uKSkge1xuICAgICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0cmltU3RhcnQoYXJncy5wYXRoLnNwbGl0KCcvJylbMF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignV3JvbmcgcGF0aCcpKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBLHFCQUF3QjtBQUV4QixtQkFBZ0M7QUFDaEMsa0JBR087QUFDUCxvQkFBMEI7QUFDMUIseUJBR087QUFDUCxpQkFBZ0M7QUFDaEMsdUNBQTBDO0FBQzFDLG1DQUdPO0FBQ1AsOEJBQWlDO0FBL0NqQyxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQU07QUFDMUQsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLGVBQWU7QUFDckIsVUFBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxRQUFJLE9BQU8sSUFBSSxrQkFBa0IsWUFBWTtBQUMzQyxhQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7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
220
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvRGVwZW5kZW5jeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBtYW5hZ2luZyBkZXBlbmRlbmNpZXMgZHVyaW5nIHRoZSBlc2J1aWxkIHByb2Nlc3MuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gZGV0ZXJtaW5lIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgc2tpcHBlZCBhbmQgd2hpY2hcbiAqIHNob3VsZCBiZSBidW5kbGVkLCBhcyB3ZWxsIGFzIGFuIGVzYnVpbGQgcGx1Z2luIGZvciBleHRyYWN0aW5nIGRlcGVuZGVuY2llcyB0byBidW5kbGUuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcmVzb2x2ZXMgZGVwZW5kZW5jaWVzIGF0IGJ1aWxkIHRpbWU7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRPcHRpb25zLFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IGNvbnRleHQgfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHtcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgam9pblxufSBmcm9tICcuLi8uLi9QYXRoLnRzJztcbmltcG9ydCB7IHRyaW1TdGFydCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL1R5cGVHdWFyZHMudHMnO1xuaW1wb3J0IHtcbiAgYnVpbHRpbk1vZHVsZXMsXG4gIGNyZWF0ZVJlcXVpcmVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vTnBtLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGJhbm5lcixcbiAgaW52b2tlRXNidWlsZFxufSBmcm9tICcuL09ic2lkaWFuUGx1Z2luQnVpbGRlci50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzUGx1Z2luLnRzJztcblxuY29uc3QgZXNtUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuaW50ZXJmYWNlIE1vZHVsZVdpdGhEZWZhdWx0RXhwb3J0IHtcbiAgZGVmYXVsdDogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYnVuZGxlZCBieSBlc2J1aWxkLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBidW5kbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb0J1bmRsZSgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvU2tpcCA9IGF3YWl0IGdldERlcGVuZGVuY2llc1RvU2tpcCgpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb0J1bmRsZSA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGVudHJ5UG9pbnRzOiBbam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkFueVRzKV0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG91dGRpcjogJ25vdGhpbmctd2lsbC1iZS13cml0dGVuLW9uLWRpc2stc28tdGhpcy1kb2VzLW5vdC1tYXR0ZXInLFxuICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgcGx1Z2luczogW1xuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKGRlcGVuZGVuY2llc1RvU2tpcCwgZGVwZW5kZW5jaWVzVG9CdW5kbGUpXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ0VTTmV4dCcsXG4gICAgdHJlZVNoYWtpbmc6IHRydWUsXG4gICAgd3JpdGU6IGZhbHNlXG4gIH07XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0ID0gYXdhaXQgY29udGV4dChidWlsZE9wdGlvbnMpO1xuICBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgdHJ1ZSk7XG4gIHJldHVybiBBcnJheS5mcm9tKGRlcGVuZGVuY2llc1RvQnVuZGxlKS5zb3J0KCk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGRlcGVuZGVuY2llcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkIGR1cmluZyB0aGUgYnVuZGxpbmcgcHJvY2Vzcy5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIFNldH0gb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBza2lwLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzVG9Ta2lwKCk6IFByb21pc2U8U2V0PHN0cmluZz4+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9Ta2lwID0gbmV3IFNldDxzdHJpbmc+KFsuLi5idWlsdGluTW9kdWxlcywgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24uZGVwZW5kZW5jaWVzID8/IHt9KS5maWx0ZXIoY2FuU2tpcEZyb21CdW5kbGluZyldKTtcbiAgcmV0dXJuIGRlcGVuZGVuY2llc1RvU2tpcDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqL1xuZnVuY3Rpb24gY2FuU2tpcEZyb21CdW5kbGluZyhtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKG1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnQHR5cGVzLycpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdvYnNpZGlhbicpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZSA9PT0gJ2VzYnVpbGQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG1vZHVsZSA9IGVzbVJlcXVpcmUobW9kdWxlTmFtZSkgYXMgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQ7XG4gICAgcmV0dXJuICFtb2R1bGUuZGVmYXVsdDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGlkZW50aWZpZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkLlxuICpcbiAqIEBwYXJhbSBkZXBlbmRlbmNpZXNUb1NraXAgLSBBIHNldCBvZiBkZXBlbmRlbmN5IG5hbWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIGJ1bmRsaW5nLlxuICogQHBhcmFtIGRlcGVuZGVuY2llc1RvQnVuZGxlIC0gQSBzZXQgd2hlcmUgdGhlIG5hbWVzIG9mIGRlcGVuZGVuY2llcyB0byBiZSBidW5kbGVkIHdpbGwgYmUgYWRkZWQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGV4dHJhY3RzIGRlcGVuZGVuY2llcyB0byBidW5kbGUuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpbihkZXBlbmRlbmNpZXNUb1NraXA6IFNldDxzdHJpbmc+LCBkZXBlbmRlbmNpZXNUb0J1bmRsZTogU2V0PHN0cmluZz4pOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICd0ZXN0JyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25SZXNvbHZlKHsgZmlsdGVyOiAvXlteLi9dLyB9LCAoYXJncykgPT4ge1xuICAgICAgICBpZiAoIWFyZ3MuaW1wb3J0ZXIuZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRyaW1TdGFydChlbnN1cmVOb25OdWxsYWJsZShhcmdzLnBhdGguc3BsaXQoJy8nKVswXSwgJ1dyb25nIHBhdGgnKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBK0JBLHFCQUF3QjtBQUV4QixrQkFHTztBQUNQLG9CQUEwQjtBQUMxQix3QkFBa0M7QUFDbEMseUJBR087QUFDUCxpQkFBZ0M7QUFDaEMsdUNBQTBDO0FBQzFDLG1DQUdPO0FBQ1AsOEJBQWlDO0FBakRqQyxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFN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
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -139,10 +139,10 @@ __export(ObsidianPluginBuilder_exports, {
139
139
  module.exports = __toCommonJS(ObsidianPluginBuilder_exports);
140
140
  var import_esbuild = require('esbuild');
141
141
  var import_esbuild_sass_plugin = __toESM(__extractDefault(require('esbuild-sass-plugin')), 1);
142
- var import_Error = require('../../Error.cjs');
143
142
  var import_ObjectUtils = require('../../ObjectUtils.cjs');
144
143
  var import_ObsidianPluginRepoPaths = require('../../obsidian/Plugin/ObsidianPluginRepoPaths.cjs');
145
144
  var import_Path = require('../../Path.cjs');
145
+ var import_TypeGuards = require('../../TypeGuards.cjs');
146
146
  var import_build = require('../build.cjs');
147
147
  var import_CliUtils = require('../CliUtils.cjs');
148
148
  var import_NodeModules = require('../NodeModules.cjs');
@@ -175,10 +175,10 @@ async function buildObsidianPlugin(options) {
175
175
  const obsidianPluginBuilderEnv = import_NodeModules.process.env;
176
176
  const obsidianConfigFolder = options.obsidianConfigFolder ?? obsidianPluginBuilderEnv.OBSIDIAN_CONFIG_FOLDER ?? "";
177
177
  const isProductionBuild = options.mode === 1 /* Production */;
178
- const distFolder = (0, import_Root.resolvePathFromRoot)(isProductionBuild ? import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.DistBuild : import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.DistDev);
179
- if (!distFolder) {
180
- throw new Error("Could not determine the dist folder");
181
- }
178
+ const distFolder = (0, import_TypeGuards.ensureNonNullable)(
179
+ (0, import_Root.resolvePathFromRoot)(isProductionBuild ? import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.DistBuild : import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.DistDev),
180
+ "Could not determine the dist folder"
181
+ );
182
182
  if ((0, import_NodeModules.existsSync)(distFolder)) {
183
183
  await (0, import_NodeModules.rm)(distFolder, { recursive: true });
184
184
  }
@@ -190,10 +190,7 @@ async function buildObsidianPlugin(options) {
190
190
  await (0, import_NodeModules.writeFile)((0, import_Path.join)(distFolder, import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.HotReload), "", "utf-8");
191
191
  }
192
192
  for (const fileName of distFileNames) {
193
- const localFile = (0, import_Root.resolvePathFromRoot)(fileName);
194
- if (!localFile) {
195
- throw new Error(`Could not determine the local file for ${fileName}`);
196
- }
193
+ const localFile = (0, import_TypeGuards.ensureNonNullable)((0, import_Root.resolvePathFromRoot)(fileName), `Could not determine the local file for ${fileName}`);
197
194
  const distFile = (0, import_Path.join)(distFolder, fileName);
198
195
  if ((0, import_NodeModules.existsSync)(localFile)) {
199
196
  await (0, import_NodeModules.cp)(localFile, distFile);
@@ -210,7 +207,10 @@ async function buildObsidianPlugin(options) {
210
207
  bundle: true,
211
208
  conditions: ["browser"],
212
209
  entryPoints: [
213
- (0, import_Root.resolvePathFromRoot)((0, import_Path.join)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.Src, import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.MainTs)) ?? (0, import_Error.throwExpression)(new Error("Could not determine the entry point for the plugin"))
210
+ (0, import_TypeGuards.ensureNonNullable)(
211
+ (0, import_Root.resolvePathFromRoot)((0, import_Path.join)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.Src, import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.MainTs)),
212
+ "Could not determine the entry point for the plugin"
213
+ )
214
214
  ],
215
215
  external: [
216
216
  "obsidian",
@@ -272,4 +272,4 @@ async function invokeEsbuild(buildContext, isProductionBuild) {
272
272
  buildObsidianPlugin,
273
273
  invokeEsbuild
274
274
  });
275
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb250ZXh0LFxuICBCdWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFdlIG5lZWQgYSB0ZW1wIHZhcmlhYmxlIHRvIGFwcGx5IGBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AoKWAgZml4IGJlbG93LlxuaW1wb3J0IHNhc3NQbHVnaW5fIGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9FcnJvci50cyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICcuLi8uLi9PYmplY3RVdGlscy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBidWlsZENvbXBpbGUgfSBmcm9tICcuLi9idWlsZC50cyc7XG5pbXBvcnQgeyBDbGlUYXNrUmVzdWx0IH0gZnJvbSAnLi4vQ2xpVXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgYnVpbHRpbk1vZHVsZXMsXG4gIGNwLFxuICBleGlzdHNTeW5jLFxuICBsb2FkRW52RmlsZSxcbiAgbWtkaXIsXG4gIHByb2Nlc3MsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vTnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi9Sb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luLnRzJztcbmltcG9ydCB7IGN1c3RvbUVzYnVpbGRPcHRpb25zUGx1Z2luIH0gZnJvbSAnLi9jdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICcuL2ZpeEVzbVBsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhTb3VyY2VNYXBzUGx1Z2luIH0gZnJvbSAnLi9maXhTb3VyY2VNYXBzUGx1Z2luLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3NQbHVnaW4udHMnO1xuaW1wb3J0IHsgcmVuYW1lQ3NzUGx1Z2luIH0gZnJvbSAnLi9yZW5hbWVDc3NQbHVnaW4udHMnO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJy4vc3ZlbHRlV3JhcHBlclBsdWdpbi50cyc7XG5cbmNvbnN0IHNhc3NQbHVnaW4gPSBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3Aoc2Fzc1BsdWdpbl8pO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKiBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luICovXG4gIERldmVsb3BtZW50LFxuICAvKiogUHJvZHVjdGlvbiBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luICovXG4gIFByb2R1Y3Rpb25cbn1cblxuLyoqXG4gKiBCYW5uZXIgdGV4dCB0byBiZSBpbmNsdWRlZCBhdCB0aGUgdG9wIG9mIHRoZSBnZW5lcmF0ZWQgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBiYW5uZXIgPSBgLypcblRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEVTQlVJTERcbmlmIHlvdSB3YW50IHRvIHZpZXcgdGhlIHNvdXJjZSwgcGxlYXNlIHZpc2l0IHRoZSBnaXRodWIgcmVwb3NpdG9yeSBvZiB0aGlzIHBsdWdpblxuKi9cbmA7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGJ1aWxkT2JzaWRpYW5QbHVnaW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT2JzaWRpYW5QbHVnaW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBlc2J1aWxkIHBsdWdpbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gICAqL1xuICBjdXN0b21Fc2J1aWxkUGx1Z2lucz86IFBsdWdpbltdO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVzIHRoZSBgZXNidWlsZGAgb3B0aW9ucy5cbiAgICovXG4gIGN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPyhvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBIGJ1aWxkIG1vZGUsIGVpdGhlciBgRGV2ZWxvcG1lbnRgIG9yIGBQcm9kdWN0aW9uYFxuICAgKi9cbiAgbW9kZTogQnVpbGRNb2RlO1xuXG4gIC8qKlxuICAgKiBBIGZvbGRlciBmb3IgT2JzaWRpYW4gY29uZmlndXJhdGlvbi4gRGVmYXVsdHMgdG8gdGhlIGBPQlNJRElBTl9DT05GSUdfRk9MREVSYCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIG9ic2lkaWFuQ29uZmlnRm9sZGVyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52IHtcbiAgT0JTSURJQU5fQ09ORklHX0ZPTERFUjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgbW9kZSBhbmQgY29uZmlndXJhdGlvbiBmb2xkZXIuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ob3B0aW9uczogQnVpbGRPYnNpZGlhblBsdWdpbk9wdGlvbnMpOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgYXdhaXQgYnVpbGRDb21waWxlKCk7XG4gIGNvbnN0IGVudlBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290KCcuZW52Jyk7XG4gIGlmIChlbnZQYXRoICYmIGV4aXN0c1N5bmMoZW52UGF0aCkpIHtcbiAgICBsb2FkRW52RmlsZShlbnZQYXRoKTtcbiAgfVxuICBjb25zdCBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYgPSBwcm9jZXNzLmVudiBhcyBQYXJ0aWFsPE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudj47XG5cbiAgY29uc3Qgb2JzaWRpYW5Db25maWdGb2xkZXIgPSBvcHRpb25zLm9ic2lkaWFuQ29uZmlnRm9sZGVyID8/IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudi5PQlNJRElBTl9DT05GSUdfRk9MREVSID8/ICcnO1xuICBjb25zdCBpc1Byb2R1Y3Rpb25CdWlsZCA9IG9wdGlvbnMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IHJlc29sdmVQYXRoRnJvbVJvb3QoaXNQcm9kdWN0aW9uQnVpbGQgPyBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0QnVpbGQgOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0RGV2KTtcbiAgaWYgKCFkaXN0Rm9sZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBkaXN0IGZvbGRlcicpO1xuICB9XG5cbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0RmlsZU5hbWVzID0gW1xuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvblxuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gcmVzb2x2ZVBhdGhGcm9tUm9vdChmaWxlTmFtZSk7XG4gICAgaWYgKCFsb2NhbEZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG9jYWwgZmlsZSBmb3IgJHtmaWxlTmFtZX1gKTtcbiAgICB9XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3RGb2xkZXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuICBjb25zdCBjc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGNvbmRpdGlvbnM6IFsnYnJvd3NlciddLFxuICAgIGVudHJ5UG9pbnRzOiBbXG4gICAgICByZXNvbHZlUGF0aEZyb21Sb290KGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3JjLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluVHMpKVxuICAgICAgICA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBsdWdpbicpKVxuICAgIF0sXG4gICAgZXh0ZXJuYWw6IFtcbiAgICAgICdvYnNpZGlhbicsXG4gICAgICAnZWxlY3Ryb24nLFxuICAgICAgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZScsXG4gICAgICAnQGNvZGVtaXJyb3IvY29sbGFiJyxcbiAgICAgICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICAgICAnQGNvZGVtaXJyb3IvbGFuZ3VhZ2UnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xpbnQnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICAgICAnQGNvZGVtaXJyb3Ivc3RhdGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3ZpZXcnLFxuICAgICAgJ0BsZXplci9jb21tb24nLFxuICAgICAgJ0BsZXplci9oaWdobGlnaHQnLFxuICAgICAgJ0BsZXplci9scicsXG4gICAgICAnZXNidWlsZCcsXG4gICAgICAnZXNsaW50JyxcbiAgICAgIC4uLmJ1aWx0aW5Nb2R1bGVzXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1pbmlmeTogaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgb3V0ZmlsZTogZGlzdFBhdGgsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbihvcHRpb25zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKG9wdGlvbnMpKSxcbiAgICAgIHN2ZWx0ZVdyYXBwZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQpLFxuICAgICAgc2Fzc1BsdWdpbih7XG4gICAgICAgIHNvdXJjZU1hcDogIWlzUHJvZHVjdGlvbkJ1aWxkXG4gICAgICB9KSxcbiAgICAgIHJlbmFtZUNzc1BsdWdpbihkaXN0Rm9sZGVyKSxcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGZpeEVzbVBsdWdpbigpLFxuICAgICAgZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCwgW2Rpc3RQYXRoLCBjc3NQYXRoXSwgcGx1Z2luTmFtZSksXG4gICAgICAuLi5vcHRpb25zLmN1c3RvbUVzYnVpbGRQbHVnaW5zID8/IFtdLFxuICAgICAgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luKGlzUHJvZHVjdGlvbkJ1aWxkLCBkaXN0Rm9sZGVyLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSlcbiAgICBdLFxuICAgIHNvdXJjZW1hcDogaXNQcm9kdWN0aW9uQnVpbGQgPyBmYWxzZSA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ2VzbmV4dCcsXG4gICAgdHJlZVNoYWtpbmc6IHRydWVcbiAgfTtcblxuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIHJldHVybiBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQpO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLHFCQUF3QjtBQUV4QixpQ0FBd0I7QUFFeEIsbUJBQWdDO0FBQ2hDLHlCQUE0QztBQUM1QyxxQ0FBd0M7QUFDeEMsa0JBQXFCO0FBQ3JCLG1CQUE2QjtBQUM3QixzQkFBOEI7QUFDOUIseUJBU087QUFDUCxpQkFBZ0M7QUFDaEMsa0JBQW9DO0FBQ3BDLCtDQUFrRDtBQUNsRCx3Q0FBMkM7QUFDM0MsMEJBQTZCO0FBQzdCLGlDQUFvQztBQUNwQyw4QkFBaUM7QUFDakMsNkJBQWdDO0FBQ2hDLGlDQUFvQztBQUVwQyxNQUFNLGlCQUFhLGdEQUE0QiwyQkFBQUEsT0FBVztBQUtuRCxJQUFLLFlBQUwsa0JBQUtDLGVBQUw7QUFFTCxFQUFBQSxzQkFBQTtBQUVBLEVBQUFBLHNCQUFBO0FBSlUsU0FBQUE7QUFBQSxHQUFBO0FBVUwsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF5Q3RCLGVBQXNCLG9CQUFvQixTQUE2RDtBQUNyRyxZQUFNLDJCQUFhO0FBQ25CLFFBQU0sY0FBVSxpQ0FBb0IsTUFBTTtBQUMxQyxNQUFJLGVBQVcsK0JBQVcsT0FBTyxHQUFHO0FBQ2xDLHdDQUFZLE9BQU87QUFBQSxFQUNyQjtBQUNBLFFBQU0sMkJBQTJCLDJCQUFRO0FBRXpDLFFBQU0sdUJBQXVCLFFBQVEsd0JBQXdCLHlCQUF5QiwwQkFBMEI7QUFDaEgsUUFBTSxvQkFBb0IsUUFBUSxTQUFTO0FBRTNDLFFBQU0saUJBQWEsaUNBQW9CLG9CQUFvQix1REFBd0IsWUFBWSx1REFBd0IsT0FBTztBQUM5SCxNQUFJLENBQUMsWUFBWTtBQUNmLFVBQU0sSUFBSSxNQUFNLHFDQUFxQztBQUFBLEVBQ3ZEO0FBRUEsVUFBSSwrQkFBVyxVQUFVLEdBQUc7QUFDMUIsY0FBTSx1QkFBRyxZQUFZLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFBQSxFQUMxQztBQUNBLFlBQU0sMEJBQU0sWUFBWSxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBRTNDLFFBQU0sZ0JBQWdCO0FBQUEsSUFDcEIsdURBQXdCO0FBQUEsRUFDMUI7QUFDQSxNQUFJLENBQUMsbUJBQW1CO0FBQ3RCLGNBQU0sa0NBQVUsa0JBQUssWUFBWSx1REFBd0IsU0FBUyxHQUFHLElBQUksT0FBTztBQUFBLEVBQ2xGO0FBRUEsYUFBVyxZQUFZLGVBQWU7QUFDcEMsVUFBTSxnQkFBWSxpQ0FBb0IsUUFBUTtBQUM5QyxRQUFJLENBQUMsV0FBVztBQUNkLFlBQU0sSUFBSSxNQUFNLDBDQUEwQyxRQUFRLEVBQUU7QUFBQSxJQUN0RTtBQUNBLFVBQU0sZUFBVyxrQkFBSyxZQUFZLFFBQVE7QUFFMUMsWUFBSSwrQkFBVyxTQUFTLEdBQUc7QUFDekIsZ0JBQU0sdUJBQUcsV0FBVyxRQUFRO0FBQUEsSUFDOUI7QUFBQSxFQUNGO0FBRUEsUUFBTSxlQUFXLGtCQUFLLFlBQVksdURBQXdCLE1BQU07QUFDaEUsUUFBTSxjQUFVLGtCQUFLLFlBQVksdURBQXdCLFNBQVM7QUFFbEUsUUFBTSxjQUFjLFVBQU0sNEJBQWdCO0FBQzFDLFFBQU0sYUFBYSxZQUFZLFFBQVE7QUFFdkMsUUFBTSxlQUE2QjtBQUFBLElBQ2pDLFFBQVE7QUFBQSxNQUNOLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixZQUFZLENBQUMsU0FBUztBQUFBLElBQ3RCLGFBQWE7QUFBQSxVQUNYLHFDQUFvQixrQkFBSyx1REFBd0IsS0FBSyx1REFBd0IsTUFBTSxDQUFDLFNBQ2hGLDhCQUFnQixJQUFJLE1BQU0sb0RBQW9ELENBQUM7QUFBQSxJQUN0RjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1I7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsR0FBRztBQUFBLElBQ0w7QUFBQSxJQUNBLFFBQVE7QUFBQSxJQUNSLFdBQVc7QUFBQSxJQUNYLFVBQVU7QUFBQSxJQUNWLFFBQVE7QUFBQSxJQUNSLFNBQVM7QUFBQSxJQUNULFVBQVU7QUFBQSxJQUNWLFNBQVM7QUFBQSxVQUNQLDhEQUEyQixRQUFRLHlCQUF5QixLQUFLLE9BQU8sQ0FBQztBQUFBLFVBQ3pFLGdEQUFvQixpQkFBaUI7QUFBQSxNQUNyQyxXQUFXO0FBQUEsUUFDVCxXQUFXLENBQUM7QUFBQSxNQUNkLENBQUM7QUFBQSxVQUNELHdDQUFnQixVQUFVO0FBQUEsVUFDMUIsMENBQWlCO0FBQUEsVUFDakIsa0NBQWE7QUFBQSxVQUNiLGdEQUFvQixtQkFBbUIsQ0FBQyxVQUFVLE9BQU8sR0FBRyxVQUFVO0FBQUEsTUFDdEUsR0FBRyxRQUFRLHdCQUF3QixDQUFDO0FBQUEsVUFDcEMsNEVBQWtDLG1CQUFtQixZQUFZLHNCQUFzQixVQUFVO0FBQUEsSUFDbkc7QUFBQSxJQUNBLFdBQVcsb0JBQW9CLFFBQVE7QUFBQSxJQUN2QyxRQUFRO0FBQUEsSUFDUixhQUFhO0FBQUEsRUFDZjtBQUVBLFFBQU0sZUFBZSxVQUFNLHdCQUFRLFlBQVk7QUFDL0MsU0FBTyxNQUFNLGNBQWMsY0FBYyxpQkFBaUI7QUFDNUQ7QUFTQSxlQUFzQixjQUFjLGNBQTRCLG1CQUFvRDtBQUNsSCxNQUFJLG1CQUFtQjtBQUNyQixVQUFNLFNBQVMsTUFBTSxhQUFhLFFBQVE7QUFDMUMsVUFBTSxZQUFZLE9BQU8sT0FBTyxXQUFXLEtBQUssT0FBTyxTQUFTLFdBQVc7QUFDM0UsV0FBTyw4QkFBYyxRQUFRLFNBQVM7QUFBQSxFQUN4QztBQUNBLFFBQU0sYUFBYSxNQUFNO0FBQ3pCLFNBQU8sOEJBQWMsVUFBVTtBQUNqQzsiLAogICJuYW1lcyI6IFsic2Fzc1BsdWdpbl8iLCAiQnVpbGRNb2RlIl0KfQo=
275
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkLWJhc2VkIGJ1aWxkIHBpcGVsaW5lIHdpdGggc2Fzcy9zdmVsdGUgcGx1Z2lucyBhbmQgZmlsZSB3YXRjaGVyczsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gV2UgbmVlZCBhIHRlbXAgdmFyaWFibGUgdG8gYXBwbHkgYGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCgpYCBmaXggYmVsb3cuXG5pbXBvcnQgc2Fzc1BsdWdpbl8gZnJvbSAnZXNidWlsZC1zYXNzLXBsdWdpbic7XG5cbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCB9IGZyb20gJy4uLy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi8uLi9QYXRoLnRzJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vVHlwZUd1YXJkcy50cyc7XG5pbXBvcnQgeyBidWlsZENvbXBpbGUgfSBmcm9tICcuLi9idWlsZC50cyc7XG5pbXBvcnQgeyBDbGlUYXNrUmVzdWx0IH0gZnJvbSAnLi4vQ2xpVXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgYnVpbHRpbk1vZHVsZXMsXG4gIGNwLFxuICBleGlzdHNTeW5jLFxuICBsb2FkRW52RmlsZSxcbiAgbWtkaXIsXG4gIHByb2Nlc3MsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vTnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi9Sb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luLnRzJztcbmltcG9ydCB7IGN1c3RvbUVzYnVpbGRPcHRpb25zUGx1Z2luIH0gZnJvbSAnLi9jdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICcuL2ZpeEVzbVBsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhTb3VyY2VNYXBzUGx1Z2luIH0gZnJvbSAnLi9maXhTb3VyY2VNYXBzUGx1Z2luLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3NQbHVnaW4udHMnO1xuaW1wb3J0IHsgcmVuYW1lQ3NzUGx1Z2luIH0gZnJvbSAnLi9yZW5hbWVDc3NQbHVnaW4udHMnO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJy4vc3ZlbHRlV3JhcHBlclBsdWdpbi50cyc7XG5cbmNvbnN0IHNhc3NQbHVnaW4gPSBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3Aoc2Fzc1BsdWdpbl8pO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKiBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luICovXG4gIERldmVsb3BtZW50LFxuICAvKiogUHJvZHVjdGlvbiBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luICovXG4gIFByb2R1Y3Rpb25cbn1cblxuLyoqXG4gKiBCYW5uZXIgdGV4dCB0byBiZSBpbmNsdWRlZCBhdCB0aGUgdG9wIG9mIHRoZSBnZW5lcmF0ZWQgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBiYW5uZXIgPSBgLypcblRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEVTQlVJTERcbmlmIHlvdSB3YW50IHRvIHZpZXcgdGhlIHNvdXJjZSwgcGxlYXNlIHZpc2l0IHRoZSBnaXRodWIgcmVwb3NpdG9yeSBvZiB0aGlzIHBsdWdpblxuKi9cbmA7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGJ1aWxkT2JzaWRpYW5QbHVnaW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT2JzaWRpYW5QbHVnaW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBlc2J1aWxkIHBsdWdpbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21Fc2J1aWxkUGx1Z2lucz86IFBsdWdpbltdO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVzIHRoZSBgZXNidWlsZGAgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPzogKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZE9ic2lkaWFuUGx1Z2luKG9wdGlvbnM6IEJ1aWxkT2JzaWRpYW5QbHVnaW5PcHRpb25zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IGJ1aWxkQ29tcGlsZSgpO1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCgnLmVudicpO1xuICBpZiAoZW52UGF0aCAmJiBleGlzdHNTeW5jKGVudlBhdGgpKSB7XG4gICAgbG9hZEVudkZpbGUoZW52UGF0aCk7XG4gIH1cbiAgY29uc3Qgb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52ID0gcHJvY2Vzcy5lbnYgYXMgUGFydGlhbDxPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnY+O1xuXG4gIGNvbnN0IG9ic2lkaWFuQ29uZmlnRm9sZGVyID0gb3B0aW9ucy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBvcHRpb25zLm1vZGUgPT09IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uO1xuXG4gIGNvbnN0IGRpc3RGb2xkZXIgPSBlbnN1cmVOb25OdWxsYWJsZShcbiAgICByZXNvbHZlUGF0aEZyb21Sb290KGlzUHJvZHVjdGlvbkJ1aWxkID8gT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdEJ1aWxkIDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdERldiksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZm9sZGVyJ1xuICApO1xuXG4gIGlmIChleGlzdHNTeW5jKGRpc3RGb2xkZXIpKSB7XG4gICAgYXdhaXQgcm0oZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbiAgYXdhaXQgbWtkaXIoZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEZpbGVOYW1lcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25cbiAgXTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkhvdFJlbG9hZCksICcnLCAndXRmLTgnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZGlzdEZpbGVOYW1lcykge1xuICAgIGNvbnN0IGxvY2FsRmlsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoZmlsZU5hbWUpLCBgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG9jYWwgZmlsZSBmb3IgJHtmaWxlTmFtZX1gKTtcbiAgICBjb25zdCBkaXN0RmlsZSA9IGpvaW4oZGlzdEZvbGRlciwgZmlsZU5hbWUpO1xuXG4gICAgaWYgKGV4aXN0c1N5bmMobG9jYWxGaWxlKSkge1xuICAgICAgYXdhaXQgY3AobG9jYWxGaWxlLCBkaXN0RmlsZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGlzdFBhdGggPSBqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5Kcyk7XG4gIGNvbnN0IGNzc1BhdGggPSBqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlN0eWxlc0Nzcyk7XG5cbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgcGx1Z2luTmFtZSA9IHBhY2thZ2VKc29uLm5hbWUgPz8gJyh1bmtub3duKSc7XG5cbiAgY29uc3QgYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtcbiAgICAgIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgICAgICByZXNvbHZlUGF0aEZyb21Sb290KGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3JjLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluVHMpKSxcbiAgICAgICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgcGx1Z2luJ1xuICAgICAgKVxuICAgIF0sXG4gICAgZXh0ZXJuYWw6IFtcbiAgICAgICdvYnNpZGlhbicsXG4gICAgICAnZWxlY3Ryb24nLFxuICAgICAgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZScsXG4gICAgICAnQGNvZGVtaXJyb3IvY29sbGFiJyxcbiAgICAgICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICAgICAnQGNvZGVtaXJyb3IvbGFuZ3VhZ2UnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xpbnQnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICAgICAnQGNvZGVtaXJyb3Ivc3RhdGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3ZpZXcnLFxuICAgICAgJ0BsZXplci9jb21tb24nLFxuICAgICAgJ0BsZXplci9oaWdobGlnaHQnLFxuICAgICAgJ0BsZXplci9scicsXG4gICAgICAnZXNidWlsZCcsXG4gICAgICAnZXNsaW50JyxcbiAgICAgIC4uLmJ1aWx0aW5Nb2R1bGVzXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1pbmlmeTogaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgb3V0ZmlsZTogZGlzdFBhdGgsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbihvcHRpb25zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKG9wdGlvbnMpKSxcbiAgICAgIHN2ZWx0ZVdyYXBwZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQpLFxuICAgICAgc2Fzc1BsdWdpbih7XG4gICAgICAgIHNvdXJjZU1hcDogIWlzUHJvZHVjdGlvbkJ1aWxkXG4gICAgICB9KSxcbiAgICAgIHJlbmFtZUNzc1BsdWdpbihkaXN0Rm9sZGVyKSxcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGZpeEVzbVBsdWdpbigpLFxuICAgICAgZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCwgW2Rpc3RQYXRoLCBjc3NQYXRoXSwgcGx1Z2luTmFtZSksXG4gICAgICAuLi5vcHRpb25zLmN1c3RvbUVzYnVpbGRQbHVnaW5zID8/IFtdLFxuICAgICAgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luKGlzUHJvZHVjdGlvbkJ1aWxkLCBkaXN0Rm9sZGVyLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSlcbiAgICBdLFxuICAgIHNvdXJjZW1hcDogaXNQcm9kdWN0aW9uQnVpbGQgPyBmYWxzZSA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ2VzbmV4dCcsXG4gICAgdHJlZVNoYWtpbmc6IHRydWVcbiAgfTtcblxuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIHJldHVybiBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQpO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSxxQkFBd0I7QUFFeEIsaUNBQXdCO0FBRXhCLHlCQUE0QztBQUM1QyxxQ0FBd0M7QUFDeEMsa0JBQXFCO0FBQ3JCLHdCQUFrQztBQUNsQyxtQkFBNkI7QUFDN0Isc0JBQThCO0FBQzlCLHlCQVNPO0FBQ1AsaUJBQWdDO0FBQ2hDLGtCQUFvQztBQUNwQywrQ0FBa0Q7QUFDbEQsd0NBQTJDO0FBQzNDLDBCQUE2QjtBQUM3QixpQ0FBb0M7QUFDcEMsOEJBQWlDO0FBQ2pDLDZCQUFnQztBQUNoQyxpQ0FBb0M7QUFFcEMsTUFBTSxpQkFBYSxnREFBNEIsMkJBQUFBLE9BQVc7QUFLbkQsSUFBSyxZQUFMLGtCQUFLQyxlQUFMO0FBRUwsRUFBQUEsc0JBQUE7QUFFQSxFQUFBQSxzQkFBQTtBQUpVLFNBQUFBO0FBQUEsR0FBQTtBQVVMLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBeUN0QixlQUFzQixvQkFBb0IsU0FBNkQ7QUFDckcsWUFBTSwyQkFBYTtBQUNuQixRQUFNLGNBQVUsaUNBQW9CLE1BQU07QUFDMUMsTUFBSSxlQUFXLCtCQUFXLE9BQU8sR0FBRztBQUNsQyx3Q0FBWSxPQUFPO0FBQUEsRUFDckI7QUFDQSxRQUFNLDJCQUEyQiwyQkFBUTtBQUV6QyxRQUFNLHVCQUF1QixRQUFRLHdCQUF3Qix5QkFBeUIsMEJBQTBCO0FBQ2hILFFBQU0sb0JBQW9CLFFBQVEsU0FBUztBQUUzQyxRQUFNLGlCQUFhO0FBQUEsUUFDakIsaUNBQW9CLG9CQUFvQix1REFBd0IsWUFBWSx1REFBd0IsT0FBTztBQUFBLElBQzNHO0FBQUEsRUFDRjtBQUVBLFVBQUksK0JBQVcsVUFBVSxHQUFHO0FBQzFCLGNBQU0sdUJBQUcsWUFBWSxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQUEsRUFDMUM7QUFDQSxZQUFNLDBCQUFNLFlBQVksRUFBRSxXQUFXLEtBQUssQ0FBQztBQUUzQyxRQUFNLGdCQUFnQjtBQUFBLElBQ3BCLHVEQUF3QjtBQUFBLEVBQzFCO0FBQ0EsTUFBSSxDQUFDLG1CQUFtQjtBQUN0QixjQUFNLGtDQUFVLGtCQUFLLFlBQVksdURBQXdCLFNBQVMsR0FBRyxJQUFJLE9BQU87QUFBQSxFQUNsRjtBQUVBLGFBQVcsWUFBWSxlQUFlO0FBQ3BDLFVBQU0sZ0JBQVkseUNBQWtCLGlDQUFvQixRQUFRLEdBQUcsMENBQTBDLFFBQVEsRUFBRTtBQUN2SCxVQUFNLGVBQVcsa0JBQUssWUFBWSxRQUFRO0FBRTFDLFlBQUksK0JBQVcsU0FBUyxHQUFHO0FBQ3pCLGdCQUFNLHVCQUFHLFdBQVcsUUFBUTtBQUFBLElBQzlCO0FBQUEsRUFDRjtBQUVBLFFBQU0sZUFBVyxrQkFBSyxZQUFZLHVEQUF3QixNQUFNO0FBQ2hFLFFBQU0sY0FBVSxrQkFBSyxZQUFZLHVEQUF3QixTQUFTO0FBRWxFLFFBQU0sY0FBYyxVQUFNLDRCQUFnQjtBQUMxQyxRQUFNLGFBQWEsWUFBWSxRQUFRO0FBRXZDLFFBQU0sZUFBNkI7QUFBQSxJQUNqQyxRQUFRO0FBQUEsTUFDTixJQUFJO0FBQUEsSUFDTjtBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxJQUN0QixhQUFhO0FBQUEsVUFDWDtBQUFBLFlBQ0UscUNBQW9CLGtCQUFLLHVEQUF3QixLQUFLLHVEQUF3QixNQUFNLENBQUM7QUFBQSxRQUNyRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQSxHQUFHO0FBQUEsSUFDTDtBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1IsV0FBVztBQUFBLElBQ1gsVUFBVTtBQUFBLElBQ1YsUUFBUTtBQUFBLElBQ1IsU0FBUztBQUFBLElBQ1QsVUFBVTtBQUFBLElBQ1YsU0FBUztBQUFBLFVBQ1AsOERBQTJCLFFBQVEseUJBQXlCLEtBQUssT0FBTyxDQUFDO0FBQUEsVUFDekUsZ0RBQW9CLGlCQUFpQjtBQUFBLE1BQ3JDLFdBQVc7QUFBQSxRQUNULFdBQVcsQ0FBQztBQUFBLE1BQ2QsQ0FBQztBQUFBLFVBQ0Qsd0NBQWdCLFVBQVU7QUFBQSxVQUMxQiwwQ0FBaUI7QUFBQSxVQUNqQixrQ0FBYTtBQUFBLFVBQ2IsZ0RBQW9CLG1CQUFtQixDQUFDLFVBQVUsT0FBTyxHQUFHLFVBQVU7QUFBQSxNQUN0RSxHQUFHLFFBQVEsd0JBQXdCLENBQUM7QUFBQSxVQUNwQyw0RUFBa0MsbUJBQW1CLFlBQVksc0JBQXNCLFVBQVU7QUFBQSxJQUNuRztBQUFBLElBQ0EsV0FBVyxvQkFBb0IsUUFBUTtBQUFBLElBQ3ZDLFFBQVE7QUFBQSxJQUNSLGFBQWE7QUFBQSxFQUNmO0FBRUEsUUFBTSxlQUFlLFVBQU0sd0JBQVEsWUFBWTtBQUMvQyxTQUFPLE1BQU0sY0FBYyxjQUFjLGlCQUFpQjtBQUM1RDtBQVNBLGVBQXNCLGNBQWMsY0FBNEIsbUJBQW9EO0FBQ2xILE1BQUksbUJBQW1CO0FBQ3JCLFVBQU0sU0FBUyxNQUFNLGFBQWEsUUFBUTtBQUMxQyxVQUFNLFlBQVksT0FBTyxPQUFPLFdBQVcsS0FBSyxPQUFPLFNBQVMsV0FBVztBQUMzRSxXQUFPLDhCQUFjLFFBQVEsU0FBUztBQUFBLEVBQ3hDO0FBQ0EsUUFBTSxhQUFhLE1BQU07QUFDekIsU0FBTyw4QkFBYyxVQUFVO0FBQ2pDOyIsCiAgIm5hbWVzIjogWyJzYXNzUGx1Z2luXyIsICJCdWlsZE1vZGUiXQp9Cg==
@@ -27,19 +27,19 @@ export interface BuildObsidianPluginOptions {
27
27
  /**
28
28
  * Custom esbuild plugins to be used during the build process.
29
29
  */
30
- customEsbuildPlugins?: Plugin[];
30
+ readonly customEsbuildPlugins?: Plugin[];
31
31
  /**
32
32
  * Customizes the `esbuild` options.
33
33
  */
34
- customizeEsbuildOptions?(options: BuildOptions): void;
34
+ readonly customizeEsbuildOptions?: (options: BuildOptions) => void;
35
35
  /**
36
36
  * A build mode, either `Development` or `Production`
37
37
  */
38
- mode: BuildMode;
38
+ readonly mode: BuildMode;
39
39
  /**
40
40
  * A folder for Obsidian configuration. Defaults to the `OBSIDIAN_CONFIG_FOLDER` environment variable.
41
41
  */
42
- obsidianConfigFolder?: string;
42
+ readonly obsidianConfigFolder?: string;
43
43
  }
44
44
  /**
45
45
  * Builds the Obsidian plugin based on the specified mode and configuration folder.
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -161,4 +161,4 @@ function changeExtensionPlugin(extension) {
161
161
  0 && (module.exports = {
162
162
  changeExtensionPlugin
163
163
  });
164
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvY2hhbmdlRXh0ZW5zaW9uUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjaGFuZ2VzIHRoZSBleHRlbnNpb24gb2YgSmF2YVNjcmlwdCBmaWxlcyBhZnRlciB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgY2hhbmdlcyB0aGUgZXh0ZW5zaW9uIG9mIEphdmFTY3JpcHQgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKlxuICogQHBhcmFtIGV4dGVuc2lvbiAtIFRoZSBleHRlbnNpb24gdG8gY2hhbmdlIHRoZSBmaWxlcyB0by5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgaGFuZGxlcyB0aGUgcmVuYW1pbmcgYW5kIG1vZGlmaWNhdGlvbiBvZiBvdXRwdXQgZmlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VFeHRlbnNpb25QbHVnaW4oZXh0ZW5zaW9uOiBzdHJpbmcpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdjaGFuZ2UtZXh0ZW5zaW9uJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgcmVzdWx0Lm91dHB1dEZpbGVzID8/IFtdKSB7XG4gICAgICAgICAgaWYgKCFmaWxlLnBhdGguZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Kc0V4dGVuc2lvbikgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGpzRXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3UGF0aCA9IHJlcGxhY2VBbGwoZmlsZS5wYXRoLCAvXFwuanMkL2csIGV4dGVuc2lvbik7XG5cbiAgICAgICAgICBsZXQgbmV3VGV4dCA9IHJlcGxhY2VBbGwoZmlsZS50ZXh0LCAvcmVxdWlyZVxcKFtcIiddKD88SW1wb3J0UGF0aD4uKz8pW1wiJ11cXCkvZywgKF8sIGltcG9ydFBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbXBvcnRQYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHRzRXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZpeGVkSW1wb3J0UGF0aCA9IHJlcGxhY2VBbGwoaW1wb3J0UGF0aCwgL1xcLnRzJC9nLCBleHRlbnNpb24pO1xuICAgICAgICAgICAgcmV0dXJuIGByZXF1aXJlKCcke2ZpeGVkSW1wb3J0UGF0aH0nKWA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBuZXdUZXh0ID0gcmVwbGFjZUFsbChuZXdUZXh0LCAvZnJvbSBcIig/PEltcG9ydFBhdGg+Lis/KVwiL2csIChfLCBpbXBvcnRQYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaXhlZEltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIHJldHVybiBgZnJvbSBcIiR7Zml4ZWRJbXBvcnRQYXRofVwiYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxvQkFBMkI7QUFDM0IseUJBQTBCO0FBQzFCLHVDQUEwQztBQVFuQyxTQUFTLHNCQUFzQixXQUEyQjtBQUMvRCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLE9BQU8sV0FBVztBQUM1QixtQkFBVyxRQUFRLE9BQU8sZUFBZSxDQUFDLEdBQUc7QUFDM0MsY0FBSSxDQUFDLEtBQUssS0FBSyxTQUFTLDJEQUEwQixXQUFXLEtBQUssS0FBSyxLQUFLLFNBQVMsMkRBQTBCLFlBQVksR0FBRztBQUM1SDtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxjQUFVLDBCQUFXLEtBQUssTUFBTSxVQUFVLFNBQVM7QUFFekQsY0FBSSxjQUFVLDBCQUFXLEtBQUssTUFBTSwwQ0FBMEMsQ0FBQyxHQUFHLGVBQWU7QUFDL0YsZ0JBQUksV0FBVyxTQUFTLDJEQUEwQixZQUFZLEdBQUc7QUFDL0QscUJBQU87QUFBQSxZQUNUO0FBRUEsa0JBQU0sc0JBQWtCLDBCQUFXLFlBQVksVUFBVSxTQUFTO0FBQ2xFLG1CQUFPLFlBQVksZUFBZTtBQUFBLFVBQ3BDLENBQUM7QUFFRCx3QkFBVSwwQkFBVyxTQUFTLDhCQUE4QixDQUFDLEdBQUcsZUFBZTtBQUM3RSxnQkFBSSxXQUFXLFNBQVMsMkRBQTBCLFlBQVksR0FBRztBQUMvRCxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxzQkFBa0IsMEJBQVcsWUFBWSxVQUFVLFNBQVM7QUFDbEUsbUJBQU8sU0FBUyxlQUFlO0FBQUEsVUFDakMsQ0FBQztBQUVELG9CQUFNLDhCQUFVLFNBQVMsT0FBTztBQUFBLFFBQ2xDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
164
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvY2hhbmdlRXh0ZW5zaW9uUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjaGFuZ2VzIHRoZSBleHRlbnNpb24gb2YgSmF2YVNjcmlwdCBmaWxlcyBhZnRlciB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZCBwbHVnaW4gdGhhdCByZXdyaXRlcyBmaWxlIGV4dGVuc2lvbnMgYXQgYnVpbGQgdGltZTsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGNoYW5nZXMgdGhlIGV4dGVuc2lvbiBvZiBKYXZhU2NyaXB0IGZpbGVzIGFmdGVyIHRoZSBidWlsZCBwcm9jZXNzLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGNoYW5nZSB0aGUgZmlsZXMgdG8uXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHJlbmFtaW5nIGFuZCBtb2RpZmljYXRpb24gb2Ygb3V0cHV0IGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlRXh0ZW5zaW9uUGx1Z2luKGV4dGVuc2lvbjogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY2hhbmdlLWV4dGVuc2lvbicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/PyBbXSkge1xuICAgICAgICAgIGlmICghZmlsZS5wYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuSnNFeHRlbnNpb24pIHx8IGZpbGUucGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRqc0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSByZXBsYWNlQWxsKGZpbGUucGF0aCwgL1xcLmpzJC9nLCBleHRlbnNpb24pO1xuXG4gICAgICAgICAgbGV0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSg/PEltcG9ydFBhdGg+Lis/KVtcIiddXFwpL2csIChfLCBpbXBvcnRQYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaXhlZEltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtmaXhlZEltcG9ydFBhdGh9JylgO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbmV3VGV4dCA9IHJlcGxhY2VBbGwobmV3VGV4dCwgL2Zyb20gXCIoPzxJbXBvcnRQYXRoPi4rPylcIi9nLCAoXywgaW1wb3J0UGF0aCkgPT4ge1xuICAgICAgICAgICAgaWYgKGltcG9ydFBhdGguZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZml4ZWRJbXBvcnRQYXRoID0gcmVwbGFjZUFsbChpbXBvcnRQYXRoLCAvXFwudHMkL2csIGV4dGVuc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gYGZyb20gXCIke2ZpeGVkSW1wb3J0UGF0aH1cImA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUobmV3UGF0aCwgbmV3VGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsb0JBQTJCO0FBQzNCLHlCQUEwQjtBQUMxQix1Q0FBMEM7QUFRbkMsU0FBUyxzQkFBc0IsV0FBMkI7QUFDL0QsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxPQUFPLFdBQVc7QUFDNUIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGNBQUksQ0FBQyxLQUFLLEtBQUssU0FBUywyREFBMEIsV0FBVyxLQUFLLEtBQUssS0FBSyxTQUFTLDJEQUEwQixZQUFZLEdBQUc7QUFDNUg7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sY0FBVSwwQkFBVyxLQUFLLE1BQU0sVUFBVSxTQUFTO0FBRXpELGNBQUksY0FBVSwwQkFBVyxLQUFLLE1BQU0sMENBQTBDLENBQUMsR0FBRyxlQUFlO0FBQy9GLGdCQUFJLFdBQVcsU0FBUywyREFBMEIsWUFBWSxHQUFHO0FBQy9ELHFCQUFPO0FBQUEsWUFDVDtBQUVBLGtCQUFNLHNCQUFrQiwwQkFBVyxZQUFZLFVBQVUsU0FBUztBQUNsRSxtQkFBTyxZQUFZLGVBQWU7QUFBQSxVQUNwQyxDQUFDO0FBRUQsd0JBQVUsMEJBQVcsU0FBUyw4QkFBOEIsQ0FBQyxHQUFHLGVBQWU7QUFDN0UsZ0JBQUksV0FBVyxTQUFTLDJEQUEwQixZQUFZLEdBQUc7QUFDL0QscUJBQU87QUFBQSxZQUNUO0FBRUEsa0JBQU0sc0JBQWtCLDBCQUFXLFlBQVksVUFBVSxTQUFTO0FBQ2xFLG1CQUFPLFNBQVMsZUFBZTtBQUFBLFVBQ2pDLENBQUM7QUFFRCxvQkFBTSw4QkFBVSxTQUFTLE9BQU87QUFBQSxRQUNsQztBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==