obsidian-dev-utils 54.0.2 → 55.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/lib/cjs/@types/debug.d.cts +4 -1
  3. package/dist/lib/cjs/abort-controller.cjs +1 -1
  4. package/dist/lib/cjs/abort-controller.d.cts +1 -1
  5. package/dist/lib/cjs/array.cjs +1 -1
  6. package/dist/lib/cjs/array.d.cts +1 -1
  7. package/dist/lib/cjs/async-events.cjs +1 -1
  8. package/dist/lib/cjs/async-events.d.cts +1 -1
  9. package/dist/lib/cjs/async.cjs +1 -1
  10. package/dist/lib/cjs/async.d.cts +1 -1
  11. package/dist/lib/cjs/blob.cjs +1 -1
  12. package/dist/lib/cjs/blob.d.cts +1 -1
  13. package/dist/lib/cjs/codemirror/state-field-spec.cjs +1 -1
  14. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -1
  15. package/dist/lib/cjs/css-class.cjs +1 -1
  16. package/dist/lib/cjs/css-class.d.cts +1 -1
  17. package/dist/lib/cjs/debug-controller.cjs +1 -1
  18. package/dist/lib/cjs/debug-controller.d.cts +1 -1
  19. package/dist/lib/cjs/debug.cjs +1 -1
  20. package/dist/lib/cjs/debug.d.cts +1 -1
  21. package/dist/lib/cjs/enum.cjs +1 -1
  22. package/dist/lib/cjs/enum.d.cts +1 -1
  23. package/dist/lib/cjs/error.cjs +1 -1
  24. package/dist/lib/cjs/error.d.cts +1 -1
  25. package/dist/lib/cjs/function.cjs +1 -1
  26. package/dist/lib/cjs/function.d.cts +1 -1
  27. package/dist/lib/cjs/html-element.cjs +1 -1
  28. package/dist/lib/cjs/html-element.d.cts +1 -1
  29. package/dist/lib/cjs/library.cjs +2 -2
  30. package/dist/lib/cjs/library.d.cts +1 -1
  31. package/dist/lib/cjs/object-utils.cjs +2 -2
  32. package/dist/lib/cjs/object-utils.d.cts +1 -1
  33. package/dist/lib/cjs/obsidian/@types/i18next.d.cts +1 -1
  34. package/dist/lib/cjs/obsidian/app.cjs +1 -1
  35. package/dist/lib/cjs/obsidian/app.d.cts +1 -1
  36. package/dist/lib/cjs/obsidian/async-with-notice.cjs +1 -1
  37. package/dist/lib/cjs/obsidian/async-with-notice.d.cts +1 -1
  38. package/dist/lib/cjs/obsidian/attachment-path.cjs +1 -1
  39. package/dist/lib/cjs/obsidian/attachment-path.d.cts +1 -1
  40. package/dist/lib/cjs/obsidian/backlink.cjs +1 -1
  41. package/dist/lib/cjs/obsidian/backlink.d.cts +1 -1
  42. package/dist/lib/cjs/obsidian/callout.cjs +1 -1
  43. package/dist/lib/cjs/obsidian/callout.d.cts +1 -1
  44. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +1 -1
  45. package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +1 -1
  46. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +1 -1
  47. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.d.cts +1 -1
  48. package/dist/lib/cjs/obsidian/commands/command-base.cjs +1 -1
  49. package/dist/lib/cjs/obsidian/commands/command-base.d.cts +1 -1
  50. package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +1 -1
  51. package/dist/lib/cjs/obsidian/commands/editor-command-base.d.cts +1 -1
  52. package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +1 -1
  53. package/dist/lib/cjs/obsidian/commands/file-command-base.d.cts +1 -1
  54. package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +1 -1
  55. package/dist/lib/cjs/obsidian/commands/folder-command-base.d.cts +1 -1
  56. package/dist/lib/cjs/obsidian/commands/non-editor-command-base.cjs +1 -1
  57. package/dist/lib/cjs/obsidian/commands/non-editor-command-base.d.cts +1 -1
  58. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +1 -1
  59. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.d.cts +1 -1
  60. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +1 -1
  61. package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +1 -1
  62. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +1 -1
  63. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.d.cts +1 -1
  64. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +1 -1
  65. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.d.cts +1 -1
  66. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +1 -1
  67. package/dist/lib/cjs/obsidian/components/setting-components/date-component.d.cts +1 -1
  68. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +1 -1
  69. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.d.cts +1 -1
  70. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +1 -1
  71. package/dist/lib/cjs/obsidian/components/setting-components/email-component.d.cts +1 -1
  72. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +1 -1
  73. package/dist/lib/cjs/obsidian/components/setting-components/file-component.d.cts +1 -1
  74. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +1 -1
  75. package/dist/lib/cjs/obsidian/components/setting-components/month-component.d.cts +1 -1
  76. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +1 -1
  77. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.d.cts +1 -1
  78. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +1 -1
  79. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.d.cts +1 -1
  80. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +1 -1
  81. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.d.cts +1 -1
  82. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +1 -1
  83. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.d.cts +1 -1
  84. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +1 -1
  85. package/dist/lib/cjs/obsidian/components/setting-components/number-component.d.cts +1 -1
  86. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +1 -1
  87. package/dist/lib/cjs/obsidian/components/setting-components/password-component.d.cts +1 -1
  88. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +1 -1
  89. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.d.cts +1 -1
  90. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +1 -1
  91. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.d.cts +1 -1
  92. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +1 -1
  93. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.d.cts +1 -1
  94. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +1 -1
  95. package/dist/lib/cjs/obsidian/components/setting-components/time-component.d.cts +1 -1
  96. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +1 -1
  97. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.d.cts +1 -1
  98. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +1 -1
  99. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.d.cts +1 -1
  100. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +1 -1
  101. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.d.cts +1 -1
  102. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +1 -1
  103. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.d.cts +1 -1
  104. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +1 -1
  105. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.d.cts +1 -1
  106. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +1 -1
  107. package/dist/lib/cjs/obsidian/components/setting-components/url-component.d.cts +1 -1
  108. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +1 -1
  109. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.d.cts +1 -1
  110. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +1 -1
  111. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.d.cts +1 -1
  112. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +1 -1
  113. package/dist/lib/cjs/obsidian/components/setting-components/week-component.d.cts +1 -1
  114. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +1 -1
  115. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +1 -1
  116. package/dist/lib/cjs/obsidian/dataview-link.cjs +1 -1
  117. package/dist/lib/cjs/obsidian/dataview-link.d.cts +1 -1
  118. package/dist/lib/cjs/obsidian/dataview.cjs +1 -1
  119. package/dist/lib/cjs/obsidian/dataview.d.cts +1 -1
  120. package/dist/lib/cjs/obsidian/editor.cjs +1 -1
  121. package/dist/lib/cjs/obsidian/editor.d.cts +1 -1
  122. package/dist/lib/cjs/obsidian/file-change.cjs +4 -4
  123. package/dist/lib/cjs/obsidian/file-change.d.cts +4 -4
  124. package/dist/lib/cjs/obsidian/file-manager.cjs +2 -2
  125. package/dist/lib/cjs/obsidian/file-manager.d.cts +1 -1
  126. package/dist/lib/cjs/obsidian/file-system.cjs +1 -1
  127. package/dist/lib/cjs/obsidian/file-system.d.cts +1 -1
  128. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +1 -1
  129. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.d.cts +1 -1
  130. package/dist/lib/cjs/obsidian/frontmatter.cjs +1 -1
  131. package/dist/lib/cjs/obsidian/frontmatter.d.cts +1 -1
  132. package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.cjs +1 -1
  133. package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.d.cts +1 -1
  134. package/dist/lib/cjs/obsidian/i18n/default-translations-base.cjs +1 -1
  135. package/dist/lib/cjs/obsidian/i18n/default-translations-base.d.cts +1 -1
  136. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +1 -1
  137. package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +1 -1
  138. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +1 -1
  139. package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +1 -1
  140. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +1 -1
  141. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +1 -1
  142. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +1 -1
  143. package/dist/lib/cjs/obsidian/is-in-obsidian.d.cts +1 -1
  144. package/dist/lib/cjs/obsidian/link.cjs +16 -12
  145. package/dist/lib/cjs/obsidian/link.d.cts +1 -1
  146. package/dist/lib/cjs/obsidian/logger.cjs +1 -1
  147. package/dist/lib/cjs/obsidian/logger.d.cts +1 -1
  148. package/dist/lib/cjs/obsidian/loop.cjs +1 -1
  149. package/dist/lib/cjs/obsidian/loop.d.cts +1 -1
  150. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +5 -5
  151. package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +3 -2
  152. package/dist/lib/cjs/obsidian/markdown-view.cjs +1 -1
  153. package/dist/lib/cjs/obsidian/markdown-view.d.cts +1 -1
  154. package/dist/lib/cjs/obsidian/markdown.cjs +1 -1
  155. package/dist/lib/cjs/obsidian/markdown.d.cts +1 -1
  156. package/dist/lib/cjs/obsidian/metadata-cache.cjs +1 -1
  157. package/dist/lib/cjs/obsidian/metadata-cache.d.cts +1 -1
  158. package/dist/lib/cjs/obsidian/modals/alert.cjs +1 -1
  159. package/dist/lib/cjs/obsidian/modals/alert.d.cts +1 -1
  160. package/dist/lib/cjs/obsidian/modals/confirm.cjs +1 -1
  161. package/dist/lib/cjs/obsidian/modals/confirm.d.cts +1 -1
  162. package/dist/lib/cjs/obsidian/modals/modal-base.cjs +1 -1
  163. package/dist/lib/cjs/obsidian/modals/modal-base.d.cts +1 -1
  164. package/dist/lib/cjs/obsidian/modals/prompt.cjs +1 -1
  165. package/dist/lib/cjs/obsidian/modals/prompt.d.cts +1 -1
  166. package/dist/lib/cjs/obsidian/modals/select-item.cjs +1 -1
  167. package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -1
  168. package/dist/lib/cjs/obsidian/monkey-around.cjs +1 -1
  169. package/dist/lib/cjs/obsidian/monkey-around.d.cts +1 -1
  170. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +1 -1
  171. package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +1 -1
  172. package/dist/lib/cjs/obsidian/pdf.cjs +1 -1
  173. package/dist/lib/cjs/obsidian/pdf.d.cts +1 -1
  174. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +1 -1
  175. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +1 -1
  176. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +1 -1
  177. package/dist/lib/cjs/obsidian/plugin/path-settings.d.cts +1 -1
  178. package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +1 -1
  179. package/dist/lib/cjs/obsidian/plugin/plugin-base.d.cts +1 -1
  180. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +1 -1
  181. package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +1 -1
  182. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +1 -1
  183. package/dist/lib/cjs/obsidian/plugin/plugin-id.d.cts +1 -1
  184. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +1 -1
  185. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.d.cts +1 -1
  186. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +1 -1
  187. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.d.cts +1 -1
  188. package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.cjs +1 -1
  189. package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.d.cts +1 -1
  190. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +1 -1
  191. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.d.cts +1 -1
  192. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +1 -1
  193. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +1 -1
  194. package/dist/lib/cjs/obsidian/queue.cjs +1 -1
  195. package/dist/lib/cjs/obsidian/queue.d.cts +1 -1
  196. package/dist/lib/cjs/obsidian/react/app-context.cjs +1 -1
  197. package/dist/lib/cjs/obsidian/react/app-context.d.cts +1 -1
  198. package/dist/lib/cjs/obsidian/reference.cjs +1 -1
  199. package/dist/lib/cjs/obsidian/reference.d.cts +1 -1
  200. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +1 -1
  201. package/dist/lib/cjs/obsidian/rename-delete-handler.d.cts +1 -1
  202. package/dist/lib/cjs/obsidian/resource-url.cjs +1 -1
  203. package/dist/lib/cjs/obsidian/resource-url.d.cts +1 -1
  204. package/dist/lib/cjs/obsidian/setting-ex.cjs +1 -1
  205. package/dist/lib/cjs/obsidian/setting-ex.d.cts +1 -1
  206. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +1 -1
  207. package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +1 -1
  208. package/dist/lib/cjs/obsidian/validation.cjs +1 -1
  209. package/dist/lib/cjs/obsidian/validation.d.cts +1 -1
  210. package/dist/lib/cjs/obsidian/vault-delete.cjs +1 -1
  211. package/dist/lib/cjs/obsidian/vault-delete.d.cts +1 -1
  212. package/dist/lib/cjs/obsidian/vault.cjs +2 -2
  213. package/dist/lib/cjs/obsidian/vault.d.cts +8 -2
  214. package/dist/lib/cjs/obsidian/workspace.cjs +1 -1
  215. package/dist/lib/cjs/obsidian/workspace.d.cts +1 -1
  216. package/dist/lib/cjs/path.cjs +1 -1
  217. package/dist/lib/cjs/path.d.cts +1 -1
  218. package/dist/lib/cjs/reg-exp.cjs +1 -1
  219. package/dist/lib/cjs/reg-exp.d.cts +1 -1
  220. package/dist/lib/cjs/script-utils/build.cjs +1 -1
  221. package/dist/lib/cjs/script-utils/build.d.cts +1 -1
  222. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -3
  223. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.cts +1 -1
  224. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +1 -1
  225. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -1
  226. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +1 -1
  227. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +1 -1
  228. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +1 -1
  229. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.d.cts +1 -1
  230. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +1 -1
  231. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.cts +1 -1
  232. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +2 -2
  233. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -1
  234. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +1 -1
  235. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
  236. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +1 -1
  237. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  238. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +1 -1
  239. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
  240. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +1 -1
  241. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -1
  242. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +1 -1
  243. package/dist/lib/cjs/script-utils/bundlers/esbuild.d.cts +1 -1
  244. package/dist/lib/cjs/script-utils/cli-utils.cjs +1 -1
  245. package/dist/lib/cjs/script-utils/cli-utils.d.cts +1 -1
  246. package/dist/lib/cjs/script-utils/code-generator.cjs +1 -1
  247. package/dist/lib/cjs/script-utils/code-generator.d.cts +1 -1
  248. package/dist/lib/cjs/script-utils/commitlint-config.cjs +1 -1
  249. package/dist/lib/cjs/script-utils/commitlint-config.d.cts +1 -1
  250. package/dist/lib/cjs/script-utils/exec.cjs +1 -1
  251. package/dist/lib/cjs/script-utils/exec.d.cts +1 -1
  252. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +1 -1
  253. package/dist/lib/cjs/script-utils/formatters/dprint.d.cts +1 -1
  254. package/dist/lib/cjs/script-utils/fs.cjs +1 -1
  255. package/dist/lib/cjs/script-utils/fs.d.cts +1 -1
  256. package/dist/lib/cjs/script-utils/json.cjs +1 -1
  257. package/dist/lib/cjs/script-utils/json.d.cts +1 -1
  258. package/dist/lib/cjs/script-utils/linters/cspell.cjs +1 -1
  259. package/dist/lib/cjs/script-utils/linters/cspell.d.cts +1 -1
  260. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +1 -1
  261. package/dist/lib/cjs/script-utils/linters/eslint-config.d.cts +1 -1
  262. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +1 -1
  263. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +1 -1
  264. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +1 -1
  265. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +1 -1
  266. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +1 -1
  267. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +1 -1
  268. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.d.cts +1 -1
  269. package/dist/lib/cjs/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +3 -1
  270. package/dist/lib/cjs/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +3 -1
  271. package/dist/lib/cjs/script-utils/linters/eslint.cjs +1 -1
  272. package/dist/lib/cjs/script-utils/linters/eslint.d.cts +1 -1
  273. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +1 -1
  274. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +1 -1
  275. package/dist/lib/cjs/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1 -1
  276. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +1 -1
  277. package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +1 -1
  278. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +1 -1
  279. package/dist/lib/cjs/script-utils/nano-staged-config.d.cts +1 -1
  280. package/dist/lib/cjs/script-utils/npm-publish.cjs +1 -1
  281. package/dist/lib/cjs/script-utils/npm-publish.d.cts +1 -1
  282. package/dist/lib/cjs/script-utils/npm-run.cjs +1 -1
  283. package/dist/lib/cjs/script-utils/npm-run.d.cts +1 -1
  284. package/dist/lib/cjs/script-utils/npm.cjs +1 -1
  285. package/dist/lib/cjs/script-utils/npm.d.cts +1 -1
  286. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +1 -1
  287. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +1 -1
  288. package/dist/lib/cjs/script-utils/root.cjs +1 -1
  289. package/dist/lib/cjs/script-utils/root.d.cts +1 -1
  290. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +1 -1
  291. package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +1 -1
  292. package/dist/lib/cjs/script-utils/version.cjs +1 -1
  293. package/dist/lib/cjs/script-utils/version.d.cts +1 -1
  294. package/dist/lib/cjs/string.cjs +14 -14
  295. package/dist/lib/cjs/string.d.cts +9 -5
  296. package/dist/lib/cjs/transformers/date-transformer.cjs +1 -1
  297. package/dist/lib/cjs/transformers/date-transformer.d.cts +1 -1
  298. package/dist/lib/cjs/transformers/duration-transformer.cjs +1 -1
  299. package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -1
  300. package/dist/lib/cjs/transformers/group-transformer.cjs +1 -1
  301. package/dist/lib/cjs/transformers/group-transformer.d.cts +1 -1
  302. package/dist/lib/cjs/transformers/map-transformer.cjs +1 -1
  303. package/dist/lib/cjs/transformers/map-transformer.d.cts +1 -1
  304. package/dist/lib/cjs/transformers/set-transformer.cjs +1 -1
  305. package/dist/lib/cjs/transformers/set-transformer.d.cts +1 -1
  306. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +1 -1
  307. package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +1 -1
  308. package/dist/lib/cjs/transformers/transformer.cjs +1 -1
  309. package/dist/lib/cjs/transformers/transformer.d.cts +1 -1
  310. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +1 -1
  311. package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +1 -1
  312. package/dist/lib/cjs/transformers/typed-transformer.cjs +1 -1
  313. package/dist/lib/cjs/transformers/typed-transformer.d.cts +1 -1
  314. package/dist/lib/cjs/two-way-map.cjs +1 -1
  315. package/dist/lib/cjs/two-way-map.d.cts +1 -1
  316. package/dist/lib/cjs/type-guards.cjs +1 -1
  317. package/dist/lib/cjs/type-guards.d.cts +1 -1
  318. package/dist/lib/cjs/type.cjs +1 -1
  319. package/dist/lib/cjs/type.d.cts +1 -1
  320. package/dist/lib/cjs/url.cjs +1 -1
  321. package/dist/lib/cjs/url.d.cts +1 -1
  322. package/dist/lib/cjs/value-provider.cjs +5 -5
  323. package/dist/lib/cjs/value-provider.d.cts +7 -4
  324. package/dist/lib/esm/@types/debug.d.mts +4 -1
  325. package/dist/lib/esm/abort-controller.d.mts +1 -1
  326. package/dist/lib/esm/abort-controller.mjs +1 -1
  327. package/dist/lib/esm/array.d.mts +1 -1
  328. package/dist/lib/esm/array.mjs +1 -1
  329. package/dist/lib/esm/async-events.d.mts +1 -1
  330. package/dist/lib/esm/async-events.mjs +1 -1
  331. package/dist/lib/esm/async.d.mts +1 -1
  332. package/dist/lib/esm/async.mjs +1 -1
  333. package/dist/lib/esm/blob.d.mts +1 -1
  334. package/dist/lib/esm/blob.mjs +1 -1
  335. package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -1
  336. package/dist/lib/esm/css-class.d.mts +1 -1
  337. package/dist/lib/esm/css-class.mjs +1 -1
  338. package/dist/lib/esm/debug-controller.d.mts +1 -1
  339. package/dist/lib/esm/debug.d.mts +1 -1
  340. package/dist/lib/esm/debug.mjs +1 -1
  341. package/dist/lib/esm/enum.d.mts +1 -1
  342. package/dist/lib/esm/enum.mjs +1 -1
  343. package/dist/lib/esm/error.d.mts +1 -1
  344. package/dist/lib/esm/error.mjs +1 -1
  345. package/dist/lib/esm/function.d.mts +1 -1
  346. package/dist/lib/esm/function.mjs +1 -1
  347. package/dist/lib/esm/html-element.d.mts +1 -1
  348. package/dist/lib/esm/html-element.mjs +1 -1
  349. package/dist/lib/esm/library.d.mts +1 -1
  350. package/dist/lib/esm/library.mjs +2 -2
  351. package/dist/lib/esm/object-utils.d.mts +1 -1
  352. package/dist/lib/esm/object-utils.mjs +2 -2
  353. package/dist/lib/esm/obsidian/@types/i18next.d.mts +1 -1
  354. package/dist/lib/esm/obsidian/app.d.mts +1 -1
  355. package/dist/lib/esm/obsidian/app.mjs +1 -1
  356. package/dist/lib/esm/obsidian/async-with-notice.d.mts +1 -1
  357. package/dist/lib/esm/obsidian/async-with-notice.mjs +1 -1
  358. package/dist/lib/esm/obsidian/attachment-path.d.mts +1 -1
  359. package/dist/lib/esm/obsidian/attachment-path.mjs +1 -1
  360. package/dist/lib/esm/obsidian/backlink.d.mts +1 -1
  361. package/dist/lib/esm/obsidian/backlink.mjs +1 -1
  362. package/dist/lib/esm/obsidian/callout.d.mts +1 -1
  363. package/dist/lib/esm/obsidian/callout.mjs +1 -1
  364. package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +1 -1
  365. package/dist/lib/esm/obsidian/commands/abstract-file-command-base.d.mts +1 -1
  366. package/dist/lib/esm/obsidian/commands/abstract-file-command-base.mjs +1 -1
  367. package/dist/lib/esm/obsidian/commands/command-base.d.mts +1 -1
  368. package/dist/lib/esm/obsidian/commands/command-base.mjs +1 -1
  369. package/dist/lib/esm/obsidian/commands/editor-command-base.d.mts +1 -1
  370. package/dist/lib/esm/obsidian/commands/editor-command-base.mjs +1 -1
  371. package/dist/lib/esm/obsidian/commands/file-command-base.d.mts +1 -1
  372. package/dist/lib/esm/obsidian/commands/file-command-base.mjs +1 -1
  373. package/dist/lib/esm/obsidian/commands/folder-command-base.d.mts +1 -1
  374. package/dist/lib/esm/obsidian/commands/folder-command-base.mjs +1 -1
  375. package/dist/lib/esm/obsidian/commands/non-editor-command-base.d.mts +1 -1
  376. package/dist/lib/esm/obsidian/commands/non-editor-command-base.mjs +1 -1
  377. package/dist/lib/esm/obsidian/components/all-windows-event-handler.d.mts +1 -1
  378. package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +1 -1
  379. package/dist/lib/esm/obsidian/components/async-events-component.d.mts +1 -1
  380. package/dist/lib/esm/obsidian/components/async-events-component.mjs +1 -1
  381. package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.d.mts +1 -1
  382. package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +1 -1
  383. package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.d.mts +1 -1
  384. package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +1 -1
  385. package/dist/lib/esm/obsidian/components/setting-components/date-component.d.mts +1 -1
  386. package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +1 -1
  387. package/dist/lib/esm/obsidian/components/setting-components/date-time-component.d.mts +1 -1
  388. package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +1 -1
  389. package/dist/lib/esm/obsidian/components/setting-components/email-component.d.mts +1 -1
  390. package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +1 -1
  391. package/dist/lib/esm/obsidian/components/setting-components/file-component.d.mts +1 -1
  392. package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +1 -1
  393. package/dist/lib/esm/obsidian/components/setting-components/month-component.d.mts +1 -1
  394. package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +1 -1
  395. package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.d.mts +1 -1
  396. package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +1 -1
  397. package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.d.mts +1 -1
  398. package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +1 -1
  399. package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.d.mts +1 -1
  400. package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +1 -1
  401. package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.d.mts +1 -1
  402. package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +1 -1
  403. package/dist/lib/esm/obsidian/components/setting-components/number-component.d.mts +1 -1
  404. package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +1 -1
  405. package/dist/lib/esm/obsidian/components/setting-components/password-component.d.mts +1 -1
  406. package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +1 -1
  407. package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.d.mts +1 -1
  408. package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +1 -1
  409. package/dist/lib/esm/obsidian/components/setting-components/telephone-component.d.mts +1 -1
  410. package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +1 -1
  411. package/dist/lib/esm/obsidian/components/setting-components/text-based-component.d.mts +1 -1
  412. package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +1 -1
  413. package/dist/lib/esm/obsidian/components/setting-components/time-component.d.mts +1 -1
  414. package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +1 -1
  415. package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.d.mts +1 -1
  416. package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +1 -1
  417. package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.d.mts +1 -1
  418. package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +1 -1
  419. package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.d.mts +1 -1
  420. package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +1 -1
  421. package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.d.mts +1 -1
  422. package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +1 -1
  423. package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.d.mts +1 -1
  424. package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +1 -1
  425. package/dist/lib/esm/obsidian/components/setting-components/url-component.d.mts +1 -1
  426. package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +1 -1
  427. package/dist/lib/esm/obsidian/components/setting-components/validator-component.d.mts +1 -1
  428. package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +1 -1
  429. package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.d.mts +1 -1
  430. package/dist/lib/esm/obsidian/components/setting-components/week-component.d.mts +1 -1
  431. package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +1 -1
  432. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.d.mts +1 -1
  433. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +1 -1
  434. package/dist/lib/esm/obsidian/dataview-link.d.mts +1 -1
  435. package/dist/lib/esm/obsidian/dataview-link.mjs +1 -1
  436. package/dist/lib/esm/obsidian/dataview.d.mts +1 -1
  437. package/dist/lib/esm/obsidian/dataview.mjs +1 -1
  438. package/dist/lib/esm/obsidian/editor.d.mts +1 -1
  439. package/dist/lib/esm/obsidian/editor.mjs +1 -1
  440. package/dist/lib/esm/obsidian/file-change.d.mts +4 -4
  441. package/dist/lib/esm/obsidian/file-change.mjs +4 -4
  442. package/dist/lib/esm/obsidian/file-manager.d.mts +1 -1
  443. package/dist/lib/esm/obsidian/file-manager.mjs +2 -2
  444. package/dist/lib/esm/obsidian/file-system.d.mts +1 -1
  445. package/dist/lib/esm/obsidian/file-system.mjs +1 -1
  446. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.d.mts +1 -1
  447. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +1 -1
  448. package/dist/lib/esm/obsidian/frontmatter.d.mts +1 -1
  449. package/dist/lib/esm/obsidian/frontmatter.mjs +1 -1
  450. package/dist/lib/esm/obsidian/i18n/custom-type-options-base.d.mts +1 -1
  451. package/dist/lib/esm/obsidian/i18n/custom-type-options-base.mjs +1 -1
  452. package/dist/lib/esm/obsidian/i18n/default-translations-base.d.mts +1 -1
  453. package/dist/lib/esm/obsidian/i18n/default-translations-base.mjs +1 -1
  454. package/dist/lib/esm/obsidian/i18n/i18n.d.mts +1 -1
  455. package/dist/lib/esm/obsidian/i18n/i18n.mjs +1 -1
  456. package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +1 -1
  457. package/dist/lib/esm/obsidian/i18n/locales/en.mjs +1 -1
  458. package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +1 -1
  459. package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +1 -1
  460. package/dist/lib/esm/obsidian/is-in-obsidian.d.mts +1 -1
  461. package/dist/lib/esm/obsidian/is-in-obsidian.mjs +1 -1
  462. package/dist/lib/esm/obsidian/link.d.mts +1 -1
  463. package/dist/lib/esm/obsidian/link.mjs +16 -12
  464. package/dist/lib/esm/obsidian/logger.d.mts +1 -1
  465. package/dist/lib/esm/obsidian/logger.mjs +1 -1
  466. package/dist/lib/esm/obsidian/loop.d.mts +1 -1
  467. package/dist/lib/esm/obsidian/loop.mjs +1 -1
  468. package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +3 -2
  469. package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +5 -5
  470. package/dist/lib/esm/obsidian/markdown-view.d.mts +1 -1
  471. package/dist/lib/esm/obsidian/markdown-view.mjs +1 -1
  472. package/dist/lib/esm/obsidian/markdown.d.mts +1 -1
  473. package/dist/lib/esm/obsidian/markdown.mjs +1 -1
  474. package/dist/lib/esm/obsidian/metadata-cache.d.mts +1 -1
  475. package/dist/lib/esm/obsidian/metadata-cache.mjs +1 -1
  476. package/dist/lib/esm/obsidian/modals/alert.d.mts +1 -1
  477. package/dist/lib/esm/obsidian/modals/alert.mjs +1 -1
  478. package/dist/lib/esm/obsidian/modals/confirm.d.mts +1 -1
  479. package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -1
  480. package/dist/lib/esm/obsidian/modals/modal-base.d.mts +1 -1
  481. package/dist/lib/esm/obsidian/modals/modal-base.mjs +1 -1
  482. package/dist/lib/esm/obsidian/modals/prompt.d.mts +1 -1
  483. package/dist/lib/esm/obsidian/modals/prompt.mjs +1 -1
  484. package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -1
  485. package/dist/lib/esm/obsidian/modals/select-item.mjs +1 -1
  486. package/dist/lib/esm/obsidian/monkey-around.d.mts +1 -1
  487. package/dist/lib/esm/obsidian/monkey-around.mjs +1 -1
  488. package/dist/lib/esm/obsidian/obsidian-settings.d.mts +1 -1
  489. package/dist/lib/esm/obsidian/obsidian-settings.mjs +1 -1
  490. package/dist/lib/esm/obsidian/pdf.d.mts +1 -1
  491. package/dist/lib/esm/obsidian/pdf.mjs +1 -1
  492. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +1 -1
  493. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +1 -1
  494. package/dist/lib/esm/obsidian/plugin/path-settings.d.mts +1 -1
  495. package/dist/lib/esm/obsidian/plugin/path-settings.mjs +1 -1
  496. package/dist/lib/esm/obsidian/plugin/plugin-base.d.mts +1 -1
  497. package/dist/lib/esm/obsidian/plugin/plugin-base.mjs +1 -1
  498. package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +1 -1
  499. package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +1 -1
  500. package/dist/lib/esm/obsidian/plugin/plugin-id.d.mts +1 -1
  501. package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +1 -1
  502. package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.d.mts +1 -1
  503. package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.mjs +1 -1
  504. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.d.mts +1 -1
  505. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.mjs +1 -1
  506. package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.d.mts +1 -1
  507. package/dist/lib/esm/obsidian/plugin/plugin-types-base.d.mts +1 -1
  508. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +1 -1
  509. package/dist/lib/esm/obsidian/plugin/plugin.mjs +1 -1
  510. package/dist/lib/esm/obsidian/queue.d.mts +1 -1
  511. package/dist/lib/esm/obsidian/queue.mjs +1 -1
  512. package/dist/lib/esm/obsidian/react/app-context.d.mts +1 -1
  513. package/dist/lib/esm/obsidian/react/app-context.mjs +1 -1
  514. package/dist/lib/esm/obsidian/reference.d.mts +1 -1
  515. package/dist/lib/esm/obsidian/reference.mjs +1 -1
  516. package/dist/lib/esm/obsidian/rename-delete-handler.d.mts +1 -1
  517. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +1 -1
  518. package/dist/lib/esm/obsidian/resource-url.d.mts +1 -1
  519. package/dist/lib/esm/obsidian/resource-url.mjs +1 -1
  520. package/dist/lib/esm/obsidian/setting-ex.d.mts +1 -1
  521. package/dist/lib/esm/obsidian/setting-ex.mjs +1 -1
  522. package/dist/lib/esm/obsidian/setting-group-ex.d.mts +1 -1
  523. package/dist/lib/esm/obsidian/setting-group-ex.mjs +1 -1
  524. package/dist/lib/esm/obsidian/validation.d.mts +1 -1
  525. package/dist/lib/esm/obsidian/validation.mjs +1 -1
  526. package/dist/lib/esm/obsidian/vault-delete.d.mts +1 -1
  527. package/dist/lib/esm/obsidian/vault-delete.mjs +1 -1
  528. package/dist/lib/esm/obsidian/vault.d.mts +8 -2
  529. package/dist/lib/esm/obsidian/vault.mjs +2 -2
  530. package/dist/lib/esm/obsidian/workspace.d.mts +1 -1
  531. package/dist/lib/esm/obsidian/workspace.mjs +1 -1
  532. package/dist/lib/esm/path.d.mts +1 -1
  533. package/dist/lib/esm/path.mjs +1 -1
  534. package/dist/lib/esm/reg-exp.d.mts +1 -1
  535. package/dist/lib/esm/reg-exp.mjs +1 -1
  536. package/dist/lib/esm/script-utils/build.d.mts +1 -1
  537. package/dist/lib/esm/script-utils/build.mjs +1 -1
  538. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.mts +1 -1
  539. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +3 -3
  540. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -1
  541. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +1 -1
  542. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +1 -1
  543. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +1 -1
  544. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.d.mts +1 -1
  545. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +1 -1
  546. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.mts +1 -1
  547. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +1 -1
  548. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -1
  549. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -2
  550. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -1
  551. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +1 -1
  552. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  553. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +1 -1
  554. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -1
  555. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +1 -1
  556. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +1 -1
  557. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +1 -1
  558. package/dist/lib/esm/script-utils/bundlers/esbuild.d.mts +1 -1
  559. package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +1 -1
  560. package/dist/lib/esm/script-utils/cli-utils.d.mts +1 -1
  561. package/dist/lib/esm/script-utils/cli-utils.mjs +1 -1
  562. package/dist/lib/esm/script-utils/code-generator.d.mts +1 -1
  563. package/dist/lib/esm/script-utils/code-generator.mjs +1 -1
  564. package/dist/lib/esm/script-utils/commitlint-config.d.mts +1 -1
  565. package/dist/lib/esm/script-utils/commitlint-config.mjs +1 -1
  566. package/dist/lib/esm/script-utils/exec.d.mts +1 -1
  567. package/dist/lib/esm/script-utils/exec.mjs +1 -1
  568. package/dist/lib/esm/script-utils/formatters/dprint.d.mts +1 -1
  569. package/dist/lib/esm/script-utils/formatters/dprint.mjs +1 -1
  570. package/dist/lib/esm/script-utils/fs.d.mts +1 -1
  571. package/dist/lib/esm/script-utils/fs.mjs +1 -1
  572. package/dist/lib/esm/script-utils/json.d.mts +1 -1
  573. package/dist/lib/esm/script-utils/json.mjs +1 -1
  574. package/dist/lib/esm/script-utils/linters/cspell.d.mts +1 -1
  575. package/dist/lib/esm/script-utils/linters/cspell.mjs +1 -1
  576. package/dist/lib/esm/script-utils/linters/eslint-config.d.mts +1 -1
  577. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +1 -1
  578. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +1 -1
  579. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +1 -1
  580. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +1 -1
  581. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +1 -1
  582. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +1 -1
  583. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.d.mts +1 -1
  584. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +1 -1
  585. package/dist/lib/esm/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +3 -1
  586. package/dist/lib/esm/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +3 -1
  587. package/dist/lib/esm/script-utils/linters/eslint.d.mts +1 -1
  588. package/dist/lib/esm/script-utils/linters/eslint.mjs +1 -1
  589. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +1 -1
  590. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +1 -1
  591. package/dist/lib/esm/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1 -1
  592. package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +1 -1
  593. package/dist/lib/esm/script-utils/linters/markdownlint.mjs +1 -1
  594. package/dist/lib/esm/script-utils/nano-staged-config.d.mts +1 -1
  595. package/dist/lib/esm/script-utils/nano-staged-config.mjs +1 -1
  596. package/dist/lib/esm/script-utils/npm-publish.d.mts +1 -1
  597. package/dist/lib/esm/script-utils/npm-publish.mjs +1 -1
  598. package/dist/lib/esm/script-utils/npm-run.d.mts +1 -1
  599. package/dist/lib/esm/script-utils/npm-run.mjs +1 -1
  600. package/dist/lib/esm/script-utils/npm.d.mts +1 -1
  601. package/dist/lib/esm/script-utils/npm.mjs +1 -1
  602. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +1 -1
  603. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +1 -1
  604. package/dist/lib/esm/script-utils/root.d.mts +1 -1
  605. package/dist/lib/esm/script-utils/root.mjs +1 -1
  606. package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +1 -1
  607. package/dist/lib/esm/script-utils/test-runners/vitest.mjs +1 -1
  608. package/dist/lib/esm/script-utils/version.d.mts +1 -1
  609. package/dist/lib/esm/script-utils/version.mjs +1 -1
  610. package/dist/lib/esm/string.d.mts +9 -5
  611. package/dist/lib/esm/string.mjs +14 -14
  612. package/dist/lib/esm/transformers/date-transformer.d.mts +1 -1
  613. package/dist/lib/esm/transformers/date-transformer.mjs +1 -1
  614. package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -1
  615. package/dist/lib/esm/transformers/duration-transformer.mjs +1 -1
  616. package/dist/lib/esm/transformers/group-transformer.d.mts +1 -1
  617. package/dist/lib/esm/transformers/group-transformer.mjs +1 -1
  618. package/dist/lib/esm/transformers/map-transformer.d.mts +1 -1
  619. package/dist/lib/esm/transformers/map-transformer.mjs +1 -1
  620. package/dist/lib/esm/transformers/set-transformer.d.mts +1 -1
  621. package/dist/lib/esm/transformers/set-transformer.mjs +1 -1
  622. package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +1 -1
  623. package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +1 -1
  624. package/dist/lib/esm/transformers/transformer.d.mts +1 -1
  625. package/dist/lib/esm/transformers/transformer.mjs +1 -1
  626. package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +1 -1
  627. package/dist/lib/esm/transformers/two-way-map-transformer.mjs +1 -1
  628. package/dist/lib/esm/transformers/typed-transformer.d.mts +1 -1
  629. package/dist/lib/esm/transformers/typed-transformer.mjs +1 -1
  630. package/dist/lib/esm/two-way-map.d.mts +1 -1
  631. package/dist/lib/esm/two-way-map.mjs +1 -1
  632. package/dist/lib/esm/type-guards.d.mts +1 -1
  633. package/dist/lib/esm/type-guards.mjs +1 -1
  634. package/dist/lib/esm/type.d.mts +1 -1
  635. package/dist/lib/esm/type.mjs +1 -1
  636. package/dist/lib/esm/url.d.mts +1 -1
  637. package/dist/lib/esm/url.mjs +1 -1
  638. package/dist/lib/esm/value-provider.d.mts +7 -4
  639. package/dist/lib/esm/value-provider.mjs +5 -5
  640. package/package.json +1 -1
  641. package/dist/lib/cjs/script-utils/linters/eslint-types/@types/eslint-plugin-modules-newlines.d.cts +0 -14
  642. package/dist/lib/esm/script-utils/linters/eslint-types/@types/eslint-plugin-modules-newlines.d.mts +0 -14
  643. package/script-utils/linters/eslint-types/@types/eslint-plugin-modules-newlines/package.json +0 -4
@@ -112,24 +112,24 @@ function replaceAll(str, searchValue, replacer) {
112
112
  const SOURCE_INDEX_OFFSET_FOR_GROUP_ARG = 2;
113
113
  const hasGroupsArg = typeof args.at(-1) === "object";
114
114
  const sourceIndex = hasGroupsArg ? args.length - SOURCE_INDEX_OFFSET_FOR_GROUP_ARG : args.length - 1;
115
- const commonArgs = {
115
+ const replaceArgs = {
116
+ // eslint-disable-next-line no-restricted-syntax -- Can't avoid.
117
+ capturedGroupArgs: [],
116
118
  groups: hasGroupsArg ? args.at(-1) : void 0,
117
119
  missingGroupIndices: [],
118
120
  offset: args.at(sourceIndex - 1),
119
121
  source: args.at(sourceIndex),
120
122
  substring
121
123
  };
122
- const groupArgs = args.slice(0, sourceIndex - 1).map((arg, index) => {
123
- if (typeof arg === "string") {
124
- return arg;
124
+ for (let i = 0; i < sourceIndex - 1; i++) {
125
+ const item = args[i];
126
+ if (typeof item === "string") {
127
+ replaceArgs.capturedGroupArgs.push(item);
128
+ } else if (typeof item === "undefined") {
129
+ replaceArgs.missingGroupIndices.push(i);
125
130
  }
126
- if (typeof arg === "undefined") {
127
- commonArgs.missingGroupIndices.push(index);
128
- return "";
129
- }
130
- throw new Error(`Unexpected argument type: ${typeof arg}`);
131
- });
132
- return replacer(commonArgs, ...groupArgs) ?? commonArgs.substring;
131
+ }
132
+ return replacer(replaceArgs) ?? replaceArgs.substring;
133
133
  });
134
134
  }
135
135
  async function replaceAllAsync(str, searchValue, replacer, abortSignal) {
@@ -139,8 +139,8 @@ async function replaceAllAsync(str, searchValue, replacer, abortSignal) {
139
139
  return replaceAll(str, searchValue, replacer);
140
140
  }
141
141
  const replacementAsyncFns = [];
142
- replaceAll(str, searchValue, (commonArgs, ...groupArgs) => {
143
- replacementAsyncFns.push(() => resolveValue(replacer, abortSignal, commonArgs, ...groupArgs));
142
+ replaceAll(str, searchValue, (args) => {
143
+ replacementAsyncFns.push(() => resolveValue(replacer, { abortSignal, ...args }));
144
144
  return "";
145
145
  });
146
146
  const replacements = [];
@@ -202,4 +202,4 @@ export {
202
202
  unescape,
203
203
  unindent
204
204
  };
205
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N0cmluZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igc3RyaW5nIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVJldHVybiB9IGZyb20gJy4vdHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuL3ZhbHVlLXByb3ZpZGVyLnRzJztcblxuaW1wb3J0IHsgYWJvcnRTaWduYWxOZXZlciB9IGZyb20gJy4vYWJvcnQtY29udHJvbGxlci50cyc7XG5pbXBvcnQgeyBlc2NhcGVSZWdFeHAgfSBmcm9tICcuL3JlZy1leHAudHMnO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBlbnN1cmVOb25OdWxsYWJsZVxufSBmcm9tICcuL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4vdmFsdWUtcHJvdmlkZXIudHMnO1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMvYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHJlcGxhY2VtZW50IHN0cmluZ3MsIG9yIGEgc3RyaW5nIHRvIHJlcGxhY2Ugd2l0aC5cbiAqL1xuZXhwb3J0IHR5cGUgQXN5bmNSZXBsYWNlcjxSZXBsYWNlR3JvdXBBcmdzIGV4dGVuZHMgc3RyaW5nW10+ID0gVmFsdWVQcm92aWRlcjxTdHJpbmdSZXBsYWNlbWVudCwgW1JlcGxhY2VDb21tb25BcmdzLCAuLi5SZXBsYWNlR3JvdXBBcmdzXT47XG5cbi8qKlxuICogQ29tbW9uIGFyZ3VtZW50cyBmb3IgdGhlIGByZXBsYWNlQWxsYC9gcmVwbGFjZUFsbEFzeW5jYCBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwbGFjZUNvbW1vbkFyZ3Mge1xuICAvKipcbiAgICogR3JvdXBzIG9mIHRoZSBtYXRjaC5cbiAgICovXG4gIGdyb3VwczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNlcyBvZiB0aGUgZ3JvdXBzIHRoYXQgd2VyZSBub3QgZm91bmQgaW4gdGhlIG1hdGNoLlxuICAgKi9cbiAgbWlzc2luZ0dyb3VwSW5kaWNlczogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCBvZiB0aGUgbWF0Y2guXG4gICAqL1xuICBvZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzb3VyY2Ugb2YgdGhlIG1hdGNoLlxuICAgKi9cbiAgc291cmNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3Vic3RyaW5nIG9mIHRoZSBtYXRjaC5cbiAgICovXG4gIHN1YnN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgcmVwbGFjZW1lbnQgc3RyaW5ncywgb3IgYSBzdHJpbmcgdG8gcmVwbGFjZSB3aXRoLlxuICovXG5leHBvcnQgdHlwZSBSZXBsYWNlcjxSZXBsYWNlR3JvdXBBcmdzIGV4dGVuZHMgc3RyaW5nW10+ID0gKCguLi5hcmdzOiBbUmVwbGFjZUNvbW1vbkFyZ3MsIC4uLlJlcGxhY2VHcm91cEFyZ3NdKSA9PiBTdHJpbmdSZXBsYWNlbWVudCkgfCBTdHJpbmdSZXBsYWNlbWVudDtcblxudHlwZSBTdHJpbmdSZXBsYWNlbWVudCA9IE1heWJlUmV0dXJuPHN0cmluZz47XG5cbi8qKlxuICogTWFwcGluZyBvZiBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gdGhlaXIgZXNjYXBlZCBjb3VudGVycGFydHMuXG4gKi9cbmNvbnN0IEVTQ0FQRV9NQVA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdcXG4nOiAnXFxcXG4nLFxuICAnXFxyJzogJ1xcXFxyJyxcbiAgJ1xcdCc6ICdcXFxcdCcsXG4gICdcXGInOiAnXFxcXGInLFxuICAnXFxmJzogJ1xcXFxmJyxcbiAgJ1xcJyc6ICdcXFxcXFwnJyxcbiAgJ1wiJzogJ1xcXFxcIicsXG4gICdcXFxcJzogJ1xcXFxcXFxcJ1xufSBhcyBjb25zdDtcblxuY29uc3QgQ1IgPSAnXFxyJztcbmNvbnN0IExGID0gJ1xcbic7XG5jb25zdCBOT1RfRk9VTkRfSU5ERVggPSAtMTtcblxuLyoqXG4gKiBNYXBwaW5nIG9mIGVzY2FwZWQgc3BlY2lhbCBjaGFyYWN0ZXJzIHRvIHRoZWlyIHVuZXNjYXBlZCBjb3VudGVycGFydHMuXG4gKi9cbmNvbnN0IFVORVNDQVBFX01BUDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoRVNDQVBFX01BUCkpIHtcbiAgVU5FU0NBUEVfTUFQW3ZhbHVlXSA9IGtleTtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYSBzdHJpbmcgZW5kcyB3aXRoIHRoZSBzcGVjaWZpZWQgc3VmZml4LCBhZGRpbmcgaXQgaWYgbmVjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIGNoZWNrLlxuICogQHBhcmFtIHN1ZmZpeCAtIFRoZSBzdWZmaXggdG8gZW5zdXJlLlxuICogQHJldHVybnMgVGhlIHN0cmluZyB0aGF0IGVuZHMgd2l0aCB0aGUgc3VmZml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRW5kc1dpdGgoc3RyOiBzdHJpbmcsIHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5lbmRzV2l0aChzdWZmaXgpID8gc3RyIDogc3RyICsgc3VmZml4O1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIHN0cmluZyBoYXMgYExGYCBsaW5lIGVuZGluZ3MuXG4gKlxuICogSXQgcmVwbGFjZXMgYENSTEZgIGxpbmUgZW5kaW5ncyB3aXRoIGBMRmAuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHdpdGggYExGYCBsaW5lIGVuZGluZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVMZkVuZGluZ3Moc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2VBbGwoL1xcclxcbj8vZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIHN0cmluZyBzdGFydHMgd2l0aCB0aGUgc3BlY2lmaWVkIHByZWZpeCwgYWRkaW5nIGl0IGlmIG5lY2Vzc2FyeS5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjaGVjay5cbiAqIEBwYXJhbSBwcmVmaXggLSBUaGUgcHJlZml4IHRvIGVuc3VyZS5cbiAqIEByZXR1cm5zIFRoZSBzdHJpbmcgdGhhdCBzdGFydHMgd2l0aCB0aGUgcHJlZml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlU3RhcnRzV2l0aChzdHI6IHN0cmluZywgcHJlZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnN0YXJ0c1dpdGgocHJlZml4KSA/IHN0ciA6IHByZWZpeCArIHN0cjtcbn1cblxuLyoqXG4gKiBFc2NhcGVzIHNwZWNpYWwgY2hhcmFjdGVycyBpbiBhIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVwbGFjZShzdHIsIEVTQ0FQRV9NQVApO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IG1hcHMgTEYtbm9ybWFsaXplZCBvZmZzZXRzIHRvIG9yaWdpbmFsIG9mZnNldHMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gZ2V0IHRoZSBMRi1ub3JtYWxpemVkIGluZGljZXMgZnJvbS5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCBtYXBzIExGLW5vcm1hbGl6ZWQgb2Zmc2V0cyB0byBvcmlnaW5hbCBvZmZzZXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcihzdHI6IHN0cmluZyk6IChsZk9mZnNldDogbnVtYmVyKSA9PiBudW1iZXIge1xuICBjb25zdCBsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXA6IG51bWJlcltdID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3RyW2ldID09PSBDUiAmJiBzdHJbaSArIDFdID09PSBMRikge1xuICAgICAgbGZPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwLnB1c2goaSArIDEpO1xuICAgICAgaSsrO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXAucHVzaChpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKGxmT2Zmc2V0OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICAgIGlmIChsZk9mZnNldCA8IDApIHtcbiAgICAgIHJldHVybiBsZk9mZnNldDtcbiAgICB9XG4gICAgaWYgKGxmT2Zmc2V0ID49IGxmT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBsZk9mZnNldCAtIGxmT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcC5sZW5ndGggKyBzdHIubGVuZ3RoO1xuICAgIH1cblxuICAgIGFzc2VydChsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBbbGZPZmZzZXRdICE9PSB1bmRlZmluZWQsICdDb3VsZCBub3QgbWFwIG9mZnNldCcpO1xuICAgIHJldHVybiBsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBbbGZPZmZzZXRdO1xuICB9O1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHN0cmluZyBoYXMgYSBzaW5nbGUgb2NjdXJyZW5jZSBvZiBhIHNlYXJjaCB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjaGVjay5cbiAqIEBwYXJhbSBzZWFyY2hWYWx1ZSAtIFRoZSBzZWFyY2ggdmFsdWUgdG8gY2hlY2sgZm9yLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzdHJpbmcgaGFzIGEgc2luZ2xlIG9jY3VycmVuY2Ugb2YgdGhlIHNlYXJjaCB2YWx1ZSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNTaW5nbGVPY2N1cnJlbmNlKHN0cjogc3RyaW5nLCBzZWFyY2hWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGZpcnN0SW5kZXggPSBzdHIuaW5kZXhPZihzZWFyY2hWYWx1ZSk7XG4gIGNvbnN0IGxhc3RJbmRleCA9IHN0ci5sYXN0SW5kZXhPZihzZWFyY2hWYWx1ZSk7XG4gIHJldHVybiBmaXJzdEluZGV4ICE9PSBOT1RfRk9VTkRfSU5ERVggJiYgZmlyc3RJbmRleCA9PT0gbGFzdEluZGV4O1xufVxuXG4vKipcbiAqIEluZGVudHMgYSBzdHJpbmcgYnkgYWRkaW5nIGEgcHJlZml4IHRvIGVhY2ggbGluZS5cbiAqXG4gKiBAcGFyYW0gdGV4dCAtIFRoZSBzdHJpbmcgdG8gaW5kZW50LlxuICogQHBhcmFtIHByZWZpeCAtIFRoZSBwcmVmaXggdG8gYWRkIHRvIGVhY2ggbGluZS5cbiAqIEByZXR1cm5zIFRoZSBpbmRlbnRlZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRlbnQodGV4dDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0LnNwbGl0KCdcXG4nKS5tYXAoKGxpbmUpID0+IGAke3ByZWZpeH0ke2xpbmV9YCkuam9pbignXFxuJyk7XG59XG5cbi8qKlxuICogSW5zZXJ0cyBhIHN1YnN0cmluZyBhdCBhIHNwZWNpZmllZCBwb3NpdGlvbiBpbiBhIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBpbnNlcnQgdGhlIHN1YnN0cmluZyBpbnRvLlxuICogQHBhcmFtIHN1YnN0cmluZyAtIFRoZSBzdWJzdHJpbmcgdG8gaW5zZXJ0LlxuICogQHBhcmFtIHN0YXJ0SW5kZXggLSBUaGUgaW5kZXggdG8gaW5zZXJ0IHRoZSBzdWJzdHJpbmcgYXQuXG4gKiBAcGFyYW0gZW5kSW5kZXggLSBUaGUgaW5kZXggdG8gZW5kIHRoZSBzdWJzdHJpbmcgYXQuXG4gKiBAcmV0dXJucyBUaGUgbW9kaWZpZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0cmluZyBpbnNlcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEF0KHN0cjogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZywgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleD86IG51bWJlcik6IHN0cmluZyB7XG4gIGVuZEluZGV4ID8/PSBzdGFydEluZGV4O1xuICByZXR1cm4gc3RyLnNsaWNlKDAsIHN0YXJ0SW5kZXgpICsgc3Vic3RyaW5nICsgc3RyLnNsaWNlKGVuZEluZGV4KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyBpbnRvIGEgdmFsaWQgSmF2YVNjcmlwdCB2YXJpYWJsZSBuYW1lIGJ5IHJlcGxhY2luZyBpbnZhbGlkIGNoYXJhY3RlcnMgd2l0aCB1bmRlcnNjb3Jlcy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIHZhbGlkIHZhcmlhYmxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlVmFsaWRWYXJpYWJsZU5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVwbGFjZUFsbChzdHIsIC9bXmEtekEtWjAtOV9dL2csICdfJyk7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIHN0cmluZyBieSBjb252ZXJ0aW5nIGl0IHRvIHRoZSBORkMgZm9ybSBhbmQgcmVwbGFjaW5nIG5vbi1icmVha2luZyBzcGFjZXMgd2l0aCByZWd1bGFyIHNwYWNlcy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBub3JtYWxpemUuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVwbGFjZUFsbChzdHIsIC9cXHUwMEEwfFxcdTIwMkYvZywgJyAnKS5ub3JtYWxpemUoJ05GQycpO1xufVxuXG4vKipcbiAqIFJlcGxhY2VzIG9jY3VycmVuY2VzIG9mIHN0cmluZ3MgaW4gYSBnaXZlbiBzdHJpbmcgYmFzZWQgb24gYSByZXBsYWNlbWVudHMgbWFwLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHBlcmZvcm0gcmVwbGFjZW1lbnRzIG9uLlxuICogQHBhcmFtIHJlcGxhY2VtZW50c01hcCAtIEFuIG9iamVjdCBtYXBwaW5nIHN0cmluZ3MgdG8gdGhlaXIgcmVwbGFjZW1lbnQgdmFsdWVzLlxuICogQHJldHVybnMgVGhlIG1vZGlmaWVkIHN0cmluZyB3aXRoIHJlcGxhY2VtZW50cyBhcHBsaWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShzdHI6IHN0cmluZywgcmVwbGFjZW1lbnRzTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChPYmplY3Qua2V5cyhyZXBsYWNlbWVudHNNYXApLm1hcCgoc291cmNlKSA9PiBlc2NhcGVSZWdFeHAoc291cmNlKSkuam9pbignfCcpLCAnZycpO1xuICByZXR1cm4gcmVwbGFjZUFsbChzdHIsIHJlZ0V4cCwgKHsgc3Vic3RyaW5nOiBzb3VyY2UgfSkgPT4gZW5zdXJlTm9uTnVsbGFibGUocmVwbGFjZW1lbnRzTWFwW3NvdXJjZV0pKTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBhbGwgb2NjdXJyZW5jZXMgb2YgYSBzZWFyY2ggc3RyaW5nIG9yIHBhdHRlcm4gd2l0aCB0aGUgcmVzdWx0cyBvZiBhbiByZXBsYWNlciBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFJlcGxhY2VHcm91cEFyZ3MgLSBUaGUgdHlwZSBvZiBhZGRpdGlvbmFsIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIHJlcGxhY2VyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgaW4gd2hpY2ggdG8gcGVyZm9ybSByZXBsYWNlbWVudHMuXG4gKiBAcGFyYW0gc2VhcmNoVmFsdWUgLSBUaGUgc3RyaW5nIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBzZWFyY2ggZm9yLlxuICogQHBhcmFtIHJlcGxhY2VyIC0gQSByZXBsYWNlciBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyByZXBsYWNlbWVudCBzdHJpbmdzLCBvciBhIHN0cmluZyB0byByZXBsYWNlIHdpdGguXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHdpdGggYWxsIHJlcGxhY2VtZW50cyBtYWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUFsbDxSZXBsYWNlR3JvdXBBcmdzIGV4dGVuZHMgc3RyaW5nW10+KFxuICBzdHI6IHN0cmluZyxcbiAgc2VhcmNoVmFsdWU6IFJlZ0V4cCB8IHN0cmluZyxcbiAgcmVwbGFjZXI6IFJlcGxhY2VyPFJlcGxhY2VHcm91cEFyZ3M+XG4pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBpZiAoc2VhcmNoVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHAgJiYgIXNlYXJjaFZhbHVlLmdsb2JhbCkge1xuICAgIHNlYXJjaFZhbHVlID0gbmV3IFJlZ0V4cChzZWFyY2hWYWx1ZS5zb3VyY2UsIGAke3NlYXJjaFZhbHVlLmZsYWdzfWdgKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKHNlYXJjaFZhbHVlLCByZXBsYWNlcik7XG4gIH1cblxuICByZXR1cm4gc3RyLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsIChzdWJzdHJpbmc6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgU09VUkNFX0lOREVYX09GRlNFVF9GT1JfR1JPVVBfQVJHID0gMjtcbiAgICBjb25zdCBoYXNHcm91cHNBcmcgPSB0eXBlb2YgYXJncy5hdCgtMSkgPT09ICdvYmplY3QnO1xuICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gaGFzR3JvdXBzQXJnID8gYXJncy5sZW5ndGggLSBTT1VSQ0VfSU5ERVhfT0ZGU0VUX0ZPUl9HUk9VUF9BUkcgOiBhcmdzLmxlbmd0aCAtIDE7XG5cbiAgICBjb25zdCBjb21tb25BcmdzOiBSZXBsYWNlQ29tbW9uQXJncyA9IHtcbiAgICAgIGdyb3VwczogaGFzR3JvdXBzQXJnID8gYXJncy5hdCgtMSkgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA6IHVuZGVmaW5lZCxcbiAgICAgIG1pc3NpbmdHcm91cEluZGljZXM6IFtdLFxuICAgICAgb2Zmc2V0OiBhcmdzLmF0KHNvdXJjZUluZGV4IC0gMSkgYXMgbnVtYmVyLFxuICAgICAgc291cmNlOiBhcmdzLmF0KHNvdXJjZUluZGV4KSBhcyBzdHJpbmcsXG4gICAgICBzdWJzdHJpbmdcbiAgICB9O1xuXG4gICAgY29uc3QgZ3JvdXBBcmdzID0gYXJncy5zbGljZSgwLCBzb3VyY2VJbmRleCAtIDEpLm1hcCgoYXJnLCBpbmRleCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGFyZztcbiAgICAgIH1cblxuICAgICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEl0IGluY29ycmVjdGx5IHJlcG9ydHMgdGhpcyBhcyB1bmNvdmVyZWQsIGJ1dCBpdCBpcyBjb3ZlcmVkIGJ5IGBzaG91bGQgcG9wdWxhdGUgbWlzc2luZ0dyb3VwSW5kaWNlcyBmb3IgdW5kZWZpbmVkIGNhcHR1cmUgZ3JvdXBzYCB0ZXN0LiAqL1xuICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICAgIGNvbW1vbkFyZ3MubWlzc2luZ0dyb3VwSW5kaWNlcy5wdXNoKGluZGV4KTtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gTmV2ZXIgaGFwcGVucy4gKi9cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBhcmd1bWVudCB0eXBlOiAke3R5cGVvZiBhcmd9YCk7XG4gICAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIH0pIGFzIFJlcGxhY2VHcm91cEFyZ3M7XG5cbiAgICByZXR1cm4gKHJlcGxhY2VyKGNvbW1vbkFyZ3MsIC4uLmdyb3VwQXJncykgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSA/PyBjb21tb25BcmdzLnN1YnN0cmluZztcbiAgfSk7XG59XG5cbi8qKlxuICogQXN5bmNocm9ub3VzbHkgcmVwbGFjZXMgYWxsIG9jY3VycmVuY2VzIG9mIGEgc2VhcmNoIHN0cmluZyBvciBwYXR0ZXJuIHdpdGggdGhlIHJlc3VsdHMgb2YgYW4gYXN5bmNocm9ub3VzIHJlcGxhY2VyIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gUmVwbGFjZUdyb3VwQXJncyAtIFRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgcmVwbGFjZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyBpbiB3aGljaCB0byBwZXJmb3JtIHJlcGxhY2VtZW50cy5cbiAqIEBwYXJhbSBzZWFyY2hWYWx1ZSAtIFRoZSBzdHJpbmcgb3IgcmVndWxhciBleHByZXNzaW9uIHRvIHNlYXJjaCBmb3IuXG4gKiBAcGFyYW0gcmVwbGFjZXIgLSBBIHN5bmNocm9ub3VzL2FzeW5jaHJvbm91cyBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyByZXBsYWNlbWVudCBzdHJpbmdzLCBvciBhIHN0cmluZyB0byByZXBsYWNlIHdpdGguXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzdHJpbmcgd2l0aCBhbGwgcmVwbGFjZW1lbnRzIG1hZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlQWxsQXN5bmM8UmVwbGFjZUdyb3VwQXJncyBleHRlbmRzIHN0cmluZ1tdPihcbiAgc3RyOiBzdHJpbmcsXG4gIHNlYXJjaFZhbHVlOiBSZWdFeHAgfCBzdHJpbmcsXG4gIHJlcGxhY2VyOiBBc3luY1JlcGxhY2VyPFJlcGxhY2VHcm91cEFyZ3M+LFxuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBhYm9ydFNpZ25hbCA/Pz0gYWJvcnRTaWduYWxOZXZlcigpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiByZXBsYWNlQWxsKHN0ciwgc2VhcmNoVmFsdWUsIHJlcGxhY2VyKTtcbiAgfVxuXG4gIGNvbnN0IHJlcGxhY2VtZW50QXN5bmNGbnM6ICgoKSA9PiBQcm9taXNlPFN0cmluZ1JlcGxhY2VtZW50PilbXSA9IFtdO1xuXG4gIHJlcGxhY2VBbGw8UmVwbGFjZUdyb3VwQXJncz4oc3RyLCBzZWFyY2hWYWx1ZSwgKGNvbW1vbkFyZ3MsIC4uLmdyb3VwQXJncykgPT4ge1xuICAgIHJlcGxhY2VtZW50QXN5bmNGbnMucHVzaCgoKSA9PiByZXNvbHZlVmFsdWUocmVwbGFjZXIsIGFib3J0U2lnbmFsLCBjb21tb25BcmdzLCAuLi5ncm91cEFyZ3MpKTtcbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGNvbnN0IHJlcGxhY2VtZW50czogU3RyaW5nUmVwbGFjZW1lbnRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYXN5bmNGbiBvZiByZXBsYWNlbWVudEFzeW5jRm5zKSB7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICByZXBsYWNlbWVudHMucHVzaChhd2FpdCBhc3luY0ZuKCkpO1xuICB9XG5cbiAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoc3RyLCBzZWFyY2hWYWx1ZSwgKGFyZ3MpOiBzdHJpbmcgPT4gcmVwbGFjZW1lbnRzLnNoaWZ0KCkgPz8gYXJncy5zdWJzdHJpbmcpO1xufVxuXG4vKipcbiAqIFRyaW1zIHRoZSBzcGVjaWZpZWQgc3VmZml4IGZyb20gdGhlIGVuZCBvZiBhIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byB0cmltLlxuICogQHBhcmFtIHN1ZmZpeCAtIFRoZSBzdWZmaXggdG8gcmVtb3ZlIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLlxuICogQHBhcmFtIHNob3VsZFZhbGlkYXRlIC0gSWYgYHRydWVgLCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0cmluZyBkb2VzIG5vdCBlbmQgd2l0aCB0aGUgc3VmZml4LlxuICogQHJldHVybnMgVGhlIHRyaW1tZWQgc3RyaW5nLlxuICogQHRocm93cyBJZiBgdmFsaWRhdGVgIGlzIGB0cnVlYCBhbmQgdGhlIHN0cmluZyBkb2VzIG5vdCBlbmQgd2l0aCB0aGUgc3VmZml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbUVuZChzdHI6IHN0cmluZywgc3VmZml4OiBzdHJpbmcsIHNob3VsZFZhbGlkYXRlPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChzdHIuZW5kc1dpdGgoc3VmZml4KSkge1xuICAgIHJldHVybiBzdHIuc2xpY2UoMCwgLXN1ZmZpeC5sZW5ndGgpO1xuICB9XG5cbiAgaWYgKHNob3VsZFZhbGlkYXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgJHtzdHJ9IGRvZXMgbm90IGVuZCB3aXRoIHN1ZmZpeCAke3N1ZmZpeH1gKTtcbiAgfVxuXG4gIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIHNwZWNpZmllZCBwcmVmaXggZnJvbSB0aGUgc3RhcnQgb2YgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gdHJpbS5cbiAqIEBwYXJhbSBwcmVmaXggLSBUaGUgcHJlZml4IHRvIHJlbW92ZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLlxuICogQHBhcmFtIHZhbGlkYXRlIC0gSWYgYHRydWVgLCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0cmluZyBkb2VzIG5vdCBzdGFydCB3aXRoIHRoZSBwcmVmaXguXG4gKiBAcmV0dXJucyBUaGUgdHJpbW1lZCBzdHJpbmcuXG4gKiBAdGhyb3dzIElmIGB2YWxpZGF0ZWAgaXMgYHRydWVgIGFuZCB0aGUgc3RyaW5nIGRvZXMgbm90IHN0YXJ0IHdpdGggdGhlIHByZWZpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW1TdGFydChzdHI6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIHZhbGlkYXRlPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChzdHIuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIHN0ci5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuXG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3RyaW5nICR7c3RyfSBkb2VzIG5vdCBzdGFydCB3aXRoIHByZWZpeCAke3ByZWZpeH1gKTtcbiAgfVxuXG4gIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogVW5lc2NhcGVzIGEgc3RyaW5nIGJ5IHJlcGxhY2luZyBlc2NhcGUgc2VxdWVuY2VzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHVuZXNjYXBlLlxuICogQHJldHVybnMgVGhlIHVuZXNjYXBlZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmVzY2FwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlKHN0ciwgVU5FU0NBUEVfTUFQKTtcbn1cblxuLyoqXG4gKiBVbmluZGVudHMgYSBzdHJpbmcgYnkgcmVtb3ZpbmcgYSBwcmVmaXggZnJvbSBlYWNoIGxpbmUuXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgc3RyaW5nIHRvIHVuaW5kZW50LlxuICogQHBhcmFtIHByZWZpeCAtIFRoZSBwcmVmaXggdG8gcmVtb3ZlIGZyb20gZWFjaCBsaW5lLlxuICogQHBhcmFtIHNob3VsZFRocm93SWZOb3RJbmRlbnRlZCAtIElmIGB0cnVlYCwgdGhyb3dzIGFuIGVycm9yIGlmIGEgbGluZSBpcyBub3QgaW5kZW50ZWQgd2l0aCB0aGUgcHJlZml4LlxuICogQHJldHVybnMgVGhlIHVuaW5kZW50ZWQgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5pbmRlbnQodGV4dDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZywgc2hvdWxkVGhyb3dJZk5vdEluZGVudGVkID0gZmFsc2UpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dC5zcGxpdCgnXFxuJykubWFwKChsaW5lKSA9PiB7XG4gICAgaWYgKGxpbmUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICByZXR1cm4gbGluZS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICB9XG4gICAgaWYgKHNob3VsZFRocm93SWZOb3RJbmRlbnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBMaW5lIFwiJHtsaW5lfVwiIGlzIG5vdCBpbmRlbnRlZCB3aXRoIFwiJHtwcmVmaXh9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmU7XG4gIH0pLmpvaW4oJ1xcbicpO1xufVxuIl0sCiAgIm1hcHBp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
205
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N0cmluZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBzdHJpbmcgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4vdmFsdWUtcHJvdmlkZXIudHMnO1xuXG5pbXBvcnQgeyBhYm9ydFNpZ25hbE5ldmVyIH0gZnJvbSAnLi9hYm9ydC1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7IGVzY2FwZVJlZ0V4cCB9IGZyb20gJy4vcmVnLWV4cC50cyc7XG5pbXBvcnQge1xuICBhc3NlcnQsXG4gIGVuc3VyZU5vbk51bGxhYmxlXG59IGZyb20gJy4vdHlwZS1ndWFyZHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi92YWx1ZS1wcm92aWRlci50cyc7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cy9hc3luY2hyb25vdXMgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgcmVwbGFjZW1lbnQgc3RyaW5ncywgb3IgYSBzdHJpbmcgdG8gcmVwbGFjZSB3aXRoLlxuICovXG5leHBvcnQgdHlwZSBBc3luY1JlcGxhY2VyPENhcHR1cmVkR3JvdXBBcmdzIGV4dGVuZHMgc3RyaW5nW10+ID0gVmFsdWVQcm92aWRlcjxTdHJpbmdSZXBsYWNlbWVudCwgUmVwbGFjZUFyZ3M8Q2FwdHVyZWRHcm91cEFyZ3M+PjtcblxuLyoqXG4gKiBDb21tb24gYXJndW1lbnRzIGZvciB0aGUgYHJlcGxhY2VBbGxgL2ByZXBsYWNlQWxsQXN5bmNgIGZ1bmN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsYWNlQXJnczxDYXB0dXJlZEdyb3VwQXJncyBleHRlbmRzIHN0cmluZ1tdPiB7XG4gIC8qKlxuICAgKiBDYXB0dXJlZCBncm91cCBhcmd1bWVudHMuXG4gICAqL1xuICBjYXB0dXJlZEdyb3VwQXJnczogQ2FwdHVyZWRHcm91cEFyZ3M7XG5cbiAgLyoqXG4gICAqIEdyb3VwcyBvZiB0aGUgbWF0Y2guXG4gICAqL1xuICBncm91cHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljZXMgb2YgdGhlIGdyb3VwcyB0aGF0IHdlcmUgbm90IGZvdW5kIGluIHRoZSBtYXRjaC5cbiAgICovXG4gIG1pc3NpbmdHcm91cEluZGljZXM6IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgb2YgdGhlIG1hdGNoLlxuICAgKi9cbiAgb2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgc291cmNlIG9mIHRoZSBtYXRjaC5cbiAgICovXG4gIHNvdXJjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN1YnN0cmluZyBvZiB0aGUgbWF0Y2guXG4gICAqL1xuICBzdWJzdHJpbmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHJlcGxhY2VtZW50IHN0cmluZ3MsIG9yIGEgc3RyaW5nIHRvIHJlcGxhY2Ugd2l0aC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVwbGFjZXI8Q2FwdHVyZWRHcm91cEFyZ3MgZXh0ZW5kcyBzdHJpbmdbXT4gPSAoKGFyZ3M6IFJlcGxhY2VBcmdzPENhcHR1cmVkR3JvdXBBcmdzPikgPT4gU3RyaW5nUmVwbGFjZW1lbnQpIHwgU3RyaW5nUmVwbGFjZW1lbnQ7XG5cbnR5cGUgU3RyaW5nUmVwbGFjZW1lbnQgPSBNYXliZVJldHVybjxzdHJpbmc+O1xuXG4vKipcbiAqIE1hcHBpbmcgb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzIHRvIHRoZWlyIGVzY2FwZWQgY291bnRlcnBhcnRzLlxuICovXG5jb25zdCBFU0NBUEVfTUFQOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnXFxuJzogJ1xcXFxuJyxcbiAgJ1xccic6ICdcXFxccicsXG4gICdcXHQnOiAnXFxcXHQnLFxuICAnXFxiJzogJ1xcXFxiJyxcbiAgJ1xcZic6ICdcXFxcZicsXG4gICdcXCcnOiAnXFxcXFxcJycsXG4gICdcIic6ICdcXFxcXCInLFxuICAnXFxcXCc6ICdcXFxcXFxcXCdcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IENSID0gJ1xccic7XG5jb25zdCBMRiA9ICdcXG4nO1xuY29uc3QgTk9UX0ZPVU5EX0lOREVYID0gLTE7XG5cbi8qKlxuICogTWFwcGluZyBvZiBlc2NhcGVkIHNwZWNpYWwgY2hhcmFjdGVycyB0byB0aGVpciB1bmVzY2FwZWQgY291bnRlcnBhcnRzLlxuICovXG5jb25zdCBVTkVTQ0FQRV9NQVA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbmZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKEVTQ0FQRV9NQVApKSB7XG4gIFVORVNDQVBFX01BUFt2YWx1ZV0gPSBrZXk7XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IGEgc3RyaW5nIGVuZHMgd2l0aCB0aGUgc3BlY2lmaWVkIHN1ZmZpeCwgYWRkaW5nIGl0IGlmIG5lY2Vzc2FyeS5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjaGVjay5cbiAqIEBwYXJhbSBzdWZmaXggLSBUaGUgc3VmZml4IHRvIGVuc3VyZS5cbiAqIEByZXR1cm5zIFRoZSBzdHJpbmcgdGhhdCBlbmRzIHdpdGggdGhlIHN1ZmZpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUVuZHNXaXRoKHN0cjogc3RyaW5nLCBzdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIuZW5kc1dpdGgoc3VmZml4KSA/IHN0ciA6IHN0ciArIHN1ZmZpeDtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYSBzdHJpbmcgaGFzIGBMRmAgbGluZSBlbmRpbmdzLlxuICpcbiAqIEl0IHJlcGxhY2VzIGBDUkxGYCBsaW5lIGVuZGluZ3Mgd2l0aCBgTEZgLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIHN0cmluZyB3aXRoIGBMRmAgbGluZSBlbmRpbmdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlTGZFbmRpbmdzKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKC9cXHJcXG4/L2csICdcXG4nKTtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYSBzdHJpbmcgc3RhcnRzIHdpdGggdGhlIHNwZWNpZmllZCBwcmVmaXgsIGFkZGluZyBpdCBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY2hlY2suXG4gKiBAcGFyYW0gcHJlZml4IC0gVGhlIHByZWZpeCB0byBlbnN1cmUuXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggdGhlIHByZWZpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0YXJ0c1dpdGgoc3RyOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5zdGFydHNXaXRoKHByZWZpeCkgPyBzdHIgOiBwcmVmaXggKyBzdHI7XG59XG5cbi8qKlxuICogRXNjYXBlcyBzcGVjaWFsIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gZXNjYXBlLlxuICogQHJldHVybnMgVGhlIGVzY2FwZWQgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2Uoc3RyLCBFU0NBUEVfTUFQKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBtYXBzIExGLW5vcm1hbGl6ZWQgb2Zmc2V0cyB0byBvcmlnaW5hbCBvZmZzZXRzLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIGdldCB0aGUgTEYtbm9ybWFsaXplZCBpbmRpY2VzIGZyb20uXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBMRi1ub3JtYWxpemVkIG9mZnNldHMgdG8gb3JpZ2luYWwgb2Zmc2V0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExmTm9ybWFsaXplZE9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBwZXIoc3RyOiBzdHJpbmcpOiAobGZPZmZzZXQ6IG51bWJlcikgPT4gbnVtYmVyIHtcbiAgY29uc3QgbGZPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwOiBudW1iZXJbXSA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0cltpXSA9PT0gQ1IgJiYgc3RyW2kgKyAxXSA9PT0gTEYpIHtcbiAgICAgIGxmT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcC5wdXNoKGkgKyAxKTtcbiAgICAgIGkrKztcbiAgICB9IGVsc2Uge1xuICAgICAgbGZPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwLnB1c2goaSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChsZk9mZnNldDogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgICBpZiAobGZPZmZzZXQgPCAwKSB7XG4gICAgICByZXR1cm4gbGZPZmZzZXQ7XG4gICAgfVxuICAgIGlmIChsZk9mZnNldCA+PSBsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXAubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbGZPZmZzZXQgLSBsZk9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXAubGVuZ3RoICsgc3RyLmxlbmd0aDtcbiAgICB9XG5cbiAgICBhc3NlcnQobGZPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwW2xmT2Zmc2V0XSAhPT0gdW5kZWZpbmVkLCAnQ291bGQgbm90IG1hcCBvZmZzZXQnKTtcbiAgICByZXR1cm4gbGZPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwW2xmT2Zmc2V0XTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBzdHJpbmcgaGFzIGEgc2luZ2xlIG9jY3VycmVuY2Ugb2YgYSBzZWFyY2ggdmFsdWUuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY2hlY2suXG4gKiBAcGFyYW0gc2VhcmNoVmFsdWUgLSBUaGUgc2VhcmNoIHZhbHVlIHRvIGNoZWNrIGZvci5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgc3RyaW5nIGhhcyBhIHNpbmdsZSBvY2N1cnJlbmNlIG9mIHRoZSBzZWFyY2ggdmFsdWUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzU2luZ2xlT2NjdXJyZW5jZShzdHI6IHN0cmluZywgc2VhcmNoVmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBmaXJzdEluZGV4ID0gc3RyLmluZGV4T2Yoc2VhcmNoVmFsdWUpO1xuICBjb25zdCBsYXN0SW5kZXggPSBzdHIubGFzdEluZGV4T2Yoc2VhcmNoVmFsdWUpO1xuICByZXR1cm4gZmlyc3RJbmRleCAhPT0gTk9UX0ZPVU5EX0lOREVYICYmIGZpcnN0SW5kZXggPT09IGxhc3RJbmRleDtcbn1cblxuLyoqXG4gKiBJbmRlbnRzIGEgc3RyaW5nIGJ5IGFkZGluZyBhIHByZWZpeCB0byBlYWNoIGxpbmUuXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgc3RyaW5nIHRvIGluZGVudC5cbiAqIEBwYXJhbSBwcmVmaXggLSBUaGUgcHJlZml4IHRvIGFkZCB0byBlYWNoIGxpbmUuXG4gKiBAcmV0dXJucyBUaGUgaW5kZW50ZWQgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5kZW50KHRleHQ6IHN0cmluZywgcHJlZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dC5zcGxpdCgnXFxuJykubWFwKChsaW5lKSA9PiBgJHtwcmVmaXh9JHtsaW5lfWApLmpvaW4oJ1xcbicpO1xufVxuXG4vKipcbiAqIEluc2VydHMgYSBzdWJzdHJpbmcgYXQgYSBzcGVjaWZpZWQgcG9zaXRpb24gaW4gYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gaW5zZXJ0IHRoZSBzdWJzdHJpbmcgaW50by5cbiAqIEBwYXJhbSBzdWJzdHJpbmcgLSBUaGUgc3Vic3RyaW5nIHRvIGluc2VydC5cbiAqIEBwYXJhbSBzdGFydEluZGV4IC0gVGhlIGluZGV4IHRvIGluc2VydCB0aGUgc3Vic3RyaW5nIGF0LlxuICogQHBhcmFtIGVuZEluZGV4IC0gVGhlIGluZGV4IHRvIGVuZCB0aGUgc3Vic3RyaW5nIGF0LlxuICogQHJldHVybnMgVGhlIG1vZGlmaWVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdHJpbmcgaW5zZXJ0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRBdChzdHI6IHN0cmluZywgc3Vic3RyaW5nOiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg/OiBudW1iZXIpOiBzdHJpbmcge1xuICBlbmRJbmRleCA/Pz0gc3RhcnRJbmRleDtcbiAgcmV0dXJuIHN0ci5zbGljZSgwLCBzdGFydEluZGV4KSArIHN1YnN0cmluZyArIHN0ci5zbGljZShlbmRJbmRleCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgaW50byBhIHZhbGlkIEphdmFTY3JpcHQgdmFyaWFibGUgbmFtZSBieSByZXBsYWNpbmcgaW52YWxpZCBjaGFyYWN0ZXJzIHdpdGggdW5kZXJzY29yZXMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSB2YWxpZCB2YXJpYWJsZSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVZhbGlkVmFyaWFibGVOYW1lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoc3RyLCAvW15hLXpBLVowLTlfXS9nLCAnXycpO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBzdHJpbmcgYnkgY29udmVydGluZyBpdCB0byB0aGUgTkZDIGZvcm0gYW5kIHJlcGxhY2luZyBub24tYnJlYWtpbmcgc3BhY2VzIHdpdGggcmVndWxhciBzcGFjZXMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoc3RyLCAvXFx1MDBBMHxcXHUyMDJGL2csICcgJykubm9ybWFsaXplKCdORkMnKTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBvY2N1cnJlbmNlcyBvZiBzdHJpbmdzIGluIGEgZ2l2ZW4gc3RyaW5nIGJhc2VkIG9uIGEgcmVwbGFjZW1lbnRzIG1hcC5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBwZXJmb3JtIHJlcGxhY2VtZW50cyBvbi5cbiAqIEBwYXJhbSByZXBsYWNlbWVudHNNYXAgLSBBbiBvYmplY3QgbWFwcGluZyBzdHJpbmdzIHRvIHRoZWlyIHJlcGxhY2VtZW50IHZhbHVlcy5cbiAqIEByZXR1cm5zIFRoZSBtb2RpZmllZCBzdHJpbmcgd2l0aCByZXBsYWNlbWVudHMgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2Uoc3RyOiBzdHJpbmcsIHJlcGxhY2VtZW50c01hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoT2JqZWN0LmtleXMocmVwbGFjZW1lbnRzTWFwKS5tYXAoKHNvdXJjZSkgPT4gZXNjYXBlUmVnRXhwKHNvdXJjZSkpLmpvaW4oJ3wnKSwgJ2cnKTtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoc3RyLCByZWdFeHAsICh7IHN1YnN0cmluZzogc291cmNlIH0pID0+IGVuc3VyZU5vbk51bGxhYmxlKHJlcGxhY2VtZW50c01hcFtzb3VyY2VdKSk7XG59XG5cbi8qKlxuICogUmVwbGFjZXMgYWxsIG9jY3VycmVuY2VzIG9mIGEgc2VhcmNoIHN0cmluZyBvciBwYXR0ZXJuIHdpdGggdGhlIHJlc3VsdHMgb2YgYW4gcmVwbGFjZXIgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBSZXBsYWNlR3JvdXBBcmdzIC0gVGhlIHR5cGUgb2YgYWRkaXRpb25hbCBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSByZXBsYWNlciBmdW5jdGlvbi5cbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIGluIHdoaWNoIHRvIHBlcmZvcm0gcmVwbGFjZW1lbnRzLlxuICogQHBhcmFtIHNlYXJjaFZhbHVlIC0gVGhlIHN0cmluZyBvciByZWd1bGFyIGV4cHJlc3Npb24gdG8gc2VhcmNoIGZvci5cbiAqIEBwYXJhbSByZXBsYWNlciAtIEEgcmVwbGFjZXIgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgcmVwbGFjZW1lbnQgc3RyaW5ncywgb3IgYSBzdHJpbmcgdG8gcmVwbGFjZSB3aXRoLlxuICogQHJldHVybnMgVGhlIHN0cmluZyB3aXRoIGFsbCByZXBsYWNlbWVudHMgbWFkZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VBbGw8Q2FwdHVyZWRHcm91cEFyZ3MgZXh0ZW5kcyBzdHJpbmdbXT4oXG4gIHN0cjogc3RyaW5nLFxuICBzZWFyY2hWYWx1ZTogUmVnRXhwIHwgc3RyaW5nLFxuICByZXBsYWNlcjogUmVwbGFjZXI8Q2FwdHVyZWRHcm91cEFyZ3M+XG4pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBpZiAoc2VhcmNoVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHAgJiYgIXNlYXJjaFZhbHVlLmdsb2JhbCkge1xuICAgIHNlYXJjaFZhbHVlID0gbmV3IFJlZ0V4cChzZWFyY2hWYWx1ZS5zb3VyY2UsIGAke3NlYXJjaFZhbHVlLmZsYWdzfWdgKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKHNlYXJjaFZhbHVlLCByZXBsYWNlcik7XG4gIH1cblxuICByZXR1cm4gc3RyLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsIChzdWJzdHJpbmc6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgU09VUkNFX0lOREVYX09GRlNFVF9GT1JfR1JPVVBfQVJHID0gMjtcbiAgICBjb25zdCBoYXNHcm91cHNBcmcgPSB0eXBlb2YgYXJncy5hdCgtMSkgPT09ICdvYmplY3QnO1xuICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gaGFzR3JvdXBzQXJnID8gYXJncy5sZW5ndGggLSBTT1VSQ0VfSU5ERVhfT0ZGU0VUX0ZPUl9HUk9VUF9BUkcgOiBhcmdzLmxlbmd0aCAtIDE7XG5cbiAgICBjb25zdCByZXBsYWNlQXJnczogUmVwbGFjZUFyZ3M8Q2FwdHVyZWRHcm91cEFyZ3M+ID0ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tIENhbid0IGF2b2lkLlxuICAgICAgY2FwdHVyZWRHcm91cEFyZ3M6IFtdIGFzIHVua25vd25bXSBhcyBDYXB0dXJlZEdyb3VwQXJncyxcbiAgICAgIGdyb3VwczogaGFzR3JvdXBzQXJnID8gYXJncy5hdCgtMSkgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA6IHVuZGVmaW5lZCxcbiAgICAgIG1pc3NpbmdHcm91cEluZGljZXM6IFtdLFxuICAgICAgb2Zmc2V0OiBhcmdzLmF0KHNvdXJjZUluZGV4IC0gMSkgYXMgbnVtYmVyLFxuICAgICAgc291cmNlOiBhcmdzLmF0KHNvdXJjZUluZGV4KSBhcyBzdHJpbmcsXG4gICAgICBzdWJzdHJpbmdcbiAgICB9O1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2VJbmRleCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGFyZ3NbaV07XG4gICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlcGxhY2VBcmdzLmNhcHR1cmVkR3JvdXBBcmdzLnB1c2goaXRlbSk7XG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSB2OCB0cmFja3MgdGhlIGltcGxpY2l0IGVsc2UgYnJhbmNoIHRoYXQgbmV2ZXIgaGFwcGVucy4gKi9cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICAgIHJlcGxhY2VBcmdzLm1pc3NpbmdHcm91cEluZGljZXMucHVzaChpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKHJlcGxhY2VyKHJlcGxhY2VBcmdzKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/IHJlcGxhY2VBcmdzLnN1YnN0cmluZztcbiAgfSk7XG59XG5cbi8qKlxuICogQXN5bmNocm9ub3VzbHkgcmVwbGFjZXMgYWxsIG9jY3VycmVuY2VzIG9mIGEgc2VhcmNoIHN0cmluZyBvciBwYXR0ZXJuIHdpdGggdGhlIHJlc3VsdHMgb2YgYW4gYXN5bmNocm9ub3VzIHJlcGxhY2VyIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gUmVwbGFjZUdyb3VwQXJncyAtIFRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgcmVwbGFjZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyBpbiB3aGljaCB0byBwZXJmb3JtIHJlcGxhY2VtZW50cy5cbiAqIEBwYXJhbSBzZWFyY2hWYWx1ZSAtIFRoZSBzdHJpbmcgb3IgcmVndWxhciBleHByZXNzaW9uIHRvIHNlYXJjaCBmb3IuXG4gKiBAcGFyYW0gcmVwbGFjZXIgLSBBIHN5bmNocm9ub3VzL2FzeW5jaHJvbm91cyBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyByZXBsYWNlbWVudCBzdHJpbmdzLCBvciBhIHN0cmluZyB0byByZXBsYWNlIHdpdGguXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzdHJpbmcgd2l0aCBhbGwgcmVwbGFjZW1lbnRzIG1hZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlQWxsQXN5bmM8UmVwbGFjZUdyb3VwQXJncyBleHRlbmRzIHN0cmluZ1tdPihcbiAgc3RyOiBzdHJpbmcsXG4gIHNlYXJjaFZhbHVlOiBSZWdFeHAgfCBzdHJpbmcsXG4gIHJlcGxhY2VyOiBBc3luY1JlcGxhY2VyPFJlcGxhY2VHcm91cEFyZ3M+LFxuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBhYm9ydFNpZ25hbCA/Pz0gYWJvcnRTaWduYWxOZXZlcigpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiByZXBsYWNlQWxsKHN0ciwgc2VhcmNoVmFsdWUsIHJlcGxhY2VyKTtcbiAgfVxuXG4gIGNvbnN0IHJlcGxhY2VtZW50QXN5bmNGbnM6ICgoKSA9PiBQcm9taXNlPFN0cmluZ1JlcGxhY2VtZW50PilbXSA9IFtdO1xuXG4gIHJlcGxhY2VBbGw8UmVwbGFjZUdyb3VwQXJncz4oc3RyLCBzZWFyY2hWYWx1ZSwgKGFyZ3MpID0+IHtcbiAgICByZXBsYWNlbWVudEFzeW5jRm5zLnB1c2goKCkgPT4gcmVzb2x2ZVZhbHVlKHJlcGxhY2VyLCB7IGFib3J0U2lnbmFsLCAuLi5hcmdzIH0pKTtcbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGNvbnN0IHJlcGxhY2VtZW50czogU3RyaW5nUmVwbGFjZW1lbnRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYXN5bmNGbiBvZiByZXBsYWNlbWVudEFzeW5jRm5zKSB7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICByZXBsYWNlbWVudHMucHVzaChhd2FpdCBhc3luY0ZuKCkpO1xuICB9XG5cbiAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoc3RyLCBzZWFyY2hWYWx1ZSwgKGFyZ3MpOiBzdHJpbmcgPT4gcmVwbGFjZW1lbnRzLnNoaWZ0KCkgPz8gYXJncy5zdWJzdHJpbmcpO1xufVxuXG4vKipcbiAqIFRyaW1zIHRoZSBzcGVjaWZpZWQgc3VmZml4IGZyb20gdGhlIGVuZCBvZiBhIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byB0cmltLlxuICogQHBhcmFtIHN1ZmZpeCAtIFRoZSBzdWZmaXggdG8gcmVtb3ZlIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLlxuICogQHBhcmFtIHNob3VsZFZhbGlkYXRlIC0gSWYgYHRydWVgLCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0cmluZyBkb2VzIG5vdCBlbmQgd2l0aCB0aGUgc3VmZml4LlxuICogQHJldHVybnMgVGhlIHRyaW1tZWQgc3RyaW5nLlxuICogQHRocm93cyBJZiBgdmFsaWRhdGVgIGlzIGB0cnVlYCBhbmQgdGhlIHN0cmluZyBkb2VzIG5vdCBlbmQgd2l0aCB0aGUgc3VmZml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbUVuZChzdHI6IHN0cmluZywgc3VmZml4OiBzdHJpbmcsIHNob3VsZFZhbGlkYXRlPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChzdHIuZW5kc1dpdGgoc3VmZml4KSkge1xuICAgIHJldHVybiBzdHIuc2xpY2UoMCwgLXN1ZmZpeC5sZW5ndGgpO1xuICB9XG5cbiAgaWYgKHNob3VsZFZhbGlkYXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgJHtzdHJ9IGRvZXMgbm90IGVuZCB3aXRoIHN1ZmZpeCAke3N1ZmZpeH1gKTtcbiAgfVxuXG4gIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIHNwZWNpZmllZCBwcmVmaXggZnJvbSB0aGUgc3RhcnQgb2YgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gdHJpbS5cbiAqIEBwYXJhbSBwcmVmaXggLSBUaGUgcHJlZml4IHRvIHJlbW92ZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLlxuICogQHBhcmFtIHZhbGlkYXRlIC0gSWYgYHRydWVgLCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0cmluZyBkb2VzIG5vdCBzdGFydCB3aXRoIHRoZSBwcmVmaXguXG4gKiBAcmV0dXJucyBUaGUgdHJpbW1lZCBzdHJpbmcuXG4gKiBAdGhyb3dzIElmIGB2YWxpZGF0ZWAgaXMgYHRydWVgIGFuZCB0aGUgc3RyaW5nIGRvZXMgbm90IHN0YXJ0IHdpdGggdGhlIHByZWZpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW1TdGFydChzdHI6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIHZhbGlkYXRlPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChzdHIuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIHN0ci5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuXG4gIGlmICh2YWxpZGF0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3RyaW5nICR7c3RyfSBkb2VzIG5vdCBzdGFydCB3aXRoIHByZWZpeCAke3ByZWZpeH1gKTtcbiAgfVxuXG4gIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogVW5lc2NhcGVzIGEgc3RyaW5nIGJ5IHJlcGxhY2luZyBlc2NhcGUgc2VxdWVuY2VzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHVuZXNjYXBlLlxuICogQHJldHVybnMgVGhlIHVuZXNjYXBlZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmVzY2FwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlKHN0ciwgVU5FU0NBUEVfTUFQKTtcbn1cblxuLyoqXG4gKiBVbmluZGVudHMgYSBzdHJpbmcgYnkgcmVtb3ZpbmcgYSBwcmVmaXggZnJvbSBlYWNoIGxpbmUuXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgc3RyaW5nIHRvIHVuaW5kZW50LlxuICogQHBhcmFtIHByZWZpeCAtIFRoZSBwcmVmaXggdG8gcmVtb3ZlIGZyb20gZWFjaCBsaW5lLlxuICogQHBhcmFtIHNob3VsZFRocm93SWZOb3RJbmRlbnRlZCAtIElmIGB0cnVlYCwgdGhyb3dzIGFuIGVycm9yIGlmIGEgbGluZSBpcyBub3QgaW5kZW50ZWQgd2l0aCB0aGUgcHJlZml4LlxuICogQHJldHVybnMgVGhlIHVuaW5kZW50ZWQgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5pbmRlbnQodGV4dDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZywgc2hvdWxkVGhyb3dJZk5vdEluZGVudGVkID0gZmFsc2UpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dC5zcGxpdCgnXFxuJykubWFwKChsaW5lKSA9PiB7XG4gICAgaWYgKGxpbmUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICByZXR1cm4gbGluZS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICB9XG4gICAgaWYgKHNob3VsZFRocm93SWZOb3RJbmRlbnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBMaW5lIFwiJHtsaW5lfVwiIGlzIG5vdCBpbmRlbnRlZCB3aXRoIFwiJHtwcmVmaXh9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmU7XG4gIH0pLmpvaW4oJ1xcbicpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyxv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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that can transform Date to an ISO string and back.
5
5
  */
@@ -60,4 +60,4 @@ class DateTransformer extends TypedTransformer {
60
60
  export {
61
61
  DateTransformer
62
62
  };
63
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIERhdGUgdG8gYW4gSVNPIHN0cmluZyBhbmQgYmFjay5cbiAqL1xuXG5pbXBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90eXBlZC10cmFuc2Zvcm1lci50cyc7XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gRGF0ZSB0byBhbiBJU08gc3RyaW5nIGFuZCBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgRGF0ZVRyYW5zZm9ybWVyIGV4dGVuZHMgVHlwZWRUcmFuc2Zvcm1lcjxEYXRlLCBzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICpcbiAgICogQHJldHVybnMgYGRhdGVgLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZGF0ZSc7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgdmFsdWUgaXMgYSBEYXRlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSB2YWx1ZSBpcyBhIERhdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRGF0ZSB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgdmFsdWUgZnJvbSBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVkVmFsdWUgLSBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSByZXN0b3JlZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXN0b3JlVmFsdWUodHJhbnNmb3JtZWRWYWx1ZTogc3RyaW5nKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRyYW5zZm9ybWVkVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIHZhbHVlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS50b0lTT1N0cmluZygpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLHdCQUF3QjtBQUsxQixNQUFNLHdCQUF3QixpQkFBK0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNbEUsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsT0FBK0I7QUFDMUQsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsa0JBQWdDO0FBQzNELFdBQU8sSUFBSSxLQUFLLGdCQUFnQjtBQUFBLEVBQ2xDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxPQUFxQjtBQUNsRCxXQUFPLE1BQU0sWUFBWTtBQUFBLEVBQzNCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
63
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gRGF0ZSB0byBhbiBJU08gc3RyaW5nIGFuZCBiYWNrLlxuICovXG5cbmltcG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICcuL3R5cGVkLXRyYW5zZm9ybWVyLnRzJztcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBEYXRlIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVHJhbnNmb3JtZXIgZXh0ZW5kcyBUeXBlZFRyYW5zZm9ybWVyPERhdGUsIHN0cmluZz4ge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBgZGF0ZWAuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdkYXRlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB2YWx1ZSBpcyBhIERhdGUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHZhbHVlIGlzIGEgRGF0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSB2YWx1ZSBmcm9tIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBzdHJpbmcpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUodHJhbnNmb3JtZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsd0JBQXdCO0FBSzFCLE1BQU0sd0JBQXdCLGlCQUErQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sRSxJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxPQUErQjtBQUMxRCxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxrQkFBZ0M7QUFDM0QsV0FBTyxJQUFJLEtBQUssZ0JBQWdCO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixlQUFlLE9BQXFCO0FBQ2xELFdBQU8sTUFBTSxZQUFZO0FBQUEsRUFDM0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that can transform Duration to an ISO string and back.
5
5
  */
@@ -62,4 +62,4 @@ class DurationTransformer extends TypedTransformer {
62
62
  export {
63
63
  DurationTransformer
64
64
  };
65
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBEdXJhdGlvbiB0byBhbiBJU08gc3RyaW5nIGFuZCBiYWNrLlxuICovXG5cbmltcG9ydCB7IG1vbWVudCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJy4vdHlwZWQtdHJhbnNmb3JtZXIudHMnO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb252ZXJ0cyBhIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBEdXJhdGlvblRyYW5zZm9ybWVyIGV4dGVuZHMgVHlwZWRUcmFuc2Zvcm1lcjxtb21lbnQuRHVyYXRpb24sIHN0cmluZz4ge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZHVyYXRpb24nO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdmFsdWUgaXMgYSBEdXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgRHVyYXRpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG1vbWVudC5EdXJhdGlvbiB7XG4gICAgY29uc3QgbWF5YmVEdXJhdGlvbiA9ICh2YWx1ZSA/PyB7fSkgYXMgUGFydGlhbDxtb21lbnQuRHVyYXRpb24+O1xuICAgIHJldHVybiAhIW1heWJlRHVyYXRpb24uYXNIb3VycyAmJiAhIW1heWJlRHVyYXRpb24uYXNNaW51dGVzICYmICEhbWF5YmVEdXJhdGlvbi5hc1NlY29uZHMgJiYgISFtYXliZUR1cmF0aW9uLmFzTWlsbGlzZWNvbmRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSB2YWx1ZSBmcm9tIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSBzdHJpbmcgdG8gcmVzdG9yZSB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBzdHJpbmcpOiBtb21lbnQuRHVyYXRpb24ge1xuICAgIHJldHVybiBtb21lbnQuZHVyYXRpb24odHJhbnNmb3JtZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogbW9tZW50LkR1cmF0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxjQUFjO0FBRXZCLFNBQVMsd0JBQXdCO0FBSzFCLE1BQU0sNEJBQTRCLGlCQUEwQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qRixJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxPQUEwQztBQUNyRSxVQUFNLGdCQUFpQixTQUFTLENBQUM7QUFDakMsV0FBTyxDQUFDLENBQUMsY0FBYyxXQUFXLENBQUMsQ0FBQyxjQUFjLGFBQWEsQ0FBQyxDQUFDLGNBQWMsYUFBYSxDQUFDLENBQUMsY0FBYztBQUFBLEVBQzlHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxrQkFBMkM7QUFDdEUsV0FBTyxPQUFPLFNBQVMsZ0JBQWdCO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixlQUFlLE9BQWdDO0FBQzdELFdBQU8sTUFBTSxZQUFZO0FBQUEsRUFDM0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
65
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cblxuaW1wb3J0IHsgbW9tZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90eXBlZC10cmFuc2Zvcm1lci50cyc7XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNvbnZlcnRzIGEgRHVyYXRpb24gdG8gYW4gSVNPIHN0cmluZyBhbmQgYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIER1cmF0aW9uVHJhbnNmb3JtZXIgZXh0ZW5kcyBUeXBlZFRyYW5zZm9ybWVyPG1vbWVudC5EdXJhdGlvbiwgc3RyaW5nPiB7XG4gIC8qKlxuICAgKiBBbiBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdkdXJhdGlvbic7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhIER1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSBEdXJhdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgbW9tZW50LkR1cmF0aW9uIHtcbiAgICBjb25zdCBtYXliZUR1cmF0aW9uID0gKHZhbHVlID8/IHt9KSBhcyBQYXJ0aWFsPG1vbWVudC5EdXJhdGlvbj47XG4gICAgcmV0dXJuICEhbWF5YmVEdXJhdGlvbi5hc0hvdXJzICYmICEhbWF5YmVEdXJhdGlvbi5hc01pbnV0ZXMgJiYgISFtYXliZUR1cmF0aW9uLmFzU2Vjb25kcyAmJiAhIW1heWJlRHVyYXRpb24uYXNNaWxsaXNlY29uZHM7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgdGhlIHZhbHVlIGZyb20gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIHN0cmluZyB0byByZXN0b3JlIHRoZSB2YWx1ZSBmcm9tLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdG9yZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWU6IHN0cmluZyk6IG1vbWVudC5EdXJhdGlvbiB7XG4gICAgcmV0dXJuIG1vbWVudC5kdXJhdGlvbih0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKHZhbHVlOiBtb21lbnQuRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS50b0lTT1N0cmluZygpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLGNBQWM7QUFFdkIsU0FBUyx3QkFBd0I7QUFLMUIsTUFBTSw0QkFBNEIsaUJBQTBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWpGLElBQW9CLEtBQWE7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLE9BQTBDO0FBQ3JFLFVBQU0sZ0JBQWlCLFNBQVMsQ0FBQztBQUNqQyxXQUFPLENBQUMsQ0FBQyxjQUFjLFdBQVcsQ0FBQyxDQUFDLGNBQWMsYUFBYSxDQUFDLENBQUMsY0FBYyxhQUFhLENBQUMsQ0FBQyxjQUFjO0FBQUEsRUFDOUc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLGtCQUEyQztBQUN0RSxXQUFPLE9BQU8sU0FBUyxnQkFBZ0I7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsT0FBZ0M7QUFDN0QsV0FBTyxNQUFNLFlBQVk7QUFBQSxFQUMzQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that combines multiple transformers.
5
5
  */
@@ -110,4 +110,4 @@ class GroupTransformer extends Transformer {
110
110
  export {
111
111
  GroupTransformer
112
112
  };
113
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9ncm91cC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY29tYmluZXMgbXVsdGlwbGUgdHJhbnNmb3JtZXJzLlxuICovXG5cbmltcG9ydCB7XG4gIGFzc2VydE5vbk51bGxhYmxlLFxuICBlbnN1cmVOb25OdWxsYWJsZVxufSBmcm9tICcuLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJy4vdHJhbnNmb3JtZXIudHMnO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSB0cmFuc2Zvcm1lcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcm91cFRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBgZ3JvdXBgLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZ3JvdXAnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybWVycyB0byBjb21iaW5lLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZXJzIC0gVGhlIHRyYW5zZm9ybWVycyB0byBjb21iaW5lLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB2YWx1ZSBjYW4gYmUgdHJhbnNmb3JtZWQgYnkgYW55IG9mIHRoZSB0cmFuc2Zvcm1lcnMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgdmFsdWUgY2FuIGJlIHRyYW5zZm9ybWVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZSwga2V5KSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVySWQgLSBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRvIGdldC5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVyIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldFRyYW5zZm9ybWVyKHRyYW5zZm9ybWVySWQ6IHN0cmluZyk6IFRyYW5zZm9ybWVyIHtcbiAgICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUodGhpcy50cmFuc2Zvcm1lcnMuZmluZCgodCkgPT4gdC5pZCA9PT0gdHJhbnNmb3JtZXJJZCksIGBObyB0cmFuc2Zvcm1lciB3aXRoIGlkICR7dHJhbnNmb3JtZXJJZH0gZm91bmRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZSB1c2luZyB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93biB7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSB0aGlzLmdldEZpcnN0VHJhbnNmb3JtZXJUaGF0Q2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpO1xuICAgIGFzc2VydE5vbk51bGxhYmxlKHRyYW5zZm9ybWVyLCAnTm8gdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgdmFsdWUnKTtcblxuICAgIHJldHVybiB0cmFuc2Zvcm1lci50cmFuc2Zvcm1WYWx1ZSh2YWx1ZSwga2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGdldCB0aGUgdHJhbnNmb3JtZXIgaWQgZm9yLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1lcklkKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gdGhpcy5nZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZSwga2V5KTtcbiAgICBpZiAodHJhbnNmb3JtZXIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cmFuc2Zvcm1lci5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHRyYW5zZm9ybWVyIGRvZXMgbm90IHN1cHBvcnQgcmVzdG9yaW5nIHZhbHVlcy5cbiAgICpcbiAgICogQHRocm93c1xuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSgpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHcm91cFRyYW5zZm9ybWVyIGRvZXMgbm90IHN1cHBvcnQgcmVzdG9yaW5nIHZhbHVlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBnZXQgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIGZvci5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldCB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgZmlyc3QgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0Rmlyc3RUcmFuc2Zvcm1lclRoYXRDYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogbnVsbCB8IFRyYW5zZm9ybWVyIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcnMuZmluZCgodCkgPT4gdC5jYW5UcmFuc2Zvcm0odmFsdWUsIGtleSkpID8/IG51bGw7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxtQkFBbUI7QUFLckIsTUFBTSx5QkFBeUIsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWV6QyxZQUE2QixjQUE2QjtBQUMvRCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVRwQyxJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtCZ0IsYUFBYSxPQUFnQixLQUFzQjtBQUNqRSxXQUFPLEtBQUssb0NBQW9DLE9BQU8sR0FBRyxNQUFNO0FBQUEsRUFDbEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixlQUFlLGVBQW9DO0FBQ2pFLFdBQU8sa0JBQWtCLEtBQUssYUFBYSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sYUFBYSxHQUFHLDBCQUEwQixhQUFhLFFBQVE7QUFBQSxFQUNqSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsZUFBZSxPQUFnQixLQUFzQjtBQUNuRSxVQUFNLGNBQWMsS0FBSyxvQ0FBb0MsT0FBTyxHQUFHO0FBQ3ZFLHNCQUFrQixhQUFhLHdDQUF3QztBQUV2RSxXQUFPLFlBQVksZUFBZSxPQUFPLEdBQUc7QUFBQSxFQUM5QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbUIsaUJBQWlCLE9BQWdCLEtBQTRCO0FBQzlFLFVBQU0sY0FBYyxLQUFLLG9DQUFvQyxPQUFPLEdBQUc7QUFDdkUsUUFBSSxnQkFBZ0IsTUFBTTtBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUVBLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT21CLGVBQXNCO0FBQ3ZDLFVBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLEVBQ3RFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNRLG9DQUFvQyxPQUFnQixLQUFpQztBQUMzRixXQUFPLEtBQUssYUFBYSxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsT0FBTyxHQUFHLENBQUMsS0FBSztBQUFBLEVBQ3RFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
113
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9ncm91cC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSB0cmFuc2Zvcm1lcnMuXG4gKi9cblxuaW1wb3J0IHtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUsXG4gIGVuc3VyZU5vbk51bGxhYmxlXG59IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lci50cyc7XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNvbWJpbmVzIG11bHRpcGxlIHRyYW5zZm9ybWVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyb3VwVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIC8qKlxuICAgKiBBbiBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIGBncm91cGAuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdncm91cCc7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtZXJzIHRvIGNvbWJpbmUuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lcnMgLSBUaGUgdHJhbnNmb3JtZXJzIHRvIGNvbWJpbmUuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2Zvcm1lcnM6IFRyYW5zZm9ybWVyW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIHZhbHVlIGNhbiBiZSB0cmFuc2Zvcm1lZCBieSBhbnkgb2YgdGhlIHRyYW5zZm9ybWVycy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSB2YWx1ZSBjYW4gYmUgdHJhbnNmb3JtZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldEZpcnN0VHJhbnNmb3JtZXJUaGF0Q2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRyYW5zZm9ybWVyIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZXJJZCAtIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdG8gZ2V0LlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZXIgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtZXIodHJhbnNmb3JtZXJJZDogc3RyaW5nKTogVHJhbnNmb3JtZXIge1xuICAgIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZSh0aGlzLnRyYW5zZm9ybWVycy5maW5kKCh0KSA9PiB0LmlkID09PSB0cmFuc2Zvcm1lcklkKSwgYE5vIHRyYW5zZm9ybWVyIHdpdGggaWQgJHt0cmFuc2Zvcm1lcklkfSBmb3VuZGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIHZhbHVlIHVzaW5nIHRoZSBmaXJzdCB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lciA9IHRoaXMuZ2V0Rmlyc3RUcmFuc2Zvcm1lclRoYXRDYW5UcmFuc2Zvcm0odmFsdWUsIGtleSk7XG4gICAgYXNzZXJ0Tm9uTnVsbGFibGUodHJhbnNmb3JtZXIsICdObyB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSB2YWx1ZScpO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVyLnRyYW5zZm9ybVZhbHVlKHZhbHVlLCBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQgdGhlIHRyYW5zZm9ybWVyIGlkIGZvci5cbiAgICogQHJldHVybnMgVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFRyYW5zZm9ybWVySWQodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogbnVsbCB8IHN0cmluZyB7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSB0aGlzLmdldEZpcnN0VHJhbnNmb3JtZXJUaGF0Q2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpO1xuICAgIGlmICh0cmFuc2Zvcm1lciA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVyLmlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgdHJhbnNmb3JtZXIgZG9lcyBub3Qgc3VwcG9ydCByZXN0b3JpbmcgdmFsdWVzLlxuICAgKlxuICAgKiBAdGhyb3dzXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVzdG9yZVZhbHVlKCk6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyb3VwVHJhbnNmb3JtZXIgZG9lcyBub3Qgc3VwcG9ydCByZXN0b3JpbmcgdmFsdWVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGdldCB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgZm9yLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0IHRoZSBmaXJzdCB0cmFuc2Zvcm1lciBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBmaXJzdCB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBudWxsIHwgVHJhbnNmb3JtZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybWVycy5maW5kKCh0KSA9PiB0LmNhblRyYW5zZm9ybSh2YWx1ZSwga2V5KSkgPz8gbnVsbDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG1CQUFtQjtBQUtyQixNQUFNLHlCQUF5QixZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZXpDLFlBQTZCLGNBQTZCO0FBQy9ELFVBQU07QUFENEI7QUFBQSxFQUVwQztBQUFBLEVBRm9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVHBDLElBQW9CLEtBQWE7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JnQixhQUFhLE9BQWdCLEtBQXNCO0FBQ2pFLFdBQU8sS0FBSyxvQ0FBb0MsT0FBTyxHQUFHLE1BQU07QUFBQSxFQUNsRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsZUFBb0M7QUFDakUsV0FBTyxrQkFBa0IsS0FBSyxhQUFhLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxhQUFhLEdBQUcsMEJBQTBCLGFBQWEsUUFBUTtBQUFBLEVBQ2pJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNnQixlQUFlLE9BQWdCLEtBQXNCO0FBQ25FLFVBQU0sY0FBYyxLQUFLLG9DQUFvQyxPQUFPLEdBQUc7QUFDdkUsc0JBQWtCLGFBQWEsd0NBQXdDO0FBRXZFLFdBQU8sWUFBWSxlQUFlLE9BQU8sR0FBRztBQUFBLEVBQzlDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNtQixpQkFBaUIsT0FBZ0IsS0FBNEI7QUFDOUUsVUFBTSxjQUFjLEtBQUssb0NBQW9DLE9BQU8sR0FBRztBQUN2RSxRQUFJLGdCQUFnQixNQUFNO0FBQ3hCLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPbUIsZUFBc0I7QUFDdkMsVUFBTSxJQUFJLE1BQU0sb0RBQW9EO0FBQUEsRUFDdEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Esb0NBQW9DLE9BQWdCLEtBQWlDO0FBQzNGLFdBQU8sS0FBSyxhQUFhLEtBQUssQ0FBQyxNQUFNLEVBQUUsYUFBYSxPQUFPLEdBQUcsQ0FBQyxLQUFLO0FBQUEsRUFDdEU7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that can transform a Map to an array of entries and back.
5
5
  */
@@ -60,4 +60,4 @@ class MapTransformer extends TypedTransformer {
60
60
  export {
61
61
  MapTransformer
62
62
  };
63
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gYSBNYXAgdG8gYW4gYXJyYXkgb2YgZW50cmllcyBhbmQgYmFjay5cbiAqL1xuXG5pbXBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90eXBlZC10cmFuc2Zvcm1lci50cyc7XG5cbnR5cGUgTWFwRW50cnkgPSByZWFkb25seSBba2V5OiB1bmtub3duLCB2YWx1ZTogdW5rbm93bl07XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gYSBNYXAgdG8gYW4gYXJyYXkgb2YgZW50cmllcyBhbmQgYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcFRyYW5zZm9ybWVyIGV4dGVuZHMgVHlwZWRUcmFuc2Zvcm1lcjxNYXA8dW5rbm93biwgdW5rbm93bj4sIE1hcEVudHJ5W10+IHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIElEIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ21hcCc7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhIE1hcC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgTWFwLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBNYXA8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIE1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgdmFsdWUgZnJvbSBhbiBhcnJheSBvZiBlbnRyaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSBhcnJheSBvZiBlbnRyaWVzIHRvIHJlc3RvcmUgdGhlIHZhbHVlIGZyb20uXG4gICAqIEByZXR1cm5zIFRoZSByZXN0b3JlZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXN0b3JlVmFsdWUodHJhbnNmb3JtZWRWYWx1ZTogTWFwRW50cnlbXSk6IE1hcDx1bmtub3duLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIG5ldyBNYXA8dW5rbm93biwgdW5rbm93bj4odHJhbnNmb3JtZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgZW50cmllcy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKHZhbHVlOiBNYXA8dW5rbm93biwgdW5rbm93bj4pOiBNYXBFbnRyeVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh2YWx1ZS5lbnRyaWVzKCkpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLHdCQUF3QjtBQU8xQixNQUFNLHVCQUF1QixpQkFBb0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNdEYsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsT0FBZ0Q7QUFDM0UsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsa0JBQXFEO0FBQ2hGLFdBQU8sSUFBSSxJQUFzQixnQkFBZ0I7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsT0FBMEM7QUFDdkUsV0FBTyxNQUFNLEtBQUssTUFBTSxRQUFRLENBQUM7QUFBQSxFQUNuQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
63
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhIE1hcCB0byBhbiBhcnJheSBvZiBlbnRyaWVzIGFuZCBiYWNrLlxuICovXG5cbmltcG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICcuL3R5cGVkLXRyYW5zZm9ybWVyLnRzJztcblxudHlwZSBNYXBFbnRyeSA9IHJlYWRvbmx5IFtrZXk6IHVua25vd24sIHZhbHVlOiB1bmtub3duXTtcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhIE1hcCB0byBhbiBhcnJheSBvZiBlbnRyaWVzIGFuZCBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgTWFwVHJhbnNmb3JtZXIgZXh0ZW5kcyBUeXBlZFRyYW5zZm9ybWVyPE1hcDx1bmtub3duLCB1bmtub3duPiwgTWFwRW50cnlbXT4ge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgSUQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnbWFwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHZhbHVlIGlzIGEgTWFwLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSBNYXAsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIE1hcDx1bmtub3duLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgTWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSB2YWx1ZSBmcm9tIGFuIGFycmF5IG9mIGVudHJpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIGFycmF5IG9mIGVudHJpZXMgdG8gcmVzdG9yZSB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBNYXBFbnRyeVtdKTogTWFwPHVua25vd24sIHVua25vd24+IHtcbiAgICByZXR1cm4gbmV3IE1hcDx1bmtub3duLCB1bmtub3duPih0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBlbnRyaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IE1hcDx1bmtub3duLCB1bmtub3duPik6IE1hcEVudHJ5W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlLmVudHJpZXMoKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsd0JBQXdCO0FBTzFCLE1BQU0sdUJBQXVCLGlCQUFvRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU10RixJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxPQUFnRDtBQUMzRSxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxrQkFBcUQ7QUFDaEYsV0FBTyxJQUFJLElBQXNCLGdCQUFnQjtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxPQUEwQztBQUN2RSxXQUFPLE1BQU0sS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUFBLEVBQ25DO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that can transform a Set to an array and back.
5
5
  */
@@ -60,4 +60,4 @@ class SetTransformer extends TypedTransformer {
60
60
  export {
61
61
  SetTransformer
62
62
  };
63
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gYSBTZXQgdG8gYW4gYXJyYXkgYW5kIGJhY2suXG4gKi9cblxuaW1wb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJy4vdHlwZWQtdHJhbnNmb3JtZXIudHMnO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGEgU2V0IHRvIGFuIGFycmF5IGFuZCBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgU2V0VHJhbnNmb3JtZXIgZXh0ZW5kcyBUeXBlZFRyYW5zZm9ybWVyPFNldDx1bmtub3duPiwgdW5rbm93bltdPiB7XG4gIC8qKlxuICAgKiBBbiBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdzZXQnO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdmFsdWUgaXMgYSBTZXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBpcyBhIFNldCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgU2V0PHVua25vd24+IHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgdGhlIHZhbHVlIGZyb20gYW4gYXJyYXkuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIGFycmF5IHRvIHJlc3RvcmUgdGhlIHZhbHVlIGZyb20uXG4gICAqIEByZXR1cm5zIFRoZSByZXN0b3JlZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXN0b3JlVmFsdWUodHJhbnNmb3JtZWRWYWx1ZTogdW5rbm93bltdKTogU2V0PHVua25vd24+IHtcbiAgICByZXR1cm4gbmV3IFNldCh0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZSB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKHZhbHVlOiBTZXQ8dW5rbm93bj4pOiB1bmtub3duW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyx3QkFBd0I7QUFLMUIsTUFBTSx1QkFBdUIsaUJBQTBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTVFLElBQW9CLEtBQWE7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLE9BQXVDO0FBQ2xFLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLGtCQUEyQztBQUN0RSxXQUFPLElBQUksSUFBSSxnQkFBZ0I7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsT0FBZ0M7QUFDN0QsV0FBTyxNQUFNLEtBQUssS0FBSztBQUFBLEVBQ3pCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
63
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhIFNldCB0byBhbiBhcnJheSBhbmQgYmFjay5cbiAqL1xuXG5pbXBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90eXBlZC10cmFuc2Zvcm1lci50cyc7XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gYSBTZXQgdG8gYW4gYXJyYXkgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXRUcmFuc2Zvcm1lciBleHRlbmRzIFR5cGVkVHJhbnNmb3JtZXI8U2V0PHVua25vd24+LCB1bmtub3duW10+IHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIElEIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3NldCc7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhIFNldC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgU2V0LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBTZXQ8dW5rbm93bj4ge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgdmFsdWUgZnJvbSBhbiBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVkVmFsdWUgLSBUaGUgYXJyYXkgdG8gcmVzdG9yZSB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiB1bmtub3duW10pOiBTZXQ8dW5rbm93bj4ge1xuICAgIHJldHVybiBuZXcgU2V0KHRyYW5zZm9ybWVkVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIHZhbHVlIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IFNldDx1bmtub3duPik6IHVua25vd25bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odmFsdWUpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLHdCQUF3QjtBQUsxQixNQUFNLHVCQUF1QixpQkFBMEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNNUUsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsT0FBdUM7QUFDbEUsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsa0JBQTJDO0FBQ3RFLFdBQU8sSUFBSSxJQUFJLGdCQUFnQjtBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxPQUFnQztBQUM3RCxXQUFPLE1BQU0sS0FBSyxLQUFLO0FBQUEsRUFDekI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that skips private properties.
5
5
  */
@@ -58,4 +58,4 @@ class SkipPrivatePropertyTransformer extends Transformer {
58
58
  export {
59
59
  SkipPrivatePropertyTransformer
60
60
  };
61
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9za2lwLXByaXZhdGUtcHJvcGVydHktdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IHNraXBzIHByaXZhdGUgcHJvcGVydGllcy5cbiAqL1xuXG5pbXBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJy4vdHJhbnNmb3JtZXIudHMnO1xuXG5jb25zdCBQUklWQVRFX1BST1BFUlRZX1BSRUZJWCA9ICdfJztcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgc2tpcHMgcHJpdmF0ZSBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgY2xhc3MgU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBgc2tpcC1wcml2YXRlLXByb3BlcnR5YC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3NraXAtcHJpdmF0ZS1wcm9wZXJ0eSc7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBfdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHRyYW5zZm9ybWVyIGNhbiB0cmFuc2Zvcm0gdGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybShfdmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGtleS5zdGFydHNXaXRoKFBSSVZBVEVfUFJPUEVSVFlfUFJFRklYKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKCk6IHVua25vd24ge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSgpOiB1bmtub3duIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NraXBQcml2YXRlUHJvcGVydHlUcmFuc2Zvcm1lciBkb2VzIG5vdCBzdXBwb3J0IHJlc3RvcmluZyB2YWx1ZXMnKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxtQkFBbUI7QUFFNUIsTUFBTSwwQkFBMEI7QUFLekIsTUFBTSx1Q0FBdUMsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU05RCxJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNnQixhQUFhLFFBQWlCLEtBQXNCO0FBQ2xFLFdBQU8sSUFBSSxXQUFXLHVCQUF1QjtBQUFBLEVBQy9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLGlCQUEwQjtBQUN4QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS21CLGVBQXdCO0FBQ3pDLFVBQU0sSUFBSSxNQUFNLGtFQUFrRTtBQUFBLEVBQ3BGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
61
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9za2lwLXByaXZhdGUtcHJvcGVydHktdHJhbnNmb3JtZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgc2tpcHMgcHJpdmF0ZSBwcm9wZXJ0aWVzLlxuICovXG5cbmltcG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lci50cyc7XG5cbmNvbnN0IFBSSVZBVEVfUFJPUEVSVFlfUFJFRklYID0gJ18nO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBza2lwcyBwcml2YXRlIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa2lwUHJpdmF0ZVByb3BlcnR5VHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIC8qKlxuICAgKiBBbiBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIGBza2lwLXByaXZhdGUtcHJvcGVydHlgLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnc2tpcC1wcml2YXRlLXByb3BlcnR5JztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIF92YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKF92YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4ga2V5LnN0YXJ0c1dpdGgoUFJJVkFURV9QUk9QRVJUWV9QUkVGSVgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVzdG9yZVZhbHVlKCk6IHVua25vd24ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIGRvZXMgbm90IHN1cHBvcnQgcmVzdG9yaW5nIHZhbHVlcycpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLG1CQUFtQjtBQUU1QixNQUFNLDBCQUEwQjtBQUt6QixNQUFNLHVDQUF1QyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTlELElBQW9CLEtBQWE7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2dCLGFBQWEsUUFBaUIsS0FBc0I7QUFDbEUsV0FBTyxJQUFJLFdBQVcsdUJBQXVCO0FBQUEsRUFDL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0IsaUJBQTBCO0FBQ3hDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLbUIsZUFBd0I7QUFDekMsVUFBTSxJQUFJLE1BQU0sa0VBQWtFO0FBQUEsRUFDcEY7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A base class for transformers.
5
5
  */
@@ -101,4 +101,4 @@ class Transformer {
101
101
  export {
102
102
  Transformer
103
103
  };
104
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi90eXBlLWd1YXJkcy50cyc7XG5cbmltcG9ydCB7IGdldEFsbEtleXMgfSBmcm9tICcuLi9vYmplY3QtdXRpbHMudHMnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBmb3IgYSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAqL1xuaW50ZXJmYWNlIFRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyIHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IHRyYW5zZm9ybWVkIHRoZSB2YWx1ZS5cbiAgICovXG4gIF9fdHJhbnNmb3JtZXJJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgdHJhbnNmb3JtZWRWYWx1ZTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zZm9ybWVyIHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgaWQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdHJhbnNmb3JtZXIgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lcklkIC0gVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0byBnZXQuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGUgLS0gVGhlIG92ZXJyaWRkZW4gbWV0aG9kIG1pZ2h0IHJldHVybiBhIGRpZmZlcmVudCB0eXBlLlxuICBwdWJsaWMgZ2V0VHJhbnNmb3JtZXIodHJhbnNmb3JtZXJJZDogc3RyaW5nKTogVHJhbnNmb3JtZXIge1xuICAgIGlmICh0cmFuc2Zvcm1lcklkID09PSB0aGlzLmlkKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRyYW5zZm9ybWVyIHdpdGggaWQgJHt0cmFuc2Zvcm1lcklkfSBub3QgZm91bmRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiBvYmplY3QgcmVjdXJzaXZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm1PYmplY3RSZWN1cnNpdmVseSh2YWx1ZTogb2JqZWN0KTogR2VuZXJpY09iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseSh2YWx1ZSwgJycpIGFzIEdlbmVyaWNPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGdldCB0aGUgdHJhbnNmb3JtZXIgaWQgZm9yLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2Zvcm1lcklkKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNhblRyYW5zZm9ybSh2YWx1ZSwga2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSB2YWx1ZSB0byByZXN0b3JlLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVzdG9yZS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHVua25vd247XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIHZhbHVlIHJlY3Vyc2l2ZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIHRyYW5zZm9ybVZhbHVlUmVjdXJzaXZlbHkodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93biB7XG4gICAgY29uc3QgdHJhbnNmb3JtZXJJZCA9IHRoaXMuZ2V0VHJhbnNmb3JtZXJJZCh2YWx1ZSwga2V5KTtcbiAgICBpZiAodHJhbnNmb3JtZXJJZCkge1xuICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWUodmFsdWUsIGtleSk7XG4gICAgICBpZiAodHJhbnNmb3JtZWRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdyYXBwZXI6IFRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyID0ge1xuICAgICAgICBfX3RyYW5zZm9ybWVySWQ6IHRyYW5zZm9ybWVySWQsXG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWVcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGNoaWxkVmFsdWUsIGluZGV4KSA9PiB0aGlzLnRyYW5zZm9ybVZhbHVlUmVjdXJzaXZlbHkoY2hpbGRWYWx1ZSwgU3RyaW5nKGluZGV4KSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyID0gdmFsdWUgYXMgUGFydGlhbDxUcmFuc2Zvcm1lZFZhbHVlV3JhcHBlcj47XG4gICAgaWYgKHRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyLl9fdHJhbnNmb3JtZXJJZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmb3JtZXIodHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIuX190cmFuc2Zvcm1lcklkKS5yZXN0b3JlVmFsdWUodHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIudHJhbnNmb3JtZWRWYWx1ZSwga2V5KTtcbiAgICB9XG5cbiAgICBjb25zdCByZWNvcmQ6IEdlbmVyaWNPYmplY3QgPSB7fTtcblxuICAgIGZvciAoY29uc3QgY2hpbGRLZXkgb2YgZ2V0QWxsS2V5cyh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IGNoaWxkVmFsdWUgPSB2YWx1ZVtjaGlsZEtleV07XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZENoaWxkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlUmVjdXJzaXZlbHkoY2hpbGRWYWx1ZSwgY2hpbGRLZXkpO1xuICAgICAgcmVjb3JkW2NoaWxkS2V5XSA9IHRyYW5zZm9ybWVkQ2hpbGRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVjb3JkO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGtCQUFrQjtBQW9CcEIsTUFBZSxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXNCekIsZUFBZSxlQUFvQztBQUN4RCxRQUFJLGtCQUFrQixLQUFLLElBQUk7QUFDN0IsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLElBQUksTUFBTSx1QkFBdUIsYUFBYSxZQUFZO0FBQUEsRUFDbEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLDJCQUEyQixPQUE4QjtBQUM5RCxXQUFPLEtBQUssMEJBQTBCLE9BQU8sRUFBRTtBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtCVSxpQkFBaUIsT0FBZ0IsS0FBNEI7QUFDckUsUUFBSSxLQUFLLGFBQWEsT0FBTyxHQUFHLEdBQUc7QUFDakMsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtCUSwwQkFBMEIsT0FBZ0IsS0FBc0I7QUFDdEUsVUFBTSxnQkFBZ0IsS0FBSyxpQkFBaUIsT0FBTyxHQUFHO0FBQ3RELFFBQUksZUFBZTtBQUNqQixZQUFNLG1CQUFtQixLQUFLLGVBQWUsT0FBTyxHQUFHO0FBQ3ZELFVBQUkscUJBQXFCLFFBQVc7QUFDbEMsZUFBTztBQUFBLE1BQ1Q7QUFFQSxZQUFNLFVBQW1DO0FBQUEsUUFDdkMsaUJBQWlCO0FBQUEsUUFDakI7QUFBQSxNQUNGO0FBRUEsYUFBTztBQUFBLElBQ1Q7QUFFQSxRQUFJLFVBQVUsTUFBTTtBQUNsQixhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUksT0FBTyxVQUFVLFVBQVU7QUFDN0IsYUFBTztBQUFBLElBQ1Q7QUFFQSxRQUFJLE1BQU0sUUFBUSxLQUFLLEdBQUc7QUFDeEIsYUFBTyxNQUFNLElBQUksQ0FBQyxZQUFZLFVBQVUsS0FBSywwQkFBMEIsWUFBWSxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQUEsSUFDbkc7QUFFQSxVQUFNLDBCQUEwQjtBQUNoQyxRQUFJLHdCQUF3QixpQkFBaUI7QUFDM0MsYUFBTyxLQUFLLGVBQWUsd0JBQXdCLGVBQWUsRUFBRSxhQUFhLHdCQUF3QixrQkFBa0IsR0FBRztBQUFBLElBQ2hJO0FBRUEsVUFBTSxTQUF3QixDQUFDO0FBRS9CLGVBQVcsWUFBWSxXQUFXLEtBQUssR0FBRztBQUN4QyxZQUFNLGFBQWEsTUFBTSxRQUFRO0FBQ2pDLFlBQU0sd0JBQXdCLEtBQUssMEJBQTBCLFlBQVksUUFBUTtBQUNqRixhQUFPLFFBQVEsSUFBSTtBQUFBLElBQ3JCO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
104
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgYmFzZSBjbGFzcyBmb3IgdHJhbnNmb3JtZXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHsgZ2V0QWxsS2V5cyB9IGZyb20gJy4uL29iamVjdC11dGlscy50cyc7XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBhIHRyYW5zZm9ybWVkIHZhbHVlLlxuICovXG5pbnRlcmZhY2UgVHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgdHJhbnNmb3JtZWQgdGhlIHZhbHVlLlxuICAgKi9cbiAgX190cmFuc2Zvcm1lcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm1lZFZhbHVlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEEgYmFzZSBjbGFzcyBmb3IgdHJhbnNmb3JtZXJzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldCBpZCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIHRyYW5zZm9ybWVyIGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHRyYW5zZm9ybWVyIGNhbiB0cmFuc2Zvcm0gdGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVySWQgLSBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRvIGdldC5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVyIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmV0dXJuLXRoaXMtdHlwZSAtLSBUaGUgb3ZlcnJpZGRlbiBtZXRob2QgbWlnaHQgcmV0dXJuIGEgZGlmZmVyZW50IHR5cGUuXG4gIHB1YmxpYyBnZXRUcmFuc2Zvcm1lcih0cmFuc2Zvcm1lcklkOiBzdHJpbmcpOiBUcmFuc2Zvcm1lciB7XG4gICAgaWYgKHRyYW5zZm9ybWVySWQgPT09IHRoaXMuaWQpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVHJhbnNmb3JtZXIgd2l0aCBpZCAke3RyYW5zZm9ybWVySWR9IG5vdCBmb3VuZGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIG9iamVjdCByZWN1cnNpdmVseS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybU9iamVjdFJlY3Vyc2l2ZWx5KHZhbHVlOiBvYmplY3QpOiBHZW5lcmljT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1WYWx1ZVJlY3Vyc2l2ZWx5KHZhbHVlLCAnJykgYXMgR2VuZXJpY09iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRyYW5zZm9ybVZhbHVlKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHVua25vd247XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQgdGhlIHRyYW5zZm9ybWVyIGlkIGZvci5cbiAgICogQHJldHVybnMgVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRyYW5zZm9ybWVySWQodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogbnVsbCB8IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIHZhbHVlIHRvIHJlc3RvcmUuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZXN0b3JlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdG9yZWQgdmFsdWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93bjtcblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgZ2l2ZW4gdmFsdWUgcmVjdXJzaXZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgdHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lcklkID0gdGhpcy5nZXRUcmFuc2Zvcm1lcklkKHZhbHVlLCBrZXkpO1xuICAgIGlmICh0cmFuc2Zvcm1lcklkKSB7XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZSh2YWx1ZSwga2V5KTtcbiAgICAgIGlmICh0cmFuc2Zvcm1lZFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd3JhcHBlcjogVHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIgPSB7XG4gICAgICAgIF9fdHJhbnNmb3JtZXJJZDogdHJhbnNmb3JtZXJJZCxcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoY2hpbGRWYWx1ZSwgaW5kZXgpID0+IHRoaXMudHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseShjaGlsZFZhbHVlLCBTdHJpbmcoaW5kZXgpKSk7XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIgPSB2YWx1ZSBhcyBQYXJ0aWFsPFRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyPjtcbiAgICBpZiAodHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIuX190cmFuc2Zvcm1lcklkKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2Zvcm1lcih0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlci5fX3RyYW5zZm9ybWVySWQpLnJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlci50cmFuc2Zvcm1lZFZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY29yZDogR2VuZXJpY09iamVjdCA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBjaGlsZEtleSBvZiBnZXRBbGxLZXlzKHZhbHVlKSkge1xuICAgICAgY29uc3QgY2hpbGRWYWx1ZSA9IHZhbHVlW2NoaWxkS2V5XTtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkQ2hpbGRWYWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseShjaGlsZFZhbHVlLCBjaGlsZEtleSk7XG4gICAgICByZWNvcmRbY2hpbGRLZXldID0gdHJhbnNmb3JtZWRDaGlsZFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiByZWNvcmQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLFNBQVMsa0JBQWtCO0FBb0JwQixNQUFlLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0J6QixlQUFlLGVBQW9DO0FBQ3hELFFBQUksa0JBQWtCLEtBQUssSUFBSTtBQUM3QixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sSUFBSSxNQUFNLHVCQUF1QixhQUFhLFlBQVk7QUFBQSxFQUNsRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sMkJBQTJCLE9BQThCO0FBQzlELFdBQU8sS0FBSywwQkFBMEIsT0FBTyxFQUFFO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JVLGlCQUFpQixPQUFnQixLQUE0QjtBQUNyRSxRQUFJLEtBQUssYUFBYSxPQUFPLEdBQUcsR0FBRztBQUNqQyxhQUFPLEtBQUs7QUFBQSxJQUNkO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JRLDBCQUEwQixPQUFnQixLQUFzQjtBQUN0RSxVQUFNLGdCQUFnQixLQUFLLGlCQUFpQixPQUFPLEdBQUc7QUFDdEQsUUFBSSxlQUFlO0FBQ2pCLFlBQU0sbUJBQW1CLEtBQUssZUFBZSxPQUFPLEdBQUc7QUFDdkQsVUFBSSxxQkFBcUIsUUFBVztBQUNsQyxlQUFPO0FBQUEsTUFDVDtBQUVBLFlBQU0sVUFBbUM7QUFBQSxRQUN2QyxpQkFBaUI7QUFBQSxRQUNqQjtBQUFBLE1BQ0Y7QUFFQSxhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUksVUFBVSxNQUFNO0FBQ2xCLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSSxPQUFPLFVBQVUsVUFBVTtBQUM3QixhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUksTUFBTSxRQUFRLEtBQUssR0FBRztBQUN4QixhQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksVUFBVSxLQUFLLDBCQUEwQixZQUFZLE9BQU8sS0FBSyxDQUFDLENBQUM7QUFBQSxJQUNuRztBQUVBLFVBQU0sMEJBQTBCO0FBQ2hDLFFBQUksd0JBQXdCLGlCQUFpQjtBQUMzQyxhQUFPLEtBQUssZUFBZSx3QkFBd0IsZUFBZSxFQUFFLGFBQWEsd0JBQXdCLGtCQUFrQixHQUFHO0FBQUEsSUFDaEk7QUFFQSxVQUFNLFNBQXdCLENBQUM7QUFFL0IsZUFBVyxZQUFZLFdBQVcsS0FBSyxHQUFHO0FBQ3hDLFlBQU0sYUFBYSxNQUFNLFFBQVE7QUFDakMsWUFBTSx3QkFBd0IsS0FBSywwQkFBMEIsWUFBWSxRQUFRO0FBQ2pGLGFBQU8sUUFBUSxJQUFJO0FBQUEsSUFDckI7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A transformer that can transform a TwoWayMap to an array of entries and back.
5
5
  */
@@ -61,4 +61,4 @@ class TwoWayMapTransformer extends TypedTransformer {
61
61
  export {
62
62
  TwoWayMapTransformer
63
63
  };
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhIFR3b1dheU1hcCB0byBhbiBhcnJheSBvZiBlbnRyaWVzIGFuZCBiYWNrLlxuICovXG5cbmltcG9ydCB7IFR3b1dheU1hcCB9IGZyb20gJy4uL3R3by13YXktbWFwLnRzJztcbmltcG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICcuL3R5cGVkLXRyYW5zZm9ybWVyLnRzJztcblxudHlwZSBNYXBFbnRyeSA9IHJlYWRvbmx5IFtrZXk6IHVua25vd24sIHZhbHVlOiB1bmtub3duXTtcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhIFR3b1dheU1hcCB0byBhbiBhcnJheSBvZiBlbnRyaWVzIGFuZCBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgVHdvV2F5TWFwVHJhbnNmb3JtZXIgZXh0ZW5kcyBUeXBlZFRyYW5zZm9ybWVyPFR3b1dheU1hcDx1bmtub3duLCB1bmtub3duPiwgTWFwRW50cnlbXT4ge1xuICAvKipcbiAgICogR2V0cyB0aGUgSUQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgSUQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAndHdvLXdheS1tYXAnO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdmFsdWUgaXMgYSBUd29XYXlNYXAuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBpcyBhIFR3b1dheU1hcCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVHdvV2F5TWFwPHVua25vd24sIHVua25vd24+IHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUd29XYXlNYXA7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgYSBUd29XYXlNYXAgZnJvbSBhbiBhcnJheSBvZiBlbnRyaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSBhcnJheSBvZiBlbnRyaWVzLlxuICAgKiBAcmV0dXJucyBUaGUgVHdvV2F5TWFwLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBNYXBFbnRyeVtdKTogVHdvV2F5TWFwPHVua25vd24sIHVua25vd24+IHtcbiAgICByZXR1cm4gbmV3IFR3b1dheU1hcDx1bmtub3duLCB1bmtub3duPih0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgVHdvV2F5TWFwIHRvIGFuIGFycmF5IG9mIGVudHJpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBUd29XYXlNYXAuXG4gICAqIEByZXR1cm5zIFRoZSBhcnJheSBvZiBlbnRyaWVzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKHZhbHVlOiBUd29XYXlNYXA8dW5rbm93biwgdW5rbm93bj4pOiBNYXBFbnRyeVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh2YWx1ZS5lbnRyaWVzKCkpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLHdCQUF3QjtBQU8xQixNQUFNLDZCQUE2QixpQkFBMEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNbEcsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsT0FBc0Q7QUFDakYsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsa0JBQTJEO0FBQ3RGLFdBQU8sSUFBSSxVQUE0QixnQkFBZ0I7QUFBQSxFQUN6RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsT0FBZ0Q7QUFDN0UsV0FBTyxNQUFNLEtBQUssTUFBTSxRQUFRLENBQUM7QUFBQSxFQUNuQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGEgVHdvV2F5TWFwIHRvIGFuIGFycmF5IG9mIGVudHJpZXMgYW5kIGJhY2suXG4gKi9cblxuaW1wb3J0IHsgVHdvV2F5TWFwIH0gZnJvbSAnLi4vdHdvLXdheS1tYXAudHMnO1xuaW1wb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJy4vdHlwZWQtdHJhbnNmb3JtZXIudHMnO1xuXG50eXBlIE1hcEVudHJ5ID0gcmVhZG9ubHkgW2tleTogdW5rbm93biwgdmFsdWU6IHVua25vd25dO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGEgVHdvV2F5TWFwIHRvIGFuIGFycmF5IG9mIGVudHJpZXMgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBUd29XYXlNYXBUcmFuc2Zvcm1lciBleHRlbmRzIFR5cGVkVHJhbnNmb3JtZXI8VHdvV2F5TWFwPHVua25vd24sIHVua25vd24+LCBNYXBFbnRyeVtdPiB7XG4gIC8qKlxuICAgKiBHZXRzIHRoZSBJRCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd0d28td2F5LW1hcCc7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhIFR3b1dheU1hcC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgVHdvV2F5TWFwLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBUd29XYXlNYXA8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFR3b1dheU1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyBhIFR3b1dheU1hcCBmcm9tIGFuIGFycmF5IG9mIGVudHJpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIGFycmF5IG9mIGVudHJpZXMuXG4gICAqIEByZXR1cm5zIFRoZSBUd29XYXlNYXAuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWU6IE1hcEVudHJ5W10pOiBUd29XYXlNYXA8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIHJldHVybiBuZXcgVHdvV2F5TWFwPHVua25vd24sIHVua25vd24+KHRyYW5zZm9ybWVkVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBUd29XYXlNYXAgdG8gYW4gYXJyYXkgb2YgZW50cmllcy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIFR3b1dheU1hcC5cbiAgICogQHJldHVybnMgVGhlIGFycmF5IG9mIGVudHJpZXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IFR3b1dheU1hcDx1bmtub3duLCB1bmtub3duPik6IE1hcEVudHJ5W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlLmVudHJpZXMoKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsaUJBQWlCO0FBQzFCLFNBQVMsd0JBQXdCO0FBTzFCLE1BQU0sNkJBQTZCLGlCQUEwRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sRyxJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxPQUFzRDtBQUNqRixXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsYUFBYSxrQkFBMkQ7QUFDdEYsV0FBTyxJQUFJLFVBQTRCLGdCQUFnQjtBQUFBLEVBQ3pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxPQUFnRDtBQUM3RSxXQUFPLE1BQU0sS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUFBLEVBQ25DO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * A base class for transformers that can transform and restore a specific type.
5
5
  */
@@ -25,4 +25,4 @@ class TypedTransformer extends Transformer {
25
25
  export {
26
26
  TypedTransformer
27
27
  };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90eXBlZC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycyB0aGF0IGNhbiB0cmFuc2Zvcm0gYW5kIHJlc3RvcmUgYSBzcGVjaWZpYyB0eXBlLlxuICovXG5cbmltcG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lci50cyc7XG5cbi8qKlxuICogQSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gYW5kIHJlc3RvcmUgYSBzcGVjaWZpYyB0eXBlLlxuICpcbiAqIEB0eXBlUGFyYW0gU291cmNlIC0gVGhlIHR5cGUgb2YgdGhlIHNvdXJjZSB2YWx1ZS5cbiAqIEB0eXBlUGFyYW0gVHJhbnNmb3JtZWQgLSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUeXBlZFRyYW5zZm9ybWVyPFNvdXJjZSwgVHJhbnNmb3JtZWQ+IGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb3ZlcnJpZGUgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHZhbHVlIGlzIFNvdXJjZTtcblxuICAvKipcbiAgICogUmVzdG9yZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSB2YWx1ZSB0byByZXN0b3JlLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVzdG9yZS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBUcmFuc2Zvcm1lZCwga2V5OiBzdHJpbmcpOiBTb3VyY2U7XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IFNvdXJjZSwga2V5OiBzdHJpbmcpOiBUcmFuc2Zvcm1lZDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsbUJBQW1CO0FBUXJCLE1BQWUseUJBQThDLFlBQVk7QUEyQmhGOyIsCiAgIm5hbWVzIjogW10KfQo=
28
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy90eXBlZC10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgYmFzZSBjbGFzcyBmb3IgdHJhbnNmb3JtZXJzIHRoYXQgY2FuIHRyYW5zZm9ybSBhbmQgcmVzdG9yZSBhIHNwZWNpZmljIHR5cGUuXG4gKi9cblxuaW1wb3J0IHsgVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVyLnRzJztcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBhbmQgcmVzdG9yZSBhIHNwZWNpZmljIHR5cGUuXG4gKlxuICogQHR5cGVQYXJhbSBTb3VyY2UgLSBUaGUgdHlwZSBvZiB0aGUgc291cmNlIHZhbHVlLlxuICogQHR5cGVQYXJhbSBUcmFuc2Zvcm1lZCAtIFRoZSB0eXBlIG9mIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR5cGVkVHJhbnNmb3JtZXI8U291cmNlLCBUcmFuc2Zvcm1lZD4gZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdmFsdWUgaXMgU291cmNlO1xuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIHZhbHVlIHRvIHJlc3RvcmUuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZXN0b3JlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdG9yZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb3ZlcnJpZGUgcmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWU6IFRyYW5zZm9ybWVkLCBrZXk6IHN0cmluZyk6IFNvdXJjZTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogU291cmNlLCBrZXk6IHN0cmluZyk6IFRyYW5zZm9ybWVkO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxtQkFBbUI7QUFRckIsTUFBZSx5QkFBOEMsWUFBWTtBQTJCaEY7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * Two-way map.
5
5
  */
@@ -139,4 +139,4 @@ class TwoWayMap {
139
139
  export {
140
140
  TwoWayMap
141
141
  };
142
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R3by13YXktbWFwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFR3by13YXkgbWFwLlxuICovXG5cbi8qKlxuICogQSBtYXAgdGhhdCBhbGxvd3MgeW91IHRvIGxvb2sgdXAgYSB2YWx1ZSBieSBpdHMga2V5IGFuZCB2aWNlIHZlcnNhLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgbWFwID0gbmV3IFR3b1dheU1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAqIG1hcC5zZXQoJ2ZvbycsIDQyKTtcbiAqIG1hcC5nZXRWYWx1ZSgnZm9vJyk7IC8vIDQyXG4gKiBtYXAuZ2V0S2V5KDQyKTsgLy8gJ2ZvbydcbiAqIG1hcC5kZWxldGVLZXkoJ2ZvbycpO1xuICogbWFwLmRlbGV0ZVZhbHVlKDQyKTtcbiAqIG1hcC5jbGVhcigpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBUd29XYXlNYXA8S2V5LCBWYWx1ZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGtleVZhbHVlTWFwID0gbmV3IE1hcDxLZXksIFZhbHVlPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlS2V5TWFwID0gbmV3IE1hcDxWYWx1ZSwgS2V5PigpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHR3by13YXkgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0gZW50cmllcyAtIEVudHJpZXMgdG8gaW5pdGlhbGl6ZSB0aGUgbWFwIHdpdGguXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoZW50cmllczogKHJlYWRvbmx5IFtrZXk6IEtleSwgdmFsdWU6IFZhbHVlXSlbXSA9IFtdKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgZW50cmllcykge1xuICAgICAgdGhpcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgbWFwLlxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMua2V5VmFsdWVNYXAuY2xlYXIoKTtcbiAgICB0aGlzLnZhbHVlS2V5TWFwLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIGtleSBmcm9tIHRoZSBtYXAuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICAgKi9cbiAgcHVibGljIGRlbGV0ZUtleShrZXk6IEtleSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZShrZXkpO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlS2V5TWFwLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMua2V5VmFsdWVNYXAuZGVsZXRlKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIHZhbHVlIGZyb20gdGhlIG1hcC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGRlbGV0ZVZhbHVlKHZhbHVlOiBWYWx1ZSk6IHZvaWQge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHZhbHVlKTtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMua2V5VmFsdWVNYXAuZGVsZXRlKGtleSk7XG4gICAgfVxuICAgIHRoaXMudmFsdWVLZXlNYXAuZGVsZXRlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBlbnRyaWVzIGluIHRoZSBtYXAuXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGl0ZXJhdG9yIG92ZXIgYWxsIGVudHJpZXMgaW4gdGhlIG1hcC5cbiAgICovXG4gIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8cmVhZG9ubHkgW2tleTogS2V5LCB2YWx1ZTogVmFsdWVdPiB7XG4gICAgcmV0dXJuIHRoaXMua2V5VmFsdWVNYXAuZW50cmllcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBrZXkgYnkgaXRzIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgZ2V0S2V5KHZhbHVlOiBWYWx1ZSk6IEtleSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVLZXlNYXAuZ2V0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgdmFsdWUgYnkgaXRzIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBnZXRWYWx1ZShrZXk6IEtleSk6IHVuZGVmaW5lZCB8IFZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5rZXlWYWx1ZU1hcC5nZXQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIG1hcCBoYXMgYSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG1hcCBoYXMgdGhlIGtleSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgaGFzS2V5KGtleTogS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5VmFsdWVNYXAuaGFzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBtYXAgaGFzIGEgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBtYXAgaGFzIHRoZSB2YWx1ZSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgaGFzVmFsdWUodmFsdWU6IFZhbHVlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVLZXlNYXAuaGFzKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBrZXlzIGluIHRoZSBtYXAuXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGl0ZXJhdG9yIG92ZXIgYWxsIGtleXMgaW4gdGhlIG1hcC5cbiAgICovXG4gIHB1YmxpYyBrZXlzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8S2V5PiB7XG4gICAgcmV0dXJuIHRoaXMua2V5VmFsdWVNYXAua2V5cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSBrZXktdmFsdWUgcGFpciBpbiB0aGUgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleS5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHNldChrZXk6IEtleSwgdmFsdWU6IFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGVLZXkoa2V5KTtcbiAgICB0aGlzLmRlbGV0ZVZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMua2V5VmFsdWVNYXAuc2V0KGtleSwgdmFsdWUpO1xuICAgIHRoaXMudmFsdWVLZXlNYXAuc2V0KHZhbHVlLCBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIHZhbHVlcyBpbiB0aGUgbWFwLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBpdGVyYXRvciBvdmVyIGFsbCB2YWx1ZXMgaW4gdGhlIG1hcC5cbiAgICovXG4gIHB1YmxpYyB2YWx1ZXMoKTogSXRlcmFibGVJdGVyYXRvcjxWYWx1ZT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlS2V5TWFwLmtleXMoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JPLE1BQU0sVUFBc0I7QUFBQSxFQUNoQixjQUFjLG9CQUFJLElBQWdCO0FBQUEsRUFDbEMsY0FBYyxvQkFBSSxJQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU81QyxZQUFZLFVBQWlELENBQUMsR0FBRztBQUN0RSxlQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssU0FBUztBQUNsQyxXQUFLLElBQUksS0FBSyxLQUFLO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxRQUFjO0FBQ25CLFNBQUssWUFBWSxNQUFNO0FBQ3ZCLFNBQUssWUFBWSxNQUFNO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxVQUFVLEtBQWdCO0FBQy9CLFVBQU0sUUFBUSxLQUFLLFNBQVMsR0FBRztBQUMvQixRQUFJLFVBQVUsUUFBVztBQUN2QixXQUFLLFlBQVksT0FBTyxLQUFLO0FBQUEsSUFDL0I7QUFDQSxTQUFLLFlBQVksT0FBTyxHQUFHO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxZQUFZLE9BQW9CO0FBQ3JDLFVBQU0sTUFBTSxLQUFLLE9BQU8sS0FBSztBQUM3QixRQUFJLFFBQVEsUUFBVztBQUNyQixXQUFLLFlBQVksT0FBTyxHQUFHO0FBQUEsSUFDN0I7QUFDQSxTQUFLLFlBQVksT0FBTyxLQUFLO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxVQUErRDtBQUNwRSxXQUFPLEtBQUssWUFBWSxRQUFRO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE9BQU8sT0FBK0I7QUFDM0MsV0FBTyxLQUFLLFlBQVksSUFBSSxLQUFLO0FBQUEsRUFDbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFNBQVMsS0FBNkI7QUFDM0MsV0FBTyxLQUFLLFlBQVksSUFBSSxHQUFHO0FBQUEsRUFDakM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE9BQU8sS0FBbUI7QUFDL0IsV0FBTyxLQUFLLFlBQVksSUFBSSxHQUFHO0FBQUEsRUFDakM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFNBQVMsT0FBdUI7QUFDckMsV0FBTyxLQUFLLFlBQVksSUFBSSxLQUFLO0FBQUEsRUFDbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxPQUE4QjtBQUNuQyxXQUFPLEtBQUssWUFBWSxLQUFLO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLElBQUksS0FBVSxPQUFvQjtBQUN2QyxTQUFLLFVBQVUsR0FBRztBQUNsQixTQUFLLFlBQVksS0FBSztBQUV0QixTQUFLLFlBQVksSUFBSSxLQUFLLEtBQUs7QUFDL0IsU0FBSyxZQUFZLElBQUksT0FBTyxHQUFHO0FBQUEsRUFDakM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxTQUFrQztBQUN2QyxXQUFPLEtBQUssWUFBWSxLQUFLO0FBQUEsRUFDL0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
142
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R3by13YXktbWFwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVHdvLXdheSBtYXAuXG4gKi9cblxuLyoqXG4gKiBBIG1hcCB0aGF0IGFsbG93cyB5b3UgdG8gbG9vayB1cCBhIHZhbHVlIGJ5IGl0cyBrZXkgYW5kIHZpY2UgdmVyc2EuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBtYXAgPSBuZXcgVHdvV2F5TWFwPHN0cmluZywgbnVtYmVyPigpO1xuICogbWFwLnNldCgnZm9vJywgNDIpO1xuICogbWFwLmdldFZhbHVlKCdmb28nKTsgLy8gNDJcbiAqIG1hcC5nZXRLZXkoNDIpOyAvLyAnZm9vJ1xuICogbWFwLmRlbGV0ZUtleSgnZm9vJyk7XG4gKiBtYXAuZGVsZXRlVmFsdWUoNDIpO1xuICogbWFwLmNsZWFyKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFR3b1dheU1hcDxLZXksIFZhbHVlPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkga2V5VmFsdWVNYXAgPSBuZXcgTWFwPEtleSwgVmFsdWU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVLZXlNYXAgPSBuZXcgTWFwPFZhbHVlLCBLZXk+KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdHdvLXdheSBtYXAuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyaWVzIC0gRW50cmllcyB0byBpbml0aWFsaXplIHRoZSBtYXAgd2l0aC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihlbnRyaWVzOiAocmVhZG9ubHkgW2tleTogS2V5LCB2YWx1ZTogVmFsdWVdKVtdID0gW10pIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBlbnRyaWVzKSB7XG4gICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBtYXAuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5rZXlWYWx1ZU1hcC5jbGVhcigpO1xuICAgIHRoaXMudmFsdWVLZXlNYXAuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEga2V5IGZyb20gdGhlIG1hcC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlS2V5KGtleTogS2V5KTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKGtleSk7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmFsdWVLZXlNYXAuZGVsZXRlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5rZXlWYWx1ZU1hcC5kZWxldGUoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgdmFsdWUgZnJvbSB0aGUgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlVmFsdWUodmFsdWU6IFZhbHVlKTogdm9pZCB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkodmFsdWUpO1xuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5rZXlWYWx1ZU1hcC5kZWxldGUoa2V5KTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUtleU1hcC5kZWxldGUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGVudHJpZXMgaW4gdGhlIG1hcC5cbiAgICpcbiAgICogQHJldHVybnMgQW4gaXRlcmF0b3Igb3ZlciBhbGwgZW50cmllcyBpbiB0aGUgbWFwLlxuICAgKi9cbiAgcHVibGljIGVudHJpZXMoKTogSXRlcmFibGVJdGVyYXRvcjxyZWFkb25seSBba2V5OiBLZXksIHZhbHVlOiBWYWx1ZV0+IHtcbiAgICByZXR1cm4gdGhpcy5rZXlWYWx1ZU1hcC5lbnRyaWVzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGtleSBieSBpdHMgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGtleS5cbiAgICovXG4gIHB1YmxpYyBnZXRLZXkodmFsdWU6IFZhbHVlKTogS2V5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUtleU1hcC5nZXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSB2YWx1ZSBieSBpdHMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleS5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGdldFZhbHVlKGtleTogS2V5KTogdW5kZWZpbmVkIHwgVmFsdWUge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlTWFwLmdldChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgbWFwIGhhcyBhIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbWFwIGhhcyB0aGUga2V5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBoYXNLZXkoa2V5OiBLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5rZXlWYWx1ZU1hcC5oYXMoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIG1hcCBoYXMgYSB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG1hcCBoYXMgdGhlIHZhbHVlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBoYXNWYWx1ZSh2YWx1ZTogVmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUtleU1hcC5oYXModmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGtleXMgaW4gdGhlIG1hcC5cbiAgICpcbiAgICogQHJldHVybnMgQW4gaXRlcmF0b3Igb3ZlciBhbGwga2V5cyBpbiB0aGUgbWFwLlxuICAgKi9cbiAgcHVibGljIGtleXMoKTogSXRlcmFibGVJdGVyYXRvcjxLZXk+IHtcbiAgICByZXR1cm4gdGhpcy5rZXlWYWx1ZU1hcC5rZXlzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIGtleS12YWx1ZSBwYWlyIGluIHRoZSBtYXAuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgc2V0KGtleTogS2V5LCB2YWx1ZTogVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUtleShrZXkpO1xuICAgIHRoaXMuZGVsZXRlVmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5rZXlWYWx1ZU1hcC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUtleU1hcC5zZXQodmFsdWUsIGtleSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgdmFsdWVzIGluIHRoZSBtYXAuXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGl0ZXJhdG9yIG92ZXIgYWxsIHZhbHVlcyBpbiB0aGUgbWFwLlxuICAgKi9cbiAgcHVibGljIHZhbHVlcygpOiBJdGVyYWJsZUl0ZXJhdG9yPFZhbHVlPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVLZXlNYXAua2V5cygpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQk8sTUFBTSxVQUFzQjtBQUFBLEVBQ2hCLGNBQWMsb0JBQUksSUFBZ0I7QUFBQSxFQUNsQyxjQUFjLG9CQUFJLElBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzVDLFlBQVksVUFBaUQsQ0FBQyxHQUFHO0FBQ3RFLGVBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxTQUFTO0FBQ2xDLFdBQUssSUFBSSxLQUFLLEtBQUs7QUFBQSxJQUNyQjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFFBQWM7QUFDbkIsU0FBSyxZQUFZLE1BQU07QUFDdkIsU0FBSyxZQUFZLE1BQU07QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQVUsS0FBZ0I7QUFDL0IsVUFBTSxRQUFRLEtBQUssU0FBUyxHQUFHO0FBQy9CLFFBQUksVUFBVSxRQUFXO0FBQ3ZCLFdBQUssWUFBWSxPQUFPLEtBQUs7QUFBQSxJQUMvQjtBQUNBLFNBQUssWUFBWSxPQUFPLEdBQUc7QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFlBQVksT0FBb0I7QUFDckMsVUFBTSxNQUFNLEtBQUssT0FBTyxLQUFLO0FBQzdCLFFBQUksUUFBUSxRQUFXO0FBQ3JCLFdBQUssWUFBWSxPQUFPLEdBQUc7QUFBQSxJQUM3QjtBQUNBLFNBQUssWUFBWSxPQUFPLEtBQUs7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQStEO0FBQ3BFLFdBQU8sS0FBSyxZQUFZLFFBQVE7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sT0FBTyxPQUErQjtBQUMzQyxXQUFPLEtBQUssWUFBWSxJQUFJLEtBQUs7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxLQUE2QjtBQUMzQyxXQUFPLEtBQUssWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sT0FBTyxLQUFtQjtBQUMvQixXQUFPLEtBQUssWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxPQUF1QjtBQUNyQyxXQUFPLEtBQUssWUFBWSxJQUFJLEtBQUs7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLE9BQThCO0FBQ25DLFdBQU8sS0FBSyxZQUFZLEtBQUs7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sSUFBSSxLQUFVLE9BQW9CO0FBQ3ZDLFNBQUssVUFBVSxHQUFHO0FBQ2xCLFNBQUssWUFBWSxLQUFLO0FBRXRCLFNBQUssWUFBWSxJQUFJLEtBQUssS0FBSztBQUMvQixTQUFLLFlBQVksSUFBSSxPQUFPLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFNBQWtDO0FBQ3ZDLFdBQU8sS0FBSyxZQUFZLEtBQUs7QUFBQSxFQUMvQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * Contains utility functions for type guards.
5
5
  */
@@ -50,4 +50,4 @@ export {
50
50
  ensureGenericObject,
51
51
  ensureNonNullable
52
52
  };
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUtZ3VhcmRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB0eXBlIGd1YXJkcy5cbiAqL1xuXG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi9mdW5jdGlvbi50cyc7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyBhIGdlbmVyaWMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljT2JqZWN0ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbnR5cGUgTnVsbGFibGVDb25zdHJhaW50PFQ+ID0gbnVsbCBleHRlbmRzIFQgPyB1bmtub3duIDogdW5kZWZpbmVkIGV4dGVuZHMgVCA/IHVua25vd24gOiBuZXZlcjtcblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgYSBjb25kaXRpb24gaXMgYHRydWVgLiBUaHJvd3MgaWYgaXQgaXMgbm90LlxuICpcbiAqIFVzZSBpbiBwbGFjZSBvZiBgLyogdjggaWdub3JlICpcXC9gIGZvciBkZWZlbnNpdmUgZ3VhcmRzIHRoYXQgc2hvdWxkXG4gKiBuZXZlciB0cmlnZ2VyIGF0IHJ1bnRpbWUgYnV0IHdvdWxkIG90aGVyd2lzZSBjcmVhdGUgdW5jb3ZlcmVkIGJyYW5jaGVzLlxuICpcbiAqIEBwYXJhbSBjb25kaXRpb24gLSBUaGUgY29uZGl0aW9uIHRvIGFzc2VydC5cbiAqIEBwYXJhbSBlcnJvck9yTWVzc2FnZSAtIFRoZSBlcnJvciBvciBtZXNzYWdlIHRvIHRocm93IGlmIHRoZSBjb25kaXRpb24gaXMgYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydChjb25kaXRpb246IGJvb2xlYW4sIGVycm9yT3JNZXNzYWdlOiBFcnJvciB8IHN0cmluZyk6IGFzc2VydHMgY29uZGl0aW9uIHtcbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB0aHJvdyB0eXBlb2YgZXJyb3JPck1lc3NhZ2UgPT09ICdzdHJpbmcnID8gbmV3IEVycm9yKGVycm9yT3JNZXNzYWdlKSA6IGVycm9yT3JNZXNzYWdlO1xuICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgdmFsdWUgaXMgYSBnZW5lcmljIG9iamVjdCwgbmFycm93aW5nIGl0cyB0eXBlIGluIHBsYWNlLlxuICpcbiAqIEBwYXJhbSBfb2JqIC0gVGhlIHZhbHVlIHRvIGFzc2VydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEdlbmVyaWNPYmplY3QoX29iajogb2JqZWN0KTogYXNzZXJ0cyBfb2JqIGlzIEdlbmVyaWNPYmplY3Qge1xuICBub29wKCk7XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgdmFsdWUgaXMgbm90IGBudWxsYCBvciBgdW5kZWZpbmVkYCwgbmFycm93aW5nIGl0cyB0eXBlIGluIHBsYWNlLlxuICpcbiAqIE9ubHkgY2FsbGFibGUgd2hlbiBgVGAgaW5jbHVkZXMgYG51bGxgIG9yIGB1bmRlZmluZWRgLiBQYXNzaW5nIGFuIGFscmVhZHkgbm9uLW51bGxhYmxlIHR5cGUgaXMgYSBjb21waWxlIGVycm9yLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZS5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSBlcnJvck9yTWVzc2FnZSAtIE9wdGlvbmFsIHtAbGluayBFcnJvcn0gb3IgZXJyb3IgbWVzc2FnZSBzdHJpbmcuXG4gKiBAdGhyb3dzIElmIHRoZSB2YWx1ZSBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb25OdWxsYWJsZTxUIGV4dGVuZHMgTnVsbGFibGVDb25zdHJhaW50PFQ+Pih2YWx1ZTogVCwgZXJyb3JPck1lc3NhZ2U/OiBFcnJvciB8IHN0cmluZyk6IGFzc2VydHMgdmFsdWUgaXMgTm9uTnVsbGFibGU8VD4ge1xuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVycm9yT3JNZXNzYWdlID8/PSB2YWx1ZSA9PT0gbnVsbCA/ICdWYWx1ZSBpcyBudWxsJyA6ICdWYWx1ZSBpcyB1bmRlZmluZWQnO1xuICBjb25zdCBlcnJvciA9IHR5cGVvZiBlcnJvck9yTWVzc2FnZSA9PT0gJ3N0cmluZycgPyBuZXcgRXJyb3IoZXJyb3JPck1lc3NhZ2UpIDogZXJyb3JPck1lc3NhZ2U7XG4gIHRocm93IGVycm9yO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIHZhbHVlIGlzIGEgZ2VuZXJpYyBvYmplY3QsIHJldHVybmluZyBpdCB3aXRoIG5hcnJvd2VkIHR5cGUuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSB2YWx1ZSB0byBlbnN1cmUuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgYXMgYSBnZW5lcmljIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUdlbmVyaWNPYmplY3Q8VD4ob2JqOiBUKTogR2VuZXJpY09iamVjdCAmIFQge1xuICByZXR1cm4gb2JqIGFzIEdlbmVyaWNPYmplY3QgJiBUO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIHZhbHVlIGlzIG5vdCBgbnVsbGAgb3IgYHVuZGVmaW5lZGAgYW5kIHJldHVybnMgaXQgd2l0aCBuYXJyb3dlZCB0eXBlLlxuICpcbiAqIE9ubHkgY2FsbGFibGUgd2hlbiBgVGAgaW5jbHVkZXMgYG51bGxgIG9yIGB1bmRlZmluZWRgLiBQYXNzaW5nIGFuIGFscmVhZHkgbm9uLW51bGxhYmxlIHR5cGUgaXMgYSBjb21waWxlIGVycm9yLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZS5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSBlcnJvck9yTWVzc2FnZSAtIE9wdGlvbmFsIHtAbGluayBFcnJvcn0gb3IgZXJyb3IgbWVzc2FnZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgd2l0aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgIGV4Y2x1ZGVkIGZyb20gaXRzIHR5cGUuXG4gKiBAdGhyb3dzIElmIHRoZSB2YWx1ZSBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVOb25OdWxsYWJsZTxUIGV4dGVuZHMgTnVsbGFibGVDb25zdHJhaW50PFQ+Pih2YWx1ZTogVCwgZXJyb3JPck1lc3NhZ2U/OiBFcnJvciB8IHN0cmluZyk6IE5vbk51bGxhYmxlPFQ+IHtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUodmFsdWUsIGVycm9yT3JNZXNzYWdlKTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxZQUFZO0FBa0JkLFNBQVMsT0FBTyxXQUFvQixnQkFBbUQ7QUFDNUYsTUFBSSxDQUFDLFdBQVc7QUFDZCxVQUFNLE9BQU8sbUJBQW1CLFdBQVcsSUFBSSxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQ3pFO0FBQ0Y7QUFPTyxTQUFTLG9CQUFvQixNQUE2QztBQUMvRSxPQUFLO0FBQ1A7QUFZTyxTQUFTLGtCQUFtRCxPQUFVLGdCQUFrRTtBQUM3SSxNQUFJLFVBQVUsUUFBUSxVQUFVLFFBQVc7QUFDekM7QUFBQSxFQUNGO0FBRUEscUJBQW1CLFVBQVUsT0FBTyxrQkFBa0I7QUFDdEQsUUFBTSxRQUFRLE9BQU8sbUJBQW1CLFdBQVcsSUFBSSxNQUFNLGNBQWMsSUFBSTtBQUMvRSxRQUFNO0FBQ1I7QUFRTyxTQUFTLG9CQUF1QixLQUEyQjtBQUNoRSxTQUFPO0FBQ1Q7QUFhTyxTQUFTLGtCQUFtRCxPQUFVLGdCQUFpRDtBQUM1SCxvQkFBa0IsT0FBTyxjQUFjO0FBQ3ZDLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUtZ3VhcmRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHR5cGUgZ3VhcmRzLlxuICovXG5cbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBBIHR5cGUgdGhhdCByZXByZXNlbnRzIGEgZ2VuZXJpYyBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxudHlwZSBOdWxsYWJsZUNvbnN0cmFpbnQ8VD4gPSBudWxsIGV4dGVuZHMgVCA/IHVua25vd24gOiB1bmRlZmluZWQgZXh0ZW5kcyBUID8gdW5rbm93biA6IG5ldmVyO1xuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIGNvbmRpdGlvbiBpcyBgdHJ1ZWAuIFRocm93cyBpZiBpdCBpcyBub3QuXG4gKlxuICogVXNlIGluIHBsYWNlIG9mIGAvKiB2OCBpZ25vcmUgKlxcL2AgZm9yIGRlZmVuc2l2ZSBndWFyZHMgdGhhdCBzaG91bGRcbiAqIG5ldmVyIHRyaWdnZXIgYXQgcnVudGltZSBidXQgd291bGQgb3RoZXJ3aXNlIGNyZWF0ZSB1bmNvdmVyZWQgYnJhbmNoZXMuXG4gKlxuICogQHBhcmFtIGNvbmRpdGlvbiAtIFRoZSBjb25kaXRpb24gdG8gYXNzZXJ0LlxuICogQHBhcmFtIGVycm9yT3JNZXNzYWdlIC0gVGhlIGVycm9yIG9yIG1lc3NhZ2UgdG8gdGhyb3cgaWYgdGhlIGNvbmRpdGlvbiBpcyBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbjogYm9vbGVhbiwgZXJyb3JPck1lc3NhZ2U6IEVycm9yIHwgc3RyaW5nKTogYXNzZXJ0cyBjb25kaXRpb24ge1xuICBpZiAoIWNvbmRpdGlvbikge1xuICAgIHRocm93IHR5cGVvZiBlcnJvck9yTWVzc2FnZSA9PT0gJ3N0cmluZycgPyBuZXcgRXJyb3IoZXJyb3JPck1lc3NhZ2UpIDogZXJyb3JPck1lc3NhZ2U7XG4gIH1cbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgYSB2YWx1ZSBpcyBhIGdlbmVyaWMgb2JqZWN0LCBuYXJyb3dpbmcgaXRzIHR5cGUgaW4gcGxhY2UuXG4gKlxuICogQHBhcmFtIF9vYmogLSBUaGUgdmFsdWUgdG8gYXNzZXJ0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0R2VuZXJpY09iamVjdChfb2JqOiBvYmplY3QpOiBhc3NlcnRzIF9vYmogaXMgR2VuZXJpY09iamVjdCB7XG4gIG5vb3AoKTtcbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgYSB2YWx1ZSBpcyBub3QgYG51bGxgIG9yIGB1bmRlZmluZWRgLCBuYXJyb3dpbmcgaXRzIHR5cGUgaW4gcGxhY2UuXG4gKlxuICogT25seSBjYWxsYWJsZSB3aGVuIGBUYCBpbmNsdWRlcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuIFBhc3NpbmcgYW4gYWxyZWFkeSBub24tbnVsbGFibGUgdHlwZSBpcyBhIGNvbXBpbGUgZXJyb3IuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIGVycm9yT3JNZXNzYWdlIC0gT3B0aW9uYWwge0BsaW5rIEVycm9yfSBvciBlcnJvciBtZXNzYWdlIHN0cmluZy5cbiAqIEB0aHJvd3MgSWYgdGhlIHZhbHVlIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vbk51bGxhYmxlPFQgZXh0ZW5kcyBOdWxsYWJsZUNvbnN0cmFpbnQ8VD4+KHZhbHVlOiBULCBlcnJvck9yTWVzc2FnZT86IEVycm9yIHwgc3RyaW5nKTogYXNzZXJ0cyB2YWx1ZSBpcyBOb25OdWxsYWJsZTxUPiB7XG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXJyb3JPck1lc3NhZ2UgPz89IHZhbHVlID09PSBudWxsID8gJ1ZhbHVlIGlzIG51bGwnIDogJ1ZhbHVlIGlzIHVuZGVmaW5lZCc7XG4gIGNvbnN0IGVycm9yID0gdHlwZW9mIGVycm9yT3JNZXNzYWdlID09PSAnc3RyaW5nJyA/IG5ldyBFcnJvcihlcnJvck9yTWVzc2FnZSkgOiBlcnJvck9yTWVzc2FnZTtcbiAgdGhyb3cgZXJyb3I7XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IGEgdmFsdWUgaXMgYSBnZW5lcmljIG9iamVjdCwgcmV0dXJuaW5nIGl0IHdpdGggbmFycm93ZWQgdHlwZS5cbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIHZhbHVlIHRvIGVuc3VyZS5cbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBhcyBhIGdlbmVyaWMgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlR2VuZXJpY09iamVjdDxUPihvYmo6IFQpOiBHZW5lcmljT2JqZWN0ICYgVCB7XG4gIHJldHVybiBvYmogYXMgR2VuZXJpY09iamVjdCAmIFQ7XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IGEgdmFsdWUgaXMgbm90IGBudWxsYCBvciBgdW5kZWZpbmVkYCBhbmQgcmV0dXJucyBpdCB3aXRoIG5hcnJvd2VkIHR5cGUuXG4gKlxuICogT25seSBjYWxsYWJsZSB3aGVuIGBUYCBpbmNsdWRlcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuIFBhc3NpbmcgYW4gYWxyZWFkeSBub24tbnVsbGFibGUgdHlwZSBpcyBhIGNvbXBpbGUgZXJyb3IuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIGVycm9yT3JNZXNzYWdlIC0gT3B0aW9uYWwge0BsaW5rIEVycm9yfSBvciBlcnJvciBtZXNzYWdlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSB3aXRoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGAgZXhjbHVkZWQgZnJvbSBpdHMgdHlwZS5cbiAqIEB0aHJvd3MgSWYgdGhlIHZhbHVlIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZU5vbk51bGxhYmxlPFQgZXh0ZW5kcyBOdWxsYWJsZUNvbnN0cmFpbnQ8VD4+KHZhbHVlOiBULCBlcnJvck9yTWVzc2FnZT86IEVycm9yIHwgc3RyaW5nKTogTm9uTnVsbGFibGU8VD4ge1xuICBhc3NlcnROb25OdWxsYWJsZSh2YWx1ZSwgZXJyb3JPck1lc3NhZ2UpO1xuICByZXR1cm4gdmFsdWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLFlBQVk7QUFrQmQsU0FBUyxPQUFPLFdBQW9CLGdCQUFtRDtBQUM1RixNQUFJLENBQUMsV0FBVztBQUNkLFVBQU0sT0FBTyxtQkFBbUIsV0FBVyxJQUFJLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFDekU7QUFDRjtBQU9PLFNBQVMsb0JBQW9CLE1BQTZDO0FBQy9FLE9BQUs7QUFDUDtBQVlPLFNBQVMsa0JBQW1ELE9BQVUsZ0JBQWtFO0FBQzdJLE1BQUksVUFBVSxRQUFRLFVBQVUsUUFBVztBQUN6QztBQUFBLEVBQ0Y7QUFFQSxxQkFBbUIsVUFBVSxPQUFPLGtCQUFrQjtBQUN0RCxRQUFNLFFBQVEsT0FBTyxtQkFBbUIsV0FBVyxJQUFJLE1BQU0sY0FBYyxJQUFJO0FBQy9FLFFBQU07QUFDUjtBQVFPLFNBQVMsb0JBQXVCLEtBQTJCO0FBQ2hFLFNBQU87QUFDVDtBQWFPLFNBQVMsa0JBQW1ELE9BQVUsZ0JBQWlEO0FBQzVILG9CQUFrQixPQUFPLGNBQWM7QUFDdkMsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * Type utilities.
5
5
  */
@@ -33,4 +33,4 @@ function typeAsserter() {
33
33
  export {
34
34
  typeAsserter
35
35
  };
36
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVHlwZSB1dGlsaXRpZXMuXG4gKi9cblxuaW1wb3J0IHsgY2FzdFRvIH0gZnJvbSAnLi9vYmplY3QtdXRpbHMudHMnO1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIGtleXMgb2YgYW4gb2JqZWN0IGFzIHN0cmluZ3MgYW5kIGFzc2VydHMgdGhhdCBhbGwga2V5cyBhcmUgcHJlc2VudCBpbiBhIGxpc3Qgb2Yga2V5cy5cbiAqXG4gKiBAdHlwZVBhcmFtIFR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0LlxuICogQHR5cGVQYXJhbSBLZXlzIC0gVGhlIGxpc3Qgb2Yga2V5cyB0byBhc3NlcnQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4YWN0S2V5czxUeXBlIGV4dGVuZHMgb2JqZWN0LCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgc3RyaW5nW10+ID0gRXhhY3RNZW1iZXJzPFN0cmluZ0tleXM8VHlwZT4sIEtleXM+O1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1lbWJlcnMgb2YgYSB0eXBlLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIHRvIGFzc2VydCB0aGUgbWVtYmVycyBvZi5cbiAqIEB0eXBlUGFyYW0gS2V5cyAtIFRoZSBsaXN0IG9mIG1lbWJlcnMgdG8gYXNzZXJ0LlxuICovXG5leHBvcnQgdHlwZSBFeGFjdE1lbWJlcnM8XG4gIFR5cGUgZXh0ZW5kcyBMaXRlcmFsS2V5LFxuICBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdXG4+ID0gRXhjbHVkZTxLZXlzW251bWJlcl0sIFR5cGU+IGV4dGVuZHMgbmV2ZXIgPyBFeGNsdWRlPFR5cGUsIEtleXNbbnVtYmVyXT4gZXh0ZW5kcyBuZXZlciA/IER1cGxpY2F0ZXM8S2V5cz4gZXh0ZW5kcyBbXSA/IEtleXNcbiAgICA6IGBFUlJPUjogRHVwbGljYXRlIG1lbWJlcnM6ICR7VHVwbGVUb0NTVjxEdXBsaWNhdGVzPEtleXM+Pn1gXG4gIDogYEVSUk9SOiBNaXNzaW5nIG1lbWJlcnM6ICR7VHVwbGVUb0NTVjxVbmlvblRvVHVwbGU8RXhjbHVkZTxUeXBlLCBLZXlzW251bWJlcl0+Pj59YFxuICA6IGBFUlJPUjogSW52YWxpZCBtZW1iZXJzOiAke1R1cGxlVG9DU1Y8VW5pb25Ub1R1cGxlPEV4Y2x1ZGU8S2V5c1tudW1iZXJdLCBUeXBlPj4+fWA7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyBhIHJldHVybiB2YWx1ZSB0aGF0IG1heSBiZSBgdm9pZGAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRoYXQgbWF5IGJlIHJldHVybmVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBgdm9pZGAgcmV0dXJuIHR5cGUuXG5leHBvcnQgdHlwZSBNYXliZVJldHVybjxUPiA9IFQgfCB2b2lkO1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIHZhbHVlcyBvZiBhbiBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgUHJvcGVydHlWYWx1ZXM8VCBleHRlbmRzIG9iamVjdD4gPSBUW1N0cmluZ0tleXM8VD5dO1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIGtleXMgb2YgYW4gb2JqZWN0IGFzIHN0cmluZ3MuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgU3RyaW5nS2V5czxUIGV4dGVuZHMgb2JqZWN0PiA9IEV4dHJhY3Q8a2V5b2YgVCwgc3RyaW5nPjtcblxuLyoqXG4gKiBBIGhlbHBlciB0aGF0IGNhcHR1cmVzIGEgdHlwZSBwYXJhbWV0ZXIgYW5kIHByb3ZpZGVzIG1ldGhvZHMgZm9yIGNvbXBpbGUtdGltZSBleGhhdXN0aXZlbmVzcyBjaGVja3MuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIGNhcHR1cmVkIHR5cGUuXG4gKlxuICogQHJlbWFya3NcbiAqIC0gYGFzc2VydEFsbEtleXNgIGlzIGF2YWlsYWJsZSB3aGVuIGBUeXBlYCBpcyBhbiBvYmplY3QgdHlwZS5cbiAqIC0gYGFzc2VydEFsbE1lbWJlcnNgIGlzIGF2YWlsYWJsZSB3aGVuIGBUeXBlYCBpcyBhIGxpdGVyYWwga2V5IHVuaW9uIChgc3RyaW5nIHwgbnVtYmVyYCkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB0eXBlIEEgPSB7IGE6IDEsIGI6IDIsIGM6IDMgfTtcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InLCAnYyddKTsgLy8gT0tcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydjJywgJ2EnLCAnYiddKTsgLy8gT0ssIG9yZGVyIGlzIGlnbm9yZWRcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InLCAnYycsICdkJ10pOyAvLyBFcnJvcjogSW52YWxpZCBtZW1iZXJzOiBkXG4gKiB0eXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYScsICdiJ10pOyAvLyBFcnJvcjogTWlzc2luZyBtZW1iZXJzOiBjXG4gKlxuICogdHlwZSBCID0gMSB8IDIgfCAzIHwgJ2EnO1xuICogdHlwZUFzc2VydGVyPEI+KCkuYXNzZXJ0QWxsTWVtYmVycyhbMSwgMiwgMywgJ2EnXSk7IC8vIE9LXG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzLCAnYScsIDRdKTsgLy8gRXJyb3I6IEludmFsaWQgbWVtYmVyczogNFxuICogdHlwZUFzc2VydGVyPEI+KCkuYXNzZXJ0QWxsTWVtYmVycyhbMSwgMiwgM10pOyAvLyBFcnJvcjogTWlzc2luZyBtZW1iZXJzOiBhXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlQXNzZXJ0ZXI8VHlwZT4ge1xuICAvKipcbiAgICogQXNzZXJ0cyB0aGF0IGFsbCBrZXlzIG9mIGFuIG9iamVjdCB0eXBlIGFyZSBwcmVzZW50IGluIGEgbGlzdCBvZiBrZXlzLlxuICAgKlxuICAgKiBAcmVtYXJrcyBPbmx5IGF2YWlsYWJsZSB3aGVuIGBbVHlwZV0gZXh0ZW5kcyBbb2JqZWN0XWAuXG4gICAqL1xuICBhc3NlcnRBbGxLZXlzOiBbVHlwZV0gZXh0ZW5kcyBbb2JqZWN0XSA/IDxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgc3RyaW5nW10+KFxuICAgICAga2V5czogRXhhY3RNZW1iZXJzPFN0cmluZ0tleXM8VHlwZT4sIEtleXM+XG4gICAgKSA9PiByZWFkb25seSAoa2V5b2YgVHlwZSlbXVxuICAgIDogbmV2ZXI7XG5cbiAgLyoqXG4gICAqIEFzc2VydHMgdGhhdCBhbGwgbWVtYmVycyBvZiBhIHVuaW9uIHR5cGUgYXJlIHByZXNlbnQgaW4gYSBsaXN0IG9mIG1lbWJlcnMuXG4gICAqXG4gICAqIEByZW1hcmtzIE9ubHkgYXZhaWxhYmxlIHdoZW4gYFtUeXBlXSBleHRlbmRzIFtMaXRlcmFsS2V5XWAuXG4gICAqL1xuICBhc3NlcnRBbGxNZW1iZXJzOiBbVHlwZV0gZXh0ZW5kcyBbTGl0ZXJhbEtleV0gPyA8Y29uc3QgS2V5cyBleHRlbmRzIHJlYWRvbmx5IExpdGVyYWxLZXlbXT4oXG4gICAgICBrZXlzOiBFeGFjdE1lbWJlcnM8VHlwZSwgS2V5cz5cbiAgICApID0+IHJlYWRvbmx5IFR5cGVbXVxuICAgIDogbmV2ZXI7XG59XG50eXBlIER1cGxpY2F0ZXM8XG4gIFQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sXG4gIFNlZW4gZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10gPSBbXSxcbiAgQWRkZWQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10gPSBbXSxcbiAgT3V0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gW11cbj4gPSBUIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIEZpcnN0LCAuLi5pbmZlciBSZXN0XVxuICA/IEluY2x1ZGVzPFNlZW4sIEZpcnN0PiBleHRlbmRzIHRydWUgPyBJbmNsdWRlczxBZGRlZCwgRmlyc3Q+IGV4dGVuZHMgdHJ1ZSA/IER1cGxpY2F0ZXM8UmVzdCwgU2VlbiwgQWRkZWQsIE91dD5cbiAgICA6IER1cGxpY2F0ZXM8UmVzdCwgU2VlbiwgWy4uLkFkZGVkLCBGaXJzdF0sIFsuLi5PdXQsIEZpcnN0XT5cbiAgOiBEdXBsaWNhdGVzPFJlc3QsIFsuLi5TZWVuLCBGaXJzdF0sIEFkZGVkLCBPdXQ+XG4gIDogT3V0O1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMsbm8tbWFnaWMtbnVtYmVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbnR5cGUgRXF1YWw8WCwgWT4gPSAoPFQ+KCkgPT4gVCBleHRlbmRzIFggPyAxIDogMikgZXh0ZW5kcyAoPFQ+KCkgPT4gVCBleHRlbmRzIFkgPyAxIDogMikgPyB0cnVlIDogZmFsc2U7XG5cbnR5cGUgSW5jbHVkZXM8VHlwZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgTWVtYmVyPiA9IFR5cGUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRmlyc3QsIC4uLmluZmVyIFJlc3RdXG4gID8gRXF1YWw8Rmlyc3QsIE1lbWJlcj4gZXh0ZW5kcyB0cnVlID8gdHJ1ZSA6IEluY2x1ZGVzPFJlc3QsIE1lbWJlcj5cbiAgOiBmYWxzZTtcblxudHlwZSBMYXN0SW5VbmlvbjxVbmlvbj4gPSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uIGV4dGVuZHMgdW5rbm93biA/ICgpID0+IFVuaW9uIDogbmV2ZXI+IGV4dGVuZHMgKCkgPT4gaW5mZXIgTGFzdCA/IExhc3QgOiBuZXZlcjtcblxudHlwZSBMaXRlcmFsS2V5ID0gbnVtYmVyIHwgc3RyaW5nO1xuXG50eXBlIFRvU3RyaW5nPFQ+ID0gVCBleHRlbmRzIG51bWJlciB8IHN0cmluZyA/IGAke1R9YCA6IG5ldmVyO1xuXG50eXBlIFR1cGxlVG9DU1Y8VHVwbGUgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+ID0gVHVwbGUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRmlyc3QsIC4uLmluZmVyIFJlc3RdXG4gID8gRmlyc3QgZXh0ZW5kcyBMaXRlcmFsS2V5ID8gUmVzdCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA/IFJlc3RbJ2xlbmd0aCddIGV4dGVuZHMgMCA/IFRvU3RyaW5nPEZpcnN0PiA6IGAke1RvU3RyaW5nPEZpcnN0Pn0sJHtUdXBsZVRvQ1NWPFJlc3Q+fWBcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXJcbiAgOiAnJztcblxudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uPiA9IChVbmlvbiBleHRlbmRzIHVua25vd24gPyAoa2V5OiBVbmlvbikgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrZXk6IGluZmVyIEludGVyc2VjdGlvbikgPT4gdm9pZCA/IEludGVyc2VjdGlvbiA6IG5ldmVyO1xuXG50eXBlIFVuaW9uVG9UdXBsZTxVbmlvbiwgTGFzdCA9IExhc3RJblVuaW9uPFVuaW9uPj4gPSBbVW5pb25dIGV4dGVuZHMgW25ldmVyXSA/IFtdIDogWy4uLlVuaW9uVG9UdXBsZTxFeGNsdWRlPFVuaW9uLCBMYXN0Pj4sIExhc3RdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB0eXBlIGhlbHBlciB0aGF0IGNhcHR1cmVzIGEgdHlwZSBwYXJhbWV0ZXIgZm9yIGNvbXBpbGUtdGltZSBleGhhdXN0aXZlbmVzcyBjaGVja3MuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIHR5cGUgdG8gY2FwdHVyZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFR5cGVBc3NlcnRlcn0gd2l0aCBgYXNzZXJ0QWxsS2V5c2AgYW5kIGBhc3NlcnRBbGxNZW1iZXJzYCBtZXRob2RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdHlwZSBBID0geyBhOiAxLCBiOiAyLCBjOiAzIH07XG4gKiB0eXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYScsICdiJywgJ2MnXSk7IC8vIE9LXG4gKiB0eXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYycsICdhJywgJ2InXSk7IC8vIE9LLCBvcmRlciBpcyBpZ25vcmVkXG4gKlxuICogdHlwZSBCID0gMSB8IDIgfCAzIHwgJ2EnO1xuICogdHlwZUFzc2VydGVyPEI+KCkuYXNzZXJ0QWxsTWVtYmVycyhbMSwgMiwgMywgJ2EnXSk7IC8vIE9LXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVBc3NlcnRlcjxUeXBlPigpOiBUeXBlQXNzZXJ0ZXI8VHlwZT4ge1xuICByZXR1cm4gY2FzdFRvPFR5cGVBc3NlcnRlcjxUeXBlPj4oe1xuICAgIGFzc2VydEFsbEtleXM8Y29uc3QgS2V5cyBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxTdHJpbmdLZXlzPG9iamVjdCAmIFR5cGU+LCBLZXlzPlxuICAgICk6IHJlYWRvbmx5IChrZXlvZiAob2JqZWN0ICYgVHlwZSkpW10ge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoa2V5cy5zbGljZSgpIGFzIChrZXlvZiAob2JqZWN0ICYgVHlwZSkpW10pO1xuICAgIH0sXG4gICAgYXNzZXJ0QWxsTWVtYmVyczxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxMaXRlcmFsS2V5ICYgVHlwZSwgS2V5cz5cbiAgICApOiByZWFkb25seSAoTGl0ZXJhbEtleSAmIFR5cGUpW10ge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoa2V5cy5zbGljZSgpIGFzIChMaXRlcmFsS2V5ICYgVHlwZSlbXSk7XG4gICAgfVxuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsY0FBYztBQTJJaEIsU0FBUyxlQUF5QztBQUN2RCxTQUFPLE9BQTJCO0FBQUEsSUFDaEMsY0FDRSxNQUNvQztBQUNwQyxhQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBOEI7QUFBQSxJQUNoRTtBQUFBLElBQ0EsaUJBQ0UsTUFDZ0M7QUFDaEMsYUFBTyxPQUFPLE9BQU8sS0FBSyxNQUFNLENBQTBCO0FBQUEsSUFDNUQ7QUFBQSxFQUNGLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
36
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUeXBlIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICcuL29iamVjdC11dGlscy50cyc7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUga2V5cyBvZiBhbiBvYmplY3QgYXMgc3RyaW5ncyBhbmQgYXNzZXJ0cyB0aGF0IGFsbCBrZXlzIGFyZSBwcmVzZW50IGluIGEgbGlzdCBvZiBrZXlzLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBvYmplY3QuXG4gKiBAdHlwZVBhcmFtIEtleXMgLSBUaGUgbGlzdCBvZiBrZXlzIHRvIGFzc2VydC5cbiAqL1xuZXhwb3J0IHR5cGUgRXhhY3RLZXlzPFR5cGUgZXh0ZW5kcyBvYmplY3QsIEtleXMgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXT4gPSBFeGFjdE1lbWJlcnM8U3RyaW5nS2V5czxUeXBlPiwgS2V5cz47XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgbWVtYmVycyBvZiBhIHR5cGUuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIHR5cGUgdG8gYXNzZXJ0IHRoZSBtZW1iZXJzIG9mLlxuICogQHR5cGVQYXJhbSBLZXlzIC0gVGhlIGxpc3Qgb2YgbWVtYmVycyB0byBhc3NlcnQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4YWN0TWVtYmVyczxcbiAgVHlwZSBleHRlbmRzIExpdGVyYWxLZXksXG4gIEtleXMgZXh0ZW5kcyByZWFkb25seSBMaXRlcmFsS2V5W11cbj4gPSBFeGNsdWRlPEtleXNbbnVtYmVyXSwgVHlwZT4gZXh0ZW5kcyBuZXZlciA/IEV4Y2x1ZGU8VHlwZSwgS2V5c1tudW1iZXJdPiBleHRlbmRzIG5ldmVyID8gRHVwbGljYXRlczxLZXlzPiBleHRlbmRzIFtdID8gS2V5c1xuICAgIDogYEVSUk9SOiBEdXBsaWNhdGUgbWVtYmVyczogJHtUdXBsZVRvQ1NWPER1cGxpY2F0ZXM8S2V5cz4+fWBcbiAgOiBgRVJST1I6IE1pc3NpbmcgbWVtYmVyczogJHtUdXBsZVRvQ1NWPFVuaW9uVG9UdXBsZTxFeGNsdWRlPFR5cGUsIEtleXNbbnVtYmVyXT4+Pn1gXG4gIDogYEVSUk9SOiBJbnZhbGlkIG1lbWJlcnM6ICR7VHVwbGVUb0NTVjxVbmlvblRvVHVwbGU8RXhjbHVkZTxLZXlzW251bWJlcl0sIFR5cGU+Pj59YDtcblxuLyoqXG4gKiBBIHR5cGUgdGhhdCByZXByZXNlbnRzIGEgcmV0dXJuIHZhbHVlIHRoYXQgbWF5IGJlIGB2b2lkYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdGhhdCBtYXkgYmUgcmV0dXJuZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGB2b2lkYCByZXR1cm4gdHlwZS5cbmV4cG9ydCB0eXBlIE1heWJlUmV0dXJuPFQ+ID0gVCB8IHZvaWQ7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgdmFsdWVzIG9mIGFuIG9iamVjdC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBQcm9wZXJ0eVZhbHVlczxUIGV4dGVuZHMgb2JqZWN0PiA9IFRbU3RyaW5nS2V5czxUPl07XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUga2V5cyBvZiBhbiBvYmplY3QgYXMgc3RyaW5ncy5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBTdHJpbmdLZXlzPFQgZXh0ZW5kcyBvYmplY3Q+ID0gRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+O1xuXG4vKipcbiAqIEEgaGVscGVyIHRoYXQgY2FwdHVyZXMgYSB0eXBlIHBhcmFtZXRlciBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgY29tcGlsZS10aW1lIGV4aGF1c3RpdmVuZXNzIGNoZWNrcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFR5cGUgLSBUaGUgY2FwdHVyZWQgdHlwZS5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBgYXNzZXJ0QWxsS2V5c2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGFuIG9iamVjdCB0eXBlLlxuICogLSBgYXNzZXJ0QWxsTWVtYmVyc2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGEgbGl0ZXJhbCBrZXkgdW5pb24gKGBzdHJpbmcgfCBudW1iZXJgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHR5cGUgQSA9IHsgYTogMSwgYjogMiwgYzogMyB9O1xuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2EnLCAnYicsICdjJ10pOyAvLyBPS1xuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2MnLCAnYScsICdiJ10pOyAvLyBPSywgb3JkZXIgaXMgaWdub3JlZFxuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2EnLCAnYicsICdjJywgJ2QnXSk7IC8vIEVycm9yOiBJbnZhbGlkIG1lbWJlcnM6IGRcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InXSk7IC8vIEVycm9yOiBNaXNzaW5nIG1lbWJlcnM6IGNcbiAqXG4gKiB0eXBlIEIgPSAxIHwgMiB8IDMgfCAnYSc7XG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzLCAnYSddKTsgLy8gT0tcbiAqIHR5cGVBc3NlcnRlcjxCPigpLmFzc2VydEFsbE1lbWJlcnMoWzEsIDIsIDMsICdhJywgNF0pOyAvLyBFcnJvcjogSW52YWxpZCBtZW1iZXJzOiA0XG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzXSk7IC8vIEVycm9yOiBNaXNzaW5nIG1lbWJlcnM6IGFcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVBc3NlcnRlcjxUeXBlPiB7XG4gIC8qKlxuICAgKiBBc3NlcnRzIHRoYXQgYWxsIGtleXMgb2YgYW4gb2JqZWN0IHR5cGUgYXJlIHByZXNlbnQgaW4gYSBsaXN0IG9mIGtleXMuXG4gICAqXG4gICAqIEByZW1hcmtzIE9ubHkgYXZhaWxhYmxlIHdoZW4gYFtUeXBlXSBleHRlbmRzIFtvYmplY3RdYC5cbiAgICovXG4gIGFzc2VydEFsbEtleXM6IFtUeXBlXSBleHRlbmRzIFtvYmplY3RdID8gPGNvbnN0IEtleXMgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXT4oXG4gICAgICBrZXlzOiBFeGFjdE1lbWJlcnM8U3RyaW5nS2V5czxUeXBlPiwgS2V5cz5cbiAgICApID0+IHJlYWRvbmx5IChrZXlvZiBUeXBlKVtdXG4gICAgOiBuZXZlcjtcblxuICAvKipcbiAgICogQXNzZXJ0cyB0aGF0IGFsbCBtZW1iZXJzIG9mIGEgdW5pb24gdHlwZSBhcmUgcHJlc2VudCBpbiBhIGxpc3Qgb2YgbWVtYmVycy5cbiAgICpcbiAgICogQHJlbWFya3MgT25seSBhdmFpbGFibGUgd2hlbiBgW1R5cGVdIGV4dGVuZHMgW0xpdGVyYWxLZXldYC5cbiAgICovXG4gIGFzc2VydEFsbE1lbWJlcnM6IFtUeXBlXSBleHRlbmRzIFtMaXRlcmFsS2V5XSA/IDxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxUeXBlLCBLZXlzPlxuICAgICkgPT4gcmVhZG9ubHkgVHlwZVtdXG4gICAgOiBuZXZlcjtcbn1cbnR5cGUgRHVwbGljYXRlczxcbiAgVCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSxcbiAgU2VlbiBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA9IFtdLFxuICBBZGRlZCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA9IFtdLFxuICBPdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10gPSBbXVxuPiA9IFQgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRmlyc3QsIC4uLmluZmVyIFJlc3RdXG4gID8gSW5jbHVkZXM8U2VlbiwgRmlyc3Q+IGV4dGVuZHMgdHJ1ZSA/IEluY2x1ZGVzPEFkZGVkLCBGaXJzdD4gZXh0ZW5kcyB0cnVlID8gRHVwbGljYXRlczxSZXN0LCBTZWVuLCBBZGRlZCwgT3V0PlxuICAgIDogRHVwbGljYXRlczxSZXN0LCBTZWVuLCBbLi4uQWRkZWQsIEZpcnN0XSwgWy4uLk91dCwgRmlyc3RdPlxuICA6IER1cGxpY2F0ZXM8UmVzdCwgWy4uLlNlZW4sIEZpcnN0XSwgQWRkZWQsIE91dD5cbiAgOiBPdXQ7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyxuby1tYWdpYy1udW1iZXJzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBkdW1teSBwYXJhbWV0ZXIgdG8gZ2V0IHR5cGUgaW5mZXJlbmNlLlxudHlwZSBFcXVhbDxYLCBZPiA9ICg8VD4oKSA9PiBUIGV4dGVuZHMgWCA/IDEgOiAyKSBleHRlbmRzICg8VD4oKSA9PiBUIGV4dGVuZHMgWSA/IDEgOiAyKSA/IHRydWUgOiBmYWxzZTtcblxudHlwZSBJbmNsdWRlczxUeXBlIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBNZW1iZXI+ID0gVHlwZSBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCwgLi4uaW5mZXIgUmVzdF1cbiAgPyBFcXVhbDxGaXJzdCwgTWVtYmVyPiBleHRlbmRzIHRydWUgPyB0cnVlIDogSW5jbHVkZXM8UmVzdCwgTWVtYmVyPlxuICA6IGZhbHNlO1xuXG50eXBlIExhc3RJblVuaW9uPFVuaW9uPiA9IFVuaW9uVG9JbnRlcnNlY3Rpb248VW5pb24gZXh0ZW5kcyB1bmtub3duID8gKCkgPT4gVW5pb24gOiBuZXZlcj4gZXh0ZW5kcyAoKSA9PiBpbmZlciBMYXN0ID8gTGFzdCA6IG5ldmVyO1xuXG50eXBlIExpdGVyYWxLZXkgPSBudW1iZXIgfCBzdHJpbmc7XG5cbnR5cGUgVG9TdHJpbmc8VD4gPSBUIGV4dGVuZHMgbnVtYmVyIHwgc3RyaW5nID8gYCR7VH1gIDogbmV2ZXI7XG5cbnR5cGUgVHVwbGVUb0NTVjxUdXBsZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPSBUdXBsZSBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCwgLi4uaW5mZXIgUmVzdF1cbiAgPyBGaXJzdCBleHRlbmRzIExpdGVyYWxLZXkgPyBSZXN0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID8gUmVzdFsnbGVuZ3RoJ10gZXh0ZW5kcyAwID8gVG9TdHJpbmc8Rmlyc3Q+IDogYCR7VG9TdHJpbmc8Rmlyc3Q+fSwke1R1cGxlVG9DU1Y8UmVzdD59YFxuICAgIDogbmV2ZXJcbiAgOiBuZXZlclxuICA6ICcnO1xuXG50eXBlIFVuaW9uVG9JbnRlcnNlY3Rpb248VW5pb24+ID0gKFVuaW9uIGV4dGVuZHMgdW5rbm93biA/IChrZXk6IFVuaW9uKSA9PiB2b2lkIDogbmV2ZXIpIGV4dGVuZHMgKGtleTogaW5mZXIgSW50ZXJzZWN0aW9uKSA9PiB2b2lkID8gSW50ZXJzZWN0aW9uIDogbmV2ZXI7XG5cbnR5cGUgVW5pb25Ub1R1cGxlPFVuaW9uLCBMYXN0ID0gTGFzdEluVW5pb248VW5pb24+PiA9IFtVbmlvbl0gZXh0ZW5kcyBbbmV2ZXJdID8gW10gOiBbLi4uVW5pb25Ub1R1cGxlPEV4Y2x1ZGU8VW5pb24sIExhc3Q+PiwgTGFzdF07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHR5cGUgaGVscGVyIHRoYXQgY2FwdHVyZXMgYSB0eXBlIHBhcmFtZXRlciBmb3IgY29tcGlsZS10aW1lIGV4aGF1c3RpdmVuZXNzIGNoZWNrcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFR5cGUgLSBUaGUgdHlwZSB0byBjYXB0dXJlLlxuICogQHJldHVybnMgQSB7QGxpbmsgVHlwZUFzc2VydGVyfSB3aXRoIGBhc3NlcnRBbGxLZXlzYCBhbmQgYGFzc2VydEFsbE1lbWJlcnNgIG1ldGhvZHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB0eXBlIEEgPSB7IGE6IDEsIGI6IDIsIGM6IDMgfTtcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InLCAnYyddKTsgLy8gT0tcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydjJywgJ2EnLCAnYiddKTsgLy8gT0ssIG9yZGVyIGlzIGlnbm9yZWRcbiAqXG4gKiB0eXBlIEIgPSAxIHwgMiB8IDMgfCAnYSc7XG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzLCAnYSddKTsgLy8gT0tcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZUFzc2VydGVyPFR5cGU+KCk6IFR5cGVBc3NlcnRlcjxUeXBlPiB7XG4gIHJldHVybiBjYXN0VG88VHlwZUFzc2VydGVyPFR5cGU+Pih7XG4gICAgYXNzZXJ0QWxsS2V5czxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgc3RyaW5nW10+KFxuICAgICAga2V5czogRXhhY3RNZW1iZXJzPFN0cmluZ0tleXM8b2JqZWN0ICYgVHlwZT4sIEtleXM+XG4gICAgKTogcmVhZG9ubHkgKGtleW9mIChvYmplY3QgJiBUeXBlKSlbXSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShrZXlzLnNsaWNlKCkgYXMgKGtleW9mIChvYmplY3QgJiBUeXBlKSlbXSk7XG4gICAgfSxcbiAgICBhc3NlcnRBbGxNZW1iZXJzPGNvbnN0IEtleXMgZXh0ZW5kcyByZWFkb25seSBMaXRlcmFsS2V5W10+KFxuICAgICAga2V5czogRXhhY3RNZW1iZXJzPExpdGVyYWxLZXkgJiBUeXBlLCBLZXlzPlxuICAgICk6IHJlYWRvbmx5IChMaXRlcmFsS2V5ICYgVHlwZSlbXSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShrZXlzLnNsaWNlKCkgYXMgKExpdGVyYWxLZXkgJiBUeXBlKVtdKTtcbiAgICB9XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxjQUFjO0FBMkloQixTQUFTLGVBQXlDO0FBQ3ZELFNBQU8sT0FBMkI7QUFBQSxJQUNoQyxjQUNFLE1BQ29DO0FBQ3BDLGFBQU8sT0FBTyxPQUFPLEtBQUssTUFBTSxDQUE4QjtBQUFBLElBQ2hFO0FBQUEsSUFDQSxpQkFDRSxNQUNnQztBQUNoQyxhQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBMEI7QUFBQSxJQUM1RDtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @packageDocumentation
2
+ * @file
3
3
  *
4
4
  * Contains a utility function for validating URLs.
5
5
  */
@@ -37,4 +37,4 @@ function isUrl(str) {
37
37
  export {
38
38
  isUrl
39
39
  };
40
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyBhIHV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgVVJMcy5cbiAqL1xuXG5jb25zdCBTQ0hFTUVfUkVHX0VYUCA9IC9eW0EtWmEtel1bQS1aYS16MC05K1xcLS5dKjpcXFMrJC87XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIGEgdmFsaWQgVVJMXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUgYXMgYSBVUkwuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFVSTCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1VybChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoL1xccy8udGVzdChzdHIpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChzdHIuaW5jbHVkZXMoJzovLycpKSB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBVUkwoc3RyKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTQ0hFTUVfUkVHX0VYUC50ZXN0KHN0cik7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxNQUFNLGlCQUFpQjtBQVFoQixTQUFTLE1BQU0sS0FBc0I7QUFDMUMsTUFBSSxLQUFLLEtBQUssR0FBRyxHQUFHO0FBQ2xCLFdBQU87QUFBQSxFQUNUO0FBQ0EsTUFBSSxJQUFJLFNBQVMsS0FBSyxHQUFHO0FBQ3ZCLFFBQUk7QUFDRixVQUFJLElBQUksR0FBRztBQUNYLGFBQU87QUFBQSxJQUNULFFBQVE7QUFDTixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPLGVBQWUsS0FBSyxHQUFHO0FBQ2hDOyIsCiAgIm5hbWVzIjogW10KfQo=
40
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgdXRpbGl0eSBmdW5jdGlvbiBmb3IgdmFsaWRhdGluZyBVUkxzLlxuICovXG5cbmNvbnN0IFNDSEVNRV9SRUdfRVhQID0gL15bQS1aYS16XVtBLVphLXowLTkrXFwtLl0qOlxcUyskLztcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCBVUkxcbiAqXG4gKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byB2YWxpZGF0ZSBhcyBhIFVSTC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVVJMLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVXJsKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICgvXFxzLy50ZXN0KHN0cikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHN0ci5pbmNsdWRlcygnOi8vJykpIHtcbiAgICB0cnkge1xuICAgICAgbmV3IFVSTChzdHIpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNDSEVNRV9SRUdfRVhQLnRlc3Qoc3RyKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLE1BQU0saUJBQWlCO0FBUWhCLFNBQVMsTUFBTSxLQUFzQjtBQUMxQyxNQUFJLEtBQUssS0FBSyxHQUFHLEdBQUc7QUFDbEIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLElBQUksU0FBUyxLQUFLLEdBQUc7QUFDdkIsUUFBSTtBQUNGLFVBQUksSUFBSSxHQUFHO0FBQ1gsYUFBTztBQUFBLElBQ1QsUUFBUTtBQUNOLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU8sZUFBZSxLQUFLLEdBQUc7QUFDaEM7IiwKICAibmFtZXMiOiBbXQp9Cg==