obsidian-dev-utils 66.0.1 → 68.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/dev/main.js +543 -355
  3. package/dist/lib/cjs/async-events.cjs +182 -32
  4. package/dist/lib/cjs/async-events.d.cts +259 -24
  5. package/dist/lib/cjs/async.cjs +2 -2
  6. package/dist/lib/cjs/error.cjs +6 -7
  7. package/dist/lib/cjs/function.cjs +6 -2
  8. package/dist/lib/cjs/function.d.cts +6 -0
  9. package/dist/lib/cjs/library.cjs +1 -1
  10. package/dist/lib/cjs/object-utils.cjs +1 -1
  11. package/dist/lib/cjs/object-utils.d.cts +2 -0
  12. package/dist/lib/cjs/obsidian/active-file-provider.cjs +1 -1
  13. package/dist/lib/cjs/obsidian/active-file-provider.d.cts +0 -1
  14. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +2 -4
  15. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -1
  16. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +4 -5
  17. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +3 -3
  18. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
  19. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +2 -1
  20. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +2 -3
  21. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -1
  22. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +1 -6
  23. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +1 -6
  24. package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +3 -8
  25. package/dist/lib/cjs/obsidian/components/abort-signal-component.d.cts +2 -6
  26. package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +3 -3
  27. package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +2 -2
  28. package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +3 -8
  29. package/dist/lib/cjs/obsidian/components/async-error-handler-component.d.cts +2 -6
  30. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +2 -20
  31. package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +1 -18
  32. package/dist/lib/cjs/obsidian/components/component-ex.cjs +235 -0
  33. package/dist/lib/cjs/obsidian/components/component-ex.d.cts +55 -0
  34. package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +3 -7
  35. package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +2 -6
  36. package/dist/lib/cjs/obsidian/components/disposable-component.cjs +1 -9
  37. package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +0 -10
  38. package/dist/lib/cjs/obsidian/components/i18n-component.cjs +4 -9
  39. package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +3 -7
  40. package/dist/lib/cjs/obsidian/components/index.cjs +9 -6
  41. package/dist/lib/cjs/obsidian/components/index.d.cts +2 -1
  42. package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +10 -4
  43. package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +3 -3
  44. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +3 -3
  45. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +2 -3
  46. package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +4 -4
  47. package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +3 -3
  48. package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +3 -8
  49. package/dist/lib/cjs/obsidian/components/plugin-context-component.d.cts +2 -6
  50. package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +3 -7
  51. package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +2 -6
  52. package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +75 -33
  53. package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +73 -28
  54. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +3 -4
  55. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.d.cts +2 -2
  56. package/dist/lib/cjs/obsidian/components/registry-component.cjs +180 -0
  57. package/dist/lib/cjs/obsidian/components/registry-component.d.cts +36 -0
  58. package/dist/lib/cjs/obsidian/markdown.cjs +2 -3
  59. package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +1 -1
  60. package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +0 -1
  61. package/dist/lib/cjs/obsidian/modals/alert.cjs +1 -3
  62. package/dist/lib/cjs/obsidian/modals/confirm.cjs +1 -3
  63. package/dist/lib/cjs/obsidian/modals/prompt.cjs +1 -3
  64. package/dist/lib/cjs/obsidian/modals/select-item.cjs +1 -2
  65. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +23 -22
  66. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +7 -3
  67. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +35 -76
  68. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +35 -36
  69. package/dist/lib/cjs/obsidian/queue.cjs +2 -2
  70. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +1 -2
  71. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +1 -1
  72. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +1 -2
  73. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +4 -2
  74. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +4 -3
  75. package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +1 -2
  76. package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +1 -2
  77. package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +1 -3
  78. package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +1 -2
  79. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +4 -2
  80. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +4 -3
  81. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +1 -2
  82. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +1 -3
  83. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +4 -2
  84. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +4 -3
  85. package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +1 -2
  86. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +1 -1
  87. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +1 -2
  88. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +4 -2
  89. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +4 -3
  90. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +4 -2
  91. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +4 -3
  92. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +4 -2
  93. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -2
  94. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +1 -1
  95. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -2
  96. package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +1 -2
  97. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
  98. package/dist/lib/cjs/obsidian/setting-ex.d.cts +2 -0
  99. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +8 -2
  100. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +10 -1
  101. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +3 -0
  102. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +7 -1
  103. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +184 -0
  104. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -0
  105. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +242 -0
  106. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +5 -0
  107. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +222 -0
  108. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +4 -0
  109. package/dist/lib/cjs/transformers/group-transformer.cjs +1 -3
  110. package/dist/lib/esm/async-events.d.mts +259 -24
  111. package/dist/lib/esm/async-events.mjs +179 -31
  112. package/dist/lib/esm/async.mjs +6 -3
  113. package/dist/lib/esm/error.mjs +6 -7
  114. package/dist/lib/esm/function.d.mts +6 -0
  115. package/dist/lib/esm/function.mjs +5 -2
  116. package/dist/lib/esm/library.mjs +1 -1
  117. package/dist/lib/esm/object-utils.d.mts +2 -0
  118. package/dist/lib/esm/object-utils.mjs +1 -1
  119. package/dist/lib/esm/obsidian/active-file-provider.d.mts +0 -1
  120. package/dist/lib/esm/obsidian/active-file-provider.mjs +1 -1
  121. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -1
  122. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -4
  123. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +3 -3
  124. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +4 -5
  125. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +2 -1
  126. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +4 -4
  127. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -1
  128. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -3
  129. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +1 -6
  130. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +1 -6
  131. package/dist/lib/esm/obsidian/components/abort-signal-component.d.mts +2 -6
  132. package/dist/lib/esm/obsidian/components/abort-signal-component.mjs +3 -8
  133. package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +2 -2
  134. package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +3 -3
  135. package/dist/lib/esm/obsidian/components/async-error-handler-component.d.mts +2 -6
  136. package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -8
  137. package/dist/lib/esm/obsidian/components/async-events-component.d.mts +1 -18
  138. package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -19
  139. package/dist/lib/esm/obsidian/components/component-ex.d.mts +55 -0
  140. package/dist/lib/esm/obsidian/components/component-ex.mjs +130 -0
  141. package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +2 -6
  142. package/dist/lib/esm/obsidian/components/console-debug-component.mjs +3 -7
  143. package/dist/lib/esm/obsidian/components/disposable-component.d.mts +0 -10
  144. package/dist/lib/esm/obsidian/components/disposable-component.mjs +1 -8
  145. package/dist/lib/esm/obsidian/components/i18n-component.d.mts +3 -7
  146. package/dist/lib/esm/obsidian/components/i18n-component.mjs +4 -9
  147. package/dist/lib/esm/obsidian/components/index.d.mts +2 -1
  148. package/dist/lib/esm/obsidian/components/index.mjs +6 -4
  149. package/dist/lib/esm/obsidian/components/layout-ready-component.d.mts +3 -3
  150. package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +10 -4
  151. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.d.mts +2 -3
  152. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +3 -3
  153. package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +3 -3
  154. package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +4 -4
  155. package/dist/lib/esm/obsidian/components/plugin-context-component.d.mts +2 -6
  156. package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +3 -8
  157. package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +2 -6
  158. package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +3 -7
  159. package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +73 -28
  160. package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +75 -33
  161. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.d.mts +2 -2
  162. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.mjs +3 -4
  163. package/dist/lib/esm/obsidian/components/registry-component.d.mts +36 -0
  164. package/dist/lib/esm/obsidian/components/registry-component.mjs +72 -0
  165. package/dist/lib/esm/obsidian/markdown.mjs +2 -3
  166. package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +0 -1
  167. package/dist/lib/esm/obsidian/modals/alert.mjs +1 -3
  168. package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -3
  169. package/dist/lib/esm/obsidian/modals/prompt.mjs +1 -3
  170. package/dist/lib/esm/obsidian/modals/select-item.mjs +1 -2
  171. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +7 -3
  172. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +24 -23
  173. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +35 -36
  174. package/dist/lib/esm/obsidian/plugin/plugin.mjs +35 -77
  175. package/dist/lib/esm/obsidian/queue.mjs +6 -3
  176. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +1 -2
  177. package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +1 -2
  178. package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +1 -1
  179. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +4 -3
  180. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +4 -2
  181. package/dist/lib/esm/obsidian/setting-components/date-component.mjs +1 -2
  182. package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +1 -2
  183. package/dist/lib/esm/obsidian/setting-components/file-component.mjs +1 -3
  184. package/dist/lib/esm/obsidian/setting-components/month-component.mjs +1 -2
  185. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +4 -3
  186. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +4 -2
  187. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +1 -2
  188. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +1 -3
  189. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +4 -3
  190. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +4 -2
  191. package/dist/lib/esm/obsidian/setting-components/time-component.mjs +1 -2
  192. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +1 -2
  193. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +1 -1
  194. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +4 -3
  195. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +4 -2
  196. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +4 -3
  197. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +4 -2
  198. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -2
  199. package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +4 -2
  200. package/dist/lib/esm/obsidian/setting-components/value-component-with-change-tracking.d.mts +1 -2
  201. package/dist/lib/esm/obsidian/setting-components/week-component.mjs +1 -2
  202. package/dist/lib/esm/obsidian/setting-ex.d.mts +2 -0
  203. package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
  204. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +8 -2
  205. package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +3 -0
  206. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +7 -1
  207. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +7 -1
  208. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -0
  209. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +75 -0
  210. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +5 -0
  211. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +131 -0
  212. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +4 -0
  213. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +112 -0
  214. package/dist/lib/esm/transformers/group-transformer.mjs +1 -3
  215. package/obsidian/Components/component-ex/package.json +6 -0
  216. package/obsidian/Components/registry-component/package.json +6 -0
  217. package/package.json +21 -20
  218. package/script-utils/linters/eslint-rules/prefer-noop-async/package.json +6 -0
  219. package/script-utils/linters/eslint-rules/require-component-suffix/package.json +6 -0
  220. package/script-utils/linters/eslint-rules/require-method-template/package.json +6 -0
  221. package/dist/lib/cjs/obsidian/components/async-component.cjs +0 -182
  222. package/dist/lib/cjs/obsidian/components/async-component.d.cts +0 -43
  223. package/dist/lib/esm/obsidian/components/async-component.d.mts +0 -43
  224. package/dist/lib/esm/obsidian/components/async-component.mjs +0 -72
  225. package/obsidian/Components/async-component/package.json +0 -6
@@ -43,7 +43,6 @@ class FileCommandHandler extends AbstractFileCommandHandler {
43
43
  * @param abstractFile - The file or folder.
44
44
  * @returns Whether the command can execute.
45
45
  */
46
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows abstract file to TFile check.
47
46
  canExecuteAbstractFile(abstractFile) {
48
47
  return isFile(abstractFile) && this.canExecuteFile(abstractFile);
49
48
  }
@@ -53,7 +52,6 @@ class FileCommandHandler extends AbstractFileCommandHandler {
53
52
  * @param abstractFiles - The files or folders.
54
53
  * @returns Whether the command can execute.
55
54
  */
56
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows abstract files to TFile[] check.
57
55
  canExecuteAbstractFiles(abstractFiles) {
58
56
  return abstractFiles.every((f) => isFile(f)) && this.canExecuteFiles(asArrayOfFiles(abstractFiles));
59
57
  }
@@ -89,7 +87,6 @@ class FileCommandHandler extends AbstractFileCommandHandler {
89
87
  *
90
88
  * @param abstractFiles - The files or folders.
91
89
  */
92
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces parent with TFile-specific delegation.
93
90
  async executeAbstractFiles(abstractFiles) {
94
91
  await this.executeFiles(asArrayOfFiles(abstractFiles));
95
92
  }
@@ -112,7 +109,6 @@ class FileCommandHandler extends AbstractFileCommandHandler {
112
109
  * @param leaf - The workspace leaf, if available.
113
110
  * @returns Whether to add to the file menu.
114
111
  */
115
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows to TFile before delegating.
116
112
  shouldAddToAbstractFileMenu(abstractFile, source, leaf) {
117
113
  if (!isFile(abstractFile)) {
118
114
  return false;
@@ -127,7 +123,6 @@ class FileCommandHandler extends AbstractFileCommandHandler {
127
123
  * @param leaf - The workspace leaf, if available.
128
124
  * @returns Whether to add to the files menu.
129
125
  */
130
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows to TFile[] before delegating.
131
126
  shouldAddToAbstractFilesMenu(abstractFiles, source, leaf) {
132
127
  if (!abstractFiles.every((f) => isFile(f))) {
133
128
  return false;
@@ -160,4 +155,4 @@ class FileCommandHandler extends AbstractFileCommandHandler {
160
155
  export {
161
156
  FileCommandHandler
162
157
  };
163
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZmlsZS1jb21tYW5kLWhhbmRsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZpbGUtc3BlY2lmaWMgY29tbWFuZHMgKFRGaWxlIG9ubHksIG5vdCBURm9sZGVyKS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFRBYnN0cmFjdEZpbGUsXG4gIFRGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQge1xuICBhc0FycmF5T2ZGaWxlcyxcbiAgYXNGaWxlLFxuICBpc0ZpbGVcbn0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcblxuLyoqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZpbGUtc3BlY2lmaWMgY29tbWFuZHMuXG4gKlxuICogRmlsdGVycyBhYnN0cmFjdCBmaWxlcyB0byBvbmx5IGFjY2VwdCB7QGxpbmsgVEZpbGV9IGluc3RhbmNlcy5cbiAqIFN1YmNsYXNzZXMgb3ZlcnJpZGUge0BsaW5rIGNhbkV4ZWN1dGVGaWxlfSBhbmQge0BsaW5rIGV4ZWN1dGVGaWxlfS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGVDb21tYW5kSGFuZGxlciBleHRlbmRzIEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZmlsZSBjb21tYW5kIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZpbGUgY29tbWFuZCBoYW5kbGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIC0tIEluaGVyaXRzIHBhcmVudCdzIHBhcmFtcyB0eXBlLlxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgYWNjZXB0IFRGaWxlIGluc3RhbmNlcywgdGhlbiBkZWxlZ2F0ZXMgdG8ge0BsaW5rIGNhbkV4ZWN1dGVGaWxlfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgbmFycm93cyBhYnN0cmFjdCBmaWxlIHRvIFRGaWxlIGNoZWNrLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZUFic3RyYWN0RmlsZShhYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNGaWxlKGFic3RyYWN0RmlsZSkgJiYgdGhpcy5jYW5FeGVjdXRlRmlsZShhYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZpbGUgYXJyYXlzLCB0aGVuIGRlbGVnYXRlcyB0byB7QGxpbmsgY2FuRXhlY3V0ZUZpbGVzfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgb3IgZm9sZGVycy5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgbmFycm93cyBhYnN0cmFjdCBmaWxlcyB0byBURmlsZVtdIGNoZWNrLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZUFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZXMuZXZlcnkoKGYpID0+IGlzRmlsZShmKSkgJiYgdGhpcy5jYW5FeGVjdXRlRmlsZXMoYXNBcnJheU9mRmlsZXMoYWJzdHJhY3RGaWxlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGZvciBhIHNpbmdsZSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gX2ZpbGUgLSBUaGUgZmlsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5FeGVjdXRlRmlsZShfZmlsZTogVEZpbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBmb3IgbXVsdGlwbGUgZmlsZXMuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gY2hlY2tzIGVhY2ggZmlsZSBpbmRpdmlkdWFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcy5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5FeGVjdXRlRmlsZXMoZmlsZXM6IFRGaWxlW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmlsZXMubGVuZ3RoID4gMCAmJiBmaWxlcy5ldmVyeSgoZikgPT4gdGhpcy5jYW5FeGVjdXRlRmlsZShmKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGVzIHRvIHtAbGluayBleGVjdXRlRmlsZX0uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgZmlsZSBvciBmb2xkZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZUFic3RyYWN0RmlsZShhYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGVGaWxlKGFzRmlsZShhYnN0cmFjdEZpbGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIGV4ZWN1dGVGaWxlc30uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3JlcXVpcmUtc3VwZXItY2FsbCAtLSBJbnRlbnRpb25hbGx5IHJlcGxhY2VzIHBhcmVudCB3aXRoIFRGaWxlLXNwZWNpZmljIGRlbGVnYXRpb24uXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGVGaWxlcyhhc0FycmF5T2ZGaWxlcyhhYnN0cmFjdEZpbGVzKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQgZm9yIGEgc2luZ2xlIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZXhlY3V0ZUZpbGUoZmlsZTogVEZpbGUpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCBmb3IgbXVsdGlwbGUgZmlsZXMuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gZXhlY3V0ZXMgc2VxdWVudGlhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZUZpbGVzKGZpbGVzOiBURmlsZVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVGaWxlKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgc2hvdyBtZW51IGZvciBURmlsZSBpbnN0YW5jZXMuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgZmlsZSBvciBmb2xkZXIuXG4gICAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZpbGUgbWVudS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgbmFycm93cyB0byBURmlsZSBiZWZvcmUgZGVsZWdhdGluZy5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShhYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUsIHNvdXJjZTogc3RyaW5nLCBsZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIGlmICghaXNGaWxlKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9GaWxlTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IHNob3cgbWVudSBmb3IgVEZpbGUgYXJyYXlzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlcyBtZW51LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwgLS0gSW50ZW50aW9uYWxseSBuYXJyb3dzIHRvIFRGaWxlW10gYmVmb3JlIGRlbGVnYXRpbmcuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZXNNZW51KGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhYnN0cmFjdEZpbGVzLmV2ZXJ5KChmKSA9PiBpc0ZpbGUoZikpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRmlsZXNNZW51KGFzQXJyYXlPZkZpbGVzKGFic3RyYWN0RmlsZXMpLCBzb3VyY2UsIGxlYWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIHNpbmdsZS1maWxlIGNvbnRleHQgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9maWxlIC0gVGhlIGZpbGUuXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBfbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvRmlsZU1lbnUoX2ZpbGU6IFRGaWxlLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYXBwZWFyIGluIHRoZSBtdWx0aS1maWxlIGNvbnRleHQgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9maWxlcyAtIFRoZSBmaWxlcy5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlcyBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvRmlsZXNNZW51KF9maWxlczogVEZpbGVbXSwgX3NvdXJjZTogc3RyaW5nLCBfbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxrQ0FBa0M7QUFRcEMsTUFBZSwyQkFBMkIsMkJBQTJCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPbkUsWUFBWSxRQUFxRDtBQUN0RSxVQUFNLE1BQU07QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNtQix1QkFBdUIsY0FBc0M7QUFDOUUsV0FBTyxPQUFPLFlBQVksS0FBSyxLQUFLLGVBQWUsWUFBWTtBQUFBLEVBQ2pFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNtQix3QkFBd0IsZUFBeUM7QUFDbEYsV0FBTyxjQUFjLE1BQU0sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsZUFBZSxhQUFhLENBQUM7QUFBQSxFQUNwRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUVUsZUFBZSxPQUF1QjtBQUM5QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTVSxnQkFBZ0IsT0FBeUI7QUFDakQsV0FBTyxNQUFNLFNBQVMsS0FBSyxNQUFNLE1BQU0sQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLENBQUM7QUFBQSxFQUN0RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLG9CQUFvQixjQUE0QztBQUN2RixVQUFNLEtBQUssWUFBWSxPQUFPLFlBQVksQ0FBQztBQUFBLEVBQzdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUF5QixxQkFBcUIsZUFBK0M7QUFDM0YsVUFBTSxLQUFLLGFBQWEsZUFBZSxhQUFhLENBQUM7QUFBQSxFQUN2RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZUEsTUFBZ0IsYUFBYSxPQUErQjtBQUMxRCxlQUFXLFFBQVEsT0FBTztBQUN4QixZQUFNLEtBQUssWUFBWSxJQUFJO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbUIsNEJBQTRCLGNBQTZCLFFBQWdCLE1BQStCO0FBQ3pILFFBQUksQ0FBQyxPQUFPLFlBQVksR0FBRztBQUN6QixhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sS0FBSyxvQkFBb0IsY0FBYyxRQUFRLElBQUk7QUFBQSxFQUM1RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV21CLDZCQUE2QixlQUFnQyxRQUFnQixNQUErQjtBQUM3SCxRQUFJLENBQUMsY0FBYyxNQUFNLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQyxHQUFHO0FBQzFDLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLHFCQUFxQixlQUFlLGFBQWEsR0FBRyxRQUFRLElBQUk7QUFBQSxFQUM5RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVVLG9CQUFvQixPQUFjLFNBQWlCLE9BQWdDO0FBQzNGLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVVUscUJBQXFCLFFBQWlCLFNBQWlCLE9BQWdDO0FBQy9GLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
158
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZmlsZS1jb21tYW5kLWhhbmRsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZpbGUtc3BlY2lmaWMgY29tbWFuZHMgKFRGaWxlIG9ubHksIG5vdCBURm9sZGVyKS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFRBYnN0cmFjdEZpbGUsXG4gIFRGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQge1xuICBhc0FycmF5T2ZGaWxlcyxcbiAgYXNGaWxlLFxuICBpc0ZpbGVcbn0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcblxuLyoqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZpbGUtc3BlY2lmaWMgY29tbWFuZHMuXG4gKlxuICogRmlsdGVycyBhYnN0cmFjdCBmaWxlcyB0byBvbmx5IGFjY2VwdCB7QGxpbmsgVEZpbGV9IGluc3RhbmNlcy5cbiAqIFN1YmNsYXNzZXMgb3ZlcnJpZGUge0BsaW5rIGNhbkV4ZWN1dGVGaWxlfSBhbmQge0BsaW5rIGV4ZWN1dGVGaWxlfS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGVDb21tYW5kSGFuZGxlciBleHRlbmRzIEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZmlsZSBjb21tYW5kIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZpbGUgY29tbWFuZCBoYW5kbGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIC0tIEluaGVyaXRzIHBhcmVudCdzIHBhcmFtcyB0eXBlLlxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgYWNjZXB0IFRGaWxlIGluc3RhbmNlcywgdGhlbiBkZWxlZ2F0ZXMgdG8ge0BsaW5rIGNhbkV4ZWN1dGVGaWxlfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ZpbGUoYWJzdHJhY3RGaWxlKSAmJiB0aGlzLmNhbkV4ZWN1dGVGaWxlKGFic3RyYWN0RmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IGFjY2VwdCBURmlsZSBhcnJheXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRmlsZXN9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNhbkV4ZWN1dGVBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhYnN0cmFjdEZpbGVzLmV2ZXJ5KChmKSA9PiBpc0ZpbGUoZikpICYmIHRoaXMuY2FuRXhlY3V0ZUZpbGVzKGFzQXJyYXlPZkZpbGVzKGFic3RyYWN0RmlsZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBmb3IgYSBzaW5nbGUgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIF9maWxlIC0gVGhlIGZpbGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuRXhlY3V0ZUZpbGUoX2ZpbGU6IFRGaWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgZm9yIG11bHRpcGxlIGZpbGVzLlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGNoZWNrcyBlYWNoIGZpbGUgaW5kaXZpZHVhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuRXhlY3V0ZUZpbGVzKGZpbGVzOiBURmlsZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpbGVzLmxlbmd0aCA+IDAgJiYgZmlsZXMuZXZlcnkoKGYpID0+IHRoaXMuY2FuRXhlY3V0ZUZpbGUoZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgZXhlY3V0ZUZpbGV9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlRmlsZShhc0ZpbGUoYWJzdHJhY3RGaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGVzIHRvIHtAbGluayBleGVjdXRlRmlsZXN9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUZpbGVzKGFzQXJyYXlPZkZpbGVzKGFic3RyYWN0RmlsZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCBmb3IgYSBzaW5nbGUgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBleGVjdXRlRmlsZShmaWxlOiBURmlsZSk6IFByb21pc2FibGU8dm9pZD47XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kIGZvciBtdWx0aXBsZSBmaWxlcy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBleGVjdXRlcyBzZXF1ZW50aWFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcy5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlRmlsZXMoZmlsZXM6IFRGaWxlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUZpbGUoZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBzaG93IG1lbnUgZm9yIFRGaWxlIGluc3RhbmNlcy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShhYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUsIHNvdXJjZTogc3RyaW5nLCBsZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIGlmICghaXNGaWxlKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9GaWxlTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IHNob3cgbWVudSBmb3IgVEZpbGUgYXJyYXlzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlcyBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlc01lbnUoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBpZiAoIWFic3RyYWN0RmlsZXMuZXZlcnkoKGYpID0+IGlzRmlsZShmKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9GaWxlc01lbnUoYXNBcnJheU9mRmlsZXMoYWJzdHJhY3RGaWxlcyksIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGFwcGVhciBpbiB0aGUgc2luZ2xlLWZpbGUgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZpbGUgLSBUaGUgZmlsZS5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9GaWxlTWVudShfZmlsZTogVEZpbGUsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIG11bHRpLWZpbGUgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZpbGVzIC0gVGhlIGZpbGVzLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9GaWxlc01lbnUoX2ZpbGVzOiBURmlsZVtdLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGtDQUFrQztBQVFwQyxNQUFlLDJCQUEyQiwyQkFBMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uRSxZQUFZLFFBQXFEO0FBQ3RFLFVBQU0sTUFBTTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix1QkFBdUIsY0FBc0M7QUFDOUUsV0FBTyxPQUFPLFlBQVksS0FBSyxLQUFLLGVBQWUsWUFBWTtBQUFBLEVBQ2pFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbUIsd0JBQXdCLGVBQXlDO0FBQ2xGLFdBQU8sY0FBYyxNQUFNLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLGVBQWUsYUFBYSxDQUFDO0FBQUEsRUFDcEc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFVLGVBQWUsT0FBdUI7QUFDOUMsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1UsZ0JBQWdCLE9BQXlCO0FBQ2pELFdBQU8sTUFBTSxTQUFTLEtBQUssTUFBTSxNQUFNLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxDQUFDO0FBQUEsRUFDdEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUF5QixvQkFBb0IsY0FBNEM7QUFDdkYsVUFBTSxLQUFLLFlBQVksT0FBTyxZQUFZLENBQUM7QUFBQSxFQUM3QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLHFCQUFxQixlQUErQztBQUMzRixVQUFNLEtBQUssYUFBYSxlQUFlLGFBQWEsQ0FBQztBQUFBLEVBQ3ZEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFlQSxNQUFnQixhQUFhLE9BQStCO0FBQzFELGVBQVcsUUFBUSxPQUFPO0FBQ3hCLFlBQU0sS0FBSyxZQUFZLElBQUk7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVbUIsNEJBQTRCLGNBQTZCLFFBQWdCLE1BQStCO0FBQ3pILFFBQUksQ0FBQyxPQUFPLFlBQVksR0FBRztBQUN6QixhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sS0FBSyxvQkFBb0IsY0FBYyxRQUFRLElBQUk7QUFBQSxFQUM1RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVtQiw2QkFBNkIsZUFBZ0MsUUFBZ0IsTUFBK0I7QUFDN0gsUUFBSSxDQUFDLGNBQWMsTUFBTSxDQUFDLE1BQU0sT0FBTyxDQUFDLENBQUMsR0FBRztBQUMxQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sS0FBSyxxQkFBcUIsZUFBZSxhQUFhLEdBQUcsUUFBUSxJQUFJO0FBQUEsRUFDOUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSxvQkFBb0IsT0FBYyxTQUFpQixPQUFnQztBQUMzRixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVVLHFCQUFxQixRQUFpQixTQUFpQixPQUFnQztBQUMvRixXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -43,7 +43,6 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
43
43
  * @param abstractFile - The file or folder.
44
44
  * @returns Whether the command can execute.
45
45
  */
46
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows abstract file to TFolder check.
47
46
  canExecuteAbstractFile(abstractFile) {
48
47
  return isFolder(abstractFile) && this.canExecuteFolder(abstractFile);
49
48
  }
@@ -53,7 +52,6 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
53
52
  * @param abstractFiles - The files or folders.
54
53
  * @returns Whether the command can execute.
55
54
  */
56
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows abstract files to TFolder[] check.
57
55
  canExecuteAbstractFiles(abstractFiles) {
58
56
  return abstractFiles.every((f) => isFolder(f)) && this.canExecuteFolders(asArrayOfFolders(abstractFiles));
59
57
  }
@@ -89,7 +87,6 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
89
87
  *
90
88
  * @param abstractFiles - The files or folders.
91
89
  */
92
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces parent with TFolder-specific delegation.
93
90
  async executeAbstractFiles(abstractFiles) {
94
91
  await this.executeFolders(asArrayOfFolders(abstractFiles));
95
92
  }
@@ -112,7 +109,6 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
112
109
  * @param leaf - The workspace leaf, if available.
113
110
  * @returns Whether to add to the file menu.
114
111
  */
115
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows to TFolder before delegating.
116
112
  shouldAddToAbstractFileMenu(abstractFile, source, leaf) {
117
113
  if (!isFolder(abstractFile)) {
118
114
  return false;
@@ -127,7 +123,6 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
127
123
  * @param leaf - The workspace leaf, if available.
128
124
  * @returns Whether to add to the files menu.
129
125
  */
130
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally narrows to TFolder[] before delegating.
131
126
  shouldAddToAbstractFilesMenu(abstractFiles, source, leaf) {
132
127
  if (!abstractFiles.every((f) => isFolder(f))) {
133
128
  return false;
@@ -160,4 +155,4 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
160
155
  export {
161
156
  FolderCommandHandler
162
157
  };
163
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZm9sZGVyLWNvbW1hbmQtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbW1hbmQgaGFuZGxlciBmb3IgZm9sZGVyLXNwZWNpZmljIGNvbW1hbmRzIChURm9sZGVyIG9ubHksIG5vdCBURmlsZSkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBUQWJzdHJhY3RGaWxlLFxuICBURm9sZGVyLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQge1xuICBhc0FycmF5T2ZGb2xkZXJzLFxuICBhc0ZvbGRlcixcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcblxuLyoqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZvbGRlci1zcGVjaWZpYyBjb21tYW5kcy5cbiAqXG4gKiBGaWx0ZXJzIGFic3RyYWN0IGZpbGVzIHRvIG9ubHkgYWNjZXB0IHtAbGluayBURm9sZGVyfSBpbnN0YW5jZXMuXG4gKiBTdWJjbGFzc2VzIG92ZXJyaWRlIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfSBhbmQge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9sZGVyQ29tbWFuZEhhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW5oZXJpdHMgcGFyZW50J3MgcGFyYW1zIHR5cGUuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBpbnN0YW5jZXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgbmFycm93cyBhYnN0cmFjdCBmaWxlIHRvIFRGb2xkZXIgY2hlY2suXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ZvbGRlcihhYnN0cmFjdEZpbGUpICYmIHRoaXMuY2FuRXhlY3V0ZUZvbGRlcihhYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBhcnJheXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyc30uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3JlcXVpcmUtc3VwZXItY2FsbCAtLSBJbnRlbnRpb25hbGx5IG5hcnJvd3MgYWJzdHJhY3QgZmlsZXMgdG8gVEZvbGRlcltdIGNoZWNrLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZUFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZXMuZXZlcnkoKGYpID0+IGlzRm9sZGVyKGYpKSAmJiB0aGlzLmNhbkV4ZWN1dGVGb2xkZXJzKGFzQXJyYXlPZkZvbGRlcnMoYWJzdHJhY3RGaWxlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGZvciBhIHNpbmdsZSBmb2xkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVyIC0gVGhlIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5FeGVjdXRlRm9sZGVyKF9mb2xkZXI6IFRGb2xkZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBmb3IgbXVsdGlwbGUgZm9sZGVycy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjaGVja3MgZWFjaCBmb2xkZXIgaW5kaXZpZHVhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbkV4ZWN1dGVGb2xkZXJzKGZvbGRlcnM6IFRGb2xkZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmb2xkZXJzLmxlbmd0aCA+IDAgJiYgZm9sZGVycy5ldmVyeSgoZikgPT4gdGhpcy5jYW5FeGVjdXRlRm9sZGVyKGYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlRm9sZGVyKGFzRm9sZGVyKGFic3RyYWN0RmlsZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgZXhlY3V0ZUZvbGRlcnN9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwgLS0gSW50ZW50aW9uYWxseSByZXBsYWNlcyBwYXJlbnQgd2l0aCBURm9sZGVyLXNwZWNpZmljIGRlbGVnYXRpb24uXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGVGb2xkZXJzKGFzQXJyYXlPZkZvbGRlcnMoYWJzdHJhY3RGaWxlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kIGZvciBhIHNpbmdsZSBmb2xkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGV4ZWN1dGVGb2xkZXIoZm9sZGVyOiBURm9sZGVyKTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQgZm9yIG11bHRpcGxlIGZvbGRlcnMuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gZXhlY3V0ZXMgc2VxdWVudGlhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVGb2xkZXJzKGZvbGRlcnM6IFRGb2xkZXJbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgZm9sZGVyIG9mIGZvbGRlcnMpIHtcbiAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUZvbGRlcihmb2xkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgc2hvdyBtZW51IGZvciBURm9sZGVyIGluc3RhbmNlcy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwgLS0gSW50ZW50aW9uYWxseSBuYXJyb3dzIHRvIFRGb2xkZXIgYmVmb3JlIGRlbGVnYXRpbmcuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZU1lbnUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzRm9sZGVyKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9Gb2xkZXJNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgc2hvdyBtZW51IGZvciBURm9sZGVyIGFycmF5cy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgb3IgZm9sZGVycy5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgbmFycm93cyB0byBURm9sZGVyW10gYmVmb3JlIGRlbGVnYXRpbmcuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZXNNZW51KGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhYnN0cmFjdEZpbGVzLmV2ZXJ5KChmKSA9PiBpc0ZvbGRlcihmKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9Gb2xkZXJzTWVudShhc0FycmF5T2ZGb2xkZXJzKGFic3RyYWN0RmlsZXMpLCBzb3VyY2UsIGxlYWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIHNpbmdsZS1mb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZvbGRlciAtIFRoZSBmb2xkZXIuXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBfbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZm9sZGVyIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJNZW51KF9mb2xkZXI6IFRGb2xkZXIsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIG11bHRpLWZvbGRlciBjb250ZXh0IG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZvbGRlcnMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0ZvbGRlcnNNZW51KF9mb2xkZXJzOiBURm9sZGVyW10sIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsa0NBQWtDO0FBUXBDLE1BQWUsNkJBQTZCLDJCQUEyQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3JFLFlBQVksUUFBcUQ7QUFDdEUsVUFBTSxNQUFNO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbUIsdUJBQXVCLGNBQXNDO0FBQzlFLFdBQU8sU0FBUyxZQUFZLEtBQUssS0FBSyxpQkFBaUIsWUFBWTtBQUFBLEVBQ3JFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNtQix3QkFBd0IsZUFBeUM7QUFDbEYsV0FBTyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEtBQUssS0FBSyxrQkFBa0IsaUJBQWlCLGFBQWEsQ0FBQztBQUFBLEVBQzFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxpQkFBaUIsU0FBMkI7QUFDcEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Usa0JBQWtCLFNBQTZCO0FBQ3ZELFdBQU8sUUFBUSxTQUFTLEtBQUssUUFBUSxNQUFNLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUM7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLG9CQUFvQixjQUE0QztBQUN2RixVQUFNLEtBQUssY0FBYyxTQUFTLFlBQVksQ0FBQztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUF5QixxQkFBcUIsZUFBK0M7QUFDM0YsVUFBTSxLQUFLLGVBQWUsaUJBQWlCLGFBQWEsQ0FBQztBQUFBLEVBQzNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFlQSxNQUFnQixlQUFlLFNBQW1DO0FBQ2hFLGVBQVcsVUFBVSxTQUFTO0FBQzVCLFlBQU0sS0FBSyxjQUFjLE1BQU07QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdtQiw0QkFBNEIsY0FBNkIsUUFBZ0IsTUFBK0I7QUFDekgsUUFBSSxDQUFDLFNBQVMsWUFBWSxHQUFHO0FBQzNCLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLHNCQUFzQixjQUFjLFFBQVEsSUFBSTtBQUFBLEVBQzlEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbUIsNkJBQTZCLGVBQWdDLFFBQWdCLE1BQStCO0FBQzdILFFBQUksQ0FBQyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUc7QUFDNUMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssdUJBQXVCLGlCQUFpQixhQUFhLEdBQUcsUUFBUSxJQUFJO0FBQUEsRUFDbEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSxzQkFBc0IsU0FBa0IsU0FBaUIsT0FBZ0M7QUFDakcsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSx1QkFBdUIsVUFBcUIsU0FBaUIsT0FBZ0M7QUFDckcsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
158
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZm9sZGVyLWNvbW1hbmQtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbW1hbmQgaGFuZGxlciBmb3IgZm9sZGVyLXNwZWNpZmljIGNvbW1hbmRzIChURm9sZGVyIG9ubHksIG5vdCBURmlsZSkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBUQWJzdHJhY3RGaWxlLFxuICBURm9sZGVyLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQge1xuICBhc0FycmF5T2ZGb2xkZXJzLFxuICBhc0ZvbGRlcixcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcblxuLyoqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZvbGRlci1zcGVjaWZpYyBjb21tYW5kcy5cbiAqXG4gKiBGaWx0ZXJzIGFic3RyYWN0IGZpbGVzIHRvIG9ubHkgYWNjZXB0IHtAbGluayBURm9sZGVyfSBpbnN0YW5jZXMuXG4gKiBTdWJjbGFzc2VzIG92ZXJyaWRlIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfSBhbmQge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9sZGVyQ29tbWFuZEhhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW5oZXJpdHMgcGFyZW50J3MgcGFyYW1zIHR5cGUuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBpbnN0YW5jZXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ZvbGRlcihhYnN0cmFjdEZpbGUpICYmIHRoaXMuY2FuRXhlY3V0ZUZvbGRlcihhYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBhcnJheXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyc30uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZUFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZXMuZXZlcnkoKGYpID0+IGlzRm9sZGVyKGYpKSAmJiB0aGlzLmNhbkV4ZWN1dGVGb2xkZXJzKGFzQXJyYXlPZkZvbGRlcnMoYWJzdHJhY3RGaWxlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGZvciBhIHNpbmdsZSBmb2xkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVyIC0gVGhlIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5FeGVjdXRlRm9sZGVyKF9mb2xkZXI6IFRGb2xkZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBmb3IgbXVsdGlwbGUgZm9sZGVycy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjaGVja3MgZWFjaCBmb2xkZXIgaW5kaXZpZHVhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbkV4ZWN1dGVGb2xkZXJzKGZvbGRlcnM6IFRGb2xkZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmb2xkZXJzLmxlbmd0aCA+IDAgJiYgZm9sZGVycy5ldmVyeSgoZikgPT4gdGhpcy5jYW5FeGVjdXRlRm9sZGVyKGYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlRm9sZGVyKGFzRm9sZGVyKGFic3RyYWN0RmlsZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgZXhlY3V0ZUZvbGRlcnN9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUZvbGRlcnMoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQgZm9yIGEgc2luZ2xlIGZvbGRlci5cbiAgICpcbiAgICogQHBhcmFtIGZvbGRlciAtIFRoZSBmb2xkZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZXhlY3V0ZUZvbGRlcihmb2xkZXI6IFRGb2xkZXIpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCBmb3IgbXVsdGlwbGUgZm9sZGVycy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBleGVjdXRlcyBzZXF1ZW50aWFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXJzIC0gVGhlIGZvbGRlcnMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZUZvbGRlcnMoZm9sZGVyczogVEZvbGRlcltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmb2xkZXIgb2YgZm9sZGVycykge1xuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlRm9sZGVyKGZvbGRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBzaG93IG1lbnUgZm9yIFRGb2xkZXIgaW5zdGFuY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IHNob3cgbWVudSBmb3IgVEZvbGRlciBhcnJheXMuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVzTWVudShhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10sIHNvdXJjZTogc3RyaW5nLCBsZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIGlmICghYWJzdHJhY3RGaWxlcy5ldmVyeSgoZikgPT4gaXNGb2xkZXIoZikpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyc01lbnUoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYXBwZWFyIGluIHRoZSBzaW5nbGUtZm9sZGVyIGNvbnRleHQgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9mb2xkZXIgLSBUaGUgZm9sZGVyLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZvbGRlciBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvRm9sZGVyTWVudShfZm9sZGVyOiBURm9sZGVyLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYXBwZWFyIGluIHRoZSBtdWx0aS1mb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZvbGRlcnMgLSBUaGUgZm9sZGVycy5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmb2xkZXJzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJzTWVudShfZm9sZGVyczogVEZvbGRlcltdLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGtDQUFrQztBQVFwQyxNQUFlLDZCQUE2QiwyQkFBMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9yRSxZQUFZLFFBQXFEO0FBQ3RFLFVBQU0sTUFBTTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix1QkFBdUIsY0FBc0M7QUFDOUUsV0FBTyxTQUFTLFlBQVksS0FBSyxLQUFLLGlCQUFpQixZQUFZO0FBQUEsRUFDckU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix3QkFBd0IsZUFBeUM7QUFDbEYsV0FBTyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEtBQUssS0FBSyxrQkFBa0IsaUJBQWlCLGFBQWEsQ0FBQztBQUFBLEVBQzFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxpQkFBaUIsU0FBMkI7QUFDcEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Usa0JBQWtCLFNBQTZCO0FBQ3ZELFdBQU8sUUFBUSxTQUFTLEtBQUssUUFBUSxNQUFNLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUM7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLG9CQUFvQixjQUE0QztBQUN2RixVQUFNLEtBQUssY0FBYyxTQUFTLFlBQVksQ0FBQztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsTUFBeUIscUJBQXFCLGVBQStDO0FBQzNGLFVBQU0sS0FBSyxlQUFlLGlCQUFpQixhQUFhLENBQUM7QUFBQSxFQUMzRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZUEsTUFBZ0IsZUFBZSxTQUFtQztBQUNoRSxlQUFXLFVBQVUsU0FBUztBQUM1QixZQUFNLEtBQUssY0FBYyxNQUFNO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW1CLDRCQUE0QixjQUE2QixRQUFnQixNQUErQjtBQUN6SCxRQUFJLENBQUMsU0FBUyxZQUFZLEdBQUc7QUFDM0IsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssc0JBQXNCLGNBQWMsUUFBUSxJQUFJO0FBQUEsRUFDOUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVbUIsNkJBQTZCLGVBQWdDLFFBQWdCLE1BQStCO0FBQzdILFFBQUksQ0FBQyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUc7QUFDNUMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssdUJBQXVCLGlCQUFpQixhQUFhLEdBQUcsUUFBUSxJQUFJO0FBQUEsRUFDbEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSxzQkFBc0IsU0FBa0IsU0FBaUIsT0FBZ0M7QUFDakcsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSx1QkFBdUIsVUFBcUIsU0FBaUIsT0FBZ0M7QUFDckcsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -3,16 +3,12 @@
3
3
  *
4
4
  * Component that provides an AbortSignal for cancelling long-running operations on plugin unload.
5
5
  */
6
- import { DisposableComponent } from './disposable-component.mjs';
6
+ import { ComponentEx } from './component-ex.mjs';
7
7
  /**
8
8
  * Provides an {@link AbortSignal} that is aborted when the component is unloaded.
9
9
  */
10
- export declare class AbortSignalComponent extends DisposableComponent {
10
+ export declare class AbortSignalComponent extends ComponentEx {
11
11
  private readonly pluginId;
12
- /**
13
- * The singleton key for the {@link AbortSignalComponent} class.
14
- */
15
- static readonly COMPONENT_KEY: unique symbol;
16
12
  /**
17
13
  * The abort signal.
18
14
  */
@@ -22,8 +22,8 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { SilentError } from "../../error.mjs";
25
- import { DisposableComponent } from "./disposable-component.mjs";
26
- class AbortSignalComponent extends DisposableComponent {
25
+ import { ComponentEx } from "./component-ex.mjs";
26
+ class AbortSignalComponent extends ComponentEx {
27
27
  /**
28
28
  * Creates a new abort signal component.
29
29
  *
@@ -36,10 +36,6 @@ class AbortSignalComponent extends DisposableComponent {
36
36
  this.abortSignal = this.abortController.signal;
37
37
  }
38
38
  pluginId;
39
- /**
40
- * The singleton key for the {@link AbortSignalComponent} class.
41
- */
42
- static COMPONENT_KEY = Symbol(AbortSignalComponent.name);
43
39
  /**
44
40
  * The abort signal.
45
41
  */
@@ -49,11 +45,10 @@ class AbortSignalComponent extends DisposableComponent {
49
45
  * Aborts the signal on unload.
50
46
  */
51
47
  onunload() {
52
- super.onunload();
53
48
  this.abortController.abort(new SilentError(`Plugin ${this.pluginId} had been unloaded`));
54
49
  }
55
50
  }
56
51
  export {
57
52
  AbortSignalComponent
58
53
  };
59
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGFuIEFib3J0U2lnbmFsIGZvciBjYW5jZWxsaW5nIGxvbmctcnVubmluZyBvcGVyYXRpb25zIG9uIHBsdWdpbiB1bmxvYWQuXG4gKi9cblxuaW1wb3J0IHsgU2lsZW50RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci50cyc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwb3NhYmxlLWNvbXBvbmVudC50cyc7XG5cbi8qKlxuICogUHJvdmlkZXMgYW4ge0BsaW5rIEFib3J0U2lnbmFsfSB0aGF0IGlzIGFib3J0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHVubG9hZGVkLlxuICovXG5leHBvcnQgY2xhc3MgQWJvcnRTaWduYWxDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzaW5nbGV0b24ga2V5IGZvciB0aGUge0BsaW5rIEFib3J0U2lnbmFsQ29tcG9uZW50fSBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09NUE9ORU5UX0tFWSA9IFN5bWJvbChBYm9ydFNpZ25hbENvbXBvbmVudC5uYW1lKTtcblxuICAvKipcbiAgICogVGhlIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYm9ydCBzaWduYWwgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElEICh1c2VkIGluIHRoZSBhYm9ydCByZWFzb24gbWVzc2FnZSkuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLmFib3J0U2lnbmFsID0gdGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEFib3J0cyB0aGUgc2lnbmFsIG9uIHVubG9hZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbnVubG9hZCgpO1xuICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KG5ldyBTaWxlbnRFcnJvcihgUGx1Z2luICR7dGhpcy5wbHVnaW5JZH0gaGFkIGJlZW4gdW5sb2FkZWRgKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUywyQkFBMkI7QUFLN0IsTUFBTSw2QkFBNkIsb0JBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JyRCxZQUE2QixVQUFrQjtBQUNwRCxVQUFNO0FBRDRCO0FBRWxDLFNBQUssa0JBQWtCLElBQUksZ0JBQWdCO0FBQzNDLFNBQUssY0FBYyxLQUFLLGdCQUFnQjtBQUFBLEVBQzFDO0FBQUEsRUFKb0M7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWRwQyxPQUF1QixnQkFBZ0IsT0FBTyxxQkFBcUIsSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS3ZEO0FBQUEsRUFFQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JELFdBQWlCO0FBQy9CLFVBQU0sU0FBUztBQUNmLFNBQUssZ0JBQWdCLE1BQU0sSUFBSSxZQUFZLFVBQVUsS0FBSyxRQUFRLG9CQUFvQixDQUFDO0FBQUEsRUFDekY7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
54
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGFuIEFib3J0U2lnbmFsIGZvciBjYW5jZWxsaW5nIGxvbmctcnVubmluZyBvcGVyYXRpb25zIG9uIHBsdWdpbiB1bmxvYWQuXG4gKi9cblxuaW1wb3J0IHsgU2lsZW50RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci50cyc7XG5pbXBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcblxuLyoqXG4gKiBQcm92aWRlcyBhbiB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgaXMgYWJvcnRlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgdW5sb2FkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBYm9ydFNpZ25hbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIFRoZSBhYm9ydCBzaWduYWwuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYWJvcnQgc2lnbmFsIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBJRCAodXNlZCBpbiB0aGUgYWJvcnQgcmVhc29uIG1lc3NhZ2UpLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5hYm9ydFNpZ25hbCA9IHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBYm9ydHMgdGhlIHNpZ25hbCBvbiB1bmxvYWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb251bmxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IFNpbGVudEVycm9yKGBQbHVnaW4gJHt0aGlzLnBsdWdpbklkfSBoYWQgYmVlbiB1bmxvYWRlZGApKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLG1CQUFtQjtBQUtyQixNQUFNLDZCQUE2QixZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYTdDLFlBQTZCLFVBQWtCO0FBQ3BELFVBQU07QUFENEI7QUFFbEMsU0FBSyxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFDM0MsU0FBSyxjQUFjLEtBQUssZ0JBQWdCO0FBQUEsRUFDMUM7QUFBQSxFQUpvQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVHBCO0FBQUEsRUFFQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JELFdBQWlCO0FBQy9CLFNBQUssZ0JBQWdCLE1BQU0sSUFBSSxZQUFZLFVBQVUsS0FBSyxRQUFRLG9CQUFvQixDQUFDO0FBQUEsRUFDekY7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -4,11 +4,11 @@
4
4
  * Handles registering DOM events and handlers for all windows (main window and all existing/future popup windows) and their documents.
5
5
  */
6
6
  import type { App } from 'obsidian';
7
- import { DisposableComponent } from './disposable-component.mjs';
7
+ import { ComponentEx } from './component-ex.mjs';
8
8
  /**
9
9
  * Handles registering DOM events and handlers for all windows (main window and all existing/future popup windows) and their documents.
10
10
  */
11
- export declare class AllWindowsEventComponent extends DisposableComponent {
11
+ export declare class AllWindowsEventComponent extends ComponentEx {
12
12
  private readonly app;
13
13
  /**
14
14
  * Creates a new instance of the `AllWindowsEventComponent` class.
@@ -22,8 +22,8 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { getAllDomWindows } from "../workspace.mjs";
25
- import { DisposableComponent } from "./disposable-component.mjs";
26
- class AllWindowsEventComponent extends DisposableComponent {
25
+ import { ComponentEx } from "./component-ex.mjs";
26
+ class AllWindowsEventComponent extends ComponentEx {
27
27
  /**
28
28
  * Creates a new instance of the `AllWindowsEventComponent` class.
29
29
  *
@@ -90,4 +90,4 @@ class AllWindowsEventComponent extends DisposableComponent {
90
90
  export {
91
91
  AllWindowsEventComponent
92
92
  };
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSGFuZGxlcyByZWdpc3RlcmluZyBET00gZXZlbnRzIGFuZCBoYW5kbGVycyBmb3IgYWxsIHdpbmRvd3MgKG1haW4gd2luZG93IGFuZCBhbGwgZXhpc3RpbmcvZnV0dXJlIHBvcHVwIHdpbmRvd3MpIGFuZCB0aGVpciBkb2N1bWVudHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldEFsbERvbVdpbmRvd3MgfSBmcm9tICcuLi93b3Jrc3BhY2UudHMnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEhhbmRsZXMgcmVnaXN0ZXJpbmcgRE9NIGV2ZW50cyBhbmQgaGFuZGxlcnMgZm9yIGFsbCB3aW5kb3dzIChtYWluIHdpbmRvdyBhbmQgYWxsIGV4aXN0aW5nL2Z1dHVyZSBwb3B1cCB3aW5kb3dzKSBhbmQgdGhlaXIgZG9jdW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50YCBjbGFzcy5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcHA6IEFwcCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgRE9NIGV2ZW50IGZvciBhbGwgZG9jdW1lbnRzIChtYWluIHdpbmRvdyBkb2N1bWVudCBhbmQgYWxsIGV4aXN0aW5nL2Z1dHVyZSBwb3B1cCB3aW5kb3cgZG9jdW1lbnRzKS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBEb2N1bWVudEV2ZW50VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxEb2N1bWVudHNEb21FdmVudDxEb2N1bWVudEV2ZW50VHlwZSBleHRlbmRzIGtleW9mIERvY3VtZW50RXZlbnRNYXA+KFxuICAgIHR5cGU6IERvY3VtZW50RXZlbnRUeXBlLFxuICAgIGNhbGxiYWNrOiAodGhpczogSFRNTEVsZW1lbnQsIGV2dDogRG9jdW1lbnRFdmVudE1hcFtEb2N1bWVudEV2ZW50VHlwZV0pID0+IHVua25vd24sXG4gICAgb3B0aW9ucz86IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyQWxsV2luZG93c0hhbmRsZXIoKHdpbikgPT4ge1xuICAgICAgdGhpcy5yZWdpc3RlckRvbUV2ZW50KHdpbi5kb2N1bWVudCwgdHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIERPTSBldmVudCBmb3IgYWxsIHdpbmRvd3MgKG1haW4gd2luZG93IGFuZCBhbGwgZXhpc3RpbmcvZnV0dXJlIHBvcHVwIHdpbmRvd3MpLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFdpbmRvd0V2ZW50VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxXaW5kb3dzRG9tRXZlbnQ8V2luZG93RXZlbnRUeXBlIGV4dGVuZHMga2V5b2YgV2luZG93RXZlbnRNYXA+KFxuICAgIHR5cGU6IFdpbmRvd0V2ZW50VHlwZSxcbiAgICBjYWxsYmFjazogKHRoaXM6IEhUTUxFbGVtZW50LCBldnQ6IFdpbmRvd0V2ZW50TWFwW1dpbmRvd0V2ZW50VHlwZV0pID0+IHVua25vd24sXG4gICAgb3B0aW9ucz86IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyQWxsV2luZG93c0hhbmRsZXIoKHdpbikgPT4ge1xuICAgICAgdGhpcy5yZWdpc3RlckRvbUV2ZW50KHdpbiwgdHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIGFsbCB3aW5kb3dzIChtYWluIHdpbmRvdyBhbmQgYWxsIGV4aXN0aW5nL2Z1dHVyZSBwb3B1cCB3aW5kb3dzKS5cbiAgICpcbiAgICogQHBhcmFtIGFsbFdpbmRvd3NIYW5kbGVyIC0gVGhlIGhhbmRsZXIgY2FsbGVkIGZvciBlYWNoIHdpbmRvdyAobWFpbiArIHBvcHVwcykuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxXaW5kb3dzSGFuZGxlcihhbGxXaW5kb3dzSGFuZGxlcjogKHdpbjogV2luZG93KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgbWFpbldpbmRvdyA9IGFjdGl2ZVdpbmRvdztcblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIGFsbFdpbmRvd3NIYW5kbGVyKG1haW5XaW5kb3cpO1xuICAgIH1cblxuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIGZvciAoY29uc3Qgd2luIG9mIGdldEFsbERvbVdpbmRvd3ModGhpcy5hcHApKSB7XG4gICAgICAgIGlmICh3aW4gPT09IG1haW5XaW5kb3cpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgICAgICBhbGxXaW5kb3dzSGFuZGxlcih3aW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ3dpbmRvdy1vcGVuJywgKHdvcmtzcGFjZVdpbmRvdykgPT4ge1xuICAgICAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICAgICAgYWxsV2luZG93c0hhbmRsZXIod29ya3NwYWNlV2luZG93Lndpbik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLDJCQUEyQjtBQUs3QixNQUFNLGlDQUFpQyxvQkFBb0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNekQsWUFBNkIsS0FBVTtBQUM1QyxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVk3Qiw2QkFDTCxNQUNBLFVBQ0EsU0FDTTtBQUNOLFNBQUssMEJBQTBCLENBQUMsUUFBUTtBQUN0QyxXQUFLLGlCQUFpQixJQUFJLFVBQVUsTUFBTSxVQUFVLE9BQU87QUFBQSxJQUM3RCxDQUFDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVPLDJCQUNMLE1BQ0EsVUFDQSxTQUNNO0FBQ04sU0FBSywwQkFBMEIsQ0FBQyxRQUFRO0FBQ3RDLFdBQUssaUJBQWlCLEtBQUssTUFBTSxVQUFVLE9BQU87QUFBQSxJQUNwRCxDQUFDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLDBCQUEwQixtQkFBZ0Q7QUFDL0UsVUFBTSxhQUFhO0FBRW5CLFFBQUksS0FBSyxTQUFTO0FBQ2hCLHdCQUFrQixVQUFVO0FBQUEsSUFDOUI7QUFFQSxTQUFLLElBQUksVUFBVSxjQUFjLE1BQU07QUFDckMsaUJBQVcsT0FBTyxpQkFBaUIsS0FBSyxHQUFHLEdBQUc7QUFDNUMsWUFBSSxRQUFRLFlBQVk7QUFDdEI7QUFBQSxRQUNGO0FBRUEsWUFBSSxLQUFLLFNBQVM7QUFDaEIsNEJBQWtCLEdBQUc7QUFBQSxRQUN2QjtBQUFBLE1BQ0Y7QUFFQSxXQUFLLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxlQUFlLENBQUMsb0JBQW9CO0FBQzNFLFlBQUksS0FBSyxTQUFTO0FBQ2hCLDRCQUFrQixnQkFBZ0IsR0FBRztBQUFBLFFBQ3ZDO0FBQUEsTUFDRixDQUFDLENBQUM7QUFBQSxJQUNKLENBQUM7QUFBQSxFQUNIO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
93
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSGFuZGxlcyByZWdpc3RlcmluZyBET00gZXZlbnRzIGFuZCBoYW5kbGVycyBmb3IgYWxsIHdpbmRvd3MgKG1haW4gd2luZG93IGFuZCBhbGwgZXhpc3RpbmcvZnV0dXJlIHBvcHVwIHdpbmRvd3MpIGFuZCB0aGVpciBkb2N1bWVudHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldEFsbERvbVdpbmRvd3MgfSBmcm9tICcuLi93b3Jrc3BhY2UudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudC1leC50cyc7XG5cbi8qKlxuICogSGFuZGxlcyByZWdpc3RlcmluZyBET00gZXZlbnRzIGFuZCBoYW5kbGVycyBmb3IgYWxsIHdpbmRvd3MgKG1haW4gd2luZG93IGFuZCBhbGwgZXhpc3RpbmcvZnV0dXJlIHBvcHVwIHdpbmRvd3MpIGFuZCB0aGVpciBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxXaW5kb3dzRXZlbnRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50YCBjbGFzcy5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcHA6IEFwcCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgRE9NIGV2ZW50IGZvciBhbGwgZG9jdW1lbnRzIChtYWluIHdpbmRvdyBkb2N1bWVudCBhbmQgYWxsIGV4aXN0aW5nL2Z1dHVyZSBwb3B1cCB3aW5kb3cgZG9jdW1lbnRzKS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBEb2N1bWVudEV2ZW50VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxEb2N1bWVudHNEb21FdmVudDxEb2N1bWVudEV2ZW50VHlwZSBleHRlbmRzIGtleW9mIERvY3VtZW50RXZlbnRNYXA+KFxuICAgIHR5cGU6IERvY3VtZW50RXZlbnRUeXBlLFxuICAgIGNhbGxiYWNrOiAodGhpczogSFRNTEVsZW1lbnQsIGV2dDogRG9jdW1lbnRFdmVudE1hcFtEb2N1bWVudEV2ZW50VHlwZV0pID0+IHVua25vd24sXG4gICAgb3B0aW9ucz86IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyQWxsV2luZG93c0hhbmRsZXIoKHdpbikgPT4ge1xuICAgICAgdGhpcy5yZWdpc3RlckRvbUV2ZW50KHdpbi5kb2N1bWVudCwgdHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIERPTSBldmVudCBmb3IgYWxsIHdpbmRvd3MgKG1haW4gd2luZG93IGFuZCBhbGwgZXhpc3RpbmcvZnV0dXJlIHBvcHVwIHdpbmRvd3MpLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFdpbmRvd0V2ZW50VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxXaW5kb3dzRG9tRXZlbnQ8V2luZG93RXZlbnRUeXBlIGV4dGVuZHMga2V5b2YgV2luZG93RXZlbnRNYXA+KFxuICAgIHR5cGU6IFdpbmRvd0V2ZW50VHlwZSxcbiAgICBjYWxsYmFjazogKHRoaXM6IEhUTUxFbGVtZW50LCBldnQ6IFdpbmRvd0V2ZW50TWFwW1dpbmRvd0V2ZW50VHlwZV0pID0+IHVua25vd24sXG4gICAgb3B0aW9ucz86IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyQWxsV2luZG93c0hhbmRsZXIoKHdpbikgPT4ge1xuICAgICAgdGhpcy5yZWdpc3RlckRvbUV2ZW50KHdpbiwgdHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIGFsbCB3aW5kb3dzIChtYWluIHdpbmRvdyBhbmQgYWxsIGV4aXN0aW5nL2Z1dHVyZSBwb3B1cCB3aW5kb3dzKS5cbiAgICpcbiAgICogQHBhcmFtIGFsbFdpbmRvd3NIYW5kbGVyIC0gVGhlIGhhbmRsZXIgY2FsbGVkIGZvciBlYWNoIHdpbmRvdyAobWFpbiArIHBvcHVwcykuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBbGxXaW5kb3dzSGFuZGxlcihhbGxXaW5kb3dzSGFuZGxlcjogKHdpbjogV2luZG93KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgbWFpbldpbmRvdyA9IGFjdGl2ZVdpbmRvdztcblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIGFsbFdpbmRvd3NIYW5kbGVyKG1haW5XaW5kb3cpO1xuICAgIH1cblxuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIGZvciAoY29uc3Qgd2luIG9mIGdldEFsbERvbVdpbmRvd3ModGhpcy5hcHApKSB7XG4gICAgICAgIGlmICh3aW4gPT09IG1haW5XaW5kb3cpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgICAgICBhbGxXaW5kb3dzSGFuZGxlcih3aW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ3dpbmRvdy1vcGVuJywgKHdvcmtzcGFjZVdpbmRvdykgPT4ge1xuICAgICAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICAgICAgYWxsV2luZG93c0hhbmRsZXIod29ya3NwYWNlV2luZG93Lndpbik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLG1CQUFtQjtBQUtyQixNQUFNLGlDQUFpQyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWpELFlBQTZCLEtBQVU7QUFDNUMsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZN0IsNkJBQ0wsTUFDQSxVQUNBLFNBQ007QUFDTixTQUFLLDBCQUEwQixDQUFDLFFBQVE7QUFDdEMsV0FBSyxpQkFBaUIsSUFBSSxVQUFVLE1BQU0sVUFBVSxPQUFPO0FBQUEsSUFDN0QsQ0FBQztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVTywyQkFDTCxNQUNBLFVBQ0EsU0FDTTtBQUNOLFNBQUssMEJBQTBCLENBQUMsUUFBUTtBQUN0QyxXQUFLLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxPQUFPO0FBQUEsSUFDcEQsQ0FBQztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTywwQkFBMEIsbUJBQWdEO0FBQy9FLFVBQU0sYUFBYTtBQUVuQixRQUFJLEtBQUssU0FBUztBQUNoQix3QkFBa0IsVUFBVTtBQUFBLElBQzlCO0FBRUEsU0FBSyxJQUFJLFVBQVUsY0FBYyxNQUFNO0FBQ3JDLGlCQUFXLE9BQU8saUJBQWlCLEtBQUssR0FBRyxHQUFHO0FBQzVDLFlBQUksUUFBUSxZQUFZO0FBQ3RCO0FBQUEsUUFDRjtBQUVBLFlBQUksS0FBSyxTQUFTO0FBQ2hCLDRCQUFrQixHQUFHO0FBQUEsUUFDdkI7QUFBQSxNQUNGO0FBRUEsV0FBSyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsZUFBZSxDQUFDLG9CQUFvQjtBQUMzRSxZQUFJLEtBQUssU0FBUztBQUNoQiw0QkFBa0IsZ0JBQWdCLEdBQUc7QUFBQSxRQUN2QztBQUFBLE1BQ0YsQ0FBQyxDQUFDO0FBQUEsSUFDSixDQUFDO0FBQUEsRUFDSDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -3,17 +3,13 @@
3
3
  *
4
4
  * Component that handles async errors by showing a notice to the user.
5
5
  */
6
- import { DisposableComponent } from './disposable-component.mjs';
6
+ import { ComponentEx } from './component-ex.mjs';
7
7
  import { PluginNoticeComponent } from './plugin-notice-component.mjs';
8
8
  /**
9
9
  * Registers a global async error handler that shows a notice to the user.
10
10
  */
11
- export declare class AsyncErrorHandlerComponent extends DisposableComponent {
11
+ export declare class AsyncErrorHandlerComponent extends ComponentEx {
12
12
  private readonly noticeComponent;
13
- /**
14
- * The singleton key for the {@link AsyncErrorHandlerComponent} class.
15
- */
16
- static readonly COMPONENT_KEY: unique symbol;
17
13
  /**
18
14
  * Creates a new async error handler component.
19
15
  *
@@ -23,9 +23,9 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import { registerAsyncErrorEventHandler } from "../../error.mjs";
25
25
  import { t } from "../i18n/i18n.mjs";
26
- import { DisposableComponent } from "./disposable-component.mjs";
26
+ import { ComponentEx } from "./component-ex.mjs";
27
27
  import { PluginNoticeComponent } from "./plugin-notice-component.mjs";
28
- class AsyncErrorHandlerComponent extends DisposableComponent {
28
+ class AsyncErrorHandlerComponent extends ComponentEx {
29
29
  /**
30
30
  * Creates a new async error handler component.
31
31
  *
@@ -36,15 +36,10 @@ class AsyncErrorHandlerComponent extends DisposableComponent {
36
36
  this.noticeComponent = noticeComponent;
37
37
  }
38
38
  noticeComponent;
39
- /**
40
- * The singleton key for the {@link AsyncErrorHandlerComponent} class.
41
- */
42
- static COMPONENT_KEY = Symbol(AsyncErrorHandlerComponent.name);
43
39
  /**
44
40
  * Registers the error handler.
45
41
  */
46
42
  onload() {
47
- super.onload();
48
43
  this.register(registerAsyncErrorEventHandler(this.handleAsyncError.bind(this)));
49
44
  }
50
45
  /**
@@ -59,4 +54,4 @@ class AsyncErrorHandlerComponent extends DisposableComponent {
59
54
  export {
60
55
  AsyncErrorHandlerComponent
61
56
  };
62
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBoYW5kbGVzIGFzeW5jIGVycm9ycyBieSBzaG93aW5nIGEgbm90aWNlIHRvIHRoZSB1c2VyLlxuICovXG5cbmltcG9ydCB7IHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL2Vycm9yLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgZ2xvYmFsIGFzeW5jIGVycm9yIGhhbmRsZXIgdGhhdCBzaG93cyBhIG5vdGljZSB0byB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgc2luZ2xldG9uIGtleSBmb3IgdGhlIHtAbGluayBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudH0gY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTVBPTkVOVF9LRVkgPSBTeW1ib2woQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQubmFtZSk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYXN5bmMgZXJyb3IgaGFuZGxlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBub3RpY2VDb21wb25lbnQgLSBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIGRpc3BsYXkgZXJyb3IgbWVzc2FnZXMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBub3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBlcnJvciBoYW5kbGVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIG9ubG9hZCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbmxvYWQoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcih0aGlzLmhhbmRsZUFzeW5jRXJyb3IuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFuIGFzeW5jIGVycm9yIG9jY3Vycy5cbiAgICpcbiAgICogQHBhcmFtIF9hc3luY0Vycm9yIC0gVGhlIGFzeW5jIGVycm9yLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUFzeW5jRXJyb3IoX2FzeW5jRXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5ub3RpY2VzLnVuaGFuZGxlZEVycm9yKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxzQ0FBc0M7QUFDL0MsU0FBUyxTQUFTO0FBQ2xCLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsNkJBQTZCO0FBSy9CLE1BQU0sbUNBQW1DLG9CQUFvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVczRCxZQUE2QixpQkFBd0M7QUFDMUUsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVBwQyxPQUF1QixnQkFBZ0IsT0FBTywyQkFBMkIsSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYzdELFNBQWU7QUFDN0IsVUFBTSxPQUFPO0FBQ2IsU0FBSyxTQUFTLCtCQUErQixLQUFLLGlCQUFpQixLQUFLLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDaEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSxpQkFBaUIsYUFBNEI7QUFDckQsU0FBSyxnQkFBZ0IsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLGNBQWMsQ0FBQztBQUFBLEVBQ3JGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBoYW5kbGVzIGFzeW5jIGVycm9ycyBieSBzaG93aW5nIGEgbm90aWNlIHRvIHRoZSB1c2VyLlxuICovXG5cbmltcG9ydCB7IHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL2Vycm9yLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudC1leC50cyc7XG5pbXBvcnQgeyBQbHVnaW5Ob3RpY2VDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBSZWdpc3RlcnMgYSBnbG9iYWwgYXN5bmMgZXJyb3IgaGFuZGxlciB0aGF0IHNob3dzIGEgbm90aWNlIHRvIHRoZSB1c2VyLlxuICovXG5leHBvcnQgY2xhc3MgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFzeW5jIGVycm9yIGhhbmRsZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbm90aWNlQ29tcG9uZW50IC0gVGhlIG5vdGljZSBjb21wb25lbnQgdXNlZCB0byBkaXNwbGF5IGVycm9yIG1lc3NhZ2VzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyB0aGUgZXJyb3IgaGFuZGxlci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBvbmxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlcihyZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIodGhpcy5oYW5kbGVBc3luY0Vycm9yLmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbiBhc3luYyBlcnJvciBvY2N1cnMuXG4gICAqXG4gICAqIEBwYXJhbSBfYXN5bmNFcnJvciAtIFRoZSBhc3luYyBlcnJvci5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVBc3luY0Vycm9yKF9hc3luY0Vycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpY2VDb21wb25lbnQuc2hvd05vdGljZSh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMubm90aWNlcy51bmhhbmRsZWRFcnJvcikpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsc0NBQXNDO0FBQy9DLFNBQVMsU0FBUztBQUNsQixTQUFTLG1CQUFtQjtBQUM1QixTQUFTLDZCQUE2QjtBQUsvQixNQUFNLG1DQUFtQyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTW5ELFlBQTZCLGlCQUF3QztBQUMxRSxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3BCLFNBQWU7QUFDN0IsU0FBSyxTQUFTLCtCQUErQixLQUFLLGlCQUFpQixLQUFLLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDaEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSxpQkFBaUIsYUFBNEI7QUFDckQsU0FBSyxnQkFBZ0IsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLGNBQWMsQ0FBQztBQUFBLEVBQ3JGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,27 +1,10 @@
1
1
  /**
2
2
  * @file
3
3
  *
4
- * Contains a component and a helper function to register async events.
4
+ * Contains helper function to register async events.
5
5
  */
6
6
  import { Component } from 'obsidian';
7
7
  import type { AsyncEventRef } from '../../async-events.mjs';
8
- import { AsyncEvents } from '../../async-events.mjs';
9
- import { DisposableComponent } from './disposable-component.mjs';
10
- /**
11
- * A component that can register async events.
12
- */
13
- export declare class AsyncEventsComponent extends DisposableComponent {
14
- /**
15
- * The async events.
16
- */
17
- readonly asyncEvents: AsyncEvents;
18
- /**
19
- * Registers an async event.
20
- *
21
- * @param eventRef - The event reference.
22
- */
23
- registerAsyncEvent(eventRef: AsyncEventRef): void;
24
- }
25
8
  /**
26
9
  * Registers an async event.
27
10
  *
@@ -22,29 +22,12 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { Component } from "obsidian";
25
- import { AsyncEvents } from "../../async-events.mjs";
26
- import { DisposableComponent } from "./disposable-component.mjs";
27
- class AsyncEventsComponent extends DisposableComponent {
28
- /**
29
- * The async events.
30
- */
31
- asyncEvents = new AsyncEvents();
32
- /**
33
- * Registers an async event.
34
- *
35
- * @param eventRef - The event reference.
36
- */
37
- registerAsyncEvent(eventRef) {
38
- registerAsyncEvent(this, eventRef);
39
- }
40
- }
41
25
  function registerAsyncEvent(component, eventRef) {
42
26
  component.register(() => {
43
- eventRef.asyncEvents.offref(eventRef);
27
+ eventRef.asyncEventSource.offref(eventRef);
44
28
  });
45
29
  }
46
30
  export {
47
- AsyncEventsComponent,
48
31
  registerAsyncEvent
49
32
  };
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IGFuZCBhIGhlbHBlciBmdW5jdGlvbiB0byByZWdpc3RlciBhc3luYyBldmVudHMuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEFzeW5jRXZlbnRSZWYgfSBmcm9tICcuLi8uLi9hc3luYy1ldmVudHMudHMnO1xuXG5pbXBvcnQgeyBBc3luY0V2ZW50cyB9IGZyb20gJy4uLy4uL2FzeW5jLWV2ZW50cy50cyc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwb3NhYmxlLWNvbXBvbmVudC50cyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBjYW4gcmVnaXN0ZXIgYXN5bmMgZXZlbnRzLlxuICovXG5leHBvcnQgY2xhc3MgQXN5bmNFdmVudHNDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBhc3luYyBldmVudHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXN5bmNFdmVudHMgPSBuZXcgQXN5bmNFdmVudHMoKTtcblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIGFzeW5jIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRSZWYgLSBUaGUgZXZlbnQgcmVmZXJlbmNlLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQXN5bmNFdmVudChldmVudFJlZjogQXN5bmNFdmVudFJlZik6IHZvaWQge1xuICAgIHJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLCBldmVudFJlZik7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gYXN5bmMgZXZlbnQuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQuXG4gKiBAcGFyYW0gZXZlbnRSZWYgLSBUaGUgZXZlbnQgcmVmZXJlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJBc3luY0V2ZW50KGNvbXBvbmVudDogQ29tcG9uZW50LCBldmVudFJlZjogQXN5bmNFdmVudFJlZik6IHZvaWQge1xuICBjb21wb25lbnQucmVnaXN0ZXIoKCkgPT4ge1xuICAgIGV2ZW50UmVmLmFzeW5jRXZlbnRzLm9mZnJlZihldmVudFJlZik7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLGlCQUFpQjtBQUkxQixTQUFTLG1CQUFtQjtBQUM1QixTQUFTLDJCQUEyQjtBQUs3QixNQUFNLDZCQUE2QixvQkFBb0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUk1QyxjQUFjLElBQUksWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU92QyxtQkFBbUIsVUFBK0I7QUFDdkQsdUJBQW1CLE1BQU0sUUFBUTtBQUFBLEVBQ25DO0FBQ0Y7QUFRTyxTQUFTLG1CQUFtQixXQUFzQixVQUErQjtBQUN0RixZQUFVLFNBQVMsTUFBTTtBQUN2QixhQUFTLFlBQVksT0FBTyxRQUFRO0FBQUEsRUFDdEMsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
33
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGhlbHBlciBmdW5jdGlvbiB0byByZWdpc3RlciBhc3luYyBldmVudHMuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEFzeW5jRXZlbnRSZWYgfSBmcm9tICcuLi8uLi9hc3luYy1ldmVudHMudHMnO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBhc3luYyBldmVudC5cbiAqXG4gKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFzeW5jRXZlbnQoY29tcG9uZW50OiBDb21wb25lbnQsIGV2ZW50UmVmOiBBc3luY0V2ZW50UmVmKTogdm9pZCB7XG4gIGNvbXBvbmVudC5yZWdpc3RlcigoKSA9PiB7XG4gICAgZXZlbnRSZWYuYXN5bmNFdmVudFNvdXJjZS5vZmZyZWYoZXZlbnRSZWYpO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxpQkFBaUI7QUFVbkIsU0FBUyxtQkFBbUIsV0FBc0IsVUFBK0I7QUFDdEYsWUFBVSxTQUFTLE1BQU07QUFDdkIsYUFBUyxpQkFBaUIsT0FBTyxRQUFRO0FBQUEsRUFDM0MsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Extended Component
5
+ */
6
+ import { Component } from 'obsidian';
7
+ /**
8
+ * Extended Component
9
+ */
10
+ export declare class ComponentEx extends Component implements Disposable {
11
+ private readonly childrenSet;
12
+ private loadPromise;
13
+ /**
14
+ * Adds a child component.
15
+ *
16
+ * @typeParam TComponent - The type of component to add.
17
+ * @param component - The component instance to add.
18
+ * @returns The added component.
19
+ */
20
+ addChild<TComponent extends Component>(component: TComponent): TComponent;
21
+ /**
22
+ * Loads the component.
23
+ *
24
+ * @returns Despite the declared `void` return type, this method returns a {@link Promise} that resolves when the component is loaded or `null` if the component if fully synchronous.
25
+ */
26
+ load(): void;
27
+ /**
28
+ * Loads the component with promises.
29
+ *
30
+ * @returns A {@link Promise} that resolves when the component is loaded or `null` if the component and its children don't use `async` logic.
31
+ */
32
+ loadWithPromises(): null | Promise<void>;
33
+ /**
34
+ * Asynchronously loads the component.
35
+ *
36
+ * Override to add async load logic, which is executed after {@link Component.onload}.
37
+ *
38
+ * @returns A {@link Promise} that resolves when the component is loaded.
39
+ */
40
+ onloadAsync(): Promise<void>;
41
+ /**
42
+ * Removes a child component.
43
+ *
44
+ * @typeParam TComponent - The type of component to remove.
45
+ * @param component - The component instance to remove.
46
+ * @returns The removed component.
47
+ */
48
+ removeChild<TComponent extends Component>(component: TComponent): TComponent;
49
+ /**
50
+ * Disposes of the component.
51
+ */
52
+ [Symbol.dispose](): void;
53
+ private chain;
54
+ private extractLoadPromisable;
55
+ }
@@ -0,0 +1,130 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ if (globalThis.process) {
9
+ return;
10
+ }
11
+
12
+ const browserProcess = {
13
+ browser: true,
14
+ cwd() {
15
+ return '/';
16
+ },
17
+ env: {},
18
+ platform: 'android'
19
+ };
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
+ globalThis.process = browserProcess;
22
+ })();
23
+
24
+ import { Component } from "obsidian";
25
+ import {
26
+ noop,
27
+ noopAsyncSingletonPromise
28
+ } from "../../function.mjs";
29
+ class ComponentEx extends Component {
30
+ childrenSet = /* @__PURE__ */ new Set();
31
+ loadPromise = null;
32
+ /**
33
+ * Adds a child component.
34
+ *
35
+ * @typeParam TComponent - The type of component to add.
36
+ * @param component - The component instance to add.
37
+ * @returns The added component.
38
+ */
39
+ addChild(component) {
40
+ this._children.push(component);
41
+ this.childrenSet.add(component);
42
+ if (this._loaded) {
43
+ this.chain(() => this.extractLoadPromisable(component));
44
+ }
45
+ return component;
46
+ }
47
+ /**
48
+ * Loads the component.
49
+ *
50
+ * @returns Despite the declared `void` return type, this method returns a {@link Promise} that resolves when the component is loaded or `null` if the component if fully synchronous.
51
+ */
52
+ load() {
53
+ if (this._loaded) {
54
+ return;
55
+ }
56
+ this._loaded = true;
57
+ this.onload();
58
+ const onloadAsyncPromise = this.onloadAsync();
59
+ if (onloadAsyncPromise !== noopAsyncSingletonPromise) {
60
+ this.chain(() => onloadAsyncPromise);
61
+ }
62
+ for (const child of this._children.slice()) {
63
+ this.chain(() => this.extractLoadPromisable(child));
64
+ }
65
+ if (this.loadPromise) {
66
+ return this.loadPromise;
67
+ }
68
+ }
69
+ /**
70
+ * Loads the component with promises.
71
+ *
72
+ * @returns A {@link Promise} that resolves when the component is loaded or `null` if the component and its children don't use `async` logic.
73
+ */
74
+ loadWithPromises() {
75
+ this.load();
76
+ return this.loadPromise;
77
+ }
78
+ /**
79
+ * Asynchronously loads the component.
80
+ *
81
+ * Override to add async load logic, which is executed after {@link Component.onload}.
82
+ *
83
+ * @returns A {@link Promise} that resolves when the component is loaded.
84
+ */
85
+ onloadAsync() {
86
+ return noopAsyncSingletonPromise;
87
+ }
88
+ /**
89
+ * Removes a child component.
90
+ *
91
+ * @typeParam TComponent - The type of component to remove.
92
+ * @param component - The component instance to remove.
93
+ * @returns The removed component.
94
+ */
95
+ removeChild(component) {
96
+ super.removeChild(component);
97
+ this.childrenSet.delete(component);
98
+ return component;
99
+ }
100
+ /**
101
+ * Disposes of the component.
102
+ */
103
+ [Symbol.dispose]() {
104
+ this.unload();
105
+ }
106
+ chain(promisableFn) {
107
+ if (this.loadPromise) {
108
+ this.loadPromise = this.loadPromise.then(() => promisableFn() ?? void 0);
109
+ } else {
110
+ const promisable = promisableFn();
111
+ if (promisable) {
112
+ this.loadPromise = promisable instanceof Promise ? promisable : Promise.resolve(promisable);
113
+ }
114
+ }
115
+ this.loadPromise?.catch(noop);
116
+ }
117
+ extractLoadPromisable(component) {
118
+ if (!this.childrenSet.has(component)) {
119
+ return null;
120
+ }
121
+ if (component instanceof ComponentEx) {
122
+ return component.loadWithPromises();
123
+ }
124
+ return component.load();
125
+ }
126
+ }
127
+ export {
128
+ ComponentEx
129
+ };
130
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgbG9hZFByb21pc2U6IG51bGwgfCBQcm9taXNlPHZvaWQ+ID0gbnVsbDtcblxuICAvKipcbiAgICogQWRkcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgYWRkZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmFkZChjb21wb25lbnQpO1xuXG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5jaGFpbigoKSA9PiB0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaWYgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcblxuICAgIHRoaXMub25sb2FkKCk7XG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gb25sb2FkQXN5bmNQcm9taXNlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuX2NoaWxkcmVuLnNsaWNlKCkpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBkb24ndCB1c2UgYGFzeW5jYCBsb2dpYy5cbiAgICovXG4gIHB1YmxpYyBsb2FkV2l0aFByb21pc2VzKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSBsb2FkcyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBPdmVycmlkZSB0byBhZGQgYXN5bmMgbG9hZCBsb2dpYywgd2hpY2ggaXMgZXhlY3V0ZWQgYWZ0ZXIge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoYWluKHByb21pc2FibGVGbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgdGhpcy5sb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2UudGhlbigoKSA9PiBwcm9taXNhYmxlRm4oKSA/PyB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9taXNhYmxlID0gcHJvbWlzYWJsZUZuKCk7XG4gICAgICBpZiAocHJvbWlzYWJsZSkge1xuICAgICAgICB0aGlzLmxvYWRQcm9taXNlID0gcHJvbWlzYWJsZSBpbnN0YW5jZW9mIFByb21pc2UgPyBwcm9taXNhYmxlIGFzIFByb21pc2U8dm9pZD4gOiBQcm9taXNlLnJlc29sdmUocHJvbWlzYWJsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkUHJvbWlzZT8uY2F0Y2gobm9vcCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQ6IENvbXBvbmVudCk6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXgpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQubG9hZFdpdGhQcm9taXNlcygpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvbiAtLSBJdCBjYW4gYmUgYFByb21pc2U8dm9pZD5gIGluIHJ1bnRpbWUuIFdhbnQgZXhwbGljaXRseSBjYXN0IHRvIHNob3cgd2Uga25vdyBpdCBtYXkgYmUgcHJvbWlzZSwgZGVzcGl0ZSB0aGUgZGVjbGFyZWQgdHlwZSBgdm9pZGAuXG4gICAgcmV0dXJuIGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGlCQUFpQjtBQUUxQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU1BLE1BQU0sb0JBQW9CLFVBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsY0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzVCLFNBQXVDLFdBQW1DO0FBQ3hGLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUU5QixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLE1BQU0sTUFBTSxLQUFLLHNCQUFzQixTQUFTLENBQUM7QUFBQSxJQUN4RDtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLE9BQWE7QUFDM0IsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVO0FBRWYsU0FBSyxPQUFPO0FBQ1osVUFBTSxxQkFBcUIsS0FBSyxZQUFZO0FBQzVDLFFBQUksdUJBQXVCLDJCQUEyQjtBQUNwRCxXQUFLLE1BQU0sTUFBTSxrQkFBa0I7QUFBQSxJQUNyQztBQUVBLGVBQVcsU0FBUyxLQUFLLFVBQVUsTUFBTSxHQUFHO0FBQzFDLFdBQUssTUFBTSxNQUFNLEtBQUssc0JBQXNCLEtBQUssQ0FBQztBQUFBLElBQ3BEO0FBRUEsUUFBSSxLQUFLLGFBQWE7QUFFcEIsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxtQkFBeUM7QUFDOUMsU0FBSyxLQUFLO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxjQUE2QjtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsWUFBMEMsV0FBbUM7QUFDM0YsVUFBTSxZQUFZLFNBQVM7QUFDM0IsU0FBSyxZQUFZLE9BQU8sU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsQ0FBUSxPQUFPLE9BQU8sSUFBVTtBQUM5QixTQUFLLE9BQU87QUFBQSxFQUNkO0FBQUEsRUFFUSxNQUFNLGNBQW1EO0FBQy9ELFFBQUksS0FBSyxhQUFhO0FBQ3BCLFdBQUssY0FBYyxLQUFLLFlBQVksS0FBSyxNQUFNLGFBQWEsS0FBSyxNQUFTO0FBQUEsSUFDNUUsT0FBTztBQUNMLFlBQU0sYUFBYSxhQUFhO0FBQ2hDLFVBQUksWUFBWTtBQUNkLGFBQUssY0FBYyxzQkFBc0IsVUFBVSxhQUE4QixRQUFRLFFBQVEsVUFBVTtBQUFBLE1BQzdHO0FBQUEsSUFDRjtBQUVBLFNBQUssYUFBYSxNQUFNLElBQUk7QUFBQSxFQUM5QjtBQUFBLEVBRVEsc0JBQXNCLFdBQStDO0FBQzNFLFFBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxTQUFTLEdBQUc7QUFDcEMsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLHFCQUFxQixhQUFhO0FBQ3BDLGFBQU8sVUFBVSxpQkFBaUI7QUFBQSxJQUNwQztBQUVBLFdBQU8sVUFBVSxLQUFLO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K