obsidian-dev-utils 55.4.0 → 55.4.1

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 (187) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/cjs/abort-controller.cjs +3 -1
  3. package/dist/lib/cjs/array.cjs +3 -1
  4. package/dist/lib/cjs/async-events.cjs +3 -1
  5. package/dist/lib/cjs/async.cjs +3 -1
  6. package/dist/lib/cjs/blob.cjs +3 -1
  7. package/dist/lib/cjs/codemirror/index.cjs +3 -1
  8. package/dist/lib/cjs/codemirror/state-field-spec.cjs +3 -1
  9. package/dist/lib/cjs/css-class.cjs +3 -1
  10. package/dist/lib/cjs/debug-controller.cjs +3 -1
  11. package/dist/lib/cjs/debug.cjs +3 -1
  12. package/dist/lib/cjs/enum.cjs +3 -1
  13. package/dist/lib/cjs/error.cjs +3 -1
  14. package/dist/lib/cjs/function.cjs +3 -1
  15. package/dist/lib/cjs/html-element.cjs +3 -1
  16. package/dist/lib/cjs/index.cjs +3 -1
  17. package/dist/lib/cjs/library.cjs +4 -2
  18. package/dist/lib/cjs/object-utils.cjs +3 -1
  19. package/dist/lib/cjs/obsidian/app.cjs +3 -1
  20. package/dist/lib/cjs/obsidian/async-with-notice.cjs +3 -1
  21. package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -1
  22. package/dist/lib/cjs/obsidian/backlink.cjs +3 -1
  23. package/dist/lib/cjs/obsidian/callout.cjs +3 -1
  24. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +3 -1
  25. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +3 -1
  26. package/dist/lib/cjs/obsidian/commands/command-base.cjs +3 -1
  27. package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +3 -1
  28. package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +3 -1
  29. package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +3 -1
  30. package/dist/lib/cjs/obsidian/commands/index.cjs +3 -1
  31. package/dist/lib/cjs/obsidian/commands/non-editor-command-base.cjs +3 -1
  32. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +3 -1
  33. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +3 -1
  34. package/dist/lib/cjs/obsidian/components/index.cjs +3 -1
  35. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +3 -1
  36. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +3 -1
  37. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +3 -1
  38. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +3 -1
  39. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +3 -1
  40. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +3 -1
  41. package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +3 -1
  42. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +3 -1
  43. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +3 -1
  44. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +3 -1
  45. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -1
  46. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +3 -1
  47. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +3 -1
  48. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +3 -1
  49. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +3 -1
  50. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +3 -1
  51. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +3 -1
  52. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +3 -1
  53. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +3 -1
  54. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +3 -1
  55. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +3 -1
  56. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +3 -1
  57. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +3 -1
  58. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +3 -1
  59. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +3 -1
  60. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +3 -1
  61. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +3 -1
  62. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +3 -1
  63. package/dist/lib/cjs/obsidian/constructors/index.cjs +3 -1
  64. package/dist/lib/cjs/obsidian/dataview-link.cjs +3 -1
  65. package/dist/lib/cjs/obsidian/dataview.cjs +3 -1
  66. package/dist/lib/cjs/obsidian/editor.cjs +3 -1
  67. package/dist/lib/cjs/obsidian/file-change.cjs +3 -1
  68. package/dist/lib/cjs/obsidian/file-manager.cjs +3 -1
  69. package/dist/lib/cjs/obsidian/file-system.cjs +3 -1
  70. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +3 -1
  71. package/dist/lib/cjs/obsidian/frontmatter.cjs +3 -1
  72. package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.cjs +3 -1
  73. package/dist/lib/cjs/obsidian/i18n/default-translations-base.cjs +3 -1
  74. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -1
  75. package/dist/lib/cjs/obsidian/i18n/index.cjs +3 -1
  76. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -1
  77. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +3 -1
  78. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +3 -1
  79. package/dist/lib/cjs/obsidian/index.cjs +3 -1
  80. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +3 -1
  81. package/dist/lib/cjs/obsidian/link.cjs +3 -1
  82. package/dist/lib/cjs/obsidian/logger.cjs +3 -1
  83. package/dist/lib/cjs/obsidian/loop.cjs +3 -1
  84. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +3 -1
  85. package/dist/lib/cjs/obsidian/markdown-view.cjs +3 -1
  86. package/dist/lib/cjs/obsidian/markdown.cjs +3 -1
  87. package/dist/lib/cjs/obsidian/metadata-cache.cjs +3 -1
  88. package/dist/lib/cjs/obsidian/modals/alert.cjs +3 -1
  89. package/dist/lib/cjs/obsidian/modals/confirm.cjs +3 -1
  90. package/dist/lib/cjs/obsidian/modals/index.cjs +3 -1
  91. package/dist/lib/cjs/obsidian/modals/modal-base.cjs +3 -1
  92. package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -1
  93. package/dist/lib/cjs/obsidian/modals/select-item.cjs +3 -1
  94. package/dist/lib/cjs/obsidian/monkey-around.cjs +3 -1
  95. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +3 -1
  96. package/dist/lib/cjs/obsidian/pdf.cjs +3 -1
  97. package/dist/lib/cjs/obsidian/plugin/index.cjs +3 -1
  98. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +3 -1
  99. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +3 -1
  100. package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +3 -1
  101. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +3 -1
  102. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +3 -1
  103. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +3 -1
  104. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +3 -1
  105. package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.cjs +3 -1
  106. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +3 -1
  107. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +3 -1
  108. package/dist/lib/cjs/obsidian/queue.cjs +3 -1
  109. package/dist/lib/cjs/obsidian/react/app-context.cjs +3 -1
  110. package/dist/lib/cjs/obsidian/react/index.cjs +3 -1
  111. package/dist/lib/cjs/obsidian/reference.cjs +3 -1
  112. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +3 -1
  113. package/dist/lib/cjs/obsidian/resource-url.cjs +3 -1
  114. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
  115. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +3 -1
  116. package/dist/lib/cjs/obsidian/validation.cjs +3 -1
  117. package/dist/lib/cjs/obsidian/vault-delete.cjs +3 -1
  118. package/dist/lib/cjs/obsidian/vault.cjs +3 -1
  119. package/dist/lib/cjs/obsidian/workspace.cjs +3 -1
  120. package/dist/lib/cjs/path.cjs +3 -1
  121. package/dist/lib/cjs/reg-exp.cjs +3 -1
  122. package/dist/lib/cjs/script-utils/build.cjs +3 -1
  123. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -1
  124. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -1
  125. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +3 -1
  126. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +3 -1
  127. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +3 -1
  128. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +3 -1
  129. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +3 -1
  130. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +3 -1
  131. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +3 -1
  132. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +3 -1
  133. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -1
  134. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +3 -1
  135. package/dist/lib/cjs/script-utils/bundlers/index.cjs +3 -1
  136. package/dist/lib/cjs/script-utils/cli-utils.cjs +3 -1
  137. package/dist/lib/cjs/script-utils/code-generator.cjs +3 -1
  138. package/dist/lib/cjs/script-utils/commitlint-config.cjs +3 -1
  139. package/dist/lib/cjs/script-utils/exec.cjs +3 -1
  140. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -1
  141. package/dist/lib/cjs/script-utils/formatters/index.cjs +3 -1
  142. package/dist/lib/cjs/script-utils/fs.cjs +3 -1
  143. package/dist/lib/cjs/script-utils/index.cjs +3 -1
  144. package/dist/lib/cjs/script-utils/json.cjs +3 -1
  145. package/dist/lib/cjs/script-utils/linters/cspell.cjs +3 -1
  146. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +4 -10
  147. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +3 -1
  148. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +3 -1
  149. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +3 -1
  150. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -1
  151. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +3 -1
  152. package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -1
  153. package/dist/lib/cjs/script-utils/linters/index.cjs +3 -1
  154. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +3 -1
  155. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -1
  156. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +3 -1
  157. package/dist/lib/cjs/script-utils/npm-publish.cjs +3 -1
  158. package/dist/lib/cjs/script-utils/npm-run.cjs +3 -1
  159. package/dist/lib/cjs/script-utils/npm.cjs +3 -1
  160. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -1
  161. package/dist/lib/cjs/script-utils/root.cjs +3 -1
  162. package/dist/lib/cjs/script-utils/test-runners/index.cjs +3 -1
  163. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +3 -1
  164. package/dist/lib/cjs/script-utils/version.cjs +3 -1
  165. package/dist/lib/cjs/strict-proxy.cjs +3 -1
  166. package/dist/lib/cjs/string.cjs +3 -1
  167. package/dist/lib/cjs/transformers/date-transformer.cjs +3 -1
  168. package/dist/lib/cjs/transformers/duration-transformer.cjs +3 -1
  169. package/dist/lib/cjs/transformers/group-transformer.cjs +3 -1
  170. package/dist/lib/cjs/transformers/index.cjs +3 -1
  171. package/dist/lib/cjs/transformers/map-transformer.cjs +3 -1
  172. package/dist/lib/cjs/transformers/set-transformer.cjs +3 -1
  173. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +3 -1
  174. package/dist/lib/cjs/transformers/transformer.cjs +3 -1
  175. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +3 -1
  176. package/dist/lib/cjs/transformers/typed-transformer.cjs +3 -1
  177. package/dist/lib/cjs/two-way-map.cjs +3 -1
  178. package/dist/lib/cjs/type-guards.cjs +3 -1
  179. package/dist/lib/cjs/type.cjs +3 -1
  180. package/dist/lib/cjs/url.cjs +3 -1
  181. package/dist/lib/cjs/value-provider.cjs +3 -1
  182. package/dist/lib/esm/debug.mjs +1 -1
  183. package/dist/lib/esm/html-element.mjs +1 -1
  184. package/dist/lib/esm/library.mjs +1 -1
  185. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +1 -1
  186. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -10
  187. package/package.json +1 -1
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -168,4 +170,4 @@ async function deleteIfNotUsed(app, pathOrFile, deletedNotePath, shouldReportUse
168
170
  0 && (module.exports = {
169
171
  deleteIfNotUsed
170
172
  });
171
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9lcnJvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUgfSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmltcG9ydCB7XG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICB0cmFzaFNhZmVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdCwgYnV0IG9ubHkgaWYgaXQgaXMgbm90IHJlZmVyZW5jZWQgYnkgb3RoZXIgbm90ZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byBkZWxldGUuXG4gKiBAcGFyYW0gZGVsZXRlZE5vdGVQYXRoIC0gT3B0aW9uYWwuIFRoZSBwYXRoIG9mIHRoZSBub3RlIHRoYXQgdHJpZ2dlcmVkIHRoZSByZW1vdmFsLlxuICogQHBhcmFtIHNob3VsZFJlcG9ydFVzZWRBdHRhY2htZW50cyAtIE9wdGlvbmFsLiBJZiBgdHJ1ZWAsIGEgbm90aWNlIHdpbGwgYmUgc2hvd24gZm9yIGVhY2ggYXR0YWNobWVudCB0aGF0IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuXG4gKiBAcGFyYW0gc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzIC0gT3B0aW9uYWwuIElmIGB0cnVlYCwgZW1wdHkgZm9sZGVycyB3aWxsIGJlIGRlbGV0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVJZk5vdFVzZWQoXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsXG4gIGRlbGV0ZWROb3RlUGF0aD86IHN0cmluZyxcbiAgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzPzogYm9vbGVhbixcbiAgc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzPzogYm9vbGVhblxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBpZiAoIWZpbGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgY2FuRGVsZXRlID0gaXNGaWxlKGZpbGUpIHx8IChzaG91bGREZWxldGVFbXB0eUZvbGRlcnMgPz8gdHJ1ZSk7XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFRBYnN0cmFjdEZpbGUgaXMgYWx3YXlzIFRGaWxlIG9yIFRGb2xkZXIgaW4gT2JzaWRpYW47IHRoZSBmYWxzZSBicmFuY2ggb2YgaXNGaWxlIGxlYWRzIHRvIGlzRm9sZGVyLiAqL1xuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIGZpbGUpO1xuICAgIGlmIChkZWxldGVkTm90ZVBhdGgpIHtcbiAgICAgIGJhY2tsaW5rcy5jbGVhcihkZWxldGVkTm90ZVBhdGgpO1xuICAgIH1cbiAgICBpZiAoYmFja2xpbmtzLmNvdW50KCkgIT09IDApIHtcbiAgICAgIGlmIChzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMpIHtcbiAgICAgICAgbmV3IE5vdGljZSh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMubm90aWNlcy5hdHRhY2htZW50SXNTdGlsbFVzZWQsIHsgYXR0YWNobWVudFBhdGg6IGZpbGUucGF0aCB9KSk7XG4gICAgICB9XG4gICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFRBYnN0cmFjdEZpbGUgaXMgYWx3YXlzIFRGaWxlIG9yIFRGb2xkZXIgaW4gT2JzaWRpYW47IGRlZmVuc2l2ZSBmYWxsYmFjay4gKi9cbiAgfSBlbHNlIGlmIChpc0ZvbGRlcihmaWxlKSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY29uc3QgbGlzdGVkRmlsZXMgPSBhd2FpdCBsaXN0U2FmZShhcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgY2FuRGVsZXRlICYmPSBhd2FpdCBkZWxldGVJZk5vdFVzZWQoYXBwLCBjaGlsZCwgZGVsZXRlZE5vdGVQYXRoLCBzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMpO1xuICAgIH1cblxuICAgIGNhbkRlbGV0ZSAmJj0gYXdhaXQgaXNFbXB0eUZvbGRlcihhcHAsIGZpbGUpO1xuICB9XG5cbiAgaWYgKGNhbkRlbGV0ZSkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0cmFzaFNhZmUoYXBwLCBmaWxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5EZWxldGU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHNCQUF1QjtBQUl2QixtQkFBMkI7QUFDM0IseUJBSU87QUFDUCxrQkFBa0I7QUFDbEIsNEJBQXdDO0FBQ3hDLG1CQUlPO0FBWVAsZUFBc0IsZ0JBQ3BCLEtBQ0EsWUFDQSxpQkFDQSw2QkFDQSwwQkFDa0I7QUFDbEIsUUFBTSxXQUFPLDBDQUFzQixLQUFLLFVBQVU7QUFFbEQsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksZ0JBQVksMkJBQU8sSUFBSSxNQUFNLDRCQUE0QjtBQUc3RCxVQUFJLDJCQUFPLElBQUksR0FBRztBQUVoQixVQUFNLFlBQVksVUFBTSwrQ0FBd0IsS0FBSyxJQUFJO0FBQ3pELFFBQUksaUJBQWlCO0FBQ25CLGdCQUFVLE1BQU0sZUFBZTtBQUFBLElBQ2pDO0FBQ0EsUUFBSSxVQUFVLE1BQU0sTUFBTSxHQUFHO0FBQzNCLFVBQUksNkJBQTZCO0FBQy9CLFlBQUksMkJBQU8sZUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSx1QkFBdUIsRUFBRSxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsQ0FBQztBQUFBLE1BQ3RHO0FBQ0Esa0JBQVk7QUFBQSxJQUNkO0FBQUEsRUFFRixlQUFXLDZCQUFTLElBQUksR0FBRztBQUV6QixVQUFNLGNBQWMsVUFBTSx1QkFBUyxLQUFLLElBQUk7QUFDNUMsZUFBVyxTQUFTLENBQUMsR0FBRyxZQUFZLE9BQU8sR0FBRyxZQUFZLE9BQU8sR0FBRztBQUNsRSxvQkFBYyxNQUFNLGdCQUFnQixLQUFLLE9BQU8saUJBQWlCLDJCQUEyQjtBQUFBLElBQzlGO0FBRUEsa0JBQWMsVUFBTSw0QkFBYyxLQUFLLElBQUk7QUFBQSxFQUM3QztBQUVBLE1BQUksV0FBVztBQUNiLFFBQUk7QUFDRixnQkFBTSx3QkFBVSxLQUFLLElBQUk7QUFBQSxJQUMzQixTQUFTLEdBQUc7QUFDVixtQ0FBVyxJQUFJLE1BQU0sb0JBQW9CLEtBQUssSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNuRSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
173
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9lcnJvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUgfSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmltcG9ydCB7XG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICB0cmFzaFNhZmVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdCwgYnV0IG9ubHkgaWYgaXQgaXMgbm90IHJlZmVyZW5jZWQgYnkgb3RoZXIgbm90ZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byBkZWxldGUuXG4gKiBAcGFyYW0gZGVsZXRlZE5vdGVQYXRoIC0gT3B0aW9uYWwuIFRoZSBwYXRoIG9mIHRoZSBub3RlIHRoYXQgdHJpZ2dlcmVkIHRoZSByZW1vdmFsLlxuICogQHBhcmFtIHNob3VsZFJlcG9ydFVzZWRBdHRhY2htZW50cyAtIE9wdGlvbmFsLiBJZiBgdHJ1ZWAsIGEgbm90aWNlIHdpbGwgYmUgc2hvd24gZm9yIGVhY2ggYXR0YWNobWVudCB0aGF0IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuXG4gKiBAcGFyYW0gc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzIC0gT3B0aW9uYWwuIElmIGB0cnVlYCwgZW1wdHkgZm9sZGVycyB3aWxsIGJlIGRlbGV0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVJZk5vdFVzZWQoXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsXG4gIGRlbGV0ZWROb3RlUGF0aD86IHN0cmluZyxcbiAgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzPzogYm9vbGVhbixcbiAgc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzPzogYm9vbGVhblxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBpZiAoIWZpbGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgY2FuRGVsZXRlID0gaXNGaWxlKGZpbGUpIHx8IChzaG91bGREZWxldGVFbXB0eUZvbGRlcnMgPz8gdHJ1ZSk7XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFRBYnN0cmFjdEZpbGUgaXMgYWx3YXlzIFRGaWxlIG9yIFRGb2xkZXIgaW4gT2JzaWRpYW47IHRoZSBmYWxzZSBicmFuY2ggb2YgaXNGaWxlIGxlYWRzIHRvIGlzRm9sZGVyLiAqL1xuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIGZpbGUpO1xuICAgIGlmIChkZWxldGVkTm90ZVBhdGgpIHtcbiAgICAgIGJhY2tsaW5rcy5jbGVhcihkZWxldGVkTm90ZVBhdGgpO1xuICAgIH1cbiAgICBpZiAoYmFja2xpbmtzLmNvdW50KCkgIT09IDApIHtcbiAgICAgIGlmIChzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMpIHtcbiAgICAgICAgbmV3IE5vdGljZSh0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMubm90aWNlcy5hdHRhY2htZW50SXNTdGlsbFVzZWQsIHsgYXR0YWNobWVudFBhdGg6IGZpbGUucGF0aCB9KSk7XG4gICAgICB9XG4gICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFRBYnN0cmFjdEZpbGUgaXMgYWx3YXlzIFRGaWxlIG9yIFRGb2xkZXIgaW4gT2JzaWRpYW47IGRlZmVuc2l2ZSBmYWxsYmFjay4gKi9cbiAgfSBlbHNlIGlmIChpc0ZvbGRlcihmaWxlKSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY29uc3QgbGlzdGVkRmlsZXMgPSBhd2FpdCBsaXN0U2FmZShhcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgY2FuRGVsZXRlICYmPSBhd2FpdCBkZWxldGVJZk5vdFVzZWQoYXBwLCBjaGlsZCwgZGVsZXRlZE5vdGVQYXRoLCBzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMpO1xuICAgIH1cblxuICAgIGNhbkRlbGV0ZSAmJj0gYXdhaXQgaXNFbXB0eUZvbGRlcihhcHAsIGZpbGUpO1xuICB9XG5cbiAgaWYgKGNhbkRlbGV0ZSkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0cmFzaFNhZmUoYXBwLCBmaWxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5EZWxldGU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBQXVCO0FBSXZCLG1CQUEyQjtBQUMzQix5QkFJTztBQUNQLGtCQUFrQjtBQUNsQiw0QkFBd0M7QUFDeEMsbUJBSU87QUFZUCxlQUFzQixnQkFDcEIsS0FDQSxZQUNBLGlCQUNBLDZCQUNBLDBCQUNrQjtBQUNsQixRQUFNLFdBQU8sMENBQXNCLEtBQUssVUFBVTtBQUVsRCxNQUFJLENBQUMsTUFBTTtBQUNULFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxnQkFBWSwyQkFBTyxJQUFJLE1BQU0sNEJBQTRCO0FBRzdELFVBQUksMkJBQU8sSUFBSSxHQUFHO0FBRWhCLFVBQU0sWUFBWSxVQUFNLCtDQUF3QixLQUFLLElBQUk7QUFDekQsUUFBSSxpQkFBaUI7QUFDbkIsZ0JBQVUsTUFBTSxlQUFlO0FBQUEsSUFDakM7QUFDQSxRQUFJLFVBQVUsTUFBTSxNQUFNLEdBQUc7QUFDM0IsVUFBSSw2QkFBNkI7QUFDL0IsWUFBSSwyQkFBTyxlQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLHVCQUF1QixFQUFFLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQUEsTUFDdEc7QUFDQSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUVGLGVBQVcsNkJBQVMsSUFBSSxHQUFHO0FBRXpCLFVBQU0sY0FBYyxVQUFNLHVCQUFTLEtBQUssSUFBSTtBQUM1QyxlQUFXLFNBQVMsQ0FBQyxHQUFHLFlBQVksT0FBTyxHQUFHLFlBQVksT0FBTyxHQUFHO0FBQ2xFLG9CQUFjLE1BQU0sZ0JBQWdCLEtBQUssT0FBTyxpQkFBaUIsMkJBQTJCO0FBQUEsSUFDOUY7QUFFQSxrQkFBYyxVQUFNLDRCQUFjLEtBQUssSUFBSTtBQUFBLEVBQzdDO0FBRUEsTUFBSSxXQUFXO0FBQ2IsUUFBSTtBQUNGLGdCQUFNLHdCQUFVLEtBQUssSUFBSTtBQUFBLElBQzNCLFNBQVMsR0FBRztBQUNWLG1DQUFXLElBQUksTUFBTSxvQkFBb0IsS0FBSyxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ25FLGtCQUFZO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -537,4 +539,4 @@ async function invokeFileActionSafe(app, pathOrFile, fileAction) {
537
539
  saveNote,
538
540
  trashSafe
539
541
  });
540
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgT2JzaWRpYW4gVmF1bHQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEV2ZW50UmVmLFxuICBMaXN0ZWRGaWxlc1xufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIE1hcmtkb3duVmlldyxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgZ2V0RGF0YUFkYXB0ZXJFeCxcbiAgcGFyZW50Rm9sZGVyUGF0aCxcbiAgVmlld1R5cGVcbn0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFJldHJ5T3B0aW9ucyB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgUGF0aE9yQWJzdHJhY3RGaWxlLFxuICBQYXRoT3JGaWxlLFxuICBQYXRoT3JGb2xkZXJcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IGFib3J0U2lnbmFsQW55IH0gZnJvbSAnLi4vYWJvcnQtY29udHJvbGxlci50cyc7XG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IG5vb3BBc3luYyB9IGZyb20gJy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBqb2luXG59IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHsgcmV0cnlXaXRoVGltZW91dE5vdGljZSB9IGZyb20gJy4vYXN5bmMtd2l0aC1ub3RpY2UudHMnO1xuaW1wb3J0IHtcbiAgbG9ja0VkaXRvcixcbiAgdW5sb2NrRWRpdG9yXG59IGZyb20gJy4vZWRpdG9yLnRzJztcbmltcG9ydCB7XG4gIGFzRmlsZSxcbiAgYXNGb2xkZXIsXG4gIEZpbGVTeXN0ZW1UeXBlLFxuICBnZXRBYnN0cmFjdEZpbGUsXG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0RmlsZVN5c3RlbVR5cGUsXG4gIGdldEZvbGRlcixcbiAgZ2V0Rm9sZGVyT3JOdWxsLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGVcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIEFyZ3VtZW50cyBmb3Ige0BsaW5rIHByb2Nlc3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRBcmdzIHtcbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9jZXNzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzT3B0aW9ucyBleHRlbmRzIFJldHJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZhaWwgaWYgdGhlIGZpbGUgaXMgbWlzc2luZyBvciBkZWxldGVkLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBsb2NrIHRoZSBlZGl0b3Igd2hpbGUgcHJvY2Vzc2luZyB0aGUgZmlsZS4gQXBwbGljYWJsZSBvbmx5IGZvciBtYXJrZG93biBmaWxlcy4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRMb2NrRWRpdG9yV2hpbGVQcm9jZXNzaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvcGllcyBhIGZpbGUgc2FmZWx5IGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIG9sZFBhdGhPckZpbGUgLSBUaGUgb2xkIHBhdGggb3IgZmlsZSB0byBjb3B5LlxuICogQHBhcmFtIG5ld1BhdGggLSBUaGUgbmV3IHBhdGggdG8gY29weSB0aGUgZmlsZSB0by5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG5ldyBwYXRoIG9mIHRoZSBjb3BpZWQgZmlsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvcHlTYWZlKGFwcDogQXBwLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBuZXdQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIG9sZFBhdGhPckZpbGUpO1xuXG4gIGlmIChmaWxlLnBhdGggPT09IG5ld1BhdGgpIHtcbiAgICByZXR1cm4gbmV3UGF0aDtcbiAgfVxuXG4gIGNvbnN0IG5ld0ZvbGRlclBhdGggPSBwYXJlbnRGb2xkZXJQYXRoKG5ld1BhdGgpO1xuICBhd2FpdCBjcmVhdGVGb2xkZXJTYWZlKGFwcCwgbmV3Rm9sZGVyUGF0aCk7XG5cbiAgY29uc3QgbmV3QXZhaWxhYmxlUGF0aCA9IGdldEF2YWlsYWJsZVBhdGgoYXBwLCBuZXdQYXRoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGFwcC52YXVsdC5jb3B5KGZpbGUsIG5ld0F2YWlsYWJsZVBhdGgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCFhd2FpdCBhcHAudmF1bHQuZXhpc3RzKG5ld0F2YWlsYWJsZVBhdGgpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdBdmFpbGFibGVQYXRoO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZm9sZGVyIHdhcyBjcmVhdGVkLlxuICogQHRocm93cyBJZiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgY3JlYXRpbmcgdGhlIGZvbGRlciBhbmQgaXQgc3RpbGwgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUZvbGRlclNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuZXhpc3RzKHBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhcHAudmF1bHQuY3JlYXRlRm9sZGVyKHBhdGgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCFhd2FpdCBhcHAudmF1bHQuZXhpc3RzKHBhdGgpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gY3JlYXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGaWxlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPCgpID0+IFByb21pc2U8dm9pZD4+IHtcbiAgbGV0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aCk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIG5vb3BBc3luYztcbiAgfVxuXG4gIGNvbnN0IGZvbGRlckNsZWFudXAgPSBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKHBhdGgsICcnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhwYXRoKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGF3YWl0IHRyYXNoU2FmZShhcHAsIGZpbGUpO1xuICAgIH1cbiAgICBhd2FpdCBmb2xkZXJDbGVhbnVwKCk7XG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRlbXBvcmFyeSBmb2xkZXIgaW4gdGhlIHZhdWx0IHdpdGggcGFyZW50IGZvbGRlcnMgaWYgbmVlZGVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmb2xkZXIgYW5kIGFsbCBpdHMgY3JlYXRlZCBwYXJlbnRzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVGVtcEZvbGRlcihhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTwoKSA9PiBQcm9taXNlPHZvaWQ+PiB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoKTtcbiAgaWYgKGZvbGRlcikge1xuICAgIHJldHVybiBub29wQXN5bmM7XG4gIH1cblxuICBjb25zdCBmb2xkZXJQYXRoID0gcGFyZW50Rm9sZGVyUGF0aChwYXRoKTtcbiAgYXdhaXQgY3JlYXRlVGVtcEZvbGRlcihhcHAsIGZvbGRlclBhdGgpO1xuXG4gIGNvbnN0IGZvbGRlckNsZWFudXAgPSBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG5cbiAgYXdhaXQgY3JlYXRlRm9sZGVyU2FmZShhcHAsIHBhdGgpO1xuXG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgZm9sZGVyID0gZ2V0Rm9sZGVyKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmb2xkZXIuZGVsZXRlZCkge1xuICAgICAgYXdhaXQgdHJhc2hTYWZlKGFwcCwgZm9sZGVyKTtcbiAgICB9XG4gICAgYXdhaXQgZm9sZGVyQ2xlYW51cCgpO1xuICB9O1xufVxuXG4vKipcbiAqIERlbGV0ZXMgYW4gZW1wdHkgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIGZvbGRlciB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZvbGRlciBpcyBkZWxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlRW1wdHlGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogbnVsbCB8IFBhdGhPckZvbGRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIpO1xuICBpZiAoIWZvbGRlcikge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoIWF3YWl0IGlzRW1wdHlGb2xkZXIoYXBwLCBmb2xkZXIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGF3YWl0IHRyYXNoU2FmZShhcHAsIGZvbGRlcik7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBlbXB0eSBmb2xkZXIgaGllcmFyY2h5IHN0YXJ0aW5nIGZyb20gdGhlIGdpdmVuIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBmb2xkZXIgdG8gc3RhcnQgcmVtb3ZpbmcgZW1wdHkgaGllcmFyY2h5IGZyb20uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVtcHR5IGhpZXJhcmNoeSBpcyBkZWxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHkoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogbnVsbCB8IFBhdGhPckZvbGRlcik6IFByb21pc2U8dm9pZD4ge1xuICBsZXQgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aE9yRm9sZGVyKTtcblxuICB3aGlsZSAoZm9sZGVyKSB7XG4gICAgaWYgKCFhd2FpdCBpc0VtcHR5Rm9sZGVyKGFwcCwgZm9sZGVyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnQgPSBmb2xkZXIucGFyZW50O1xuICAgIGF3YWl0IGRlbGV0ZUVtcHR5Rm9sZGVyKGFwcCwgZm9sZGVyKTtcbiAgICBmb2xkZXIgPSBwYXJlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIGEgc2FmZSBwYXRoIGZvciBhIGZpbGUgb3IgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIG9yIGZvbGRlciB0byBnZXQgYSBzYWZlIHBhdGggZm9yLlxuICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZmlsZSBzeXN0ZW0gb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHNhZmUgcGF0aCBmb3IgdGhlIGZpbGUgb3IgZm9sZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWJzdHJhY3RGaWxlUGF0aFNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgdHlwZTogRmlsZVN5c3RlbVR5cGUpOiBzdHJpbmcge1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoKTtcblxuICBpZiAoYWJzdHJhY3RGaWxlICYmIGdldEZpbGVTeXN0ZW1UeXBlKGFic3RyYWN0RmlsZSkgPT09IHR5cGUpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBnZXRBdmFpbGFibGVQYXRoKGFwcCwgcGF0aCk7XG59XG5cbi8qKlxuICogR2V0cyBhbiBhdmFpbGFibGUgcGF0aCBmb3IgYSBmaWxlIGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBnZXQgYW4gYXZhaWxhYmxlIHBhdGggZm9yLlxuICogQHJldHVybnMgVGhlIGF2YWlsYWJsZSBwYXRoIGZvciB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZVBhdGgoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGV4dCA9IGV4dG5hbWUocGF0aCk7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QXZhaWxhYmxlUGF0aChqb2luKGRpcm5hbWUocGF0aCksIGJhc2VuYW1lKHBhdGgsIGV4dCkpLCBleHQuc2xpY2UoMSkpO1xufVxuXG4vKipcbiAqIEdldHMgYSBzYWZlIGZpbGUgcGF0aCBmb3IgYSBmaWxlIG9yIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSBvciBmb2xkZXIgdG8gZ2V0IGEgc2FmZSBwYXRoIGZvci5cbiAqIEByZXR1cm5zIFRoZSBzYWZlIHBhdGggZm9yIHRoZSBmaWxlIG9yIGZvbGRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYXRoU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRmlsZSk7XG59XG5cbi8qKlxuICogR2V0cyBhIHNhZmUgZm9sZGVyIHBhdGggZm9yIGEgZmlsZSBvciBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgb3IgZm9sZGVyIHRvIGdldCBhIHNhZmUgcGF0aCBmb3IuXG4gKiBAcmV0dXJucyBUaGUgc2FmZSBwYXRoIGZvciB0aGUgZmlsZSBvciBmb2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJQYXRoU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRm9sZGVyKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYXJyYXkgb2YgTWFya2Rvd24gZmlsZXMgZnJvbSB0aGUgYXBwJ3MgdmF1bHQgYW5kIHNvcnRzIHRoZW0gYWxwaGFiZXRpY2FsbHkgYnkgdGhlaXIgZmlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgTWFya2Rvd24gZmlsZXMgc29ydGVkIGJ5IGZpbGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hcmtkb3duRmlsZXNTb3J0ZWQoYXBwOiBBcHApOiBURmlsZVtdIHtcbiAgcmV0dXJuIGFwcC52YXVsdC5nZXRNYXJrZG93bkZpbGVzKCkuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIGFsbCBub3RlIGZpbGVzIGZyb20gdGhlIGFwcCdzIHZhdWx0IGFuZCBzb3J0cyB0aGVtIGFscGhhYmV0aWNhbGx5IGJ5IHRoZWlyIGZpbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBub3RlIGZpbGVzIGluIHRoZSB2YXVsdCBzb3J0ZWQgYnkgZmlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm90ZUZpbGVzU29ydGVkKGFwcDogQXBwKTogVEZpbGVbXSB7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QWxsTG9hZGVkRmlsZXMoKS5maWx0ZXIoKGZpbGUpID0+IGlzRmlsZShmaWxlKSAmJiBpc05vdGUoYXBwLCBmaWxlKSkuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSkgYXMgVEZpbGVbXTtcbn1cblxuLyoqXG4gKiBHZXRzIG9yIGNyZWF0ZXMgYW4gYWJzdHJhY3QgZmlsZSBzYWZlbHkgaW4gdGhlIHNwZWNpZmllZCBwYXRoLlxuICpcbiAqIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIHJldHVybmVkLlxuICogSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZCBhbmQgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGFic3RyYWN0IGZpbGUgdG8gZ2V0IG9yIGNyZWF0ZS5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGFic3RyYWN0IGZpbGUgdG8gZ2V0IG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGFic3RyYWN0IGZpbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUFic3RyYWN0RmlsZVNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgdHlwZTogRmlsZVN5c3RlbVR5cGUpOiBQcm9taXNlPFRBYnN0cmFjdEZpbGU+IHtcbiAgcGF0aCA9IGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgdHlwZSk7XG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoYWJzdHJhY3RGaWxlKSB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgRmlsZVN5c3RlbVR5cGUuRmlsZTpcbiAgICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKHBhdGgsICcnKTtcbiAgICBjYXNlIEZpbGVTeXN0ZW1UeXBlLkZvbGRlcjpcbiAgICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlRm9sZGVyKHBhdGgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmlsZSBzeXN0ZW0gdHlwZTogJHt0eXBlIGFzIHN0cmluZ31gKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgb3IgY3JlYXRlcyBhIGZpbGUgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBJZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cywgaXQgd2lsbCBiZSByZXR1cm5lZC5cbiAqIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIGJlIGNyZWF0ZWQgYW5kIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGdldCBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmaWxlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T3JDcmVhdGVGaWxlU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICByZXR1cm4gYXNGaWxlKGF3YWl0IGdldE9yQ3JlYXRlQWJzdHJhY3RGaWxlU2FmZShhcHAsIHBhdGgsIEZpbGVTeXN0ZW1UeXBlLkZpbGUpKTtcbn1cblxuLyoqXG4gKiBHZXRzIG9yIGNyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBJZiB0aGUgZm9sZGVyIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIHJldHVybmVkLlxuICogSWYgdGhlIGZvbGRlciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBiZSBjcmVhdGVkIGFuZCByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGdldCBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUZvbGRlclNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8VEZvbGRlcj4ge1xuICByZXR1cm4gYXNGb2xkZXIoYXdhaXQgZ2V0T3JDcmVhdGVBYnN0cmFjdEZpbGVTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRm9sZGVyKSk7XG59XG5cbi8qKlxuICogR2V0cyBhIHNhZmUgcmVuYW1lIHBhdGggZm9yIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIG9sZFBhdGhPckFic3RyYWN0RmlsZSAtIFRoZSBvbGQgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJlbmFtZS5cbiAqIEBwYXJhbSBuZXdQYXRoIC0gVGhlIG5ldyBwYXRoIHRvIHJlbmFtZSB0aGUgYWJzdHJhY3QgZmlsZSB0by5cbiAqIEByZXR1cm5zIFRoZSBzYWZlIHJlbmFtZSBwYXRoIGZvciB0aGUgYWJzdHJhY3QgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNhZmVSZW5hbWVQYXRoKGFwcDogQXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgb2xkUGF0aCA9IGdldFBhdGgoYXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGUpO1xuXG4gIGlmIChnZXREYXRhQWRhcHRlckV4KGFwcCkuaW5zZW5zaXRpdmUpIHtcbiAgICBsZXQgZm9sZGVyUGF0aCA9IGRpcm5hbWUobmV3UGF0aCk7XG4gICAgbGV0IG5vbkV4aXN0aW5nUGF0aCA9IGJhc2VuYW1lKG5ld1BhdGgpO1xuICAgIGxldCBmb2xkZXI6IG51bGwgfCBURm9sZGVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIFRoZXJlIGlzIG5vIGVsZWdhbnQgd2F5IHRvIHBlcmZvcm0gaW5maW5pdGUgbG9vcHMuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIGZvbGRlclBhdGgsIHRydWUpO1xuICAgICAgaWYgKGZvbGRlcikge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG5vbkV4aXN0aW5nUGF0aCA9IGpvaW4oYmFzZW5hbWUoZm9sZGVyUGF0aCksIG5vbkV4aXN0aW5nUGF0aCk7XG4gICAgICBmb2xkZXJQYXRoID0gZGlybmFtZShmb2xkZXJQYXRoKTtcbiAgICB9XG4gICAgbmV3UGF0aCA9IGpvaW4oZm9sZGVyLmdldFBhcmVudFByZWZpeCgpLCBub25FeGlzdGluZ1BhdGgpO1xuICB9XG5cbiAgaWYgKG9sZFBhdGgudG9Mb3dlckNhc2UoKSA9PT0gbmV3UGF0aC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgcmV0dXJuIG5ld1BhdGg7XG4gIH1cblxuICByZXR1cm4gZ2V0QXZhaWxhYmxlUGF0aChhcHAsIG5ld1BhdGgpO1xufVxuXG4vKipcbiAqIEludm9rZXMgYSBmdW5jdGlvbiB3aXRoIHRoZSBmaWxlIHN5c3RlbSBsb2NrLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgZmlsZSBzeXN0ZW0gbG9jayBvZi5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBleGVjdXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlV2l0aEZpbGVTeXN0ZW1Mb2NrKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBmbjogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBhd2FpdCBhcHAudmF1bHQucHJvY2VzcyhmaWxlLCAoY29udGVudCkgPT4ge1xuICAgIGZuKGNvbnRlbnQpO1xuICAgIHJldHVybiBjb250ZW50O1xuICB9KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBwYXRoIG9yIGZpbGUgaXMgYSBjaGlsZCBvZiBhbm90aGVyIHBhdGggb3IgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgcGF0aCBvciBmaWxlLlxuICogQHBhcmFtIGIgLSBUaGUgc2Vjb25kIHBhdGggb3IgZmlsZS5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpcnN0IHBhdGggb3IgZmlsZSBpcyBhIGNoaWxkIG9mIHRoZSBzZWNvbmQgcGF0aCBvciBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZChhcHA6IEFwcCwgYTogUGF0aE9yQWJzdHJhY3RGaWxlLCBiOiBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgY29uc3QgYVBhdGggPSBnZXRQYXRoKGFwcCwgYSk7XG4gIGNvbnN0IGJQYXRoID0gZ2V0UGF0aChhcHAsIGIpO1xuXG4gIGlmIChhUGF0aCA9PT0gYlBhdGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoYlBhdGggPT09ICcvJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGFQYXRoLnN0YXJ0c1dpdGgoYCR7YlBhdGh9L2ApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHBhdGggb3IgZmlsZSBpcyBhIGNoaWxkIG9yIHNlbGYgb2YgYW5vdGhlciBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBhIC0gVGhlIGZpcnN0IHBhdGggb3IgZmlsZS5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCBwYXRoIG9yIGZpbGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaXJzdCBwYXRoIG9yIGZpbGUgaXMgYSBjaGlsZCBvciBzZWxmIG9mIHRoZSBzZWNvbmQgcGF0aCBvciBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZE9yU2VsZihhcHA6IEFwcCwgYTogUGF0aE9yQWJzdHJhY3RGaWxlLCBiOiBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgY29uc3QgYVBhdGggPSBnZXRQYXRoKGFwcCwgYSk7XG4gIGNvbnN0IGJQYXRoID0gZ2V0UGF0aChhcHAsIGIpO1xuICByZXR1cm4gYVBhdGggPT09IGJQYXRoIHx8IGlzQ2hpbGQoYXBwLCBhLCBiKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmb2xkZXIgaXMgZW1wdHkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZvbGRlciBpcyBlbXB0eS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzRW1wdHlGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGxpc3RlZEZpbGVzID0gYXdhaXQgbGlzdFNhZmUoYXBwLCBnZXRQYXRoKGFwcCwgcGF0aE9yRm9sZGVyKSk7XG4gIHJldHVybiBsaXN0ZWRGaWxlcy5maWxlcy5sZW5ndGggPT09IDAgJiYgbGlzdGVkRmlsZXMuZm9sZGVycy5sZW5ndGggPT09IDA7XG59XG5cbi8qKlxuICogU2FmZWx5IGxpc3RzIHRoZSBmaWxlcyBhbmQgZm9sZGVycyBhdCB0aGUgc3BlY2lmaWVkIHBhdGggaW4gdGhlIHZhdWx0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIGxpc3QuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIExpc3RlZEZpbGVzfSBvYmplY3QgY29udGFpbmluZyB0aGUgbGlzdGVkIGZpbGVzIGFuZCBmb2xkZXJzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGlzdFNhZmUoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyKTogUHJvbWlzZTxMaXN0ZWRGaWxlcz4ge1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZvbGRlcik7XG4gIGNvbnN0IEVNUFRZID0geyBmaWxlczogW10sIGZvbGRlcnM6IFtdIH07XG5cbiAgaWYgKChhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KHBhdGgpKT8udHlwZSAhPT0gJ2ZvbGRlcicpIHtcbiAgICByZXR1cm4gRU1QVFk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5saXN0KHBhdGgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGF3YWl0IGFwcC52YXVsdC5leGlzdHMocGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBhIGZpbGUgd2l0aCByZXRyeSBsb2dpYywgdXBkYXRpbmcgaXRzIGNvbnRlbnQgYmFzZWQgb24gYSBwcm92aWRlZCB2YWx1ZSBvciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLCB0eXBpY2FsbHkgdXNlZCBmb3IgYWNjZXNzaW5nIHRoZSB2YXVsdC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBiZSBwcm9jZXNzZWQuIEl0IGNhbiBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhdGggb3IgYSBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBuZXdDb250ZW50UHJvdmlkZXIgLSBBIHZhbHVlIHByb3ZpZGVyIHRoYXQgcmV0dXJucyB0aGUgbmV3IGNvbnRlbnQgYmFzZWQgb24gdGhlIG9sZCBjb250ZW50IG9mIHRoZSBmaWxlLlxuICogSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgb2xkIGNvbnRlbnQgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgdGhlIG5ldyBjb250ZW50LlxuICogSWYgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIGl0IHNob3VsZCByZXR1cm4gYG51bGxgIGlmIHRoZSBwcm9jZXNzIHNob3VsZCBiZSByZXRyaWVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBwcm9jZXNzIGlzIGNvbXBsZXRlLlxuICpcbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgcHJvY2VzcyBmYWlscyBhZnRlciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXRyaWVzIG9yIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgbmV3Q29udGVudFByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPG51bGwgfCBzdHJpbmcsIENvbnRlbnRBcmdzPixcbiAgb3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUyA9IHtcbiAgICBzaG91bGRGYWlsT25NaXNzaW5nRmlsZTogdHJ1ZSxcbiAgICBzaG91bGRMb2NrRWRpdG9yV2hpbGVQcm9jZXNzaW5nOiB0cnVlLFxuICAgIHNob3VsZFNob3dUaW1lb3V0Tm90aWNlOiB0cnVlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIERlZmF1bHQgdmFsdWUuXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiA1MDBcbiAgfTtcbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGZ1bGxPcHRpb25zLmFib3J0U2lnbmFsID0gYWJvcnRTaWduYWxBbnkoZnVsbE9wdGlvbnMuYWJvcnRTaWduYWwsIGFib3J0Q29udHJvbGxlci5zaWduYWwpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGxldCBhY3RpdmVMZWFmQ2hhbmdlRXZlbnRSZWY6IEV2ZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGZ1bGxPcHRpb25zLnNob3VsZExvY2tFZGl0b3JXaGlsZVByb2Nlc3NpbmcpIHtcbiAgICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoVmlld1R5cGUuTWFya2Rvd24pKSB7XG4gICAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICAgIGxvY2tFZGl0b3IobGVhZi52aWV3LmVkaXRvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWN0aXZlTGVhZkNoYW5nZUV2ZW50UmVmID0gYXBwLndvcmtzcGFjZS5vbignYWN0aXZlLWxlYWYtY2hhbmdlJywgKGxlYWYpID0+IHtcbiAgICAgIGlmIChsZWFmPy52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICAgIGxvY2tFZGl0b3IobGVhZi52aWV3LmVkaXRvcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXROb3RpY2Uoe1xuICAgICAgYXN5bmMgb3BlcmF0aW9uRm4oYWJvcnRTaWduYWwpIHtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBjb25zdCBvbGRDb250ZW50ID0gYXdhaXQgcmVhZFNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBpZiAob2xkQ29udGVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBoYW5kbGVNaXNzaW5nRmlsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShuZXdDb250ZW50UHJvdmlkZXIsIHsgYWJvcnRTaWduYWwsIGNvbnRlbnQ6IG9sZENvbnRlbnQgfSk7XG4gICAgICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG5cbiAgICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaXNTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZG9lc0ZpbGVFeGlzdCA9IGF3YWl0IGludm9rZUZpbGVBY3Rpb25TYWZlKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGZpbGUpID0+IHtcbiAgICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICAgIGF3YWl0IGFwcC52YXVsdC5wcm9jZXNzKGZpbGUsIChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICAgICAgaWYgKGNvbnRlbnQgIT09IG9sZENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgZ2V0TGliRGVidWdnZXIoJ1ZhdWx0OnByb2Nlc3MnKSgnQ29udGVudCBoYXMgY2hhbmdlZCBzaW5jZSBpdCB3YXMgcmVhZC4gUmV0cnlpbmcuLi4nLCB7XG4gICAgICAgICAgICAgICAgYWN0dWFsQ29udGVudDogY29udGVudCxcbiAgICAgICAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IG9sZENvbnRlbnQsXG4gICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpc1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdDb250ZW50O1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFkb2VzRmlsZUV4aXN0KSB7XG4gICAgICAgICAgcmV0dXJuIGhhbmRsZU1pc3NpbmdGaWxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNTdWNjZXNzO1xuXG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZU1pc3NpbmdGaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICAgIGlmIChmdWxsT3B0aW9ucy5zaG91bGRGYWlsT25NaXNzaW5nRmlsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlICcke3BhdGh9JyBub3QgZm91bmRgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcGVyYXRpb25OYW1lOiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMudmF1bHQucHJvY2Vzc0ZpbGUsIHsgZmlsZVBhdGg6IHBhdGggfSksXG4gICAgICByZXRyeU9wdGlvbnM6IGZ1bGxPcHRpb25zLFxuICAgICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IGZ1bGxPcHRpb25zLnNob3VsZFNob3dUaW1lb3V0Tm90aWNlXG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgYWN0aXZlTGVhZkNoYW5nZUV2ZW50UmVmPy5lLm9mZnJlZihhY3RpdmVMZWFmQ2hhbmdlRXZlbnRSZWYpO1xuICAgIGZvciAoY29uc3QgbGVhZiBvZiBhcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShWaWV3VHlwZS5NYXJrZG93bikpIHtcbiAgICAgIGlmIChsZWFmLnZpZXcgaW5zdGFuY2VvZiBNYXJrZG93blZpZXcgJiYgbGVhZi52aWV3LmZpbGU/LnBhdGggPT09IHBhdGgpIHtcbiAgICAgICAgdW5sb2NrRWRpdG9yKGxlYWYudmlldy5lZGl0b3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBjb250ZW50IG9mIGEgZmlsZSBzYWZlbHkgZnJvbSB0aGUgdmF1bHQuXG4gKlxuICogSXQgY292ZXJzIHRoZSBjYXNlIHdoZW4gdGhlIGZpbGUgd2FzIHJlbW92ZWQgZHVyaW5nIHRoZSByZWFkaW5nLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmVhZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgb3IgYG51bGxgIGlmIHRoZSBmaWxlIGlzIG1pc3Npbmcgb3IgZGVsZXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGxldCBjb250ZW50OiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgYXdhaXQgaW52b2tlRmlsZUFjdGlvblNhZmUoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoZmlsZSkgPT4ge1xuICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgZmlsZSk7XG4gICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICB9KTtcbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbi8qKlxuICogUmVuYW1lcyBhIGZpbGUgc2FmZWx5IGluIHRoZSB2YXVsdC5cbiAqIElmIHRoZSBuZXcgcGF0aCBhbHJlYWR5IGV4aXN0cywgdGhlIGZpbGUgd2lsbCBiZSByZW5hbWVkIHRvIGFuIGF2YWlsYWJsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gb2xkUGF0aE9yQWJzdHJhY3RGaWxlIC0gVGhlIG9sZCBwYXRoIG9yIGZpbGUgdG8gcmVuYW1lLlxuICogQHBhcmFtIG5ld1BhdGggLSBUaGUgbmV3IHBhdGggdG8gcmVuYW1lIHRoZSBmaWxlIHRvLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgbmV3IHBhdGggb2YgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5hbWVTYWZlKGFwcDogQXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgb2xkQWJzdHJhY3RGaWxlID0gZ2V0QWJzdHJhY3RGaWxlKGFwcCwgb2xkUGF0aE9yQWJzdHJhY3RGaWxlKTtcblxuICBjb25zdCBuZXdBdmFpbGFibGVQYXRoID0gZ2V0U2FmZVJlbmFtZVBhdGgoYXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGUsIG5ld1BhdGgpO1xuXG4gIGlmIChvbGRBYnN0cmFjdEZpbGUucGF0aC50b0xvd2VyQ2FzZSgpID09PSBuZXdBdmFpbGFibGVQYXRoLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBpZiAob2xkQWJzdHJhY3RGaWxlLnBhdGggIT09IG5ld1BhdGgpIHtcbiAgICAgIGF3YWl0IGFwcC5maWxlTWFuYWdlci5yZW5hbWVGaWxlKG9sZEFic3RyYWN0RmlsZSwgbmV3QXZhaWxhYmxlUGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBuZXdBdmFpbGFibGVQYXRoO1xuICB9XG5cbiAgY29uc3QgbmV3Rm9sZGVyUGF0aCA9IHBhcmVudEZvbGRlclBhdGgobmV3QXZhaWxhYmxlUGF0aCk7XG4gIGF3YWl0IGNyZWF0ZUZvbGRlclNhZmUoYXBwLCBuZXdGb2xkZXJQYXRoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGFwcC5maWxlTWFuYWdlci5yZW5hbWVGaWxlKG9sZEFic3RyYWN0RmlsZSwgbmV3QXZhaWxhYmxlUGF0aCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIWF3YWl0IGFwcC52YXVsdC5leGlzdHMobmV3QXZhaWxhYmxlUGF0aCkgfHwgYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhvbGRBYnN0cmFjdEZpbGUucGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld0F2YWlsYWJsZVBhdGg7XG59XG5cbi8qKlxuICogU2F2ZXMgdGhlIHNwZWNpZmllZCBub3RlIGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBub3RlIHRvIGJlIHNhdmVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2F2ZU5vdGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShhcHAsIHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoVmlld1R5cGUuTWFya2Rvd24pKSB7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldyAmJiBsZWFmLnZpZXcuZmlsZT8ucGF0aCA9PT0gcGF0aCAmJiBsZWFmLnZpZXcuZGlydHkpIHtcbiAgICAgIGF3YWl0IGxlYWYudmlldy5zYXZlKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHJhc2hlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHRyYXNoLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHRyYXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0cmFzaFNhZmUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmICghZmlsZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnRyYXNoRmlsZShmaWxlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChhd2FpdCBhcHAudmF1bHQuZXhpc3RzKGZpbGUucGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuXG4gICAgZ2V0TGliRGVidWdnZXIoJ1ZhdWx0OnRyYXNoU2FmZScpKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFzaGluZyAke2ZpbGUucGF0aH0sIGJ1dCB0aGUgZmlsZSBubyBsb25nZXIgZXhpc3RzLmAsIHsgZXJyb3I6IGUsIHBhdGg6IGZpbGUucGF0aCB9KTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBpbnZva2VGaWxlQWN0aW9uU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgZmlsZUFjdGlvbjogKGZpbGU6IFRGaWxlKSA9PiBQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGxldCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgYXdhaXQgZmlsZUFjdGlvbihmaWxlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
542
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgT2JzaWRpYW4gVmF1bHQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEV2ZW50UmVmLFxuICBMaXN0ZWRGaWxlc1xufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIE1hcmtkb3duVmlldyxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgZ2V0RGF0YUFkYXB0ZXJFeCxcbiAgcGFyZW50Rm9sZGVyUGF0aCxcbiAgVmlld1R5cGVcbn0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFJldHJ5T3B0aW9ucyB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgUGF0aE9yQWJzdHJhY3RGaWxlLFxuICBQYXRoT3JGaWxlLFxuICBQYXRoT3JGb2xkZXJcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IGFib3J0U2lnbmFsQW55IH0gZnJvbSAnLi4vYWJvcnQtY29udHJvbGxlci50cyc7XG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IG5vb3BBc3luYyB9IGZyb20gJy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBqb2luXG59IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHsgcmV0cnlXaXRoVGltZW91dE5vdGljZSB9IGZyb20gJy4vYXN5bmMtd2l0aC1ub3RpY2UudHMnO1xuaW1wb3J0IHtcbiAgbG9ja0VkaXRvcixcbiAgdW5sb2NrRWRpdG9yXG59IGZyb20gJy4vZWRpdG9yLnRzJztcbmltcG9ydCB7XG4gIGFzRmlsZSxcbiAgYXNGb2xkZXIsXG4gIEZpbGVTeXN0ZW1UeXBlLFxuICBnZXRBYnN0cmFjdEZpbGUsXG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0RmlsZVN5c3RlbVR5cGUsXG4gIGdldEZvbGRlcixcbiAgZ2V0Rm9sZGVyT3JOdWxsLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGVcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuXG4vKipcbiAqIEFyZ3VtZW50cyBmb3Ige0BsaW5rIHByb2Nlc3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRBcmdzIHtcbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9jZXNzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzT3B0aW9ucyBleHRlbmRzIFJldHJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZhaWwgaWYgdGhlIGZpbGUgaXMgbWlzc2luZyBvciBkZWxldGVkLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBsb2NrIHRoZSBlZGl0b3Igd2hpbGUgcHJvY2Vzc2luZyB0aGUgZmlsZS4gQXBwbGljYWJsZSBvbmx5IGZvciBtYXJrZG93biBmaWxlcy4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRMb2NrRWRpdG9yV2hpbGVQcm9jZXNzaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvcGllcyBhIGZpbGUgc2FmZWx5IGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIG9sZFBhdGhPckZpbGUgLSBUaGUgb2xkIHBhdGggb3IgZmlsZSB0byBjb3B5LlxuICogQHBhcmFtIG5ld1BhdGggLSBUaGUgbmV3IHBhdGggdG8gY29weSB0aGUgZmlsZSB0by5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG5ldyBwYXRoIG9mIHRoZSBjb3BpZWQgZmlsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvcHlTYWZlKGFwcDogQXBwLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBuZXdQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIG9sZFBhdGhPckZpbGUpO1xuXG4gIGlmIChmaWxlLnBhdGggPT09IG5ld1BhdGgpIHtcbiAgICByZXR1cm4gbmV3UGF0aDtcbiAgfVxuXG4gIGNvbnN0IG5ld0ZvbGRlclBhdGggPSBwYXJlbnRGb2xkZXJQYXRoKG5ld1BhdGgpO1xuICBhd2FpdCBjcmVhdGVGb2xkZXJTYWZlKGFwcCwgbmV3Rm9sZGVyUGF0aCk7XG5cbiAgY29uc3QgbmV3QXZhaWxhYmxlUGF0aCA9IGdldEF2YWlsYWJsZVBhdGgoYXBwLCBuZXdQYXRoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGFwcC52YXVsdC5jb3B5KGZpbGUsIG5ld0F2YWlsYWJsZVBhdGgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCFhd2FpdCBhcHAudmF1bHQuZXhpc3RzKG5ld0F2YWlsYWJsZVBhdGgpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdBdmFpbGFibGVQYXRoO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZm9sZGVyIHdhcyBjcmVhdGVkLlxuICogQHRocm93cyBJZiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgY3JlYXRpbmcgdGhlIGZvbGRlciBhbmQgaXQgc3RpbGwgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUZvbGRlclNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuZXhpc3RzKHBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhcHAudmF1bHQuY3JlYXRlRm9sZGVyKHBhdGgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCFhd2FpdCBhcHAudmF1bHQuZXhpc3RzKHBhdGgpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gY3JlYXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGaWxlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPCgpID0+IFByb21pc2U8dm9pZD4+IHtcbiAgbGV0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aCk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIG5vb3BBc3luYztcbiAgfVxuXG4gIGNvbnN0IGZvbGRlckNsZWFudXAgPSBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKHBhdGgsICcnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhwYXRoKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGF3YWl0IHRyYXNoU2FmZShhcHAsIGZpbGUpO1xuICAgIH1cbiAgICBhd2FpdCBmb2xkZXJDbGVhbnVwKCk7XG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRlbXBvcmFyeSBmb2xkZXIgaW4gdGhlIHZhdWx0IHdpdGggcGFyZW50IGZvbGRlcnMgaWYgbmVlZGVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmb2xkZXIgYW5kIGFsbCBpdHMgY3JlYXRlZCBwYXJlbnRzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVGVtcEZvbGRlcihhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTwoKSA9PiBQcm9taXNlPHZvaWQ+PiB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoKTtcbiAgaWYgKGZvbGRlcikge1xuICAgIHJldHVybiBub29wQXN5bmM7XG4gIH1cblxuICBjb25zdCBmb2xkZXJQYXRoID0gcGFyZW50Rm9sZGVyUGF0aChwYXRoKTtcbiAgYXdhaXQgY3JlYXRlVGVtcEZvbGRlcihhcHAsIGZvbGRlclBhdGgpO1xuXG4gIGNvbnN0IGZvbGRlckNsZWFudXAgPSBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG5cbiAgYXdhaXQgY3JlYXRlRm9sZGVyU2FmZShhcHAsIHBhdGgpO1xuXG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgZm9sZGVyID0gZ2V0Rm9sZGVyKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmb2xkZXIuZGVsZXRlZCkge1xuICAgICAgYXdhaXQgdHJhc2hTYWZlKGFwcCwgZm9sZGVyKTtcbiAgICB9XG4gICAgYXdhaXQgZm9sZGVyQ2xlYW51cCgpO1xuICB9O1xufVxuXG4vKipcbiAqIERlbGV0ZXMgYW4gZW1wdHkgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIGZvbGRlciB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZvbGRlciBpcyBkZWxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlRW1wdHlGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogbnVsbCB8IFBhdGhPckZvbGRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIpO1xuICBpZiAoIWZvbGRlcikge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoIWF3YWl0IGlzRW1wdHlGb2xkZXIoYXBwLCBmb2xkZXIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGF3YWl0IHRyYXNoU2FmZShhcHAsIGZvbGRlcik7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBlbXB0eSBmb2xkZXIgaGllcmFyY2h5IHN0YXJ0aW5nIGZyb20gdGhlIGdpdmVuIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBmb2xkZXIgdG8gc3RhcnQgcmVtb3ZpbmcgZW1wdHkgaGllcmFyY2h5IGZyb20uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVtcHR5IGhpZXJhcmNoeSBpcyBkZWxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHkoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogbnVsbCB8IFBhdGhPckZvbGRlcik6IFByb21pc2U8dm9pZD4ge1xuICBsZXQgZm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgcGF0aE9yRm9sZGVyKTtcblxuICB3aGlsZSAoZm9sZGVyKSB7XG4gICAgaWYgKCFhd2FpdCBpc0VtcHR5Rm9sZGVyKGFwcCwgZm9sZGVyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnQgPSBmb2xkZXIucGFyZW50O1xuICAgIGF3YWl0IGRlbGV0ZUVtcHR5Rm9sZGVyKGFwcCwgZm9sZGVyKTtcbiAgICBmb2xkZXIgPSBwYXJlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIGEgc2FmZSBwYXRoIGZvciBhIGZpbGUgb3IgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIG9yIGZvbGRlciB0byBnZXQgYSBzYWZlIHBhdGggZm9yLlxuICogQHBhcmFtIHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZmlsZSBzeXN0ZW0gb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHNhZmUgcGF0aCBmb3IgdGhlIGZpbGUgb3IgZm9sZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWJzdHJhY3RGaWxlUGF0aFNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgdHlwZTogRmlsZVN5c3RlbVR5cGUpOiBzdHJpbmcge1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoKTtcblxuICBpZiAoYWJzdHJhY3RGaWxlICYmIGdldEZpbGVTeXN0ZW1UeXBlKGFic3RyYWN0RmlsZSkgPT09IHR5cGUpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBnZXRBdmFpbGFibGVQYXRoKGFwcCwgcGF0aCk7XG59XG5cbi8qKlxuICogR2V0cyBhbiBhdmFpbGFibGUgcGF0aCBmb3IgYSBmaWxlIGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBnZXQgYW4gYXZhaWxhYmxlIHBhdGggZm9yLlxuICogQHJldHVybnMgVGhlIGF2YWlsYWJsZSBwYXRoIGZvciB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZVBhdGgoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGV4dCA9IGV4dG5hbWUocGF0aCk7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QXZhaWxhYmxlUGF0aChqb2luKGRpcm5hbWUocGF0aCksIGJhc2VuYW1lKHBhdGgsIGV4dCkpLCBleHQuc2xpY2UoMSkpO1xufVxuXG4vKipcbiAqIEdldHMgYSBzYWZlIGZpbGUgcGF0aCBmb3IgYSBmaWxlIG9yIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSBvciBmb2xkZXIgdG8gZ2V0IGEgc2FmZSBwYXRoIGZvci5cbiAqIEByZXR1cm5zIFRoZSBzYWZlIHBhdGggZm9yIHRoZSBmaWxlIG9yIGZvbGRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYXRoU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRmlsZSk7XG59XG5cbi8qKlxuICogR2V0cyBhIHNhZmUgZm9sZGVyIHBhdGggZm9yIGEgZmlsZSBvciBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUgb3IgZm9sZGVyIHRvIGdldCBhIHNhZmUgcGF0aCBmb3IuXG4gKiBAcmV0dXJucyBUaGUgc2FmZSBwYXRoIGZvciB0aGUgZmlsZSBvciBmb2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJQYXRoU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRm9sZGVyKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYXJyYXkgb2YgTWFya2Rvd24gZmlsZXMgZnJvbSB0aGUgYXBwJ3MgdmF1bHQgYW5kIHNvcnRzIHRoZW0gYWxwaGFiZXRpY2FsbHkgYnkgdGhlaXIgZmlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgTWFya2Rvd24gZmlsZXMgc29ydGVkIGJ5IGZpbGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hcmtkb3duRmlsZXNTb3J0ZWQoYXBwOiBBcHApOiBURmlsZVtdIHtcbiAgcmV0dXJuIGFwcC52YXVsdC5nZXRNYXJrZG93bkZpbGVzKCkuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIGFsbCBub3RlIGZpbGVzIGZyb20gdGhlIGFwcCdzIHZhdWx0IGFuZCBzb3J0cyB0aGVtIGFscGhhYmV0aWNhbGx5IGJ5IHRoZWlyIGZpbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBub3RlIGZpbGVzIGluIHRoZSB2YXVsdCBzb3J0ZWQgYnkgZmlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm90ZUZpbGVzU29ydGVkKGFwcDogQXBwKTogVEZpbGVbXSB7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QWxsTG9hZGVkRmlsZXMoKS5maWx0ZXIoKGZpbGUpID0+IGlzRmlsZShmaWxlKSAmJiBpc05vdGUoYXBwLCBmaWxlKSkuc29ydCgoYSwgYikgPT4gYS5wYXRoLmxvY2FsZUNvbXBhcmUoYi5wYXRoKSkgYXMgVEZpbGVbXTtcbn1cblxuLyoqXG4gKiBHZXRzIG9yIGNyZWF0ZXMgYW4gYWJzdHJhY3QgZmlsZSBzYWZlbHkgaW4gdGhlIHNwZWNpZmllZCBwYXRoLlxuICpcbiAqIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIHJldHVybmVkLlxuICogSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZCBhbmQgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGFic3RyYWN0IGZpbGUgdG8gZ2V0IG9yIGNyZWF0ZS5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGFic3RyYWN0IGZpbGUgdG8gZ2V0IG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGFic3RyYWN0IGZpbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUFic3RyYWN0RmlsZVNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZywgdHlwZTogRmlsZVN5c3RlbVR5cGUpOiBQcm9taXNlPFRBYnN0cmFjdEZpbGU+IHtcbiAgcGF0aCA9IGdldEFic3RyYWN0RmlsZVBhdGhTYWZlKGFwcCwgcGF0aCwgdHlwZSk7XG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoYWJzdHJhY3RGaWxlKSB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgRmlsZVN5c3RlbVR5cGUuRmlsZTpcbiAgICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKHBhdGgsICcnKTtcbiAgICBjYXNlIEZpbGVTeXN0ZW1UeXBlLkZvbGRlcjpcbiAgICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlRm9sZGVyKHBhdGgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmlsZSBzeXN0ZW0gdHlwZTogJHt0eXBlIGFzIHN0cmluZ31gKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgb3IgY3JlYXRlcyBhIGZpbGUgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBJZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cywgaXQgd2lsbCBiZSByZXR1cm5lZC5cbiAqIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIGJlIGNyZWF0ZWQgYW5kIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGdldCBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmaWxlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T3JDcmVhdGVGaWxlU2FmZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICByZXR1cm4gYXNGaWxlKGF3YWl0IGdldE9yQ3JlYXRlQWJzdHJhY3RGaWxlU2FmZShhcHAsIHBhdGgsIEZpbGVTeXN0ZW1UeXBlLkZpbGUpKTtcbn1cblxuLyoqXG4gKiBHZXRzIG9yIGNyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBJZiB0aGUgZm9sZGVyIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIHJldHVybmVkLlxuICogSWYgdGhlIGZvbGRlciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBiZSBjcmVhdGVkIGFuZCByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGdldCBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUZvbGRlclNhZmUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8VEZvbGRlcj4ge1xuICByZXR1cm4gYXNGb2xkZXIoYXdhaXQgZ2V0T3JDcmVhdGVBYnN0cmFjdEZpbGVTYWZlKGFwcCwgcGF0aCwgRmlsZVN5c3RlbVR5cGUuRm9sZGVyKSk7XG59XG5cbi8qKlxuICogR2V0cyBhIHNhZmUgcmVuYW1lIHBhdGggZm9yIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIG9sZFBhdGhPckFic3RyYWN0RmlsZSAtIFRoZSBvbGQgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJlbmFtZS5cbiAqIEBwYXJhbSBuZXdQYXRoIC0gVGhlIG5ldyBwYXRoIHRvIHJlbmFtZSB0aGUgYWJzdHJhY3QgZmlsZSB0by5cbiAqIEByZXR1cm5zIFRoZSBzYWZlIHJlbmFtZSBwYXRoIGZvciB0aGUgYWJzdHJhY3QgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNhZmVSZW5hbWVQYXRoKGFwcDogQXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgb2xkUGF0aCA9IGdldFBhdGgoYXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGUpO1xuXG4gIGlmIChnZXREYXRhQWRhcHRlckV4KGFwcCkuaW5zZW5zaXRpdmUpIHtcbiAgICBsZXQgZm9sZGVyUGF0aCA9IGRpcm5hbWUobmV3UGF0aCk7XG4gICAgbGV0IG5vbkV4aXN0aW5nUGF0aCA9IGJhc2VuYW1lKG5ld1BhdGgpO1xuICAgIGxldCBmb2xkZXI6IG51bGwgfCBURm9sZGVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIFRoZXJlIGlzIG5vIGVsZWdhbnQgd2F5IHRvIHBlcmZvcm0gaW5maW5pdGUgbG9vcHMuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIGZvbGRlclBhdGgsIHRydWUpO1xuICAgICAgaWYgKGZvbGRlcikge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG5vbkV4aXN0aW5nUGF0aCA9IGpvaW4oYmFzZW5hbWUoZm9sZGVyUGF0aCksIG5vbkV4aXN0aW5nUGF0aCk7XG4gICAgICBmb2xkZXJQYXRoID0gZGlybmFtZShmb2xkZXJQYXRoKTtcbiAgICB9XG4gICAgbmV3UGF0aCA9IGpvaW4oZm9sZGVyLmdldFBhcmVudFByZWZpeCgpLCBub25FeGlzdGluZ1BhdGgpO1xuICB9XG5cbiAgaWYgKG9sZFBhdGgudG9Mb3dlckNhc2UoKSA9PT0gbmV3UGF0aC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgcmV0dXJuIG5ld1BhdGg7XG4gIH1cblxuICByZXR1cm4gZ2V0QXZhaWxhYmxlUGF0aChhcHAsIG5ld1BhdGgpO1xufVxuXG4vKipcbiAqIEludm9rZXMgYSBmdW5jdGlvbiB3aXRoIHRoZSBmaWxlIHN5c3RlbSBsb2NrLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgZmlsZSBzeXN0ZW0gbG9jayBvZi5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBleGVjdXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlV2l0aEZpbGVTeXN0ZW1Mb2NrKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBmbjogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBhd2FpdCBhcHAudmF1bHQucHJvY2VzcyhmaWxlLCAoY29udGVudCkgPT4ge1xuICAgIGZuKGNvbnRlbnQpO1xuICAgIHJldHVybiBjb250ZW50O1xuICB9KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBwYXRoIG9yIGZpbGUgaXMgYSBjaGlsZCBvZiBhbm90aGVyIHBhdGggb3IgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgcGF0aCBvciBmaWxlLlxuICogQHBhcmFtIGIgLSBUaGUgc2Vjb25kIHBhdGggb3IgZmlsZS5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpcnN0IHBhdGggb3IgZmlsZSBpcyBhIGNoaWxkIG9mIHRoZSBzZWNvbmQgcGF0aCBvciBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZChhcHA6IEFwcCwgYTogUGF0aE9yQWJzdHJhY3RGaWxlLCBiOiBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgY29uc3QgYVBhdGggPSBnZXRQYXRoKGFwcCwgYSk7XG4gIGNvbnN0IGJQYXRoID0gZ2V0UGF0aChhcHAsIGIpO1xuXG4gIGlmIChhUGF0aCA9PT0gYlBhdGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoYlBhdGggPT09ICcvJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGFQYXRoLnN0YXJ0c1dpdGgoYCR7YlBhdGh9L2ApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHBhdGggb3IgZmlsZSBpcyBhIGNoaWxkIG9yIHNlbGYgb2YgYW5vdGhlciBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBhIC0gVGhlIGZpcnN0IHBhdGggb3IgZmlsZS5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCBwYXRoIG9yIGZpbGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaXJzdCBwYXRoIG9yIGZpbGUgaXMgYSBjaGlsZCBvciBzZWxmIG9mIHRoZSBzZWNvbmQgcGF0aCBvciBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZE9yU2VsZihhcHA6IEFwcCwgYTogUGF0aE9yQWJzdHJhY3RGaWxlLCBiOiBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgY29uc3QgYVBhdGggPSBnZXRQYXRoKGFwcCwgYSk7XG4gIGNvbnN0IGJQYXRoID0gZ2V0UGF0aChhcHAsIGIpO1xuICByZXR1cm4gYVBhdGggPT09IGJQYXRoIHx8IGlzQ2hpbGQoYXBwLCBhLCBiKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmb2xkZXIgaXMgZW1wdHkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZvbGRlciBpcyBlbXB0eS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzRW1wdHlGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGxpc3RlZEZpbGVzID0gYXdhaXQgbGlzdFNhZmUoYXBwLCBnZXRQYXRoKGFwcCwgcGF0aE9yRm9sZGVyKSk7XG4gIHJldHVybiBsaXN0ZWRGaWxlcy5maWxlcy5sZW5ndGggPT09IDAgJiYgbGlzdGVkRmlsZXMuZm9sZGVycy5sZW5ndGggPT09IDA7XG59XG5cbi8qKlxuICogU2FmZWx5IGxpc3RzIHRoZSBmaWxlcyBhbmQgZm9sZGVycyBhdCB0aGUgc3BlY2lmaWVkIHBhdGggaW4gdGhlIHZhdWx0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIGxpc3QuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIExpc3RlZEZpbGVzfSBvYmplY3QgY29udGFpbmluZyB0aGUgbGlzdGVkIGZpbGVzIGFuZCBmb2xkZXJzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGlzdFNhZmUoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyKTogUHJvbWlzZTxMaXN0ZWRGaWxlcz4ge1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZvbGRlcik7XG4gIGNvbnN0IEVNUFRZID0geyBmaWxlczogW10sIGZvbGRlcnM6IFtdIH07XG5cbiAgaWYgKChhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KHBhdGgpKT8udHlwZSAhPT0gJ2ZvbGRlcicpIHtcbiAgICByZXR1cm4gRU1QVFk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5saXN0KHBhdGgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGF3YWl0IGFwcC52YXVsdC5leGlzdHMocGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBhIGZpbGUgd2l0aCByZXRyeSBsb2dpYywgdXBkYXRpbmcgaXRzIGNvbnRlbnQgYmFzZWQgb24gYSBwcm92aWRlZCB2YWx1ZSBvciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLCB0eXBpY2FsbHkgdXNlZCBmb3IgYWNjZXNzaW5nIHRoZSB2YXVsdC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBiZSBwcm9jZXNzZWQuIEl0IGNhbiBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhdGggb3IgYSBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBuZXdDb250ZW50UHJvdmlkZXIgLSBBIHZhbHVlIHByb3ZpZGVyIHRoYXQgcmV0dXJucyB0aGUgbmV3IGNvbnRlbnQgYmFzZWQgb24gdGhlIG9sZCBjb250ZW50IG9mIHRoZSBmaWxlLlxuICogSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgb2xkIGNvbnRlbnQgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgdGhlIG5ldyBjb250ZW50LlxuICogSWYgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIGl0IHNob3VsZCByZXR1cm4gYG51bGxgIGlmIHRoZSBwcm9jZXNzIHNob3VsZCBiZSByZXRyaWVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBwcm9jZXNzIGlzIGNvbXBsZXRlLlxuICpcbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgcHJvY2VzcyBmYWlscyBhZnRlciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXRyaWVzIG9yIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgbmV3Q29udGVudFByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPG51bGwgfCBzdHJpbmcsIENvbnRlbnRBcmdzPixcbiAgb3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUyA9IHtcbiAgICBzaG91bGRGYWlsT25NaXNzaW5nRmlsZTogdHJ1ZSxcbiAgICBzaG91bGRMb2NrRWRpdG9yV2hpbGVQcm9jZXNzaW5nOiB0cnVlLFxuICAgIHNob3VsZFNob3dUaW1lb3V0Tm90aWNlOiB0cnVlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIERlZmF1bHQgdmFsdWUuXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiA1MDBcbiAgfTtcbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGZ1bGxPcHRpb25zLmFib3J0U2lnbmFsID0gYWJvcnRTaWduYWxBbnkoZnVsbE9wdGlvbnMuYWJvcnRTaWduYWwsIGFib3J0Q29udHJvbGxlci5zaWduYWwpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGxldCBhY3RpdmVMZWFmQ2hhbmdlRXZlbnRSZWY6IEV2ZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGZ1bGxPcHRpb25zLnNob3VsZExvY2tFZGl0b3JXaGlsZVByb2Nlc3NpbmcpIHtcbiAgICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoVmlld1R5cGUuTWFya2Rvd24pKSB7XG4gICAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICAgIGxvY2tFZGl0b3IobGVhZi52aWV3LmVkaXRvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWN0aXZlTGVhZkNoYW5nZUV2ZW50UmVmID0gYXBwLndvcmtzcGFjZS5vbignYWN0aXZlLWxlYWYtY2hhbmdlJywgKGxlYWYpID0+IHtcbiAgICAgIGlmIChsZWFmPy52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICAgIGxvY2tFZGl0b3IobGVhZi52aWV3LmVkaXRvcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXROb3RpY2Uoe1xuICAgICAgYXN5bmMgb3BlcmF0aW9uRm4oYWJvcnRTaWduYWwpIHtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBjb25zdCBvbGRDb250ZW50ID0gYXdhaXQgcmVhZFNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBpZiAob2xkQ29udGVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBoYW5kbGVNaXNzaW5nRmlsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShuZXdDb250ZW50UHJvdmlkZXIsIHsgYWJvcnRTaWduYWwsIGNvbnRlbnQ6IG9sZENvbnRlbnQgfSk7XG4gICAgICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG5cbiAgICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaXNTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZG9lc0ZpbGVFeGlzdCA9IGF3YWl0IGludm9rZUZpbGVBY3Rpb25TYWZlKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGZpbGUpID0+IHtcbiAgICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICAgIGF3YWl0IGFwcC52YXVsdC5wcm9jZXNzKGZpbGUsIChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICAgICAgaWYgKGNvbnRlbnQgIT09IG9sZENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgZ2V0TGliRGVidWdnZXIoJ1ZhdWx0OnByb2Nlc3MnKSgnQ29udGVudCBoYXMgY2hhbmdlZCBzaW5jZSBpdCB3YXMgcmVhZC4gUmV0cnlpbmcuLi4nLCB7XG4gICAgICAgICAgICAgICAgYWN0dWFsQ29udGVudDogY29udGVudCxcbiAgICAgICAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IG9sZENvbnRlbnQsXG4gICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpc1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdDb250ZW50O1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFkb2VzRmlsZUV4aXN0KSB7XG4gICAgICAgICAgcmV0dXJuIGhhbmRsZU1pc3NpbmdGaWxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNTdWNjZXNzO1xuXG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZU1pc3NpbmdGaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICAgIGlmIChmdWxsT3B0aW9ucy5zaG91bGRGYWlsT25NaXNzaW5nRmlsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlICcke3BhdGh9JyBub3QgZm91bmRgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcGVyYXRpb25OYW1lOiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMudmF1bHQucHJvY2Vzc0ZpbGUsIHsgZmlsZVBhdGg6IHBhdGggfSksXG4gICAgICByZXRyeU9wdGlvbnM6IGZ1bGxPcHRpb25zLFxuICAgICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IGZ1bGxPcHRpb25zLnNob3VsZFNob3dUaW1lb3V0Tm90aWNlXG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgYWN0aXZlTGVhZkNoYW5nZUV2ZW50UmVmPy5lLm9mZnJlZihhY3RpdmVMZWFmQ2hhbmdlRXZlbnRSZWYpO1xuICAgIGZvciAoY29uc3QgbGVhZiBvZiBhcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShWaWV3VHlwZS5NYXJrZG93bikpIHtcbiAgICAgIGlmIChsZWFmLnZpZXcgaW5zdGFuY2VvZiBNYXJrZG93blZpZXcgJiYgbGVhZi52aWV3LmZpbGU/LnBhdGggPT09IHBhdGgpIHtcbiAgICAgICAgdW5sb2NrRWRpdG9yKGxlYWYudmlldy5lZGl0b3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBjb250ZW50IG9mIGEgZmlsZSBzYWZlbHkgZnJvbSB0aGUgdmF1bHQuXG4gKlxuICogSXQgY292ZXJzIHRoZSBjYXNlIHdoZW4gdGhlIGZpbGUgd2FzIHJlbW92ZWQgZHVyaW5nIHRoZSByZWFkaW5nLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmVhZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgb3IgYG51bGxgIGlmIHRoZSBmaWxlIGlzIG1pc3Npbmcgb3IgZGVsZXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGxldCBjb250ZW50OiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgYXdhaXQgaW52b2tlRmlsZUFjdGlvblNhZmUoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoZmlsZSkgPT4ge1xuICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgZmlsZSk7XG4gICAgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xuICB9KTtcbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbi8qKlxuICogUmVuYW1lcyBhIGZpbGUgc2FmZWx5IGluIHRoZSB2YXVsdC5cbiAqIElmIHRoZSBuZXcgcGF0aCBhbHJlYWR5IGV4aXN0cywgdGhlIGZpbGUgd2lsbCBiZSByZW5hbWVkIHRvIGFuIGF2YWlsYWJsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gb2xkUGF0aE9yQWJzdHJhY3RGaWxlIC0gVGhlIG9sZCBwYXRoIG9yIGZpbGUgdG8gcmVuYW1lLlxuICogQHBhcmFtIG5ld1BhdGggLSBUaGUgbmV3IHBhdGggdG8gcmVuYW1lIHRoZSBmaWxlIHRvLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgbmV3IHBhdGggb2YgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5hbWVTYWZlKGFwcDogQXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgb2xkQWJzdHJhY3RGaWxlID0gZ2V0QWJzdHJhY3RGaWxlKGFwcCwgb2xkUGF0aE9yQWJzdHJhY3RGaWxlKTtcblxuICBjb25zdCBuZXdBdmFpbGFibGVQYXRoID0gZ2V0U2FmZVJlbmFtZVBhdGgoYXBwLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGUsIG5ld1BhdGgpO1xuXG4gIGlmIChvbGRBYnN0cmFjdEZpbGUucGF0aC50b0xvd2VyQ2FzZSgpID09PSBuZXdBdmFpbGFibGVQYXRoLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBpZiAob2xkQWJzdHJhY3RGaWxlLnBhdGggIT09IG5ld1BhdGgpIHtcbiAgICAgIGF3YWl0IGFwcC5maWxlTWFuYWdlci5yZW5hbWVGaWxlKG9sZEFic3RyYWN0RmlsZSwgbmV3QXZhaWxhYmxlUGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBuZXdBdmFpbGFibGVQYXRoO1xuICB9XG5cbiAgY29uc3QgbmV3Rm9sZGVyUGF0aCA9IHBhcmVudEZvbGRlclBhdGgobmV3QXZhaWxhYmxlUGF0aCk7XG4gIGF3YWl0IGNyZWF0ZUZvbGRlclNhZmUoYXBwLCBuZXdGb2xkZXJQYXRoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGFwcC5maWxlTWFuYWdlci5yZW5hbWVGaWxlKG9sZEFic3RyYWN0RmlsZSwgbmV3QXZhaWxhYmxlUGF0aCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIWF3YWl0IGFwcC52YXVsdC5leGlzdHMobmV3QXZhaWxhYmxlUGF0aCkgfHwgYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhvbGRBYnN0cmFjdEZpbGUucGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld0F2YWlsYWJsZVBhdGg7XG59XG5cbi8qKlxuICogU2F2ZXMgdGhlIHNwZWNpZmllZCBub3RlIGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBub3RlIHRvIGJlIHNhdmVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2F2ZU5vdGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShhcHAsIHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoVmlld1R5cGUuTWFya2Rvd24pKSB7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldyAmJiBsZWFmLnZpZXcuZmlsZT8ucGF0aCA9PT0gcGF0aCAmJiBsZWFmLnZpZXcuZGlydHkpIHtcbiAgICAgIGF3YWl0IGxlYWYudmlldy5zYXZlKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHJhc2hlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHRyYXNoLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHRyYXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0cmFzaFNhZmUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmICghZmlsZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnRyYXNoRmlsZShmaWxlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChhd2FpdCBhcHAudmF1bHQuZXhpc3RzKGZpbGUucGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuXG4gICAgZ2V0TGliRGVidWdnZXIoJ1ZhdWx0OnRyYXNoU2FmZScpKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFzaGluZyAke2ZpbGUucGF0aH0sIGJ1dCB0aGUgZmlsZSBubyBsb25nZXIgZXhpc3RzLmAsIHsgZXJyb3I6IGUsIHBhdGg6IGZpbGUucGF0aCB9KTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBpbnZva2VGaWxlQWN0aW9uU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgZmlsZUFjdGlvbjogKGZpbGU6IFRGaWxlKSA9PiBQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGxldCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgYXdhaXQgZmlsZUFjdGlvbihmaWxlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aCk7XG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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LFVBQU0sSUFBSSxZQUFZLFdBQVcsaUJBQWlCLGdCQUFnQjtBQUFBLEVBQ3BFLFNBQVMsR0FBRztBQUNWLFFBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxPQUFPLGdCQUFnQixLQUFLLE1BQU0sSUFBSSxNQUFNLE9BQU8sZ0JBQWdCLElBQUksR0FBRztBQUM3RixZQUFNO0FBQUEsSUFDUjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFTQSxlQUFzQixTQUFTLEtBQVUsWUFBdUM7QUFDOUUsTUFBSSxLQUFDLG1DQUFlLEtBQUssVUFBVSxHQUFHO0FBQ3BDO0FBQUEsRUFDRjtBQUVBLFFBQU0sV0FBTyw0QkFBUSxLQUFLLFVBQVU7QUFFcEMsYUFBVyxRQUFRLElBQUksVUFBVSxnQkFBZ0IsZ0NBQVMsUUFBUSxHQUFHO0FBQ25FLFFBQUksS0FBSyxnQkFBZ0IsZ0NBQWdCLEtBQUssS0FBSyxNQUFNLFNBQVMsUUFBUSxLQUFLLEtBQUssT0FBTztBQUN6RixZQUFNLEtBQUssS0FBSyxLQUFLO0FBQUEsSUFDdkI7QUFBQSxFQUNGO0FBQ0Y7QUFTQSxlQUFzQixVQUFVLEtBQVUsWUFBK0M7QUFDdkYsUUFBTSxXQUFPLDBDQUFzQixLQUFLLFVBQVU7QUFDbEQsTUFBSSxDQUFDLE1BQU07QUFDVDtBQUFBLEVBQ0Y7QUFFQSxNQUFJO0FBQ0YsVUFBTSxJQUFJLFlBQVksVUFBVSxJQUFJO0FBQUEsRUFDdEMsU0FBUyxHQUFHO0FBQ1YsUUFBSSxNQUFNLElBQUksTUFBTSxPQUFPLEtBQUssSUFBSSxHQUFHO0FBQ3JDLFlBQU07QUFBQSxJQUNSO0FBRUEscUNBQWUsaUJBQWlCLEVBQUUsb0NBQW9DLEtBQUssSUFBSSxvQ0FBb0MsRUFBRSxPQUFPLEdBQUcsTUFBTSxLQUFLLEtBQUssQ0FBQztBQUFBLEVBQ2xKO0FBQ0Y7QUFFQSxlQUFlLHFCQUFxQixLQUFVLFlBQXdCLFlBQThEO0FBQ2xJLFFBQU0sV0FBTyw0QkFBUSxLQUFLLFVBQVU7QUFDcEMsTUFBSSxXQUFPLGtDQUFjLEtBQUssSUFBSTtBQUNsQyxNQUFJLENBQUMsUUFBUSxLQUFLLFNBQVM7QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJO0FBQ0YsVUFBTSxXQUFXLElBQUk7QUFDckIsV0FBTztBQUFBLEVBQ1QsU0FBUyxHQUFHO0FBQ1YsZUFBTyxrQ0FBYyxLQUFLLElBQUk7QUFDOUIsUUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO0FBQ3pCLGFBQU87QUFBQSxJQUNUO0FBQ0EsVUFBTTtBQUFBLEVBQ1I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -140,4 +142,4 @@ function getAllDomWindows(app) {
140
142
  getAllContainers,
141
143
  getAllDomWindows
142
144
  });
143
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFkZGl0aW9uYWwgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggdGhlIE9ic2lkaWFuIHtAbGluayBXb3Jrc3BhY2V9LlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBXb3Jrc3BhY2VgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuICBXb3Jrc3BhY2UsXG4gIFdvcmtzcGFjZUNvbnRhaW5lclxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgY29udGFpbmVycyBpbiB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQWxsIGNvbnRhaW5lcnMgaW4gdGhlIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbENvbnRhaW5lcnMoYXBwOiBBcHApOiBXb3Jrc3BhY2VDb250YWluZXJbXSB7XG4gIGNvbnN0IGNvbnRhaW5lcnMgPSBuZXcgU2V0PFdvcmtzcGFjZUNvbnRhaW5lcj4oKTtcbiAgYXBwLndvcmtzcGFjZS5pdGVyYXRlQWxsTGVhdmVzKChsZWFmKSA9PiB7XG4gICAgY29udGFpbmVycy5hZGQobGVhZi5nZXRDb250YWluZXIoKSk7XG4gIH0pO1xuICByZXR1cm4gQXJyYXkuZnJvbShjb250YWluZXJzKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBET00gd2luZG93cyBpbiB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQWxsIERPTSB3aW5kb3dzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxEb21XaW5kb3dzKGFwcDogQXBwKTogV2luZG93W10ge1xuICByZXR1cm4gZ2V0QWxsQ29udGFpbmVycyhhcHApLm1hcCgoY29udGFpbmVyKSA9PiBjb250YWluZXIud2luKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQk8sU0FBUyxpQkFBaUIsS0FBZ0M7QUFDL0QsUUFBTSxhQUFhLG9CQUFJLElBQXdCO0FBQy9DLE1BQUksVUFBVSxpQkFBaUIsQ0FBQyxTQUFTO0FBQ3ZDLGVBQVcsSUFBSSxLQUFLLGFBQWEsQ0FBQztBQUFBLEVBQ3BDLENBQUM7QUFDRCxTQUFPLE1BQU0sS0FBSyxVQUFVO0FBQzlCO0FBUU8sU0FBUyxpQkFBaUIsS0FBb0I7QUFDbkQsU0FBTyxpQkFBaUIsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLFVBQVUsR0FBRztBQUMvRDsiLAogICJuYW1lcyI6IFtdCn0K
145
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFkZGl0aW9uYWwgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggdGhlIE9ic2lkaWFuIHtAbGluayBXb3Jrc3BhY2V9LlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBXb3Jrc3BhY2VgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuICBXb3Jrc3BhY2UsXG4gIFdvcmtzcGFjZUNvbnRhaW5lclxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgY29udGFpbmVycyBpbiB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQWxsIGNvbnRhaW5lcnMgaW4gdGhlIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbENvbnRhaW5lcnMoYXBwOiBBcHApOiBXb3Jrc3BhY2VDb250YWluZXJbXSB7XG4gIGNvbnN0IGNvbnRhaW5lcnMgPSBuZXcgU2V0PFdvcmtzcGFjZUNvbnRhaW5lcj4oKTtcbiAgYXBwLndvcmtzcGFjZS5pdGVyYXRlQWxsTGVhdmVzKChsZWFmKSA9PiB7XG4gICAgY29udGFpbmVycy5hZGQobGVhZi5nZXRDb250YWluZXIoKSk7XG4gIH0pO1xuICByZXR1cm4gQXJyYXkuZnJvbShjb250YWluZXJzKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBET00gd2luZG93cyBpbiB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQWxsIERPTSB3aW5kb3dzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxEb21XaW5kb3dzKGFwcDogQXBwKTogV2luZG93W10ge1xuICByZXR1cm4gZ2V0QWxsQ29udGFpbmVycyhhcHApLm1hcCgoY29udGFpbmVyKSA9PiBjb250YWluZXIud2luKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CTyxTQUFTLGlCQUFpQixLQUFnQztBQUMvRCxRQUFNLGFBQWEsb0JBQUksSUFBd0I7QUFDL0MsTUFBSSxVQUFVLGlCQUFpQixDQUFDLFNBQVM7QUFDdkMsZUFBVyxJQUFJLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDcEMsQ0FBQztBQUNELFNBQU8sTUFBTSxLQUFLLFVBQVU7QUFDOUI7QUFRTyxTQUFTLGlCQUFpQixLQUFvQjtBQUNuRCxTQUFPLGlCQUFpQixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsVUFBVSxHQUFHO0FBQy9EOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -218,4 +220,4 @@ function toPosixPath(path) {
218
220
  toPosixBuffer,
219
221
  toPosixPath
220
222
  });
221
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhdGgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQID0gL1thLXpBLVpdOlxcL1teOl0qJC87XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgaGFuZGxpbmcgUE9TSVggcGF0aHMuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3NpeCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4O1xuXG4vKipcbiAqIEEgUE9TSVggcGF0aCBkZWxpbWl0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxpbWl0ZXIgPSBwb3NpeC5kZWxpbWl0ZXI7XG5cbi8qKlxuICogQSBQT1NJWCBzZWdtZW50IHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlcCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4LnNlcDtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIG5hbWUgb2YgYSBmaWxlLCBvcHRpb25hbGx5IHJlbW92aW5nIHRoZSBmaWxlIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgYmFzZSBuYW1lIGZyb20uXG4gKiBAcGFyYW0gZXh0IC0gQW4gb3B0aW9uYWwgZXh0ZW5zaW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBiYXNlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgYmFzZW5hbWUgPSBwb3NpeC5iYXNlbmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiBhIHBhdGguXG4gKlxuICogYGRpcmVjdG9yeWAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBmb2xkZXJgIHRvIHByZXNlcnZlIGNvbXBhdGliaWxpdHkgd2l0aCBgbm9kZTpwYXRoYCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGRpcmVjdG9yeSBuYW1lIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZGlyZWN0b3J5IG5hbWUgb2YgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBkaXJuYW1lID0gcG9zaXguZGlybmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaWxlIGV4dGVuc2lvbiBvZiBhIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgZXh0ZW5zaW9uIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZXh0bmFtZSA9IHBvc2l4LmV4dG5hbWU7XG5cbi8qKlxuICogRm9ybWF0cyBhIHBhdGggb2JqZWN0IGludG8gYSBwYXRoIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcGF0aE9iamVjdCAtIFRoZSBwYXRoIG9iamVjdCB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHBhdGggc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0ID0gcG9zaXguZm9ybWF0O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBwYXRoIGlzIGFic29sdXRlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBYnNvbHV0ZShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBvc2l4LmlzQWJzb2x1dGUocGF0aCkgfHwgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpPy5bMF0gPT09IHBhdGg7XG59XG5cbi8qKlxuICogSm9pbnMgbXVsdGlwbGUgcGF0aCBzZWdtZW50cyBpbnRvIGEgc2luZ2xlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggc2VnbWVudHMgdG8gam9pbi5cbiAqIEByZXR1cm5zIFRoZSBqb2luZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGpvaW4gPSBwb3NpeC5qb2luO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBwYXRoLCByZXNvbHZpbmcgJy4uJyBhbmQgJy4nIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHBvc2l4Lm5vcm1hbGl6ZTtcblxuLyoqXG4gKiBQYXJzZXMgYSBwYXRoIHN0cmluZyBpbnRvIGEgcGF0aCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBzdHJpbmcgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIHBhdGggb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgcGFyc2UgPSBwb3NpeC5wYXJzZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci5cbiAqXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBzdGFydGluZyBwYXRoLlxuICogQHBhcmFtIHRvIC0gVGhlIGRlc3RpbmF0aW9uIHBhdGguXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRpdmUgcGF0aCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICovXG5leHBvcnQgY29uc3QgcmVsYXRpdmUgPSBwb3NpeC5yZWxhdGl2ZTtcblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCwgY29udmVydGluZyBpdCB0byBhIFBPU0lYLXN0eWxlIHBhdGguXG4gKlxuICogQHBhcmFtIGltcG9ydE1ldGFVcmwgLSBUaGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgdGhlIGZpbGUgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmaWxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlTmFtZShpbXBvcnRNZXRhVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZShkZWNvZGVVUkkobmV3IFVSTChpbXBvcnRNZXRhVXJsKS5wYXRobmFtZSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGZvbGRlciBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmb2xkZXIgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmb2xkZXIgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGRpcm5hbWUoZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybCkpO1xufVxuXG4vKipcbiAqIE1ha2VzIGEgZmlsZSBuYW1lIGJ5IGFwcGVuZGluZyBhbiBleHRlbnNpb24gdG8gYSBnaXZlbiBmaWxlIG5hbWUuXG4gKiBJZiB0aGUgZXh0ZW5zaW9uIGlzIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHJldHVybmVkIGFzIGlzLlxuICpcbiAqIEBwYXJhbSBmaWxlQmFzZU5hbWUgLSBUaGUgZmlsZSBuYW1lIHRvIGFwcGVuZCB0aGUgZXh0ZW5zaW9uIHRvLlxuICogQHBhcmFtIGZpbGVFeHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGFwcGVuZCB0byB0aGUgZmlsZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGZpbGUgbmFtZSB3aXRoIHRoZSBleHRlbnNpb24gYXBwZW5kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsZU5hbWUoZmlsZUJhc2VOYW1lOiBzdHJpbmcsIGZpbGVFeHRlbnNpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlRXh0ZW5zaW9uID8gYCR7ZmlsZUJhc2VOYW1lfS4ke2ZpbGVFeHRlbnNpb259YCA6IGZpbGVCYXNlTmFtZTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgZ2l2ZW4gcGF0aCBieSBlbnN1cmluZyBpdCBpcyByZWxhdGl2ZSwgYWRkaW5nIFwiLi9cIiBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLCBzdGFydGluZyB3aXRoIFwiLi9cIiBpZiBpdCB3YXMgcmVsYXRpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJZlJlbGF0aXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSB8fCBwYXRoLmluY2x1ZGVzKCc6JykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBlbnN1cmVTdGFydHNXaXRoKHBhdGgsICcuLycpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgc2VxdWVuY2Ugb2YgcGF0aHMgb3IgcGF0aCBzZWdtZW50cyBpbnRvIGFuIGFic29sdXRlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhTZWdtZW50cyAtIFRoZSBzZXF1ZW5jZSBvZiBwYXRoIHNlZ21lbnRzIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmUoLi4ucGF0aFNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGxldCBwYXRoID0gcG9zaXgucmVzb2x2ZSguLi5wYXRoU2VnbWVudHMpO1xuICBwYXRoID0gdG9Qb3NpeFBhdGgocGF0aCk7XG4gIGNvbnN0IG1hdGNoID0gV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpO1xuICByZXR1cm4gbWF0Y2g/LlswXSA/PyBwYXRoO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYnVmZmVyIGNvbnRhaW5pbmcgYSBwYXRoIHRvIGEgUE9TSVgtc3R5bGUgYnVmZmVyIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyIC0gVGhlIGJ1ZmZlciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBuZXcgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFBPU0lYLXN0eWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4QnVmZmVyKGJ1ZmZlcjogQnVmZmVyKTogQnVmZmVyIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRvUG9zaXhQYXRoKFN0cmluZyhidWZmZXIpKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBnaXZlbiBwYXRoIHRvIGEgUE9TSVgtc3R5bGUgcGF0aCBieSByZXBsYWNpbmcgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkIHNsYXNoZXMuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIFBPU0lYLXN0eWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4UGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVwbGFjZUFsbChwYXRoLCAnXFxcXCcsICcvJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSw2QkFBMkI7QUFFM0Isb0JBR087QUFFUCxNQUFNLGtDQUFrQztBQUtqQyxNQUFNLFFBQVEsdUJBQUFBLFFBQWU7QUFLN0IsTUFBTSxZQUFZLE1BQU07QUFLeEIsTUFBTSxNQUFNLHVCQUFBQSxRQUFlLE1BQU07QUFTakMsTUFBTSxXQUFXLE1BQU07QUFVdkIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxTQUFTLE1BQU07QUFRckIsU0FBUyxXQUFXLE1BQXVCO0FBQ2hELFNBQU8sTUFBTSxXQUFXLElBQUksS0FBSyxnQ0FBZ0MsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNO0FBQ3ZGO0FBUU8sTUFBTSxPQUFPLE1BQU07QUFRbkIsTUFBTSxZQUFZLE1BQU07QUFReEIsTUFBTSxRQUFRLE1BQU07QUFTcEIsTUFBTSxXQUFXLE1BQU07QUFRdkIsU0FBUyxZQUFZLGVBQStCO0FBQ3pELFNBQU8sUUFBUSxVQUFVLElBQUksSUFBSSxhQUFhLEVBQUUsUUFBUSxDQUFDO0FBQzNEO0FBUU8sU0FBUyxjQUFjLGVBQStCO0FBQzNELFNBQU8sUUFBUSxZQUFZLGFBQWEsQ0FBQztBQUMzQztBQVVPLFNBQVMsYUFBYSxjQUFzQixlQUErQjtBQUNoRixTQUFPLGdCQUFnQixHQUFHLFlBQVksSUFBSSxhQUFhLEtBQUs7QUFDOUQ7QUFRTyxTQUFTLG9CQUFvQixNQUFzQjtBQUN4RCxNQUFJLEtBQUssV0FBVyxHQUFHLEtBQUssS0FBSyxTQUFTLEdBQUcsR0FBRztBQUM5QyxXQUFPO0FBQUEsRUFDVDtBQUVBLGFBQU8sZ0NBQWlCLE1BQU0sSUFBSTtBQUNwQztBQVFPLFNBQVMsV0FBVyxjQUFnQztBQUN6RCxNQUFJLE9BQU8sTUFBTSxRQUFRLEdBQUcsWUFBWTtBQUN4QyxTQUFPLFlBQVksSUFBSTtBQUN2QixRQUFNLFFBQVEsZ0NBQWdDLEtBQUssSUFBSTtBQUN2RCxTQUFPLFFBQVEsQ0FBQyxLQUFLO0FBQ3ZCO0FBUU8sU0FBUyxjQUFjLFFBQXdCO0FBQ3BELFNBQU8sT0FBTyxLQUFLLFlBQVksT0FBTyxNQUFNLENBQUMsQ0FBQztBQUNoRDtBQVFPLFNBQVMsWUFBWSxNQUFzQjtBQUNoRCxhQUFPLDBCQUFXLE1BQU0sTUFBTSxHQUFHO0FBQ25DOyIsCiAgIm5hbWVzIjogWyJwYXRoQnJvd3NlcmlmeSJdCn0K
223
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhdGgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQID0gL1thLXpBLVpdOlxcL1teOl0qJC87XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgaGFuZGxpbmcgUE9TSVggcGF0aHMuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3NpeCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4O1xuXG4vKipcbiAqIEEgUE9TSVggcGF0aCBkZWxpbWl0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxpbWl0ZXIgPSBwb3NpeC5kZWxpbWl0ZXI7XG5cbi8qKlxuICogQSBQT1NJWCBzZWdtZW50IHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlcCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4LnNlcDtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIG5hbWUgb2YgYSBmaWxlLCBvcHRpb25hbGx5IHJlbW92aW5nIHRoZSBmaWxlIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgYmFzZSBuYW1lIGZyb20uXG4gKiBAcGFyYW0gZXh0IC0gQW4gb3B0aW9uYWwgZXh0ZW5zaW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBiYXNlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgYmFzZW5hbWUgPSBwb3NpeC5iYXNlbmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiBhIHBhdGguXG4gKlxuICogYGRpcmVjdG9yeWAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBmb2xkZXJgIHRvIHByZXNlcnZlIGNvbXBhdGliaWxpdHkgd2l0aCBgbm9kZTpwYXRoYCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGRpcmVjdG9yeSBuYW1lIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZGlyZWN0b3J5IG5hbWUgb2YgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBkaXJuYW1lID0gcG9zaXguZGlybmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaWxlIGV4dGVuc2lvbiBvZiBhIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgZXh0ZW5zaW9uIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZXh0bmFtZSA9IHBvc2l4LmV4dG5hbWU7XG5cbi8qKlxuICogRm9ybWF0cyBhIHBhdGggb2JqZWN0IGludG8gYSBwYXRoIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcGF0aE9iamVjdCAtIFRoZSBwYXRoIG9iamVjdCB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHBhdGggc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0ID0gcG9zaXguZm9ybWF0O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBwYXRoIGlzIGFic29sdXRlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBYnNvbHV0ZShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBvc2l4LmlzQWJzb2x1dGUocGF0aCkgfHwgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpPy5bMF0gPT09IHBhdGg7XG59XG5cbi8qKlxuICogSm9pbnMgbXVsdGlwbGUgcGF0aCBzZWdtZW50cyBpbnRvIGEgc2luZ2xlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggc2VnbWVudHMgdG8gam9pbi5cbiAqIEByZXR1cm5zIFRoZSBqb2luZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGpvaW4gPSBwb3NpeC5qb2luO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBwYXRoLCByZXNvbHZpbmcgJy4uJyBhbmQgJy4nIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHBvc2l4Lm5vcm1hbGl6ZTtcblxuLyoqXG4gKiBQYXJzZXMgYSBwYXRoIHN0cmluZyBpbnRvIGEgcGF0aCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBzdHJpbmcgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIHBhdGggb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgcGFyc2UgPSBwb3NpeC5wYXJzZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci5cbiAqXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBzdGFydGluZyBwYXRoLlxuICogQHBhcmFtIHRvIC0gVGhlIGRlc3RpbmF0aW9uIHBhdGguXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRpdmUgcGF0aCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICovXG5leHBvcnQgY29uc3QgcmVsYXRpdmUgPSBwb3NpeC5yZWxhdGl2ZTtcblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCwgY29udmVydGluZyBpdCB0byBhIFBPU0lYLXN0eWxlIHBhdGguXG4gKlxuICogQHBhcmFtIGltcG9ydE1ldGFVcmwgLSBUaGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgdGhlIGZpbGUgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmaWxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlTmFtZShpbXBvcnRNZXRhVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZShkZWNvZGVVUkkobmV3IFVSTChpbXBvcnRNZXRhVXJsKS5wYXRobmFtZSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGZvbGRlciBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmb2xkZXIgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmb2xkZXIgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGRpcm5hbWUoZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybCkpO1xufVxuXG4vKipcbiAqIE1ha2VzIGEgZmlsZSBuYW1lIGJ5IGFwcGVuZGluZyBhbiBleHRlbnNpb24gdG8gYSBnaXZlbiBmaWxlIG5hbWUuXG4gKiBJZiB0aGUgZXh0ZW5zaW9uIGlzIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHJldHVybmVkIGFzIGlzLlxuICpcbiAqIEBwYXJhbSBmaWxlQmFzZU5hbWUgLSBUaGUgZmlsZSBuYW1lIHRvIGFwcGVuZCB0aGUgZXh0ZW5zaW9uIHRvLlxuICogQHBhcmFtIGZpbGVFeHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGFwcGVuZCB0byB0aGUgZmlsZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGZpbGUgbmFtZSB3aXRoIHRoZSBleHRlbnNpb24gYXBwZW5kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsZU5hbWUoZmlsZUJhc2VOYW1lOiBzdHJpbmcsIGZpbGVFeHRlbnNpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlRXh0ZW5zaW9uID8gYCR7ZmlsZUJhc2VOYW1lfS4ke2ZpbGVFeHRlbnNpb259YCA6IGZpbGVCYXNlTmFtZTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgZ2l2ZW4gcGF0aCBieSBlbnN1cmluZyBpdCBpcyByZWxhdGl2ZSwgYWRkaW5nIFwiLi9cIiBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBwYXRoLCBzdGFydGluZyB3aXRoIFwiLi9cIiBpZiBpdCB3YXMgcmVsYXRpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJZlJlbGF0aXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSB8fCBwYXRoLmluY2x1ZGVzKCc6JykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBlbnN1cmVTdGFydHNXaXRoKHBhdGgsICcuLycpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgc2VxdWVuY2Ugb2YgcGF0aHMgb3IgcGF0aCBzZWdtZW50cyBpbnRvIGFuIGFic29sdXRlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhTZWdtZW50cyAtIFRoZSBzZXF1ZW5jZSBvZiBwYXRoIHNlZ21lbnRzIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmUoLi4ucGF0aFNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGxldCBwYXRoID0gcG9zaXgucmVzb2x2ZSguLi5wYXRoU2VnbWVudHMpO1xuICBwYXRoID0gdG9Qb3NpeFBhdGgocGF0aCk7XG4gIGNvbnN0IG1hdGNoID0gV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpO1xuICByZXR1cm4gbWF0Y2g/LlswXSA/PyBwYXRoO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYnVmZmVyIGNvbnRhaW5pbmcgYSBwYXRoIHRvIGEgUE9TSVgtc3R5bGUgYnVmZmVyIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyIC0gVGhlIGJ1ZmZlciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBuZXcgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFBPU0lYLXN0eWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4QnVmZmVyKGJ1ZmZlcjogQnVmZmVyKTogQnVmZmVyIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRvUG9zaXhQYXRoKFN0cmluZyhidWZmZXIpKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBnaXZlbiBwYXRoIHRvIGEgUE9TSVgtc3R5bGUgcGF0aCBieSByZXBsYWNpbmcgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkIHNsYXNoZXMuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIFBPU0lYLXN0eWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4UGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVwbGFjZUFsbChwYXRoLCAnXFxcXCcsICcvJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLDZCQUEyQjtBQUUzQixvQkFHTztBQUVQLE1BQU0sa0NBQWtDO0FBS2pDLE1BQU0sUUFBUSx1QkFBQUEsUUFBZTtBQUs3QixNQUFNLFlBQVksTUFBTTtBQUt4QixNQUFNLE1BQU0sdUJBQUFBLFFBQWUsTUFBTTtBQVNqQyxNQUFNLFdBQVcsTUFBTTtBQVV2QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFNBQVMsTUFBTTtBQVFyQixTQUFTLFdBQVcsTUFBdUI7QUFDaEQsU0FBTyxNQUFNLFdBQVcsSUFBSSxLQUFLLGdDQUFnQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU07QUFDdkY7QUFRTyxNQUFNLE9BQU8sTUFBTTtBQVFuQixNQUFNLFlBQVksTUFBTTtBQVF4QixNQUFNLFFBQVEsTUFBTTtBQVNwQixNQUFNLFdBQVcsTUFBTTtBQVF2QixTQUFTLFlBQVksZUFBK0I7QUFDekQsU0FBTyxRQUFRLFVBQVUsSUFBSSxJQUFJLGFBQWEsRUFBRSxRQUFRLENBQUM7QUFDM0Q7QUFRTyxTQUFTLGNBQWMsZUFBK0I7QUFDM0QsU0FBTyxRQUFRLFlBQVksYUFBYSxDQUFDO0FBQzNDO0FBVU8sU0FBUyxhQUFhLGNBQXNCLGVBQStCO0FBQ2hGLFNBQU8sZ0JBQWdCLEdBQUcsWUFBWSxJQUFJLGFBQWEsS0FBSztBQUM5RDtBQVFPLFNBQVMsb0JBQW9CLE1BQXNCO0FBQ3hELE1BQUksS0FBSyxXQUFXLEdBQUcsS0FBSyxLQUFLLFNBQVMsR0FBRyxHQUFHO0FBQzlDLFdBQU87QUFBQSxFQUNUO0FBRUEsYUFBTyxnQ0FBaUIsTUFBTSxJQUFJO0FBQ3BDO0FBUU8sU0FBUyxXQUFXLGNBQWdDO0FBQ3pELE1BQUksT0FBTyxNQUFNLFFBQVEsR0FBRyxZQUFZO0FBQ3hDLFNBQU8sWUFBWSxJQUFJO0FBQ3ZCLFFBQU0sUUFBUSxnQ0FBZ0MsS0FBSyxJQUFJO0FBQ3ZELFNBQU8sUUFBUSxDQUFDLEtBQUs7QUFDdkI7QUFRTyxTQUFTLGNBQWMsUUFBd0I7QUFDcEQsU0FBTyxPQUFPLEtBQUssWUFBWSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ2hEO0FBUU8sU0FBUyxZQUFZLE1BQXNCO0FBQ2hELGFBQU8sMEJBQVcsTUFBTSxNQUFNLEdBQUc7QUFDbkM7IiwKICAibmFtZXMiOiBbInBhdGhCcm93c2VyaWZ5Il0KfQo=
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -251,4 +253,4 @@ function addUnicodeFlags(finalFlags, regExps, strategy) {
251
253
  isValidRegExp,
252
254
  oneOf
253
255
  });
254
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZy1leHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcmVndWxhciBleHByZXNzaW9ucy5cbiAqL1xuXG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICcuL3R5cGUtZ3VhcmRzLnRzJztcblxuLyoqXG4gKiBBIHN0cmF0ZWd5IHRvIHVzZSB3aGVuIG1lcmdpbmcgbXVsdGlwbGUgcmVnZXggZmxhZ3MgaW50byBvbmUgYWx0ZXJuYXRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIEtlZXAgb25seSB0aGUgZmxhZ3MgcHJlc2VudCBpbiBhbGwgcmVnZXhlcy5cbiAgICovXG4gIEludGVyc2VjdCA9ICdJbnRlcnNlY3QnLFxuICAvKipcbiAgICogVGhyb3cgYW4gZXJyb3IgaWYgdGhlIHJlZ2V4ZXMgaGF2ZSBjb25mbGljdGluZyBmbGFncy5cbiAgICovXG4gIFRocm93ID0gJ1Rocm93JyxcbiAgLyoqXG4gICAqIEtlZXAgb25seSB0aGUgZmxhZ3MgcHJlc2VudCBpbiBhbnkgcmVnZXguXG4gICAqL1xuICBVbmlvbiA9ICdVbmlvbidcbn1cblxuLyoqXG4gKiBFc2NhcGVzIHNwZWNpYWwgY2hhcmFjdGVycyBpbiBhIHN0cmluZyB0byBzYWZlbHkgdXNlIGl0IHdpdGhpbiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcgd2l0aCBzcGVjaWFsIGNoYXJhY3RlcnMgcHJlZml4ZWQgd2l0aCBhIGJhY2tzbGFzaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIE5PVEU6IFdlIGNhbid0IHVzZSBgcmVwbGFjZUFsbCgpYCBmcm9tIGBTdHJpbmcudHNgIGhlcmUgYmVjYXVzZSBpdCBpbnRyb2R1Y2VzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cbiAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRSZWdFeHAoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBuZXcgUmVnRXhwKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNGbGFnKHJlZ0V4cDogUmVnRXhwLCBmbGFnOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHJlZ0V4cC5mbGFncy5pbmNsdWRlcyhmbGFnKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGlja0ZsYWcocmVnRXhwczogUmVnRXhwW10sIGZsYWc6IHN0cmluZywgc3RyYXRlZ3k6IFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5KTogYm9vbGVhbiB7XG4gIGNvbnN0IGNvdW50ID0gcmVnRXhwcy5maWx0ZXIoKHJlZ0V4cCkgPT4gaGFzRmxhZyhyZWdFeHAsIGZsYWcpKS5sZW5ndGg7XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSB2OCBjb3VudHMgdGhlIGltcGxpY2l0IGRlZmF1bHQgYnJhbmNoIGFzIHVuY292ZXJlZCBldmVuIHdoZW4gYWxsIGVudW0gY2FzZXMgYXJlIGhhbmRsZWQuICovXG4gIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNhc2UgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kuSW50ZXJzZWN0OlxuICAgICAgcmV0dXJuIGNvdW50ID09PSByZWdFeHBzLmxlbmd0aDtcbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlRocm93OlxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5VbmlvbjpcbiAgICAgIHJldHVybiBjb3VudCA+IDA7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgIGFzc2VydChmYWxzZSwgYEludmFsaWQgc3RyYXRlZ3k6ICR7c3RyYXRlZ3kgYXMgc3RyaW5nfWApO1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxuXG4gIGNvbnN0IGFsbFNhbWUgPSBjb3VudCA9PT0gMCB8fCBjb3VudCA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gIGlmICghYWxsU2FtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ29uZmxpY3RpbmcgZmxhZyAnJHtmbGFnfScgYWNyb3NzIHBhdHRlcm5zLmApO1xuICB9XG4gIHJldHVybiBjb3VudCA9PT0gcmVnRXhwcy5sZW5ndGg7XG59XG5cbi8qKlxuICogQSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBhbHdheXMgbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFMV0FZU19NQVRDSF9SRUdfRVhQID0gLyg/OikvO1xuXG4vKipcbiAqIEEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgbmV2ZXIgbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5FVkVSX01BVENIX1JFR19FWFAgPSAvLl4vO1xuXG4vKipcbiAqIENvbWJpbmUgbXVsdGlwbGUgcmVnZXhlcyBpbnRvIG9uZSBhbHRlcm5hdGlvbiwgaGFuZGxpbmcgZmxhZ3MuXG4gKlxuICogQHBhcmFtIHJlZ0V4cHMgLSBUaGUgcmVnZXhlcyB0byBjb21iaW5lLlxuICogQHBhcmFtIHN0cmF0ZWd5IC0gVGhlIHN0cmF0ZWd5IHRvIHVzZSB3aGVuIG1lcmdpbmcgZmxhZ3MgKGRlZmF1bHQ6IGBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5UaHJvd2ApLlxuICogQHJldHVybnMgVGhlIGNvbWJpbmVkIHJlZ2V4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25lT2YoXG4gIHJlZ0V4cHM6IFJlZ0V4cFtdLFxuICBzdHJhdGVneTogUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kgPSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5UaHJvd1xuKTogUmVnRXhwIHtcbiAgaWYgKHJlZ0V4cHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEFMV0FZU19NQVRDSF9SRUdfRVhQO1xuICB9XG5cbiAgaWYgKHJlZ0V4cHMubGVuZ3RoID09PSAxICYmIHJlZ0V4cHNbMF0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiByZWdFeHBzWzBdO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gcmVnRXhwcy5tYXAoKHJlZ0V4cCkgPT4gYCg/OiR7cmVnRXhwLnNvdXJjZX0pYCkuam9pbignfCcpO1xuXG4gIGNvbnN0IGZpbmFsRmxhZ3MgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgYWRkU2VtYW50aWNGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzLCBzdHJhdGVneSk7XG4gIGFkZFVuaWNvZGVGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzLCBzdHJhdGVneSk7XG4gIGFkZE1ldGFGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzKTtcblxuICByZXR1cm4gbmV3IFJlZ0V4cChzb3VyY2UsIFsuLi5maW5hbEZsYWdzXS5qb2luKCcnKSk7XG59XG5cbmZ1bmN0aW9uIGFkZE1ldGFGbGFncyhmaW5hbEZsYWdzOiBTZXQ8c3RyaW5nPiwgcmVnRXhwczogUmVnRXhwW10pOiB2b2lkIHtcbiAgY29uc3QgTUVUQV9GTEFHUyA9IFsnZycsICdkJ107XG4gIGZvciAoY29uc3QgZmxhZyBvZiBNRVRBX0ZMQUdTKSB7XG4gICAgaWYgKHJlZ0V4cHMuc29tZSgocmVnRXhwKSA9PiBoYXNGbGFnKHJlZ0V4cCwgZmxhZykpKSB7XG4gICAgICBmaW5hbEZsYWdzLmFkZChmbGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkU2VtYW50aWNGbGFncyhcbiAgZmluYWxGbGFnczogU2V0PHN0cmluZz4sXG4gIHJlZ0V4cHM6IFJlZ0V4cFtdLFxuICBzdHJhdGVneTogUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbik6IHZvaWQge1xuICBjb25zdCBTRU1BTlRJQ19GTEFHUyA9IFsnaScsICdtJywgJ3MnLCAneSddO1xuICBmb3IgKGNvbnN0IGZsYWcgb2YgU0VNQU5USUNfRkxBR1MpIHtcbiAgICBpZiAoc2hvdWxkUGlja0ZsYWcocmVnRXhwcywgZmxhZywgc3RyYXRlZ3kpKSB7XG4gICAgICBmaW5hbEZsYWdzLmFkZChmbGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkVW5pY29kZUZsYWdzKFxuICBmaW5hbEZsYWdzOiBTZXQ8c3RyaW5nPixcbiAgcmVnRXhwczogUmVnRXhwW10sXG4gIHN0cmF0ZWd5OiBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneVxuKTogdm9pZCB7XG4gIGNvbnN0IGNvdW50VSA9IHJlZ0V4cHMuZmlsdGVyKChyZWdFeHApID0+IGhhc0ZsYWcocmVnRXhwLCAndScpKS5sZW5ndGg7XG4gIGNvbnN0IGNvdW50ViA9IHJlZ0V4cHMuZmlsdGVyKChyZWdFeHApID0+IGhhc0ZsYWcocmVnRXhwLCAndicpKS5sZW5ndGg7XG5cbiAgbGV0IHNob3VsZFVzZVVGbGFnOiBib29sZWFuO1xuICBsZXQgc2hvdWxkVXNlVkZsYWc6IGJvb2xlYW47XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIHY4IGNvdW50cyB0aGUgaW1wbGljaXQgZGVmYXVsdCBicmFuY2ggYXMgdW5jb3ZlcmVkIGV2ZW4gd2hlbiBhbGwgZW51bSBjYXNlcyBhcmUgaGFuZGxlZC4gKi9cbiAgc3dpdGNoIChzdHJhdGVneSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY2FzZSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5JbnRlcnNlY3Q6XG4gICAgICBzaG91bGRVc2VVRmxhZyA9IGNvdW50VSA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBzaG91bGRVc2VWRmxhZyA9IGNvdW50ViA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlRocm93OiB7XG4gICAgICBjb25zdCBhbGxVID0gY291bnRVID09PSByZWdFeHBzLmxlbmd0aDtcbiAgICAgIGNvbnN0IG5vbmVVID0gY291bnRVID09PSAwO1xuICAgICAgY29uc3QgYWxsViA9IGNvdW50ViA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBjb25zdCBub25lViA9IGNvdW50ViA9PT0gMDtcblxuICAgICAgaWYgKCEoYWxsVSB8fCBub25lVSkgfHwgIShhbGxWIHx8IG5vbmVWKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZsaWN0aW5nIFxcJ3VcXCcvXFwndlxcJyBmbGFncyBhY3Jvc3MgcGF0dGVybnMuJyk7XG4gICAgICB9XG5cbiAgICAgIHNob3VsZFVzZVVGbGFnID0gYWxsVTtcbiAgICAgIHNob3VsZFVzZVZGbGFnID0gYWxsVjtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlVuaW9uOlxuICAgICAgc2hvdWxkVXNlVUZsYWcgPSBjb3VudFUgPiAwO1xuICAgICAgc2hvdWxkVXNlVkZsYWcgPSBjb3VudFYgPiAwO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgIGFzc2VydChmYWxzZSwgYEludmFsaWQgc3RyYXRlZ3k6ICR7c3RyYXRlZ3kgYXMgc3RyaW5nfWApO1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxuXG4gIGlmIChzaG91bGRVc2VVRmxhZyAmJiBzaG91bGRVc2VWRmxhZykge1xuICAgIGFzc2VydChzdHJhdGVneSAhPT0gUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kuVGhyb3csICdDYW5ub3QgY29tYmluZSBib3RoIFxcJ3VcXCcvXFwndlxcJyBmbGFncyBpbiBvbmUgUmVnRXhwLicpO1xuICAgIHNob3VsZFVzZVVGbGFnID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc2hvdWxkVXNlVUZsYWcpIHtcbiAgICBmaW5hbEZsYWdzLmFkZCgndScpO1xuICB9XG4gIGlmIChzaG91bGRVc2VWRmxhZykge1xuICAgIGZpbmFsRmxhZ3MuYWRkKCd2Jyk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHlCQUF1QjtBQUtoQixJQUFLLG1DQUFMLGtCQUFLQSxzQ0FBTDtBQUlMLEVBQUFBLGtDQUFBLGVBQVk7QUFJWixFQUFBQSxrQ0FBQSxXQUFRO0FBSVIsRUFBQUEsa0NBQUEsV0FBUTtBQVpFLFNBQUFBO0FBQUEsR0FBQTtBQXFCTCxTQUFTLGFBQWEsS0FBcUI7QUFFaEQsU0FBTyxJQUFJLFdBQVcsdUJBQXVCLE1BQU07QUFDckQ7QUFRTyxTQUFTLGNBQWMsS0FBc0I7QUFDbEQsTUFBSTtBQUNGLFFBQUksT0FBTyxHQUFHO0FBQ2QsV0FBTztBQUFBLEVBQ1QsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFFQSxTQUFTLFFBQVEsUUFBZ0IsTUFBdUI7QUFDdEQsU0FBTyxPQUFPLE1BQU0sU0FBUyxJQUFJO0FBQ25DO0FBRUEsU0FBUyxlQUFlLFNBQW1CLE1BQWMsVUFBcUQ7QUFDNUcsUUFBTSxRQUFRLFFBQVEsT0FBTyxDQUFDLFdBQVcsUUFBUSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBRWhFLFVBQVEsVUFBVTtBQUFBO0FBQUEsSUFFaEIsS0FBSztBQUNILGFBQU8sVUFBVSxRQUFRO0FBQUEsSUFDM0IsS0FBSztBQUNIO0FBQUEsSUFDRixLQUFLO0FBQ0gsYUFBTyxRQUFRO0FBQUEsSUFDakI7QUFFRSxxQ0FBTyxPQUFPLHFCQUFxQixRQUFrQixFQUFFO0FBQUEsRUFFM0Q7QUFFQSxRQUFNLFVBQVUsVUFBVSxLQUFLLFVBQVUsUUFBUTtBQUNqRCxNQUFJLENBQUMsU0FBUztBQUNaLFVBQU0sSUFBSSxNQUFNLHFCQUFxQixJQUFJLG9CQUFvQjtBQUFBLEVBQy9EO0FBQ0EsU0FBTyxVQUFVLFFBQVE7QUFDM0I7QUFLTyxNQUFNLHVCQUF1QjtBQUs3QixNQUFNLHNCQUFzQjtBQVM1QixTQUFTLE1BQ2QsU0FDQSxXQUE2QyxxQkFDckM7QUFDUixNQUFJLFFBQVEsV0FBVyxHQUFHO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxRQUFRLFdBQVcsS0FBSyxRQUFRLENBQUMsTUFBTSxRQUFXO0FBQ3BELFdBQU8sUUFBUSxDQUFDO0FBQUEsRUFDbEI7QUFFQSxRQUFNLFNBQVMsUUFBUSxJQUFJLENBQUMsV0FBVyxNQUFNLE9BQU8sTUFBTSxHQUFHLEVBQUUsS0FBSyxHQUFHO0FBRXZFLFFBQU0sYUFBYSxvQkFBSSxJQUFZO0FBQ25DLG1CQUFpQixZQUFZLFNBQVMsUUFBUTtBQUM5QyxrQkFBZ0IsWUFBWSxTQUFTLFFBQVE7QUFDN0MsZUFBYSxZQUFZLE9BQU87QUFFaEMsU0FBTyxJQUFJLE9BQU8sUUFBUSxDQUFDLEdBQUcsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ3BEO0FBRUEsU0FBUyxhQUFhLFlBQXlCLFNBQXlCO0FBQ3RFLFFBQU0sYUFBYSxDQUFDLEtBQUssR0FBRztBQUM1QixhQUFXLFFBQVEsWUFBWTtBQUM3QixRQUFJLFFBQVEsS0FBSyxDQUFDLFdBQVcsUUFBUSxRQUFRLElBQUksQ0FBQyxHQUFHO0FBQ25ELGlCQUFXLElBQUksSUFBSTtBQUFBLElBQ3JCO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyxpQkFDUCxZQUNBLFNBQ0EsVUFDTTtBQUNOLFFBQU0saUJBQWlCLENBQUMsS0FBSyxLQUFLLEtBQUssR0FBRztBQUMxQyxhQUFXLFFBQVEsZ0JBQWdCO0FBQ2pDLFFBQUksZUFBZSxTQUFTLE1BQU0sUUFBUSxHQUFHO0FBQzNDLGlCQUFXLElBQUksSUFBSTtBQUFBLElBQ3JCO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyxnQkFDUCxZQUNBLFNBQ0EsVUFDTTtBQUNOLFFBQU0sU0FBUyxRQUFRLE9BQU8sQ0FBQyxXQUFXLFFBQVEsUUFBUSxHQUFHLENBQUMsRUFBRTtBQUNoRSxRQUFNLFNBQVMsUUFBUSxPQUFPLENBQUMsV0FBVyxRQUFRLFFBQVEsR0FBRyxDQUFDLEVBQUU7QUFFaEUsTUFBSTtBQUNKLE1BQUk7QUFHSixVQUFRLFVBQVU7QUFBQTtBQUFBLElBRWhCLEtBQUs7QUFDSCx1QkFBaUIsV0FBVyxRQUFRO0FBQ3BDLHVCQUFpQixXQUFXLFFBQVE7QUFDcEM7QUFBQSxJQUNGLEtBQUsscUJBQXdDO0FBQzNDLFlBQU0sT0FBTyxXQUFXLFFBQVE7QUFDaEMsWUFBTSxRQUFRLFdBQVc7QUFDekIsWUFBTSxPQUFPLFdBQVcsUUFBUTtBQUNoQyxZQUFNLFFBQVEsV0FBVztBQUV6QixVQUFJLEVBQUUsUUFBUSxVQUFVLEVBQUUsUUFBUSxRQUFRO0FBQ3hDLGNBQU0sSUFBSSxNQUFNLDRDQUFnRDtBQUFBLE1BQ2xFO0FBRUEsdUJBQWlCO0FBQ2pCLHVCQUFpQjtBQUNqQjtBQUFBLElBQ0Y7QUFBQSxJQUNBLEtBQUs7QUFDSCx1QkFBaUIsU0FBUztBQUMxQix1QkFBaUIsU0FBUztBQUMxQjtBQUFBLElBQ0Y7QUFFRSxxQ0FBTyxPQUFPLHFCQUFxQixRQUFrQixFQUFFO0FBQUEsRUFFM0Q7QUFFQSxNQUFJLGtCQUFrQixnQkFBZ0I7QUFDcEMsbUNBQU8sYUFBYSxxQkFBd0Msa0RBQXNEO0FBQ2xILHFCQUFpQjtBQUFBLEVBQ25CO0FBRUEsTUFBSSxnQkFBZ0I7QUFDbEIsZUFBVyxJQUFJLEdBQUc7QUFBQSxFQUNwQjtBQUNBLE1BQUksZ0JBQWdCO0FBQ2xCLGVBQVcsSUFBSSxHQUFHO0FBQUEsRUFDcEI7QUFDRjsiLAogICJuYW1lcyI6IFsiUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kiXQp9Cg==
256
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZy1leHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcmVndWxhciBleHByZXNzaW9ucy5cbiAqL1xuXG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICcuL3R5cGUtZ3VhcmRzLnRzJztcblxuLyoqXG4gKiBBIHN0cmF0ZWd5IHRvIHVzZSB3aGVuIG1lcmdpbmcgbXVsdGlwbGUgcmVnZXggZmxhZ3MgaW50byBvbmUgYWx0ZXJuYXRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIEtlZXAgb25seSB0aGUgZmxhZ3MgcHJlc2VudCBpbiBhbGwgcmVnZXhlcy5cbiAgICovXG4gIEludGVyc2VjdCA9ICdJbnRlcnNlY3QnLFxuICAvKipcbiAgICogVGhyb3cgYW4gZXJyb3IgaWYgdGhlIHJlZ2V4ZXMgaGF2ZSBjb25mbGljdGluZyBmbGFncy5cbiAgICovXG4gIFRocm93ID0gJ1Rocm93JyxcbiAgLyoqXG4gICAqIEtlZXAgb25seSB0aGUgZmxhZ3MgcHJlc2VudCBpbiBhbnkgcmVnZXguXG4gICAqL1xuICBVbmlvbiA9ICdVbmlvbidcbn1cblxuLyoqXG4gKiBFc2NhcGVzIHNwZWNpYWwgY2hhcmFjdGVycyBpbiBhIHN0cmluZyB0byBzYWZlbHkgdXNlIGl0IHdpdGhpbiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcgd2l0aCBzcGVjaWFsIGNoYXJhY3RlcnMgcHJlZml4ZWQgd2l0aCBhIGJhY2tzbGFzaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIE5PVEU6IFdlIGNhbid0IHVzZSBgcmVwbGFjZUFsbCgpYCBmcm9tIGBTdHJpbmcudHNgIGhlcmUgYmVjYXVzZSBpdCBpbnRyb2R1Y2VzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cbiAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRSZWdFeHAoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBuZXcgUmVnRXhwKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNGbGFnKHJlZ0V4cDogUmVnRXhwLCBmbGFnOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHJlZ0V4cC5mbGFncy5pbmNsdWRlcyhmbGFnKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGlja0ZsYWcocmVnRXhwczogUmVnRXhwW10sIGZsYWc6IHN0cmluZywgc3RyYXRlZ3k6IFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5KTogYm9vbGVhbiB7XG4gIGNvbnN0IGNvdW50ID0gcmVnRXhwcy5maWx0ZXIoKHJlZ0V4cCkgPT4gaGFzRmxhZyhyZWdFeHAsIGZsYWcpKS5sZW5ndGg7XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSB2OCBjb3VudHMgdGhlIGltcGxpY2l0IGRlZmF1bHQgYnJhbmNoIGFzIHVuY292ZXJlZCBldmVuIHdoZW4gYWxsIGVudW0gY2FzZXMgYXJlIGhhbmRsZWQuICovXG4gIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNhc2UgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kuSW50ZXJzZWN0OlxuICAgICAgcmV0dXJuIGNvdW50ID09PSByZWdFeHBzLmxlbmd0aDtcbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlRocm93OlxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5VbmlvbjpcbiAgICAgIHJldHVybiBjb3VudCA+IDA7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgIGFzc2VydChmYWxzZSwgYEludmFsaWQgc3RyYXRlZ3k6ICR7c3RyYXRlZ3kgYXMgc3RyaW5nfWApO1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxuXG4gIGNvbnN0IGFsbFNhbWUgPSBjb3VudCA9PT0gMCB8fCBjb3VudCA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gIGlmICghYWxsU2FtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ29uZmxpY3RpbmcgZmxhZyAnJHtmbGFnfScgYWNyb3NzIHBhdHRlcm5zLmApO1xuICB9XG4gIHJldHVybiBjb3VudCA9PT0gcmVnRXhwcy5sZW5ndGg7XG59XG5cbi8qKlxuICogQSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBhbHdheXMgbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFMV0FZU19NQVRDSF9SRUdfRVhQID0gLyg/OikvO1xuXG4vKipcbiAqIEEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgbmV2ZXIgbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5FVkVSX01BVENIX1JFR19FWFAgPSAvLl4vO1xuXG4vKipcbiAqIENvbWJpbmUgbXVsdGlwbGUgcmVnZXhlcyBpbnRvIG9uZSBhbHRlcm5hdGlvbiwgaGFuZGxpbmcgZmxhZ3MuXG4gKlxuICogQHBhcmFtIHJlZ0V4cHMgLSBUaGUgcmVnZXhlcyB0byBjb21iaW5lLlxuICogQHBhcmFtIHN0cmF0ZWd5IC0gVGhlIHN0cmF0ZWd5IHRvIHVzZSB3aGVuIG1lcmdpbmcgZmxhZ3MgKGRlZmF1bHQ6IGBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5UaHJvd2ApLlxuICogQHJldHVybnMgVGhlIGNvbWJpbmVkIHJlZ2V4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25lT2YoXG4gIHJlZ0V4cHM6IFJlZ0V4cFtdLFxuICBzdHJhdGVneTogUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kgPSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5UaHJvd1xuKTogUmVnRXhwIHtcbiAgaWYgKHJlZ0V4cHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEFMV0FZU19NQVRDSF9SRUdfRVhQO1xuICB9XG5cbiAgaWYgKHJlZ0V4cHMubGVuZ3RoID09PSAxICYmIHJlZ0V4cHNbMF0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiByZWdFeHBzWzBdO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gcmVnRXhwcy5tYXAoKHJlZ0V4cCkgPT4gYCg/OiR7cmVnRXhwLnNvdXJjZX0pYCkuam9pbignfCcpO1xuXG4gIGNvbnN0IGZpbmFsRmxhZ3MgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgYWRkU2VtYW50aWNGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzLCBzdHJhdGVneSk7XG4gIGFkZFVuaWNvZGVGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzLCBzdHJhdGVneSk7XG4gIGFkZE1ldGFGbGFncyhmaW5hbEZsYWdzLCByZWdFeHBzKTtcblxuICByZXR1cm4gbmV3IFJlZ0V4cChzb3VyY2UsIFsuLi5maW5hbEZsYWdzXS5qb2luKCcnKSk7XG59XG5cbmZ1bmN0aW9uIGFkZE1ldGFGbGFncyhmaW5hbEZsYWdzOiBTZXQ8c3RyaW5nPiwgcmVnRXhwczogUmVnRXhwW10pOiB2b2lkIHtcbiAgY29uc3QgTUVUQV9GTEFHUyA9IFsnZycsICdkJ107XG4gIGZvciAoY29uc3QgZmxhZyBvZiBNRVRBX0ZMQUdTKSB7XG4gICAgaWYgKHJlZ0V4cHMuc29tZSgocmVnRXhwKSA9PiBoYXNGbGFnKHJlZ0V4cCwgZmxhZykpKSB7XG4gICAgICBmaW5hbEZsYWdzLmFkZChmbGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkU2VtYW50aWNGbGFncyhcbiAgZmluYWxGbGFnczogU2V0PHN0cmluZz4sXG4gIHJlZ0V4cHM6IFJlZ0V4cFtdLFxuICBzdHJhdGVneTogUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbik6IHZvaWQge1xuICBjb25zdCBTRU1BTlRJQ19GTEFHUyA9IFsnaScsICdtJywgJ3MnLCAneSddO1xuICBmb3IgKGNvbnN0IGZsYWcgb2YgU0VNQU5USUNfRkxBR1MpIHtcbiAgICBpZiAoc2hvdWxkUGlja0ZsYWcocmVnRXhwcywgZmxhZywgc3RyYXRlZ3kpKSB7XG4gICAgICBmaW5hbEZsYWdzLmFkZChmbGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkVW5pY29kZUZsYWdzKFxuICBmaW5hbEZsYWdzOiBTZXQ8c3RyaW5nPixcbiAgcmVnRXhwczogUmVnRXhwW10sXG4gIHN0cmF0ZWd5OiBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneVxuKTogdm9pZCB7XG4gIGNvbnN0IGNvdW50VSA9IHJlZ0V4cHMuZmlsdGVyKChyZWdFeHApID0+IGhhc0ZsYWcocmVnRXhwLCAndScpKS5sZW5ndGg7XG4gIGNvbnN0IGNvdW50ViA9IHJlZ0V4cHMuZmlsdGVyKChyZWdFeHApID0+IGhhc0ZsYWcocmVnRXhwLCAndicpKS5sZW5ndGg7XG5cbiAgbGV0IHNob3VsZFVzZVVGbGFnOiBib29sZWFuO1xuICBsZXQgc2hvdWxkVXNlVkZsYWc6IGJvb2xlYW47XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIHY4IGNvdW50cyB0aGUgaW1wbGljaXQgZGVmYXVsdCBicmFuY2ggYXMgdW5jb3ZlcmVkIGV2ZW4gd2hlbiBhbGwgZW51bSBjYXNlcyBhcmUgaGFuZGxlZC4gKi9cbiAgc3dpdGNoIChzdHJhdGVneSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY2FzZSBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneS5JbnRlcnNlY3Q6XG4gICAgICBzaG91bGRVc2VVRmxhZyA9IGNvdW50VSA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBzaG91bGRVc2VWRmxhZyA9IGNvdW50ViA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlRocm93OiB7XG4gICAgICBjb25zdCBhbGxVID0gY291bnRVID09PSByZWdFeHBzLmxlbmd0aDtcbiAgICAgIGNvbnN0IG5vbmVVID0gY291bnRVID09PSAwO1xuICAgICAgY29uc3QgYWxsViA9IGNvdW50ViA9PT0gcmVnRXhwcy5sZW5ndGg7XG4gICAgICBjb25zdCBub25lViA9IGNvdW50ViA9PT0gMDtcblxuICAgICAgaWYgKCEoYWxsVSB8fCBub25lVSkgfHwgIShhbGxWIHx8IG5vbmVWKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZsaWN0aW5nIFxcJ3VcXCcvXFwndlxcJyBmbGFncyBhY3Jvc3MgcGF0dGVybnMuJyk7XG4gICAgICB9XG5cbiAgICAgIHNob3VsZFVzZVVGbGFnID0gYWxsVTtcbiAgICAgIHNob3VsZFVzZVZGbGFnID0gYWxsVjtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5LlVuaW9uOlxuICAgICAgc2hvdWxkVXNlVUZsYWcgPSBjb3VudFUgPiAwO1xuICAgICAgc2hvdWxkVXNlVkZsYWcgPSBjb3VudFYgPiAwO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgIGFzc2VydChmYWxzZSwgYEludmFsaWQgc3RyYXRlZ3k6ICR7c3RyYXRlZ3kgYXMgc3RyaW5nfWApO1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxuXG4gIGlmIChzaG91bGRVc2VVRmxhZyAmJiBzaG91bGRVc2VWRmxhZykge1xuICAgIGFzc2VydChzdHJhdGVneSAhPT0gUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3kuVGhyb3csICdDYW5ub3QgY29tYmluZSBib3RoIFxcJ3VcXCcvXFwndlxcJyBmbGFncyBpbiBvbmUgUmVnRXhwLicpO1xuICAgIHNob3VsZFVzZVVGbGFnID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc2hvdWxkVXNlVUZsYWcpIHtcbiAgICBmaW5hbEZsYWdzLmFkZCgndScpO1xuICB9XG4gIGlmIChzaG91bGRVc2VWRmxhZykge1xuICAgIGZpbmFsRmxhZ3MuYWRkKCd2Jyk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEseUJBQXVCO0FBS2hCLElBQUssbUNBQUwsa0JBQUtBLHNDQUFMO0FBSUwsRUFBQUEsa0NBQUEsZUFBWTtBQUlaLEVBQUFBLGtDQUFBLFdBQVE7QUFJUixFQUFBQSxrQ0FBQSxXQUFRO0FBWkUsU0FBQUE7QUFBQSxHQUFBO0FBcUJMLFNBQVMsYUFBYSxLQUFxQjtBQUVoRCxTQUFPLElBQUksV0FBVyx1QkFBdUIsTUFBTTtBQUNyRDtBQVFPLFNBQVMsY0FBYyxLQUFzQjtBQUNsRCxNQUFJO0FBQ0YsUUFBSSxPQUFPLEdBQUc7QUFDZCxXQUFPO0FBQUEsRUFDVCxRQUFRO0FBQ04sV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQUVBLFNBQVMsUUFBUSxRQUFnQixNQUF1QjtBQUN0RCxTQUFPLE9BQU8sTUFBTSxTQUFTLElBQUk7QUFDbkM7QUFFQSxTQUFTLGVBQWUsU0FBbUIsTUFBYyxVQUFxRDtBQUM1RyxRQUFNLFFBQVEsUUFBUSxPQUFPLENBQUMsV0FBVyxRQUFRLFFBQVEsSUFBSSxDQUFDLEVBQUU7QUFFaEUsVUFBUSxVQUFVO0FBQUE7QUFBQSxJQUVoQixLQUFLO0FBQ0gsYUFBTyxVQUFVLFFBQVE7QUFBQSxJQUMzQixLQUFLO0FBQ0g7QUFBQSxJQUNGLEtBQUs7QUFDSCxhQUFPLFFBQVE7QUFBQSxJQUNqQjtBQUVFLHFDQUFPLE9BQU8scUJBQXFCLFFBQWtCLEVBQUU7QUFBQSxFQUUzRDtBQUVBLFFBQU0sVUFBVSxVQUFVLEtBQUssVUFBVSxRQUFRO0FBQ2pELE1BQUksQ0FBQyxTQUFTO0FBQ1osVUFBTSxJQUFJLE1BQU0scUJBQXFCLElBQUksb0JBQW9CO0FBQUEsRUFDL0Q7QUFDQSxTQUFPLFVBQVUsUUFBUTtBQUMzQjtBQUtPLE1BQU0sdUJBQXVCO0FBSzdCLE1BQU0sc0JBQXNCO0FBUzVCLFNBQVMsTUFDZCxTQUNBLFdBQTZDLHFCQUNyQztBQUNSLE1BQUksUUFBUSxXQUFXLEdBQUc7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLFFBQVEsV0FBVyxLQUFLLFFBQVEsQ0FBQyxNQUFNLFFBQVc7QUFDcEQsV0FBTyxRQUFRLENBQUM7QUFBQSxFQUNsQjtBQUVBLFFBQU0sU0FBUyxRQUFRLElBQUksQ0FBQyxXQUFXLE1BQU0sT0FBTyxNQUFNLEdBQUcsRUFBRSxLQUFLLEdBQUc7QUFFdkUsUUFBTSxhQUFhLG9CQUFJLElBQVk7QUFDbkMsbUJBQWlCLFlBQVksU0FBUyxRQUFRO0FBQzlDLGtCQUFnQixZQUFZLFNBQVMsUUFBUTtBQUM3QyxlQUFhLFlBQVksT0FBTztBQUVoQyxTQUFPLElBQUksT0FBTyxRQUFRLENBQUMsR0FBRyxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDcEQ7QUFFQSxTQUFTLGFBQWEsWUFBeUIsU0FBeUI7QUFDdEUsUUFBTSxhQUFhLENBQUMsS0FBSyxHQUFHO0FBQzVCLGFBQVcsUUFBUSxZQUFZO0FBQzdCLFFBQUksUUFBUSxLQUFLLENBQUMsV0FBVyxRQUFRLFFBQVEsSUFBSSxDQUFDLEdBQUc7QUFDbkQsaUJBQVcsSUFBSSxJQUFJO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLGlCQUNQLFlBQ0EsU0FDQSxVQUNNO0FBQ04sUUFBTSxpQkFBaUIsQ0FBQyxLQUFLLEtBQUssS0FBSyxHQUFHO0FBQzFDLGFBQVcsUUFBUSxnQkFBZ0I7QUFDakMsUUFBSSxlQUFlLFNBQVMsTUFBTSxRQUFRLEdBQUc7QUFDM0MsaUJBQVcsSUFBSSxJQUFJO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLGdCQUNQLFlBQ0EsU0FDQSxVQUNNO0FBQ04sUUFBTSxTQUFTLFFBQVEsT0FBTyxDQUFDLFdBQVcsUUFBUSxRQUFRLEdBQUcsQ0FBQyxFQUFFO0FBQ2hFLFFBQU0sU0FBUyxRQUFRLE9BQU8sQ0FBQyxXQUFXLFFBQVEsUUFBUSxHQUFHLENBQUMsRUFBRTtBQUVoRSxNQUFJO0FBQ0osTUFBSTtBQUdKLFVBQVEsVUFBVTtBQUFBO0FBQUEsSUFFaEIsS0FBSztBQUNILHVCQUFpQixXQUFXLFFBQVE7QUFDcEMsdUJBQWlCLFdBQVcsUUFBUTtBQUNwQztBQUFBLElBQ0YsS0FBSyxxQkFBd0M7QUFDM0MsWUFBTSxPQUFPLFdBQVcsUUFBUTtBQUNoQyxZQUFNLFFBQVEsV0FBVztBQUN6QixZQUFNLE9BQU8sV0FBVyxRQUFRO0FBQ2hDLFlBQU0sUUFBUSxXQUFXO0FBRXpCLFVBQUksRUFBRSxRQUFRLFVBQVUsRUFBRSxRQUFRLFFBQVE7QUFDeEMsY0FBTSxJQUFJLE1BQU0sNENBQWdEO0FBQUEsTUFDbEU7QUFFQSx1QkFBaUI7QUFDakIsdUJBQWlCO0FBQ2pCO0FBQUEsSUFDRjtBQUFBLElBQ0EsS0FBSztBQUNILHVCQUFpQixTQUFTO0FBQzFCLHVCQUFpQixTQUFTO0FBQzFCO0FBQUEsSUFDRjtBQUVFLHFDQUFPLE9BQU8scUJBQXFCLFFBQWtCLEVBQUU7QUFBQSxFQUUzRDtBQUVBLE1BQUksa0JBQWtCLGdCQUFnQjtBQUNwQyxtQ0FBTyxhQUFhLHFCQUF3QyxrREFBc0Q7QUFDbEgscUJBQWlCO0FBQUEsRUFDbkI7QUFFQSxNQUFJLGdCQUFnQjtBQUNsQixlQUFXLElBQUksR0FBRztBQUFBLEVBQ3BCO0FBQ0EsTUFBSSxnQkFBZ0I7QUFDbEIsZUFBVyxJQUFJLEdBQUc7QUFBQSxFQUNwQjtBQUNGOyIsCiAgIm5hbWVzIjogWyJSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneSJdCn0K
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -180,4 +182,4 @@ async function buildStatic() {
180
182
  buildCompileTypeScript,
181
183
  buildStatic
182
184
  });
183
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idWlsZC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBmb3Igc3RhdGljIGFzc2V0cyBhbmQgY2xlYW5pbmdcbiAqIHRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gY29weSBzdGF0aWMgZmlsZXMgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXJcbiAqIGFuZCB0byByZW1vdmUgdGhlIGV4aXN0aW5nIGJ1aWxkIG91dHB1dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRzQ29uZmlnSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBybVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbVN0YXJ0IH0gZnJvbSAnLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7IHJlYWRkaXJQb3NpeCB9IGZyb20gJy4vZnMudHMnO1xuaW1wb3J0IHsgcmVhZEpzb24gfSBmcm9tICcuL2pzb24udHMnO1xuaW1wb3J0IHsgbnBtUnVuT3B0aW9uYWwgfSBmcm9tICcuL25wbS1ydW4udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZXhlY0Zyb21Sb290LFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL3Jvb3QudHMnO1xuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIgYW5kIGl0cyBjb250ZW50cy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlIGVudGlyZSBkaXN0cmlidXRpb24gZm9sZGVyIHRvIGVuc3VyZSBhIGNsZWFuIGJ1aWxkIGVudmlyb25tZW50LlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZm9sZGVyIGhhcyBiZWVuIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZENsZWFuKCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBybShPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRpc3QsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWF3YWl0IG5wbVJ1bk9wdGlvbmFsKCdidWlsZDpjb21waWxlOnN2ZWx0ZScpKSB7XG4gICAgYXdhaXQgYnVpbGRDb21waWxlU3ZlbHRlKCk7XG4gIH1cbiAgaWYgKCFhd2FpdCBucG1SdW5PcHRpb25hbCgnYnVpbGQ6Y29tcGlsZTp0eXBlc2NyaXB0JykpIHtcbiAgICBhd2FpdCBidWlsZENvbXBpbGVUeXBlU2NyaXB0KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgU3ZlbHRlIGNvZGUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb2RlIGNvbXBpbGVzIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29tcGlsZVN2ZWx0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdHNDb25maWdQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Uc0NvbmZpZ0pzb24pO1xuICBjb25zdCB0c0NvbmZpZyA9IGF3YWl0IHJlYWRKc29uPFRzQ29uZmlnSnNvbj4odHNDb25maWdQYXRoKTtcbiAgY29uc3QgYWxsRmlsZXMgPSBhd2FpdCB0b0FycmF5KGdsb2IodHNDb25maWcuaW5jbHVkZSA/PyBbXSwgeyBleGNsdWRlOiB0c0NvbmZpZy5leGNsdWRlID8/IFtdIH0pKTtcbiAgY29uc3Qgc3ZlbHRlRmlsZXMgPSBhbGxGaWxlcy5maWx0ZXIoKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoJy5zdmVsdGUnKSB8fCBmaWxlLmVuZHNXaXRoKCcuc3ZlbHRlLmpzJykgfHwgZmlsZS5lbmRzV2l0aCgnLnN2ZWx0ZS50cycpKTtcblxuICBpZiAoc3ZlbHRlRmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgZ2V0TGliRGVidWdnZXIoJ2J1aWxkOmJ1aWxkQ29tcGlsZVN2ZWx0ZScpKCdObyBTdmVsdGUgZmlsZXMgZm91bmQgaW4gdGhlIHByb2plY3QsIHNraXBwaW5nIFN2ZWx0ZSBjb21waWxhdGlvbicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdzdmVsdGUtY2hlY2snLCAnLS10c2NvbmZpZycsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuVHNDb25maWdKc29uXSk7XG59XG5cbi8qKlxuICogQ29tcGlsZXMgdGhlIFR5cGVTY3JpcHQgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlVHlwZVNjcmlwdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ3RzYycsICctLWJ1aWxkJywgJy0tZm9yY2UnXSk7XG59XG5cbi8qKlxuICogQ29waWVzIGFsbCBzdGF0aWMgZmlsZXMgZnJvbSB0aGUgc3RhdGljIGFzc2V0cyBmb2xkZXIgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseSByZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIHN0YXRpYyBhc3NldHMgZm9sZGVyIGFuZCBjb3BpZXNcbiAqIGVhY2ggZmlsZSB0byB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIHRoZSBkaXN0cmlidXRpb24gZm9sZGVyLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgZmlsZXMgaGF2ZSBiZWVuIGNvcGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkU3RhdGljKCk6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IGRpcmVudCBvZiBhd2FpdCByZWFkZGlyUG9zaXgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TdGF0aWMsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pKSB7XG4gICAgaWYgKCFkaXJlbnQuaXNGaWxlKCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSB0cmltU3RhcnQoam9pbihkaXJlbnQucGFyZW50UGF0aCwgZGlyZW50Lm5hbWUpLCBgJHtPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpY30vYCk7XG4gICAgYXdhaXQgY3Aoam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpYywgcGF0aCksIGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCBwYXRoKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSxzQkFJTztBQUVQLG1CQUF3QjtBQUN4QixtQkFBK0I7QUFDL0Isa0JBQXFCO0FBQ3JCLG9CQUEwQjtBQUMxQixnQkFBNkI7QUFDN0Isa0JBQXlCO0FBQ3pCLHFCQUErQjtBQUMvQiwyQ0FBMEM7QUFDMUMsa0JBR087QUFTUCxlQUFzQixhQUE0QjtBQUNoRCxZQUFNLG9CQUFHLCtEQUEwQixNQUFNLEVBQUUsT0FBTyxNQUFNLFdBQVcsS0FBSyxDQUFDO0FBQzNFO0FBT0EsZUFBc0IsZUFBOEI7QUFDbEQsTUFBSSxDQUFDLFVBQU0sK0JBQWUsc0JBQXNCLEdBQUc7QUFDakQsVUFBTSxtQkFBbUI7QUFBQSxFQUMzQjtBQUNBLE1BQUksQ0FBQyxVQUFNLCtCQUFlLDBCQUEwQixHQUFHO0FBQ3JELFVBQU0sdUJBQXVCO0FBQUEsRUFDL0I7QUFDRjtBQU9BLGVBQXNCLHFCQUFvQztBQUN4RCxRQUFNLG1CQUFlLHFDQUF3QiwrREFBMEIsWUFBWTtBQUNuRixRQUFNLFdBQVcsVUFBTSxzQkFBdUIsWUFBWTtBQUMxRCxRQUFNLFdBQVcsVUFBTSwwQkFBUSxzQkFBSyxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxTQUFTLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNoRyxRQUFNLGNBQWMsU0FBUyxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsU0FBUyxLQUFLLEtBQUssU0FBUyxZQUFZLEtBQUssS0FBSyxTQUFTLFlBQVksQ0FBQztBQUVwSSxNQUFJLFlBQVksV0FBVyxHQUFHO0FBQzVCLHFDQUFlLDBCQUEwQixFQUFFLG1FQUFtRTtBQUM5RztBQUFBLEVBQ0Y7QUFFQSxZQUFNLDBCQUFhLENBQUMsT0FBTyxnQkFBZ0IsY0FBYywrREFBMEIsWUFBWSxDQUFDO0FBQ2xHO0FBT0EsZUFBc0IseUJBQXdDO0FBQzVELFlBQU0sMEJBQWEsQ0FBQyxPQUFPLE9BQU8sV0FBVyxTQUFTLENBQUM7QUFDekQ7QUFVQSxlQUFzQixjQUE2QjtBQUNqRCxhQUFXLFVBQVUsVUFBTSx3QkFBYSwrREFBMEIsUUFBUSxFQUFFLFdBQVcsTUFBTSxlQUFlLEtBQUssQ0FBQyxHQUFHO0FBQ25ILFFBQUksQ0FBQyxPQUFPLE9BQU8sR0FBRztBQUNwQjtBQUFBLElBQ0Y7QUFFQSxVQUFNLFdBQU8sNkJBQVUsa0JBQUssT0FBTyxZQUFZLE9BQU8sSUFBSSxHQUFHLEdBQUcsK0RBQTBCLE1BQU0sR0FBRztBQUNuRyxjQUFNLHdCQUFHLGtCQUFLLCtEQUEwQixRQUFRLElBQUksT0FBRyxrQkFBSywrREFBMEIsTUFBTSxJQUFJLENBQUM7QUFBQSxFQUNuRztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
185
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idWlsZC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBmb3Igc3RhdGljIGFzc2V0cyBhbmQgY2xlYW5pbmdcbiAqIHRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gY29weSBzdGF0aWMgZmlsZXMgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXJcbiAqIGFuZCB0byByZW1vdmUgdGhlIGV4aXN0aW5nIGJ1aWxkIG91dHB1dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRzQ29uZmlnSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBybVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbVN0YXJ0IH0gZnJvbSAnLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7IHJlYWRkaXJQb3NpeCB9IGZyb20gJy4vZnMudHMnO1xuaW1wb3J0IHsgcmVhZEpzb24gfSBmcm9tICcuL2pzb24udHMnO1xuaW1wb3J0IHsgbnBtUnVuT3B0aW9uYWwgfSBmcm9tICcuL25wbS1ydW4udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZXhlY0Zyb21Sb290LFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL3Jvb3QudHMnO1xuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIgYW5kIGl0cyBjb250ZW50cy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlIGVudGlyZSBkaXN0cmlidXRpb24gZm9sZGVyIHRvIGVuc3VyZSBhIGNsZWFuIGJ1aWxkIGVudmlyb25tZW50LlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZm9sZGVyIGhhcyBiZWVuIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZENsZWFuKCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBybShPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRpc3QsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWF3YWl0IG5wbVJ1bk9wdGlvbmFsKCdidWlsZDpjb21waWxlOnN2ZWx0ZScpKSB7XG4gICAgYXdhaXQgYnVpbGRDb21waWxlU3ZlbHRlKCk7XG4gIH1cbiAgaWYgKCFhd2FpdCBucG1SdW5PcHRpb25hbCgnYnVpbGQ6Y29tcGlsZTp0eXBlc2NyaXB0JykpIHtcbiAgICBhd2FpdCBidWlsZENvbXBpbGVUeXBlU2NyaXB0KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgU3ZlbHRlIGNvZGUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb2RlIGNvbXBpbGVzIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29tcGlsZVN2ZWx0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdHNDb25maWdQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Uc0NvbmZpZ0pzb24pO1xuICBjb25zdCB0c0NvbmZpZyA9IGF3YWl0IHJlYWRKc29uPFRzQ29uZmlnSnNvbj4odHNDb25maWdQYXRoKTtcbiAgY29uc3QgYWxsRmlsZXMgPSBhd2FpdCB0b0FycmF5KGdsb2IodHNDb25maWcuaW5jbHVkZSA/PyBbXSwgeyBleGNsdWRlOiB0c0NvbmZpZy5leGNsdWRlID8/IFtdIH0pKTtcbiAgY29uc3Qgc3ZlbHRlRmlsZXMgPSBhbGxGaWxlcy5maWx0ZXIoKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoJy5zdmVsdGUnKSB8fCBmaWxlLmVuZHNXaXRoKCcuc3ZlbHRlLmpzJykgfHwgZmlsZS5lbmRzV2l0aCgnLnN2ZWx0ZS50cycpKTtcblxuICBpZiAoc3ZlbHRlRmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgZ2V0TGliRGVidWdnZXIoJ2J1aWxkOmJ1aWxkQ29tcGlsZVN2ZWx0ZScpKCdObyBTdmVsdGUgZmlsZXMgZm91bmQgaW4gdGhlIHByb2plY3QsIHNraXBwaW5nIFN2ZWx0ZSBjb21waWxhdGlvbicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdzdmVsdGUtY2hlY2snLCAnLS10c2NvbmZpZycsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuVHNDb25maWdKc29uXSk7XG59XG5cbi8qKlxuICogQ29tcGlsZXMgdGhlIFR5cGVTY3JpcHQgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlVHlwZVNjcmlwdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ3RzYycsICctLWJ1aWxkJywgJy0tZm9yY2UnXSk7XG59XG5cbi8qKlxuICogQ29waWVzIGFsbCBzdGF0aWMgZmlsZXMgZnJvbSB0aGUgc3RhdGljIGFzc2V0cyBmb2xkZXIgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseSByZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIHN0YXRpYyBhc3NldHMgZm9sZGVyIGFuZCBjb3BpZXNcbiAqIGVhY2ggZmlsZSB0byB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIHRoZSBkaXN0cmlidXRpb24gZm9sZGVyLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgZmlsZXMgaGF2ZSBiZWVuIGNvcGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkU3RhdGljKCk6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IGRpcmVudCBvZiBhd2FpdCByZWFkZGlyUG9zaXgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TdGF0aWMsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pKSB7XG4gICAgaWYgKCFkaXJlbnQuaXNGaWxlKCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSB0cmltU3RhcnQoam9pbihkaXJlbnQucGFyZW50UGF0aCwgZGlyZW50Lm5hbWUpLCBgJHtPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpY30vYCk7XG4gICAgYXdhaXQgY3Aoam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpYywgcGF0aCksIGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCBwYXRoKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUlPO0FBRVAsbUJBQXdCO0FBQ3hCLG1CQUErQjtBQUMvQixrQkFBcUI7QUFDckIsb0JBQTBCO0FBQzFCLGdCQUE2QjtBQUM3QixrQkFBeUI7QUFDekIscUJBQStCO0FBQy9CLDJDQUEwQztBQUMxQyxrQkFHTztBQVNQLGVBQXNCLGFBQTRCO0FBQ2hELFlBQU0sb0JBQUcsK0RBQTBCLE1BQU0sRUFBRSxPQUFPLE1BQU0sV0FBVyxLQUFLLENBQUM7QUFDM0U7QUFPQSxlQUFzQixlQUE4QjtBQUNsRCxNQUFJLENBQUMsVUFBTSwrQkFBZSxzQkFBc0IsR0FBRztBQUNqRCxVQUFNLG1CQUFtQjtBQUFBLEVBQzNCO0FBQ0EsTUFBSSxDQUFDLFVBQU0sK0JBQWUsMEJBQTBCLEdBQUc7QUFDckQsVUFBTSx1QkFBdUI7QUFBQSxFQUMvQjtBQUNGO0FBT0EsZUFBc0IscUJBQW9DO0FBQ3hELFFBQU0sbUJBQWUscUNBQXdCLCtEQUEwQixZQUFZO0FBQ25GLFFBQU0sV0FBVyxVQUFNLHNCQUF1QixZQUFZO0FBQzFELFFBQU0sV0FBVyxVQUFNLDBCQUFRLHNCQUFLLFNBQVMsV0FBVyxDQUFDLEdBQUcsRUFBRSxTQUFTLFNBQVMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hHLFFBQU0sY0FBYyxTQUFTLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxTQUFTLEtBQUssS0FBSyxTQUFTLFlBQVksS0FBSyxLQUFLLFNBQVMsWUFBWSxDQUFDO0FBRXBJLE1BQUksWUFBWSxXQUFXLEdBQUc7QUFDNUIscUNBQWUsMEJBQTBCLEVBQUUsbUVBQW1FO0FBQzlHO0FBQUEsRUFDRjtBQUVBLFlBQU0sMEJBQWEsQ0FBQyxPQUFPLGdCQUFnQixjQUFjLCtEQUEwQixZQUFZLENBQUM7QUFDbEc7QUFPQSxlQUFzQix5QkFBd0M7QUFDNUQsWUFBTSwwQkFBYSxDQUFDLE9BQU8sT0FBTyxXQUFXLFNBQVMsQ0FBQztBQUN6RDtBQVVBLGVBQXNCLGNBQTZCO0FBQ2pELGFBQVcsVUFBVSxVQUFNLHdCQUFhLCtEQUEwQixRQUFRLEVBQUUsV0FBVyxNQUFNLGVBQWUsS0FBSyxDQUFDLEdBQUc7QUFDbkgsUUFBSSxDQUFDLE9BQU8sT0FBTyxHQUFHO0FBQ3BCO0FBQUEsSUFDRjtBQUVBLFVBQU0sV0FBTyw2QkFBVSxrQkFBSyxPQUFPLFlBQVksT0FBTyxJQUFJLEdBQUcsR0FBRywrREFBMEIsTUFBTSxHQUFHO0FBQ25HLGNBQU0sd0JBQUcsa0JBQUssK0RBQTBCLFFBQVEsSUFBSSxPQUFHLGtCQUFLLCtEQUEwQixNQUFNLElBQUksQ0FBQztBQUFBLEVBQ25HO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -161,4 +163,4 @@ function changeExtensionPlugin(extension) {
161
163
  0 && (module.exports = {
162
164
  changeExtensionPlugin
163
165
  });
164
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY2hhbmdlLWV4dGVuc2lvbi1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgY2hhbmdlcyB0aGUgZXh0ZW5zaW9uIG9mIEphdmFTY3JpcHQgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcmV3cml0ZXMgZmlsZSBleHRlbnNpb25zIGF0IGJ1aWxkIHRpbWU7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi8uLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGNoYW5nZXMgdGhlIGV4dGVuc2lvbiBvZiBKYXZhU2NyaXB0IGZpbGVzIGFmdGVyIHRoZSBidWlsZCBwcm9jZXNzLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGNoYW5nZSB0aGUgZmlsZXMgdG8uXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHJlbmFtaW5nIGFuZCBtb2RpZmljYXRpb24gb2Ygb3V0cHV0IGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlRXh0ZW5zaW9uUGx1Z2luKGV4dGVuc2lvbjogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY2hhbmdlLWV4dGVuc2lvbicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/PyBbXSkge1xuICAgICAgICAgIGlmICghZmlsZS5wYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuSnNFeHRlbnNpb24pIHx8IGZpbGUucGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRqc0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSByZXBsYWNlQWxsKGZpbGUucGF0aCwgL1xcLmpzJC9nLCBleHRlbnNpb24pO1xuXG4gICAgICAgICAgbGV0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSg/PEltcG9ydFBhdGg+Lis/KVtcIiddXFwpL2csICh7IGNhcHR1cmVkR3JvdXBBcmdzOiBbaW1wb3J0UGF0aCA9ICcnXSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaXhlZEltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtmaXhlZEltcG9ydFBhdGh9JylgO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbmV3VGV4dCA9IHJlcGxhY2VBbGwobmV3VGV4dCwgL2Zyb20gXCIoPzxJbXBvcnRQYXRoPi4rPylcIi9nLCAoeyBjYXB0dXJlZEdyb3VwQXJnczogW2ltcG9ydFBhdGggPSAnJ10gfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGltcG9ydFBhdGguZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZml4ZWRJbXBvcnRQYXRoID0gcmVwbGFjZUFsbChpbXBvcnRQYXRoLCAvXFwudHMkL2csIGV4dGVuc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gYGZyb20gXCIke2ZpeGVkSW1wb3J0UGF0aH1cImA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUobmV3UGF0aCwgbmV3VGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsc0JBQTBCO0FBRTFCLG9CQUEyQjtBQUMzQiwyQ0FBMEM7QUFRbkMsU0FBUyxzQkFBc0IsV0FBMkI7QUFDL0QsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxPQUFPLFdBQVc7QUFDNUIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGNBQUksQ0FBQyxLQUFLLEtBQUssU0FBUywrREFBMEIsV0FBVyxLQUFLLEtBQUssS0FBSyxTQUFTLCtEQUEwQixZQUFZLEdBQUc7QUFDNUg7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sY0FBVSwwQkFBVyxLQUFLLE1BQU0sVUFBVSxTQUFTO0FBRXpELGNBQUksY0FBVSwwQkFBVyxLQUFLLE1BQU0sMENBQTBDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNO0FBQzFILGdCQUFJLFdBQVcsU0FBUywrREFBMEIsWUFBWSxHQUFHO0FBQy9ELHFCQUFPO0FBQUEsWUFDVDtBQUVBLGtCQUFNLHNCQUFrQiwwQkFBVyxZQUFZLFVBQVUsU0FBUztBQUNsRSxtQkFBTyxZQUFZLGVBQWU7QUFBQSxVQUNwQyxDQUFDO0FBRUQsd0JBQVUsMEJBQVcsU0FBUyw4QkFBOEIsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU07QUFDeEcsZ0JBQUksV0FBVyxTQUFTLCtEQUEwQixZQUFZLEdBQUc7QUFDL0QscUJBQU87QUFBQSxZQUNUO0FBRUEsa0JBQU0sc0JBQWtCLDBCQUFXLFlBQVksVUFBVSxTQUFTO0FBQ2xFLG1CQUFPLFNBQVMsZUFBZTtBQUFBLFVBQ2pDLENBQUM7QUFFRCxvQkFBTSwyQkFBVSxTQUFTLE9BQU87QUFBQSxRQUNsQztBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
166
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY2hhbmdlLWV4dGVuc2lvbi1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgY2hhbmdlcyB0aGUgZXh0ZW5zaW9uIG9mIEphdmFTY3JpcHQgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcmV3cml0ZXMgZmlsZSBleHRlbnNpb25zIGF0IGJ1aWxkIHRpbWU7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi8uLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGNoYW5nZXMgdGhlIGV4dGVuc2lvbiBvZiBKYXZhU2NyaXB0IGZpbGVzIGFmdGVyIHRoZSBidWlsZCBwcm9jZXNzLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGNoYW5nZSB0aGUgZmlsZXMgdG8uXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHJlbmFtaW5nIGFuZCBtb2RpZmljYXRpb24gb2Ygb3V0cHV0IGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlRXh0ZW5zaW9uUGx1Z2luKGV4dGVuc2lvbjogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY2hhbmdlLWV4dGVuc2lvbicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/PyBbXSkge1xuICAgICAgICAgIGlmICghZmlsZS5wYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuSnNFeHRlbnNpb24pIHx8IGZpbGUucGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRqc0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSByZXBsYWNlQWxsKGZpbGUucGF0aCwgL1xcLmpzJC9nLCBleHRlbnNpb24pO1xuXG4gICAgICAgICAgbGV0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSg/PEltcG9ydFBhdGg+Lis/KVtcIiddXFwpL2csICh7IGNhcHR1cmVkR3JvdXBBcmdzOiBbaW1wb3J0UGF0aCA9ICcnXSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaXhlZEltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtmaXhlZEltcG9ydFBhdGh9JylgO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbmV3VGV4dCA9IHJlcGxhY2VBbGwobmV3VGV4dCwgL2Zyb20gXCIoPzxJbXBvcnRQYXRoPi4rPylcIi9nLCAoeyBjYXB0dXJlZEdyb3VwQXJnczogW2ltcG9ydFBhdGggPSAnJ10gfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGltcG9ydFBhdGguZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZml4ZWRJbXBvcnRQYXRoID0gcmVwbGFjZUFsbChpbXBvcnRQYXRoLCAvXFwudHMkL2csIGV4dGVuc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gYGZyb20gXCIke2ZpeGVkSW1wb3J0UGF0aH1cImA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUobmV3UGF0aCwgbmV3VGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSxzQkFBMEI7QUFFMUIsb0JBQTJCO0FBQzNCLDJDQUEwQztBQVFuQyxTQUFTLHNCQUFzQixXQUEyQjtBQUMvRCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLE9BQU8sV0FBVztBQUM1QixtQkFBVyxRQUFRLE9BQU8sZUFBZSxDQUFDLEdBQUc7QUFDM0MsY0FBSSxDQUFDLEtBQUssS0FBSyxTQUFTLCtEQUEwQixXQUFXLEtBQUssS0FBSyxLQUFLLFNBQVMsK0RBQTBCLFlBQVksR0FBRztBQUM1SDtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxjQUFVLDBCQUFXLEtBQUssTUFBTSxVQUFVLFNBQVM7QUFFekQsY0FBSSxjQUFVLDBCQUFXLEtBQUssTUFBTSwwQ0FBMEMsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU07QUFDMUgsZ0JBQUksV0FBVyxTQUFTLCtEQUEwQixZQUFZLEdBQUc7QUFDL0QscUJBQU87QUFBQSxZQUNUO0FBRUEsa0JBQU0sc0JBQWtCLDBCQUFXLFlBQVksVUFBVSxTQUFTO0FBQ2xFLG1CQUFPLFlBQVksZUFBZTtBQUFBLFVBQ3BDLENBQUM7QUFFRCx3QkFBVSwwQkFBVyxTQUFTLDhCQUE4QixDQUFDLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTTtBQUN4RyxnQkFBSSxXQUFXLFNBQVMsK0RBQTBCLFlBQVksR0FBRztBQUMvRCxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxzQkFBa0IsMEJBQVcsWUFBWSxVQUFVLFNBQVM7QUFDbEUsbUJBQU8sU0FBUyxlQUFlO0FBQUEsVUFDakMsQ0FBQztBQUVELG9CQUFNLDJCQUFVLFNBQVMsT0FBTztBQUFBLFFBQ2xDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -201,4 +203,4 @@ async function enableCommunityPlugin(obsidianConfigFolder, pluginId) {
201
203
  0 && (module.exports = {
202
204
  copyToObsidianPluginsFolderPlugin
203
205
  });
204
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgYXV0b21hdGljYWxseSBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dFxuICogdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyIGR1cmluZyBkZXZlbG9wbWVudC4gVGhpcyBwbHVnaW4gaGVscHMgc3RyZWFtbGluZVxuICogdGhlIGRldmVsb3BtZW50IHdvcmtmbG93IGJ5IGVuc3VyaW5nIHRoYXQgdGhlIGxhdGVzdCBidWlsZCBpcyBhbHdheXMgYXZhaWxhYmxlXG4gKiBpbiB0aGUgY29ycmVjdCBPYnNpZGlhbiBmb2xkZXIgZm9yIHRlc3RpbmcgYW5kIHVzZS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgYnVpbGQgb3V0cHV0IHRvIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uLy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7XG4gIGRpcm5hbWUsXG4gIGpvaW4sXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dCB0byB0aGUgT2JzaWRpYW4gcGx1Z2lucyBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGlzUHJvZHVjdGlvbkJ1aWxkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgYnVpbGQgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgZm9sZGVyIHdoZXJlIHRoZSBidWlsdCBmaWxlcyBhcmUgbG9jYXRlZC5cbiAqIEBwYXJhbSBvYnNpZGlhbkNvbmZpZ0ZvbGRlciAtIFRoZSBmb2xkZXIgb2YgdGhlIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIElmIG5vdCBwcm92aWRlZCwgdGhlIHBsdWdpbiB3aWxsIG5vdCBjb3B5IGZpbGVzLlxuICogQHBhcmFtIHBsdWdpbk5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4oXG4gIGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuLFxuICBkaXN0Rm9sZGVyOiBzdHJpbmcsXG4gIG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmcsXG4gIHBsdWdpbk5hbWU6IHN0cmluZ1xuKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlcicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvYnNpZGlhbkNvbmZpZ0ZvbGRlcikge1xuICAgICAgICAgIGdldExpYkRlYnVnZ2VyKCdjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4nKShcbiAgICAgICAgICAgICdObyBPYnNpZGlhbiBjb25maWcgZm9sZGVyIGNvbmZpZ3VyZWQuIGBPQlNJRElBTl9DT05GSUdfRk9MREVSYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IGluIHN5c3RlbSBvciBpbiBgLmVudmAgZmlsZS4gVGhlIGNvbXBpbGVkIHBsdWdpbiB3aWxsIG5vdCBiZSBjb3BpZWQgaW50byBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci4nXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHRvUG9zaXhQYXRoKG9ic2lkaWFuQ29uZmlnRm9sZGVyKTtcblxuICAgICAgICBjb25zdCBwbHVnaW5Gb2xkZXIgPSBqb2luKG9ic2lkaWFuQ29uZmlnRm9sZGVyLCAncGx1Z2lucycsIHBsdWdpbk5hbWUpO1xuXG4gICAgICAgIGlmICghZXhpc3RzU3luYyhwbHVnaW5Gb2xkZXIpKSB7XG4gICAgICAgICAgYXdhaXQgbWtkaXIocGx1Z2luRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IGNwKGRpc3RGb2xkZXIsIHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAgICAgY29uc3QgaG90UmVsb2FkRm9sZGVyID0gam9pbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgJ3BsdWdpbnMvaG90LXJlbG9hZCcpO1xuICAgICAgICBpZiAoIWV4aXN0c1N5bmMoaG90UmVsb2FkRm9sZGVyKSkge1xuICAgICAgICAgIGF3YWl0IG1rZGlyKGhvdFJlbG9hZEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgICAgY29uc3QgaG90UmVsb2FkUmVwb1VybCA9ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcGplYnkvaG90LXJlbG9hZC9tYXN0ZXIvJztcbiAgICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFsnbWFpbi5qcycsICdtYW5pZmVzdC5qc29uJ10pIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVVcmwgPSBob3RSZWxvYWRSZXBvVXJsICsgZmlsZU5hbWU7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzIC0tIFdlIHJ1biB0aGlzIG91dHNpZGUgb2YgT2JzaWRpYW4sIHNvIHdlIGRvbid0IGhhdmUgYHJlcXVlc3RVcmwoKWAuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVVcmwpO1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGhvdFJlbG9hZEZvbGRlciwgZmlsZU5hbWUpLCB0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4ob2JzaWRpYW5Db25maWdGb2xkZXIsICdob3QtcmVsb2FkJyk7XG4gICAgICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGVuYWJsZUNvbW11bml0eVBsdWdpbihvYnNpZGlhbkNvbmZpZ0ZvbGRlcjogc3RyaW5nLCBwbHVnaW5JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNvbW11bml0eVBsdWdpbnNQYXRoID0gam9pbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgJ2NvbW11bml0eS1wbHVnaW5zLmpzb24nKTtcbiAgbGV0IHBsdWdpbnM6IHN0cmluZ1tdID0gW107XG4gIGlmIChleGlzdHNTeW5jKGNvbW11bml0eVBsdWdpbnNQYXRoKSkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShjb21tdW5pdHlQbHVnaW5zUGF0aCwgJ3V0Zi04Jyk7XG4gICAgcGx1Z2lucyA9IEpTT04ucGFyc2UoY29udGVudCkgYXMgc3RyaW5nW107XG4gIH1cblxuICBpZiAoIXBsdWdpbnMuaW5jbHVkZXMocGx1Z2luSWQpKSB7XG4gICAgcGx1Z2lucy5wdXNoKHBsdWdpbklkKTtcbiAgICBjb25zdCBKU09OX0lOREVOVCA9IDI7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGNvbW11bml0eVBsdWdpbnNQYXRoLCBKU09OLnN0cmluZ2lmeShwbHVnaW5zLCBudWxsLCBKU09OX0lOREVOVCksICd1dGYtOCcpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBldmFsSW5PYnNpZGlhbih7XG4gICAgICBhcmdzOiB7IHBsdWdpbklkIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93IC0tIE5vIGFjdHVhbCBzaGFkb3dpbmcgYXMgdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGV4dGVybmFsbHkuXG4gICAgICBhc3luYyBmbih7IGFwcCwgcGx1Z2luSWQgfSkge1xuICAgICAgICBhd2FpdCBhcHAucGx1Z2lucy5lbmFibGVQbHVnaW5BbmRTYXZlKHBsdWdpbklkKTtcbiAgICAgIH0sXG4gICAgICB2YXVsdFBhdGg6IGRpcm5hbWUob2JzaWRpYW5Db25maWdGb2xkZXIpXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSk7XG4gICAgY29uc3QgaXNOb3RGb3VuZCA9IGVycm9yTWVzc2FnZS5pbmNsdWRlcygnRU5PRU5UJykgfHwgZXJyb3JNZXNzYWdlLmluY2x1ZGVzKCdub3QgZm91bmQnKSB8fCBlcnJvck1lc3NhZ2UuaW5jbHVkZXMoJ25vdCByZWNvZ25pemVkJyk7XG4gICAgaWYgKGlzTm90Rm91bmQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE9ic2lkaWFuIENMSSBpcyBub3QgaW5zdGFsbGVkLiBQbHVnaW4gJyR7cGx1Z2luSWR9JyB3aWxsIGJlIGVuYWJsZWQgb24gbmV4dCB2YXVsdCBvcGVuLiBTZWUgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL2NsaWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZW5hYmxlIHBsdWdpbiAnJHtwbHVnaW5JZH0nIHZpYSBPYnNpZGlhbiBDTEkuYCwgZSk7XG4gICAgfVxuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLHFCQUEyQjtBQUMzQixzQkFLTztBQUNQLDBDQUErQjtBQUUvQixtQkFBK0I7QUFDL0Isa0JBSU87QUFXQSxTQUFTLGtDQUNkLG1CQUNBLFlBQ0Esc0JBQ0EsWUFDUTtBQUNSLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sWUFBWTtBQUN0QixZQUFJLG1CQUFtQjtBQUNyQjtBQUFBLFFBQ0Y7QUFFQSxZQUFJLENBQUMsc0JBQXNCO0FBQ3pCLDJDQUFlLG1DQUFtQztBQUFBLFlBQ2hEO0FBQUEsVUFDRjtBQUNBO0FBQUEsUUFDRjtBQUVBLG1DQUF1Qix5QkFBWSxvQkFBb0I7QUFFdkQsY0FBTSxtQkFBZSxrQkFBSyxzQkFBc0IsV0FBVyxVQUFVO0FBRXJFLFlBQUksS0FBQywyQkFBVyxZQUFZLEdBQUc7QUFDN0Isb0JBQU0sdUJBQU0sY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQUEsUUFDL0M7QUFFQSxrQkFBTSxvQkFBRyxZQUFZLGNBQWMsRUFBRSxXQUFXLEtBQUssQ0FBQztBQUV0RCxjQUFNLHNCQUFrQixrQkFBSyxzQkFBc0Isb0JBQW9CO0FBQ3ZFLFlBQUksS0FBQywyQkFBVyxlQUFlLEdBQUc7QUFDaEMsb0JBQU0sdUJBQU0saUJBQWlCLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFDaEQsZ0JBQU0sbUJBQW1CO0FBQ3pCLHFCQUFXLFlBQVksQ0FBQyxXQUFXLGVBQWUsR0FBRztBQUNuRCxrQkFBTSxVQUFVLG1CQUFtQjtBQUVuQyxrQkFBTSxXQUFXLE1BQU0sTUFBTSxPQUFPO0FBQ3BDLGtCQUFNLE9BQU8sTUFBTSxTQUFTLEtBQUs7QUFDakMsc0JBQU0sK0JBQVUsa0JBQUssaUJBQWlCLFFBQVEsR0FBRyxJQUFJO0FBQUEsVUFDdkQ7QUFBQSxRQUNGO0FBRUEsY0FBTSxzQkFBc0Isc0JBQXNCLFlBQVk7QUFDOUQsY0FBTSxzQkFBc0Isc0JBQXNCLFVBQVU7QUFBQSxNQUM5RCxDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQUVBLGVBQWUsc0JBQXNCLHNCQUE4QixVQUFpQztBQUNsRyxRQUFNLDJCQUF1QixrQkFBSyxzQkFBc0Isd0JBQXdCO0FBQ2hGLE1BQUksVUFBb0IsQ0FBQztBQUN6QixVQUFJLDJCQUFXLG9CQUFvQixHQUFHO0FBQ3BDLFVBQU0sVUFBVSxVQUFNLDBCQUFTLHNCQUFzQixPQUFPO0FBQzVELGNBQVUsS0FBSyxNQUFNLE9BQU87QUFBQSxFQUM5QjtBQUVBLE1BQUksQ0FBQyxRQUFRLFNBQVMsUUFBUSxHQUFHO0FBQy9CLFlBQVEsS0FBSyxRQUFRO0FBQ3JCLFVBQU0sY0FBYztBQUNwQixjQUFNLDJCQUFVLHNCQUFzQixLQUFLLFVBQVUsU0FBUyxNQUFNLFdBQVcsR0FBRyxPQUFPO0FBQUEsRUFDM0Y7QUFFQSxNQUFJO0FBQ0YsY0FBTSxvREFBZTtBQUFBLE1BQ25CLE1BQU0sRUFBRSxTQUFTO0FBQUE7QUFBQSxNQUVqQixNQUFNLEdBQUcsRUFBRSxLQUFLLFVBQUFBLFVBQVMsR0FBRztBQUMxQixjQUFNLElBQUksUUFBUSxvQkFBb0JBLFNBQVE7QUFBQSxNQUNoRDtBQUFBLE1BQ0EsZUFBVyxxQkFBUSxvQkFBb0I7QUFBQSxJQUN6QyxDQUFDO0FBQUEsRUFDSCxTQUFTLEdBQVk7QUFDbkIsVUFBTSxlQUFlLGFBQWEsUUFBUSxFQUFFLFVBQVUsT0FBTyxDQUFDO0FBQzlELFVBQU0sYUFBYSxhQUFhLFNBQVMsUUFBUSxLQUFLLGFBQWEsU0FBUyxXQUFXLEtBQUssYUFBYSxTQUFTLGdCQUFnQjtBQUNsSSxRQUFJLFlBQVk7QUFDZCxjQUFRLE1BQU0sMENBQTBDLFFBQVEsd0VBQXdFO0FBQUEsSUFDMUksT0FBTztBQUNMLGNBQVEsTUFBTSw0QkFBNEIsUUFBUSx1QkFBdUIsQ0FBQztBQUFBLElBQzVFO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJwbHVnaW5JZCJdCn0K
206
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgYXV0b21hdGljYWxseSBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dFxuICogdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyIGR1cmluZyBkZXZlbG9wbWVudC4gVGhpcyBwbHVnaW4gaGVscHMgc3RyZWFtbGluZVxuICogdGhlIGRldmVsb3BtZW50IHdvcmtmbG93IGJ5IGVuc3VyaW5nIHRoYXQgdGhlIGxhdGVzdCBidWlsZCBpcyBhbHdheXMgYXZhaWxhYmxlXG4gKiBpbiB0aGUgY29ycmVjdCBPYnNpZGlhbiBmb2xkZXIgZm9yIHRlc3RpbmcgYW5kIHVzZS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgYnVpbGQgb3V0cHV0IHRvIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uLy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7XG4gIGRpcm5hbWUsXG4gIGpvaW4sXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dCB0byB0aGUgT2JzaWRpYW4gcGx1Z2lucyBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGlzUHJvZHVjdGlvbkJ1aWxkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgYnVpbGQgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgZm9sZGVyIHdoZXJlIHRoZSBidWlsdCBmaWxlcyBhcmUgbG9jYXRlZC5cbiAqIEBwYXJhbSBvYnNpZGlhbkNvbmZpZ0ZvbGRlciAtIFRoZSBmb2xkZXIgb2YgdGhlIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIElmIG5vdCBwcm92aWRlZCwgdGhlIHBsdWdpbiB3aWxsIG5vdCBjb3B5IGZpbGVzLlxuICogQHBhcmFtIHBsdWdpbk5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4oXG4gIGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuLFxuICBkaXN0Rm9sZGVyOiBzdHJpbmcsXG4gIG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmcsXG4gIHBsdWdpbk5hbWU6IHN0cmluZ1xuKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlcicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvYnNpZGlhbkNvbmZpZ0ZvbGRlcikge1xuICAgICAgICAgIGdldExpYkRlYnVnZ2VyKCdjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4nKShcbiAgICAgICAgICAgICdObyBPYnNpZGlhbiBjb25maWcgZm9sZGVyIGNvbmZpZ3VyZWQuIGBPQlNJRElBTl9DT05GSUdfRk9MREVSYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IGluIHN5c3RlbSBvciBpbiBgLmVudmAgZmlsZS4gVGhlIGNvbXBpbGVkIHBsdWdpbiB3aWxsIG5vdCBiZSBjb3BpZWQgaW50byBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci4nXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHRvUG9zaXhQYXRoKG9ic2lkaWFuQ29uZmlnRm9sZGVyKTtcblxuICAgICAgICBjb25zdCBwbHVnaW5Gb2xkZXIgPSBqb2luKG9ic2lkaWFuQ29uZmlnRm9sZGVyLCAncGx1Z2lucycsIHBsdWdpbk5hbWUpO1xuXG4gICAgICAgIGlmICghZXhpc3RzU3luYyhwbHVnaW5Gb2xkZXIpKSB7XG4gICAgICAgICAgYXdhaXQgbWtkaXIocGx1Z2luRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IGNwKGRpc3RGb2xkZXIsIHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAgICAgY29uc3QgaG90UmVsb2FkRm9sZGVyID0gam9pbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgJ3BsdWdpbnMvaG90LXJlbG9hZCcpO1xuICAgICAgICBpZiAoIWV4aXN0c1N5bmMoaG90UmVsb2FkRm9sZGVyKSkge1xuICAgICAgICAgIGF3YWl0IG1rZGlyKGhvdFJlbG9hZEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgICAgY29uc3QgaG90UmVsb2FkUmVwb1VybCA9ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcGplYnkvaG90LXJlbG9hZC9tYXN0ZXIvJztcbiAgICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFsnbWFpbi5qcycsICdtYW5pZmVzdC5qc29uJ10pIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVVcmwgPSBob3RSZWxvYWRSZXBvVXJsICsgZmlsZU5hbWU7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzIC0tIFdlIHJ1biB0aGlzIG91dHNpZGUgb2YgT2JzaWRpYW4sIHNvIHdlIGRvbid0IGhhdmUgYHJlcXVlc3RVcmwoKWAuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVVcmwpO1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGhvdFJlbG9hZEZvbGRlciwgZmlsZU5hbWUpLCB0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4ob2JzaWRpYW5Db25maWdGb2xkZXIsICdob3QtcmVsb2FkJyk7XG4gICAgICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGVuYWJsZUNvbW11bml0eVBsdWdpbihvYnNpZGlhbkNvbmZpZ0ZvbGRlcjogc3RyaW5nLCBwbHVnaW5JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNvbW11bml0eVBsdWdpbnNQYXRoID0gam9pbihvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgJ2NvbW11bml0eS1wbHVnaW5zLmpzb24nKTtcbiAgbGV0IHBsdWdpbnM6IHN0cmluZ1tdID0gW107XG4gIGlmIChleGlzdHNTeW5jKGNvbW11bml0eVBsdWdpbnNQYXRoKSkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShjb21tdW5pdHlQbHVnaW5zUGF0aCwgJ3V0Zi04Jyk7XG4gICAgcGx1Z2lucyA9IEpTT04ucGFyc2UoY29udGVudCkgYXMgc3RyaW5nW107XG4gIH1cblxuICBpZiAoIXBsdWdpbnMuaW5jbHVkZXMocGx1Z2luSWQpKSB7XG4gICAgcGx1Z2lucy5wdXNoKHBsdWdpbklkKTtcbiAgICBjb25zdCBKU09OX0lOREVOVCA9IDI7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGNvbW11bml0eVBsdWdpbnNQYXRoLCBKU09OLnN0cmluZ2lmeShwbHVnaW5zLCBudWxsLCBKU09OX0lOREVOVCksICd1dGYtOCcpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBldmFsSW5PYnNpZGlhbih7XG4gICAgICBhcmdzOiB7IHBsdWdpbklkIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93IC0tIE5vIGFjdHVhbCBzaGFkb3dpbmcgYXMgdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGV4dGVybmFsbHkuXG4gICAgICBhc3luYyBmbih7IGFwcCwgcGx1Z2luSWQgfSkge1xuICAgICAgICBhd2FpdCBhcHAucGx1Z2lucy5lbmFibGVQbHVnaW5BbmRTYXZlKHBsdWdpbklkKTtcbiAgICAgIH0sXG4gICAgICB2YXVsdFBhdGg6IGRpcm5hbWUob2JzaWRpYW5Db25maWdGb2xkZXIpXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSk7XG4gICAgY29uc3QgaXNOb3RGb3VuZCA9IGVycm9yTWVzc2FnZS5pbmNsdWRlcygnRU5PRU5UJykgfHwgZXJyb3JNZXNzYWdlLmluY2x1ZGVzKCdub3QgZm91bmQnKSB8fCBlcnJvck1lc3NhZ2UuaW5jbHVkZXMoJ25vdCByZWNvZ25pemVkJyk7XG4gICAgaWYgKGlzTm90Rm91bmQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE9ic2lkaWFuIENMSSBpcyBub3QgaW5zdGFsbGVkLiBQbHVnaW4gJyR7cGx1Z2luSWR9JyB3aWxsIGJlIGVuYWJsZWQgb24gbmV4dCB2YXVsdCBvcGVuLiBTZWUgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL2NsaWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZW5hYmxlIHBsdWdpbiAnJHtwbHVnaW5JZH0nIHZpYSBPYnNpZGlhbiBDTEkuYCwgZSk7XG4gICAgfVxuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEscUJBQTJCO0FBQzNCLHNCQUtPO0FBQ1AsMENBQStCO0FBRS9CLG1CQUErQjtBQUMvQixrQkFJTztBQVdBLFNBQVMsa0NBQ2QsbUJBQ0EsWUFDQSxzQkFDQSxZQUNRO0FBQ1IsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxZQUFZO0FBQ3RCLFlBQUksbUJBQW1CO0FBQ3JCO0FBQUEsUUFDRjtBQUVBLFlBQUksQ0FBQyxzQkFBc0I7QUFDekIsMkNBQWUsbUNBQW1DO0FBQUEsWUFDaEQ7QUFBQSxVQUNGO0FBQ0E7QUFBQSxRQUNGO0FBRUEsbUNBQXVCLHlCQUFZLG9CQUFvQjtBQUV2RCxjQUFNLG1CQUFlLGtCQUFLLHNCQUFzQixXQUFXLFVBQVU7QUFFckUsWUFBSSxLQUFDLDJCQUFXLFlBQVksR0FBRztBQUM3QixvQkFBTSx1QkFBTSxjQUFjLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFBQSxRQUMvQztBQUVBLGtCQUFNLG9CQUFHLFlBQVksY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBRXRELGNBQU0sc0JBQWtCLGtCQUFLLHNCQUFzQixvQkFBb0I7QUFDdkUsWUFBSSxLQUFDLDJCQUFXLGVBQWUsR0FBRztBQUNoQyxvQkFBTSx1QkFBTSxpQkFBaUIsRUFBRSxXQUFXLEtBQUssQ0FBQztBQUNoRCxnQkFBTSxtQkFBbUI7QUFDekIscUJBQVcsWUFBWSxDQUFDLFdBQVcsZUFBZSxHQUFHO0FBQ25ELGtCQUFNLFVBQVUsbUJBQW1CO0FBRW5DLGtCQUFNLFdBQVcsTUFBTSxNQUFNLE9BQU87QUFDcEMsa0JBQU0sT0FBTyxNQUFNLFNBQVMsS0FBSztBQUNqQyxzQkFBTSwrQkFBVSxrQkFBSyxpQkFBaUIsUUFBUSxHQUFHLElBQUk7QUFBQSxVQUN2RDtBQUFBLFFBQ0Y7QUFFQSxjQUFNLHNCQUFzQixzQkFBc0IsWUFBWTtBQUM5RCxjQUFNLHNCQUFzQixzQkFBc0IsVUFBVTtBQUFBLE1BQzlELENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsZUFBZSxzQkFBc0Isc0JBQThCLFVBQWlDO0FBQ2xHLFFBQU0sMkJBQXVCLGtCQUFLLHNCQUFzQix3QkFBd0I7QUFDaEYsTUFBSSxVQUFvQixDQUFDO0FBQ3pCLFVBQUksMkJBQVcsb0JBQW9CLEdBQUc7QUFDcEMsVUFBTSxVQUFVLFVBQU0sMEJBQVMsc0JBQXNCLE9BQU87QUFDNUQsY0FBVSxLQUFLLE1BQU0sT0FBTztBQUFBLEVBQzlCO0FBRUEsTUFBSSxDQUFDLFFBQVEsU0FBUyxRQUFRLEdBQUc7QUFDL0IsWUFBUSxLQUFLLFFBQVE7QUFDckIsVUFBTSxjQUFjO0FBQ3BCLGNBQU0sMkJBQVUsc0JBQXNCLEtBQUssVUFBVSxTQUFTLE1BQU0sV0FBVyxHQUFHLE9BQU87QUFBQSxFQUMzRjtBQUVBLE1BQUk7QUFDRixjQUFNLG9EQUFlO0FBQUEsTUFDbkIsTUFBTSxFQUFFLFNBQVM7QUFBQTtBQUFBLE1BRWpCLE1BQU0sR0FBRyxFQUFFLEtBQUssVUFBQUEsVUFBUyxHQUFHO0FBQzFCLGNBQU0sSUFBSSxRQUFRLG9CQUFvQkEsU0FBUTtBQUFBLE1BQ2hEO0FBQUEsTUFDQSxlQUFXLHFCQUFRLG9CQUFvQjtBQUFBLElBQ3pDLENBQUM7QUFBQSxFQUNILFNBQVMsR0FBWTtBQUNuQixVQUFNLGVBQWUsYUFBYSxRQUFRLEVBQUUsVUFBVSxPQUFPLENBQUM7QUFDOUQsVUFBTSxhQUFhLGFBQWEsU0FBUyxRQUFRLEtBQUssYUFBYSxTQUFTLFdBQVcsS0FBSyxhQUFhLFNBQVMsZ0JBQWdCO0FBQ2xJLFFBQUksWUFBWTtBQUNkLGNBQVEsTUFBTSwwQ0FBMEMsUUFBUSx3RUFBd0U7QUFBQSxJQUMxSSxPQUFPO0FBQ0wsY0FBUSxNQUFNLDRCQUE0QixRQUFRLHVCQUF1QixDQUFDO0FBQUEsSUFDNUU7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbInBsdWdpbklkIl0KfQo=