@jax-data-science/sci-image-visualizer 0.8.2 → 0.9.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 (525) hide show
  1. package/README.md +201 -460
  2. package/esm2022/index.mjs +28 -15
  3. package/esm2022/lib/channel-histogram/channel-histogram.component.mjs +163 -91
  4. package/esm2022/lib/contracts/capabilities.contract.mjs +4 -3
  5. package/esm2022/lib/contracts/cell-segmenter.contract.mjs +1 -1
  6. package/esm2022/lib/contracts/channel-histogram-api.contract.mjs +5 -1
  7. package/esm2022/lib/contracts/color.mjs +60 -0
  8. package/esm2022/lib/contracts/colormap-lut.mjs +213 -57
  9. package/esm2022/lib/contracts/coordinate-transform.contract.mjs +1 -1
  10. package/esm2022/lib/contracts/display-types.mjs +11 -1
  11. package/esm2022/lib/contracts/instance-segmenter.contract.mjs +1 -1
  12. package/esm2022/lib/contracts/intensity.mjs +48 -5
  13. package/esm2022/lib/contracts/plot-type-contribution.contract.mjs +1 -1
  14. package/esm2022/lib/contracts/plot-type.mjs +134 -17
  15. package/esm2022/lib/contracts/ports/image-state.port.mjs +4 -1
  16. package/esm2022/lib/contracts/ports/preferences.port.mjs +5 -1
  17. package/esm2022/lib/contracts/ports/region-io.port.mjs +2 -1
  18. package/esm2022/lib/contracts/ports/spatial-data.port.mjs +5 -1
  19. package/esm2022/lib/contracts/ports/tile-access.port.mjs +2 -1
  20. package/esm2022/lib/contracts/region-editor-api.contract.mjs +1 -1
  21. package/esm2022/lib/contracts/region-overlay.contract.mjs +1 -1
  22. package/esm2022/lib/contracts/sam.contract.mjs +1 -1
  23. package/esm2022/lib/contracts/semantic-segmenter.contract.mjs +1 -1
  24. package/esm2022/lib/contracts/spatial-dataset.contract.mjs +3 -1
  25. package/esm2022/lib/contracts/toolbar-tool.contract.mjs +6 -4
  26. package/esm2022/lib/contracts/visualizer.contract.mjs +1 -1
  27. package/esm2022/lib/contracts/viz-config.mjs +2 -1
  28. package/esm2022/lib/geometry/contour.mjs +63 -0
  29. package/esm2022/lib/geometry/raster.mjs +98 -0
  30. package/esm2022/lib/geometry/ring.mjs +201 -0
  31. package/esm2022/lib/hex-color-picker/hex-color-picker.component.mjs +202 -102
  32. package/esm2022/lib/implementations/base-store-visualizer.mjs +201 -48
  33. package/esm2022/lib/implementations/napari-js/napari-axes-gizmo.mjs +65 -0
  34. package/esm2022/lib/implementations/napari-js/napari-display-state.mjs +136 -0
  35. package/esm2022/lib/implementations/napari-js/napari-helpers.mjs +199 -0
  36. package/esm2022/lib/implementations/napari-js/napari-image-2d-scene.mjs +602 -0
  37. package/esm2022/lib/implementations/napari-js/napari-loading-badge.mjs +3 -4
  38. package/esm2022/lib/implementations/napari-js/napari-loading-state.mjs +66 -0
  39. package/esm2022/lib/implementations/napari-js/napari-region-overlay.mjs +157 -591
  40. package/esm2022/lib/implementations/napari-js/napari-scene.mjs +2 -0
  41. package/esm2022/lib/implementations/napari-js/napari-spatial-2d-scene.mjs +614 -0
  42. package/esm2022/lib/implementations/napari-js/napari-spatial-3d-scene.mjs +769 -0
  43. package/esm2022/lib/implementations/napari-js/napari-spatial-encoding.mjs +199 -0
  44. package/esm2022/lib/implementations/napari-js/napari-spatial-hover.mjs +263 -0
  45. package/esm2022/lib/implementations/napari-js/napari-spatial-scene.mjs +159 -0
  46. package/esm2022/lib/implementations/napari-js/napari-spatial-tiles.mjs +106 -1408
  47. package/esm2022/lib/implementations/napari-js/napari-spatial-tooltip.mjs +2 -2
  48. package/esm2022/lib/implementations/napari-js/napari-surface-scene.mjs +271 -0
  49. package/esm2022/lib/implementations/napari-js/napari-tile-client.mjs +562 -0
  50. package/esm2022/lib/implementations/napari-js/napari-tool-bridge.mjs +344 -0
  51. package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +361 -4184
  52. package/esm2022/lib/implementations/napari-js/napari-volume-scene.mjs +439 -0
  53. package/esm2022/lib/implementations/napari-js/napari-volume-z-handle.mjs +6 -6
  54. package/esm2022/lib/implementations/napari-js/region-overlay/overlay-projection.mjs +96 -0
  55. package/esm2022/lib/implementations/napari-js/region-overlay/region-edit.mjs +35 -0
  56. package/esm2022/lib/implementations/napari-js/region-overlay/region-svg-renderer.mjs +182 -0
  57. package/esm2022/lib/implementations/napari-js/spatial-tiles/categorical-lookup.mjs +30 -0
  58. package/esm2022/lib/implementations/napari-js/spatial-tiles/cell-layers.mjs +274 -0
  59. package/esm2022/lib/implementations/napari-js/spatial-tiles/density-layer.mjs +144 -0
  60. package/esm2022/lib/implementations/napari-js/spatial-tiles/layer-groups.mjs +165 -0
  61. package/esm2022/lib/implementations/napari-js/spatial-tiles/plan-context.mjs +78 -0
  62. package/esm2022/lib/implementations/napari-js/spatial-tiles/transcript-hover.mjs +182 -0
  63. package/esm2022/lib/implementations/napari-js/spatial-tiles/transcript-jobs.mjs +369 -0
  64. package/esm2022/lib/implementations/napari-js/spatial-tiles/transcript-layers.mjs +306 -0
  65. package/esm2022/lib/implementations/osd/display-pipeline.mjs +102 -40
  66. package/esm2022/lib/implementations/osd/histogram-sampler.mjs +56 -31
  67. package/esm2022/lib/implementations/osd/openseadragon-viewer-options.mjs +128 -0
  68. package/esm2022/lib/implementations/osd/openseadragon-visualizer.service.mjs +333 -1685
  69. package/esm2022/lib/implementations/osd/osd-coordinate-transform.mjs +1 -1
  70. package/esm2022/lib/implementations/osd/osd-coords.mjs +5 -6
  71. package/esm2022/lib/implementations/osd/osd-export.mjs +122 -0
  72. package/esm2022/lib/implementations/osd/osd-lib.mjs +15 -1
  73. package/esm2022/lib/implementations/osd/osd-navigator-chrome.mjs +205 -0
  74. package/esm2022/lib/implementations/osd/osd-pixel-readback.mjs +68 -0
  75. package/esm2022/lib/implementations/osd/osd-region-overlay-draw.mjs +153 -0
  76. package/esm2022/lib/implementations/osd/osd-region-overlay.mjs +185 -718
  77. package/esm2022/lib/implementations/osd/osd-scale-bar.mjs +52 -60
  78. package/esm2022/lib/implementations/osd/osd-tile-source.mjs +105 -0
  79. package/esm2022/lib/implementations/osd/osd-viewer-like.mjs +2 -0
  80. package/esm2022/lib/implementations/osd/osd-viewer-mount.mjs +44 -0
  81. package/esm2022/lib/implementations/osd/osd-viewport.mjs +184 -0
  82. package/esm2022/lib/implementations/osd/osd-zoom.mjs +7 -1
  83. package/esm2022/lib/implementations/osd/simple-source.mjs +395 -0
  84. package/esm2022/lib/implementations/osd/slice-cache.mjs +53 -48
  85. package/esm2022/lib/implementations/osd/tile-client.mjs +32 -11
  86. package/esm2022/lib/implementations/osd/tile-recolor.mjs +330 -0
  87. package/esm2022/lib/implementations/plotly/omics-trace-builders.mjs +161 -73
  88. package/esm2022/lib/implementations/plotly/plotly-coordinate-transform.mjs +1 -1
  89. package/esm2022/lib/implementations/plotly/plotly-image-loader.mjs +112 -0
  90. package/esm2022/lib/implementations/plotly/plotly-image-recolor.mjs +178 -0
  91. package/esm2022/lib/implementations/plotly/plotly-intensity-inset.mjs +33 -0
  92. package/esm2022/lib/implementations/plotly/plotly-isosurface-controls.mjs +83 -0
  93. package/esm2022/lib/implementations/plotly/plotly-layouts.mjs +121 -0
  94. package/esm2022/lib/implementations/plotly/plotly-readback.mjs +117 -0
  95. package/esm2022/lib/implementations/plotly/plotly-region-overlay.mjs +19 -10
  96. package/esm2022/lib/implementations/plotly/plotly-shape-projection.mjs +223 -0
  97. package/esm2022/lib/implementations/plotly/plotly-trace-builders.mjs +79 -19
  98. package/esm2022/lib/implementations/plotly/plotly-zoom-controller.mjs +223 -0
  99. package/esm2022/lib/implementations/plotly/plotly.service.mjs +439 -1655
  100. package/esm2022/lib/implementations/region-centroids.mjs +47 -0
  101. package/esm2022/lib/implementations/simple-slice-access.service.mjs +22 -12
  102. package/esm2022/lib/implementations/spatial-data-http/spatial-data-http.service.mjs +172 -92
  103. package/esm2022/lib/implementations/spatial-data-http/spatial-wire.mjs +103 -22
  104. package/esm2022/lib/implementations/tile-server/index.mjs +6 -0
  105. package/esm2022/lib/implementations/tile-server/native-histogram.mjs +30 -0
  106. package/esm2022/lib/implementations/tile-server/poll-descriptor.mjs +65 -0
  107. package/esm2022/lib/implementations/tile-server/tile-protocol.mjs +42 -0
  108. package/esm2022/lib/implementations/tile-server/transport.mjs +135 -0
  109. package/esm2022/lib/intensity/intensity-profile.mjs +107 -0
  110. package/esm2022/lib/intensity/intensity-profile.service.mjs +223 -0
  111. package/esm2022/lib/intensity-inset/intensity-inset.component.mjs +133 -0
  112. package/esm2022/lib/models/bezier.mjs +1 -11
  113. package/esm2022/lib/models/class-preset.mjs +41 -3
  114. package/esm2022/lib/models/geometry.mjs +27 -164
  115. package/esm2022/lib/models/polygon-edit.mjs +254 -0
  116. package/esm2022/lib/models/polygon-factory.mjs +118 -0
  117. package/esm2022/lib/models/region-clone.mjs +68 -0
  118. package/esm2022/lib/models/region-geojson.mjs +373 -0
  119. package/esm2022/lib/models/region.mjs +34 -33
  120. package/esm2022/lib/models/shape.mjs +18 -16
  121. package/esm2022/lib/plot-mode/contribution-host.mjs +297 -0
  122. package/esm2022/lib/plot-mode/plot-mode-controller.mjs +9 -6
  123. package/esm2022/lib/plot-mode/plot-type-menu.mjs +85 -0
  124. package/esm2022/lib/plot-mode/tool-params-model.mjs +87 -0
  125. package/esm2022/lib/plot.utilities.mjs +296 -473
  126. package/esm2022/lib/processing/image-crop.mjs +1 -1
  127. package/esm2022/lib/processing/processing-image.mjs +28 -15
  128. package/esm2022/lib/provide-visualization.mjs +40 -14
  129. package/esm2022/lib/region-editor/classes-panel/classes-panel.component.mjs +99 -0
  130. package/esm2022/lib/region-editor/file-stem.mjs +13 -0
  131. package/esm2022/lib/region-editor/manage-classes-dialog/manage-classes-dialog.component.mjs +118 -0
  132. package/esm2022/lib/region-editor/mask-export.service.mjs +98 -0
  133. package/esm2022/lib/region-editor/mask-raster.mjs +11 -5
  134. package/esm2022/lib/region-editor/region-color-dialog/region-color-dialog.component.mjs +56 -0
  135. package/esm2022/lib/region-editor/region-editor-help/region-editor-help.component.mjs +28 -0
  136. package/esm2022/lib/region-editor/region-editor.component.mjs +402 -651
  137. package/esm2022/lib/region-editor/region-metrics.mjs +68 -0
  138. package/esm2022/lib/region-editor/region-persistence.service.mjs +134 -0
  139. package/esm2022/lib/region-editor/region-table/region-table.component.mjs +153 -0
  140. package/esm2022/lib/region-editor/save-mask-dialog/save-mask-dialog.component.mjs +91 -0
  141. package/esm2022/lib/region-editor/save-regions-dialog/save-regions-dialog.component.mjs +92 -0
  142. package/esm2022/lib/region-ops.service.mjs +28 -70
  143. package/esm2022/lib/region-overlay/region-geometry.mjs +360 -0
  144. package/esm2022/lib/region-overlay/region-hit-test.mjs +103 -0
  145. package/esm2022/lib/region-overlay/svg-region-renderer.mjs +228 -0
  146. package/esm2022/lib/render-orchestrator.mjs +14 -11
  147. package/esm2022/lib/render-session.mjs +207 -0
  148. package/esm2022/lib/routing-visualizer.service.mjs +459 -411
  149. package/esm2022/lib/spatial/density-raster.mjs +14 -0
  150. package/esm2022/lib/spatial/embedding-compute-coordinator.mjs +239 -0
  151. package/esm2022/lib/spatial/embedding-compute.mjs +43 -10
  152. package/esm2022/lib/spatial/gene-search.mjs +1 -1
  153. package/esm2022/lib/spatial/glyphs.mjs +97 -0
  154. package/esm2022/lib/spatial/lod.mjs +187 -0
  155. package/esm2022/lib/spatial/spatial-controls.facade.mjs +200 -0
  156. package/esm2022/lib/spatial/spatial-density.mjs +25 -16
  157. package/esm2022/lib/spatial/spatial-encoding.mjs +26 -82
  158. package/esm2022/lib/spatial/spatial-expression.mjs +43 -42
  159. package/esm2022/lib/spatial/spatial-framing.mjs +1 -1
  160. package/esm2022/lib/spatial/spatial-heatmap.mjs +6 -3
  161. package/esm2022/lib/spatial/spatial-hover.mjs +5 -33
  162. package/esm2022/lib/spatial/spatial-panel-model.mjs +282 -0
  163. package/esm2022/lib/spatial/spatial-sections.mjs +1 -1
  164. package/esm2022/lib/spatial/spatial-selection.mjs +33 -46
  165. package/esm2022/lib/spatial/spatial-tile-merge.mjs +219 -0
  166. package/esm2022/lib/spatial/spatial-tiles.mjs +12 -648
  167. package/esm2022/lib/spatial/spatial-volume-image.mjs +2 -4
  168. package/esm2022/lib/spatial/stats.mjs +71 -0
  169. package/esm2022/lib/spatial/transcript-grouping.mjs +307 -0
  170. package/esm2022/lib/spatial-controls/spatial-cells-panel/spatial-cells-panel.component.mjs +150 -0
  171. package/esm2022/lib/spatial-controls/spatial-charts/chart-data-model.mjs +309 -0
  172. package/esm2022/lib/spatial-controls/spatial-charts/chart-help.mjs +145 -0
  173. package/esm2022/lib/spatial-controls/spatial-charts/plotly-chart-host.mjs +158 -0
  174. package/esm2022/lib/spatial-controls/spatial-charts/spatial-chart-window/spatial-chart-window.component.mjs +47 -0
  175. package/esm2022/lib/spatial-controls/spatial-charts/spatial-charts.component.mjs +297 -802
  176. package/esm2022/lib/spatial-controls/spatial-charts/spatial-embedding-controls/spatial-embedding-controls.component.mjs +89 -0
  177. package/esm2022/lib/spatial-controls/spatial-charts/spatial-heatmap-controls/spatial-heatmap-controls.component.mjs +52 -0
  178. package/esm2022/lib/spatial-controls/spatial-controls.component.mjs +143 -1238
  179. package/esm2022/lib/spatial-controls/spatial-gene-picker.mjs +153 -0
  180. package/esm2022/lib/spatial-controls/spatial-gene-tree/spatial-gene-tree.component.mjs +241 -0
  181. package/esm2022/lib/spatial-controls/spatial-groups-panel/spatial-groups-panel.component.mjs +193 -0
  182. package/esm2022/lib/spatial-controls/spatial-key/spatial-key.component.mjs +132 -0
  183. package/esm2022/lib/spatial-controls/spatial-key/spatial-key.model.mjs +67 -0
  184. package/esm2022/lib/spatial-controls/spatial-marker-genes-form/spatial-marker-genes-form.component.mjs +147 -0
  185. package/esm2022/lib/spatial-controls/spatial-observations-panel/spatial-observations-panel.component.mjs +300 -0
  186. package/esm2022/lib/spatial-controls/spatial-transcripts-panel/spatial-transcripts-panel.component.mjs +370 -0
  187. package/esm2022/lib/store/class-color.util.mjs +46 -3
  188. package/esm2022/lib/store/region-history.mjs +146 -0
  189. package/esm2022/lib/store/region-scope-cache.mjs +140 -0
  190. package/esm2022/lib/store/region-selection.mjs +82 -0
  191. package/esm2022/lib/store/region-store.service.mjs +279 -675
  192. package/esm2022/lib/store/spatial-selection.service.mjs +2 -2
  193. package/esm2022/lib/store/visualizer-store.service.mjs +49 -71
  194. package/esm2022/lib/toast-outlets.mjs +5 -4
  195. package/esm2022/lib/toolbar/brush/brush-tool.service.mjs +92 -434
  196. package/esm2022/lib/toolbar/canvas-tools.mjs +20 -0
  197. package/esm2022/lib/toolbar/crop/slide-crop.mjs +26 -42
  198. package/esm2022/lib/toolbar/plot-type-selector/plot-type-selector.component.mjs +85 -0
  199. package/esm2022/lib/toolbar/region-tools/region-tool-buttons.mjs +74 -0
  200. package/esm2022/lib/toolbar/region-tools/region-tools.component.mjs +114 -0
  201. package/esm2022/lib/toolbar/segmentation/cell-segment-tool.service.mjs +74 -78
  202. package/esm2022/lib/toolbar/segmentation/cellpose-segmenter.service.mjs +50 -8
  203. package/esm2022/lib/toolbar/segmentation/onnx-sam-session.mjs +61 -42
  204. package/esm2022/lib/toolbar/segmentation/pending-calls.mjs +47 -0
  205. package/esm2022/lib/toolbar/segmentation/sam-model-registry.mjs +12 -4
  206. package/esm2022/lib/toolbar/segmentation/sam-onnx-core.mjs +70 -14
  207. package/esm2022/lib/toolbar/segmentation/sam-point-tool.service.mjs +135 -172
  208. package/esm2022/lib/toolbar/segmentation/sam-prompt.mjs +9 -90
  209. package/esm2022/lib/toolbar/segmentation/sam-session.service.mjs +183 -0
  210. package/esm2022/lib/toolbar/segmentation/sam-tool.service.mjs +95 -150
  211. package/esm2022/lib/toolbar/segmentation/segmentation-commit.mjs +12 -0
  212. package/esm2022/lib/toolbar/segmentation/segmentation-runner.mjs +108 -0
  213. package/esm2022/lib/toolbar/segmentation-tools/segmentation-tools.component.mjs +155 -0
  214. package/esm2022/lib/toolbar/stack-controls/stack-controls.component.mjs +81 -0
  215. package/esm2022/lib/toolbar/tool-kit/async-tool-status.mjs +37 -0
  216. package/esm2022/lib/toolbar/tool-kit/canvas-tool-manager.mjs +63 -0
  217. package/esm2022/lib/toolbar/tool-kit/canvas-tool.mjs +2 -0
  218. package/esm2022/lib/toolbar/tool-kit/frame-pixels.mjs +108 -0
  219. package/esm2022/lib/toolbar/tool-kit/mask-stroke-editor.mjs +306 -0
  220. package/esm2022/lib/toolbar/tool-kit/matrix-frame.mjs +61 -0
  221. package/esm2022/lib/toolbar/tool-kit/tool-overlay.mjs +140 -0
  222. package/esm2022/lib/toolbar/tool-kit/undo-gesture.mjs +24 -0
  223. package/esm2022/lib/toolbar/tool-slider/tool-slider.component.mjs +63 -0
  224. package/esm2022/lib/toolbar/toolbar-help-dialog/toolbar-help-dialog.component.mjs +50 -0
  225. package/esm2022/lib/toolbar/toolbar.component.mjs +68 -117
  226. package/esm2022/lib/toolbar/vertex-eraser/vertex-eraser-tool.service.mjs +93 -115
  227. package/esm2022/lib/toolbar/view-controls/view-controls.component.mjs +107 -0
  228. package/esm2022/lib/toolbar/wand/wand-region-grow.mjs +321 -0
  229. package/esm2022/lib/toolbar/wand/wand-tool.service.mjs +121 -416
  230. package/esm2022/lib/toolbar/wand/wand.service.mjs +30 -894
  231. package/esm2022/lib/toolbar/zoom-to-box/zoom-to-box-tool.service.mjs +48 -90
  232. package/esm2022/lib/util/mark-for-check.mjs +17 -0
  233. package/esm2022/lib/util/supersede.mjs +56 -0
  234. package/esm2022/lib/visualization.module.mjs +39 -141
  235. package/esm2022/lib/visualizer/floating-drag.directive.mjs +58 -0
  236. package/esm2022/lib/visualizer/region-actions.mjs +149 -0
  237. package/esm2022/lib/visualizer/region-load.mjs +60 -0
  238. package/esm2022/lib/visualizer/spatial-dataset-binder.mjs +163 -0
  239. package/esm2022/lib/visualizer/tool-modes.mjs +113 -0
  240. package/esm2022/lib/visualizer/viewer-shortcuts.mjs +167 -0
  241. package/esm2022/lib/visualizer/visualizer-context-menu.mjs +119 -0
  242. package/esm2022/lib/visualizer.component.mjs +480 -1902
  243. package/esm2022/lib/workers/spatial-math-ops.mjs +43 -0
  244. package/esm2022/lib/workers/spatial-math-worker.mjs +10 -0
  245. package/esm2022/lib/workers/spatial-math.mjs +190 -0
  246. package/fesm2022/jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-Csxlnq7I.mjs +41083 -0
  247. package/fesm2022/jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-Csxlnq7I.mjs.map +1 -0
  248. package/fesm2022/jax-data-science-sci-image-visualizer-onnx-sam-session-Bkujqg7m.mjs +238 -0
  249. package/fesm2022/jax-data-science-sci-image-visualizer-onnx-sam-session-Bkujqg7m.mjs.map +1 -0
  250. package/fesm2022/jax-data-science-sci-image-visualizer-spatial-math-worker-BzVFFqGS.mjs +12 -0
  251. package/fesm2022/jax-data-science-sci-image-visualizer-spatial-math-worker-BzVFFqGS.mjs.map +1 -0
  252. package/fesm2022/jax-data-science-sci-image-visualizer.mjs +41 -34430
  253. package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
  254. package/fesm2022/mask.worker.js +36 -917
  255. package/fesm2022/onnx-sam.worker.js +52 -16
  256. package/fesm2022/spatial-math.worker.js +471 -0
  257. package/fesm2022/tsne.worker.js +32 -15
  258. package/index.d.ts +13 -10
  259. package/lib/channel-histogram/channel-histogram.component.d.ts +53 -43
  260. package/lib/contracts/capabilities.contract.d.ts +4 -2
  261. package/lib/contracts/cell-segmenter.contract.d.ts +1 -0
  262. package/lib/contracts/channel-histogram-api.contract.d.ts +4 -0
  263. package/lib/contracts/color.d.ts +27 -0
  264. package/lib/contracts/colormap-lut.d.ts +19 -4
  265. package/lib/contracts/coordinate-transform.contract.d.ts +3 -3
  266. package/lib/contracts/display-types.d.ts +21 -0
  267. package/lib/contracts/instance-segmenter.contract.d.ts +5 -0
  268. package/lib/contracts/intensity.d.ts +13 -2
  269. package/lib/contracts/plot-type.d.ts +3 -1
  270. package/lib/contracts/ports/image-state.port.d.ts +6 -2
  271. package/lib/contracts/ports/preferences.port.d.ts +4 -0
  272. package/lib/contracts/ports/region-io.port.d.ts +1 -0
  273. package/lib/contracts/ports/spatial-data.port.d.ts +4 -10
  274. package/lib/contracts/ports/tile-access.port.d.ts +1 -0
  275. package/lib/contracts/region-editor-api.contract.d.ts +1 -1
  276. package/lib/contracts/region-overlay.contract.d.ts +5 -0
  277. package/lib/contracts/sam.contract.d.ts +7 -0
  278. package/lib/contracts/semantic-segmenter.contract.d.ts +6 -0
  279. package/lib/contracts/spatial-dataset.contract.d.ts +19 -6
  280. package/lib/contracts/toolbar-tool.contract.d.ts +1 -0
  281. package/lib/contracts/visualizer.contract.d.ts +221 -54
  282. package/lib/contracts/viz-config.d.ts +1 -0
  283. package/lib/geometry/contour.d.ts +24 -0
  284. package/lib/geometry/raster.d.ts +42 -0
  285. package/lib/geometry/ring.d.ts +67 -0
  286. package/lib/hex-color-picker/hex-color-picker.component.d.ts +61 -27
  287. package/lib/implementations/base-store-visualizer.d.ts +61 -15
  288. package/lib/implementations/napari-js/napari-axes-gizmo.d.ts +36 -0
  289. package/lib/implementations/napari-js/napari-display-state.d.ts +76 -0
  290. package/lib/implementations/napari-js/napari-helpers.d.ts +129 -0
  291. package/lib/implementations/napari-js/napari-image-2d-scene.d.ts +162 -0
  292. package/lib/implementations/napari-js/napari-loading-badge.d.ts +0 -1
  293. package/lib/implementations/napari-js/napari-loading-state.d.ts +30 -0
  294. package/lib/implementations/napari-js/napari-region-overlay.d.ts +62 -70
  295. package/lib/implementations/napari-js/napari-scene.d.ts +93 -0
  296. package/lib/implementations/napari-js/napari-spatial-2d-scene.d.ts +163 -0
  297. package/lib/implementations/napari-js/napari-spatial-3d-scene.d.ts +212 -0
  298. package/lib/implementations/napari-js/napari-spatial-encoding.d.ts +114 -0
  299. package/lib/implementations/napari-js/napari-spatial-hover.d.ts +89 -0
  300. package/lib/implementations/napari-js/napari-spatial-scene.d.ts +118 -0
  301. package/lib/implementations/napari-js/napari-spatial-tiles.d.ts +56 -263
  302. package/lib/implementations/napari-js/napari-spatial-tooltip.d.ts +1 -1
  303. package/lib/implementations/napari-js/napari-surface-scene.d.ts +76 -0
  304. package/lib/implementations/napari-js/napari-tile-client.d.ts +214 -0
  305. package/lib/implementations/napari-js/napari-tool-bridge.d.ts +179 -0
  306. package/lib/implementations/napari-js/napari-visualizer.service.d.ts +121 -878
  307. package/lib/implementations/napari-js/napari-volume-scene.d.ts +104 -0
  308. package/lib/implementations/napari-js/napari-volume-z-handle.d.ts +8 -12
  309. package/lib/implementations/napari-js/region-overlay/overlay-projection.d.ts +59 -0
  310. package/lib/implementations/napari-js/region-overlay/region-edit.d.ts +15 -0
  311. package/lib/implementations/napari-js/region-overlay/region-svg-renderer.d.ts +54 -0
  312. package/lib/implementations/napari-js/spatial-tiles/categorical-lookup.d.ts +26 -0
  313. package/lib/implementations/napari-js/spatial-tiles/cell-layers.d.ts +70 -0
  314. package/lib/implementations/napari-js/spatial-tiles/density-layer.d.ts +61 -0
  315. package/lib/implementations/napari-js/spatial-tiles/layer-groups.d.ts +67 -0
  316. package/lib/implementations/napari-js/spatial-tiles/plan-context.d.ts +38 -0
  317. package/lib/implementations/napari-js/spatial-tiles/transcript-hover.d.ts +71 -0
  318. package/lib/implementations/napari-js/spatial-tiles/transcript-jobs.d.ts +105 -0
  319. package/lib/implementations/napari-js/spatial-tiles/transcript-layers.d.ts +56 -0
  320. package/lib/implementations/osd/display-pipeline.d.ts +38 -9
  321. package/lib/implementations/osd/histogram-sampler.d.ts +22 -12
  322. package/lib/implementations/osd/openseadragon-viewer-options.d.ts +35 -0
  323. package/lib/implementations/osd/openseadragon-visualizer.service.d.ts +78 -354
  324. package/lib/implementations/osd/osd-coordinate-transform.d.ts +2 -1
  325. package/lib/implementations/osd/osd-coords.d.ts +6 -4
  326. package/lib/implementations/osd/osd-export.d.ts +36 -0
  327. package/lib/implementations/osd/osd-lib.d.ts +7 -0
  328. package/lib/implementations/osd/osd-navigator-chrome.d.ts +69 -0
  329. package/lib/implementations/osd/osd-pixel-readback.d.ts +22 -0
  330. package/lib/implementations/osd/osd-region-overlay-draw.d.ts +37 -0
  331. package/lib/implementations/osd/osd-region-overlay.d.ts +36 -48
  332. package/lib/implementations/osd/osd-scale-bar.d.ts +8 -6
  333. package/lib/implementations/osd/osd-tile-source.d.ts +49 -0
  334. package/lib/implementations/osd/osd-viewer-like.d.ts +100 -0
  335. package/lib/implementations/osd/osd-viewer-mount.d.ts +14 -0
  336. package/lib/implementations/osd/osd-viewport.d.ts +77 -0
  337. package/lib/implementations/osd/osd-zoom.d.ts +6 -0
  338. package/lib/implementations/osd/simple-source.d.ts +161 -0
  339. package/lib/implementations/osd/slice-cache.d.ts +12 -3
  340. package/lib/implementations/osd/tile-client.d.ts +11 -14
  341. package/lib/implementations/osd/tile-recolor.d.ts +141 -0
  342. package/lib/implementations/plotly/omics-trace-builders.d.ts +32 -20
  343. package/lib/implementations/plotly/plotly-image-loader.d.ts +49 -0
  344. package/lib/implementations/plotly/plotly-image-recolor.d.ts +75 -0
  345. package/lib/implementations/plotly/plotly-intensity-inset.d.ts +8 -0
  346. package/lib/implementations/plotly/plotly-isosurface-controls.d.ts +38 -0
  347. package/lib/implementations/plotly/plotly-layouts.d.ts +188 -0
  348. package/lib/implementations/plotly/plotly-readback.d.ts +41 -0
  349. package/lib/implementations/plotly/plotly-region-overlay.d.ts +2 -2
  350. package/lib/implementations/plotly/plotly-shape-projection.d.ts +92 -0
  351. package/lib/implementations/plotly/plotly-trace-builders.d.ts +23 -12
  352. package/lib/implementations/plotly/plotly-zoom-controller.d.ts +86 -0
  353. package/lib/implementations/plotly/plotly.service.d.ts +136 -401
  354. package/lib/implementations/region-centroids.d.ts +14 -0
  355. package/lib/implementations/simple-slice-access.service.d.ts +7 -4
  356. package/lib/implementations/spatial-data-http/spatial-data-http.service.d.ts +42 -18
  357. package/lib/implementations/spatial-data-http/spatial-wire.d.ts +34 -9
  358. package/lib/implementations/tile-server/index.d.ts +5 -0
  359. package/lib/implementations/tile-server/native-histogram.d.ts +25 -0
  360. package/lib/implementations/tile-server/poll-descriptor.d.ts +39 -0
  361. package/lib/implementations/tile-server/tile-protocol.d.ts +80 -0
  362. package/lib/implementations/tile-server/transport.d.ts +62 -0
  363. package/lib/intensity/intensity-profile.d.ts +66 -0
  364. package/lib/intensity/intensity-profile.service.d.ts +108 -0
  365. package/lib/intensity-inset/intensity-inset.component.d.ts +58 -0
  366. package/lib/models/bezier.d.ts +0 -5
  367. package/lib/models/class-preset.d.ts +18 -0
  368. package/lib/models/geometry.d.ts +14 -48
  369. package/lib/models/polygon-edit.d.ts +72 -0
  370. package/lib/models/polygon-factory.d.ts +40 -0
  371. package/lib/models/region-clone.d.ts +20 -0
  372. package/lib/models/region-geojson.d.ts +17 -0
  373. package/lib/models/region.d.ts +40 -4
  374. package/lib/models/shape.d.ts +8 -0
  375. package/lib/plot-mode/contribution-host.d.ts +125 -0
  376. package/lib/plot-mode/plot-type-menu.d.ts +60 -0
  377. package/lib/plot-mode/tool-params-model.d.ts +49 -0
  378. package/lib/plot.utilities.d.ts +19 -30
  379. package/lib/processing/processing-image.d.ts +5 -2
  380. package/lib/provide-visualization.d.ts +19 -2
  381. package/lib/region-editor/classes-panel/classes-panel.component.d.ts +56 -0
  382. package/lib/region-editor/file-stem.d.ts +7 -0
  383. package/lib/region-editor/manage-classes-dialog/manage-classes-dialog.component.d.ts +45 -0
  384. package/lib/region-editor/mask-export.service.d.ts +54 -0
  385. package/lib/region-editor/mask-raster.d.ts +2 -8
  386. package/lib/region-editor/region-color-dialog/region-color-dialog.component.d.ts +29 -0
  387. package/lib/region-editor/region-editor-help/region-editor-help.component.d.ts +11 -0
  388. package/lib/region-editor/region-editor.component.d.ts +166 -199
  389. package/lib/region-editor/region-metrics.d.ts +26 -0
  390. package/lib/region-editor/region-persistence.service.d.ts +69 -0
  391. package/lib/region-editor/region-table/region-table.component.d.ts +83 -0
  392. package/lib/region-editor/save-mask-dialog/save-mask-dialog.component.d.ts +36 -0
  393. package/lib/region-editor/save-regions-dialog/save-regions-dialog.component.d.ts +37 -0
  394. package/lib/region-ops.service.d.ts +1 -7
  395. package/lib/region-overlay/region-geometry.d.ts +157 -0
  396. package/lib/region-overlay/region-hit-test.d.ts +38 -0
  397. package/lib/region-overlay/svg-region-renderer.d.ts +110 -0
  398. package/lib/render-orchestrator.d.ts +6 -2
  399. package/lib/render-session.d.ts +75 -0
  400. package/lib/routing-visualizer.service.d.ts +110 -58
  401. package/lib/spatial/density-raster.d.ts +6 -0
  402. package/lib/spatial/embedding-compute-coordinator.d.ts +123 -0
  403. package/lib/spatial/embedding-compute.d.ts +21 -2
  404. package/lib/spatial/glyphs.d.ts +16 -0
  405. package/lib/spatial/lod.d.ts +94 -0
  406. package/lib/spatial/spatial-controls.facade.d.ts +64 -0
  407. package/lib/spatial/spatial-density.d.ts +15 -5
  408. package/lib/spatial/spatial-encoding.d.ts +11 -44
  409. package/lib/spatial/spatial-expression.d.ts +40 -22
  410. package/lib/spatial/spatial-framing.d.ts +1 -0
  411. package/lib/spatial/spatial-heatmap.d.ts +2 -0
  412. package/lib/spatial/spatial-hover.d.ts +4 -16
  413. package/lib/spatial/spatial-panel-model.d.ts +135 -0
  414. package/lib/spatial/spatial-selection.d.ts +21 -26
  415. package/lib/spatial/spatial-tile-merge.d.ts +41 -0
  416. package/lib/spatial/spatial-tiles.d.ts +9 -256
  417. package/lib/spatial/stats.d.ts +38 -0
  418. package/lib/spatial/transcript-grouping.d.ts +119 -0
  419. package/lib/spatial-controls/spatial-cells-panel/spatial-cells-panel.component.d.ts +64 -0
  420. package/lib/spatial-controls/spatial-charts/chart-data-model.d.ts +153 -0
  421. package/lib/spatial-controls/spatial-charts/chart-help.d.ts +69 -0
  422. package/lib/spatial-controls/spatial-charts/plotly-chart-host.d.ts +98 -0
  423. package/lib/spatial-controls/spatial-charts/spatial-chart-window/spatial-chart-window.component.d.ts +26 -0
  424. package/lib/spatial-controls/spatial-charts/spatial-charts.component.d.ts +101 -260
  425. package/lib/spatial-controls/spatial-charts/spatial-embedding-controls/spatial-embedding-controls.component.d.ts +43 -0
  426. package/lib/spatial-controls/spatial-charts/spatial-heatmap-controls/spatial-heatmap-controls.component.d.ts +27 -0
  427. package/lib/spatial-controls/spatial-controls.component.d.ts +68 -448
  428. package/lib/spatial-controls/spatial-gene-picker.d.ts +86 -0
  429. package/lib/spatial-controls/spatial-gene-tree/spatial-gene-tree.component.d.ts +102 -0
  430. package/lib/spatial-controls/spatial-groups-panel/spatial-groups-panel.component.d.ts +72 -0
  431. package/lib/spatial-controls/spatial-key/spatial-key.component.d.ts +66 -0
  432. package/lib/spatial-controls/spatial-key/spatial-key.model.d.ts +33 -0
  433. package/lib/spatial-controls/spatial-marker-genes-form/spatial-marker-genes-form.component.d.ts +64 -0
  434. package/lib/spatial-controls/spatial-observations-panel/spatial-observations-panel.component.d.ts +117 -0
  435. package/lib/spatial-controls/spatial-transcripts-panel/spatial-transcripts-panel.component.d.ts +142 -0
  436. package/lib/store/class-color.util.d.ts +35 -1
  437. package/lib/store/region-history.d.ts +66 -0
  438. package/lib/store/region-scope-cache.d.ts +63 -0
  439. package/lib/store/region-selection.d.ts +36 -0
  440. package/lib/store/region-store.service.d.ts +104 -112
  441. package/lib/store/visualizer-store.service.d.ts +22 -33
  442. package/lib/toast-outlets.d.ts +4 -3
  443. package/lib/toolbar/brush/brush-tool.service.d.ts +31 -98
  444. package/lib/toolbar/canvas-tools.d.ts +20 -0
  445. package/lib/toolbar/crop/slide-crop.d.ts +10 -4
  446. package/lib/toolbar/plot-type-selector/plot-type-selector.component.d.ts +38 -0
  447. package/lib/toolbar/region-tools/region-tool-buttons.d.ts +21 -0
  448. package/lib/toolbar/region-tools/region-tools.component.d.ts +60 -0
  449. package/lib/toolbar/segmentation/cell-segment-tool.service.d.ts +10 -14
  450. package/lib/toolbar/segmentation/cellpose-segmenter.service.d.ts +12 -2
  451. package/lib/toolbar/segmentation/onnx-sam-session.d.ts +22 -3
  452. package/lib/toolbar/segmentation/pending-calls.d.ts +31 -0
  453. package/lib/toolbar/segmentation/sam-model-registry.d.ts +9 -3
  454. package/lib/toolbar/segmentation/sam-onnx-core.d.ts +18 -5
  455. package/lib/toolbar/segmentation/sam-point-tool.service.d.ts +46 -32
  456. package/lib/toolbar/segmentation/sam-prompt.d.ts +7 -31
  457. package/lib/toolbar/segmentation/sam-session.service.d.ts +74 -0
  458. package/lib/toolbar/segmentation/sam-tool.service.d.ts +23 -30
  459. package/lib/toolbar/segmentation/segmentation-commit.d.ts +8 -0
  460. package/lib/toolbar/segmentation/segmentation-runner.d.ts +52 -0
  461. package/lib/toolbar/segmentation-tools/segmentation-tools.component.d.ts +87 -0
  462. package/lib/toolbar/stack-controls/stack-controls.component.d.ts +40 -0
  463. package/lib/toolbar/tool-kit/async-tool-status.d.ts +21 -0
  464. package/lib/toolbar/tool-kit/canvas-tool-manager.d.ts +36 -0
  465. package/lib/toolbar/tool-kit/canvas-tool.d.ts +86 -0
  466. package/lib/toolbar/tool-kit/frame-pixels.d.ts +45 -0
  467. package/lib/toolbar/tool-kit/mask-stroke-editor.d.ts +125 -0
  468. package/lib/toolbar/tool-kit/matrix-frame.d.ts +40 -0
  469. package/lib/toolbar/tool-kit/tool-overlay.d.ts +60 -0
  470. package/lib/toolbar/tool-kit/undo-gesture.d.ts +17 -0
  471. package/lib/toolbar/tool-slider/tool-slider.component.d.ts +33 -0
  472. package/lib/toolbar/toolbar-help-dialog/toolbar-help-dialog.component.d.ts +24 -0
  473. package/lib/toolbar/toolbar.component.d.ts +47 -83
  474. package/lib/toolbar/vertex-eraser/vertex-eraser-tool.service.d.ts +33 -40
  475. package/lib/toolbar/view-controls/view-controls.component.d.ts +54 -0
  476. package/lib/toolbar/wand/wand-region-grow.d.ts +49 -0
  477. package/lib/toolbar/wand/wand-tool.service.d.ts +39 -124
  478. package/lib/toolbar/wand/wand.service.d.ts +22 -116
  479. package/lib/toolbar/zoom-to-box/zoom-to-box-tool.service.d.ts +17 -37
  480. package/lib/util/mark-for-check.d.ts +11 -0
  481. package/lib/util/supersede.d.ts +53 -0
  482. package/lib/visualization.module.d.ts +18 -39
  483. package/lib/visualizer/floating-drag.directive.d.ts +30 -0
  484. package/lib/visualizer/region-actions.d.ts +54 -0
  485. package/lib/visualizer/region-load.d.ts +27 -0
  486. package/lib/visualizer/spatial-dataset-binder.d.ts +74 -0
  487. package/lib/visualizer/tool-modes.d.ts +49 -0
  488. package/lib/visualizer/viewer-shortcuts.d.ts +71 -0
  489. package/lib/visualizer/visualizer-context-menu.d.ts +55 -0
  490. package/lib/visualizer.component.d.ts +201 -447
  491. package/lib/workers/spatial-math-ops.d.ts +65 -0
  492. package/lib/workers/spatial-math-worker.d.ts +7 -0
  493. package/lib/workers/spatial-math.d.ts +74 -0
  494. package/package.json +12 -3
  495. package/src/lib/styles/_viz-icons-rules.scss +73 -0
  496. package/src/lib/styles/viz-icons.scss +14 -0
  497. package/esm2022/lib/implementations/napari-js/napari-axes-labels.mjs +0 -97
  498. package/esm2022/lib/implementations/napari-js/napari-navigator.mjs +0 -195
  499. package/esm2022/lib/implementations/napari-js/napari-scale-bar.mjs +0 -92
  500. package/fesm2022/jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs +0 -329
  501. package/fesm2022/jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs.map +0 -1
  502. package/lib/implementations/napari-js/napari-axes-labels.d.ts +0 -49
  503. package/lib/implementations/napari-js/napari-navigator.d.ts +0 -72
  504. package/lib/implementations/napari-js/napari-scale-bar.d.ts +0 -35
  505. package/src/lib/assets/cell-detection.svg +0 -37
  506. package/src/lib/assets/click.svg +0 -1
  507. package/src/lib/assets/colormap-luts.json +0 -1
  508. package/src/lib/assets/edit-selection-white.svg +0 -47
  509. package/src/lib/assets/icons/colormap-earth.png +0 -0
  510. package/src/lib/assets/icons/colormap-placeholder.png +0 -0
  511. package/src/lib/assets/icons/colormap-pubu.png +0 -0
  512. package/src/lib/assets/interactive-segmentation-cursor.svg +0 -1
  513. package/src/lib/assets/picture-segmentation.svg +0 -43
  514. package/src/lib/assets/test/download-379.svg +0 -1
  515. package/src/lib/assets/test/download-98.svg +0 -1
  516. package/src/lib/assets/test/json-1.svg +0 -1
  517. package/src/lib/assets/test/load-53.svg +0 -1
  518. package/src/lib/assets/test/mask-44.svg +0 -1
  519. package/src/lib/assets/test/mask-download-44.svg +0 -15
  520. package/src/lib/assets/test/mask-save-44.svg +0 -11
  521. package/src/lib/assets/test/overlay-1.svg +0 -1
  522. package/src/lib/assets/test/overlay-4.svg +0 -1
  523. package/src/lib/assets/test/region-26.svg +0 -1
  524. package/src/lib/assets/test/save-56.svg +0 -1
  525. package/src/lib/assets/test/upload-43.svg +0 -1
@@ -65,28 +65,145 @@ export function isBuiltinPlotType(id) {
65
65
  // `productionLabel`, so it appears only when the host enables test mode.
66
66
  export const PLOT_TYPE_DESCRIPTORS = {
67
67
  // ── Default ──
68
- [PlotType.IMAGE]: { type: PlotType.IMAGE, label: 'Image (OSD)', productionLabel: 'Image', icon: 'pi pi-image', dimensions: '2d', source: 'image' },
68
+ [PlotType.IMAGE]: {
69
+ type: PlotType.IMAGE,
70
+ label: 'Image (OSD)',
71
+ productionLabel: 'Image',
72
+ icon: 'pi pi-image',
73
+ dimensions: '2d',
74
+ source: 'image',
75
+ },
69
76
  // ── Plotly ──
70
- [PlotType.HEATMAP]: { type: PlotType.HEATMAP, label: 'Heatmap (Plotly)', productionLabel: 'Heatmap', icon: 'assets/plotting/heatmap.svg', dimensions: '2d', source: 'image' },
71
- [PlotType.CONTOUR]: { type: PlotType.CONTOUR, label: 'Contour (Plotly)', productionLabel: 'Contour', icon: 'assets/plotting/contour.svg', dimensions: '2d', source: 'image', requiresGrayscale: true },
72
- [PlotType.SCATTER]: { type: PlotType.SCATTER, label: 'Scatter 2D (Plotly)', icon: 'pi pi-chart-scatter', dimensions: '2d', source: 'regions' },
73
- [PlotType.SURFACE]: { type: PlotType.SURFACE, label: 'Surface (Plotly)', icon: 'assets/plotting/surface.svg', dimensions: '3d', source: 'image', requiresGrayscale: true },
74
- [PlotType.SCATTER3D]: { type: PlotType.SCATTER3D, label: 'Scatter 3D (Plotly)', icon: 'assets/plotting/3d-coordinates.svg', dimensions: '3d', source: 'image', requiresStack: true, requiresGrayscale: true },
75
- [PlotType.ISOSURFACE]: { type: PlotType.ISOSURFACE, label: 'Isosurface (Plotly)', icon: 'assets/plotting/isosurface.svg', dimensions: '3d', source: 'image', requiresStack: true, requiresGrayscale: true },
77
+ [PlotType.HEATMAP]: {
78
+ type: PlotType.HEATMAP,
79
+ label: 'Heatmap (Plotly)',
80
+ productionLabel: 'Heatmap',
81
+ icon: 'assets/plotting/heatmap.svg',
82
+ dimensions: '2d',
83
+ source: 'image',
84
+ },
85
+ [PlotType.CONTOUR]: {
86
+ type: PlotType.CONTOUR,
87
+ label: 'Contour (Plotly)',
88
+ productionLabel: 'Contour',
89
+ icon: 'assets/plotting/contour.svg',
90
+ dimensions: '2d',
91
+ source: 'image',
92
+ requiresGrayscale: true,
93
+ },
94
+ [PlotType.SCATTER]: {
95
+ type: PlotType.SCATTER,
96
+ label: 'Scatter 2D (Plotly)',
97
+ icon: 'pi pi-chart-scatter',
98
+ dimensions: '2d',
99
+ source: 'regions',
100
+ },
101
+ [PlotType.SURFACE]: {
102
+ type: PlotType.SURFACE,
103
+ label: 'Surface (Plotly)',
104
+ icon: 'assets/plotting/surface.svg',
105
+ dimensions: '3d',
106
+ source: 'image',
107
+ requiresGrayscale: true,
108
+ },
109
+ [PlotType.SCATTER3D]: {
110
+ type: PlotType.SCATTER3D,
111
+ label: 'Scatter 3D (Plotly)',
112
+ icon: 'assets/plotting/3d-coordinates.svg',
113
+ dimensions: '3d',
114
+ source: 'image',
115
+ requiresStack: true,
116
+ requiresGrayscale: true,
117
+ },
118
+ [PlotType.ISOSURFACE]: {
119
+ type: PlotType.ISOSURFACE,
120
+ label: 'Isosurface (Plotly)',
121
+ icon: 'assets/plotting/isosurface.svg',
122
+ dimensions: '3d',
123
+ source: 'image',
124
+ requiresStack: true,
125
+ requiresGrayscale: true,
126
+ },
76
127
  // ── napari-js WebGPU (jit-ui#102). The 3D types take a runtime decimate factor. ──
77
- [PlotType.NAPARI_IMAGE]: { type: PlotType.NAPARI_IMAGE, label: 'Image (napari · WebGPU)', icon: 'pi pi-image', dimensions: '2d', source: 'image' },
78
- [PlotType.NAPARI_SCATTER]: { type: PlotType.NAPARI_SCATTER, label: 'Scatter 2D (napari · WebGPU)', icon: 'pi pi-chart-scatter', dimensions: '2d', source: 'regions' },
79
- [PlotType.NAPARI_SURFACE]: { type: PlotType.NAPARI_SURFACE, label: 'Surface (napari · WebGPU)', productionLabel: 'Surface', icon: 'assets/plotting/surface.svg', dimensions: '3d', source: 'image' }, // a height-field is z=intensity of one plane — works for any grayscale/RGB image (RGB→luminance), no stack needed
80
- [PlotType.NAPARI_SCATTER3D]: { type: PlotType.NAPARI_SCATTER3D, label: 'Scatter 3D (napari · WebGPU)', icon: 'assets/plotting/3d-coordinates.svg', dimensions: '3d', source: 'image', requiresStack: true, requiresGrayscale: true },
81
- [PlotType.NAPARI_VOLUME]: { type: PlotType.NAPARI_VOLUME, label: 'Volume (napari · WebGPU)', productionLabel: 'Volume', icon: 'assets/plotting/cube-3d.svg', dimensions: '3d', source: 'image', requiresStack: true, requiresGrayscale: true },
82
- [PlotType.NAPARI_ISOSURFACE]: { type: PlotType.NAPARI_ISOSURFACE, label: 'Isosurface (napari · WebGPU)', productionLabel: 'Isosurface', icon: 'assets/plotting/isosurface.svg', dimensions: '3d', source: 'image', requiresStack: true, requiresGrayscale: true },
128
+ [PlotType.NAPARI_IMAGE]: {
129
+ type: PlotType.NAPARI_IMAGE,
130
+ label: 'Image (napari · WebGPU)',
131
+ icon: 'pi pi-image',
132
+ dimensions: '2d',
133
+ source: 'image',
134
+ },
135
+ [PlotType.NAPARI_SCATTER]: {
136
+ type: PlotType.NAPARI_SCATTER,
137
+ label: 'Scatter 2D (napari · WebGPU)',
138
+ icon: 'pi pi-chart-scatter',
139
+ dimensions: '2d',
140
+ source: 'regions',
141
+ },
142
+ [PlotType.NAPARI_SURFACE]: {
143
+ type: PlotType.NAPARI_SURFACE,
144
+ label: 'Surface (napari · WebGPU)',
145
+ productionLabel: 'Surface',
146
+ icon: 'assets/plotting/surface.svg',
147
+ dimensions: '3d',
148
+ source: 'image',
149
+ // A height field is z = intensity of one plane: it works for any grayscale or RGB
150
+ // image (RGB → luminance) and needs no stack.
151
+ },
152
+ [PlotType.NAPARI_SCATTER3D]: {
153
+ type: PlotType.NAPARI_SCATTER3D,
154
+ label: 'Scatter 3D (napari · WebGPU)',
155
+ icon: 'assets/plotting/3d-coordinates.svg',
156
+ dimensions: '3d',
157
+ source: 'image',
158
+ requiresStack: true,
159
+ requiresGrayscale: true,
160
+ },
161
+ [PlotType.NAPARI_VOLUME]: {
162
+ type: PlotType.NAPARI_VOLUME,
163
+ label: 'Volume (napari · WebGPU)',
164
+ productionLabel: 'Volume',
165
+ icon: 'assets/plotting/cube-3d.svg',
166
+ dimensions: '3d',
167
+ source: 'image',
168
+ requiresStack: true,
169
+ requiresGrayscale: true,
170
+ },
171
+ [PlotType.NAPARI_ISOSURFACE]: {
172
+ type: PlotType.NAPARI_ISOSURFACE,
173
+ label: 'Isosurface (napari · WebGPU)',
174
+ productionLabel: 'Isosurface',
175
+ icon: 'assets/plotting/isosurface.svg',
176
+ dimensions: '3d',
177
+ source: 'image',
178
+ requiresStack: true,
179
+ requiresGrayscale: true,
180
+ },
83
181
  // ── Spatial omics ──
84
- [PlotType.SPATIAL_OMICS]: { type: PlotType.SPATIAL_OMICS, label: 'Spatial omics (napari · WebGPU)', productionLabel: 'Spatial omics', icon: 'assets/plotting/spatial-omics.svg', dimensions: '2d', source: 'spatial', requiresSpatialData: true },
85
- [PlotType.SPATIAL_OMICS_3D]: { type: PlotType.SPATIAL_OMICS_3D, label: 'Spatial omics 3D (napari · WebGPU)', productionLabel: 'Spatial omics 3D', icon: 'assets/plotting/spatial-omics-3d.svg', dimensions: '3d', source: 'spatial', requiresSpatialData: true, requiresSpatial3d: true },
182
+ [PlotType.SPATIAL_OMICS]: {
183
+ type: PlotType.SPATIAL_OMICS,
184
+ label: 'Spatial omics (napari · WebGPU)',
185
+ productionLabel: 'Spatial omics',
186
+ icon: 'assets/plotting/spatial-omics.svg',
187
+ dimensions: '2d',
188
+ source: 'spatial',
189
+ requiresSpatialData: true,
190
+ },
191
+ [PlotType.SPATIAL_OMICS_3D]: {
192
+ type: PlotType.SPATIAL_OMICS_3D,
193
+ label: 'Spatial omics 3D (napari · WebGPU)',
194
+ productionLabel: 'Spatial omics 3D',
195
+ icon: 'assets/plotting/spatial-omics-3d.svg',
196
+ dimensions: '3d',
197
+ source: 'spatial',
198
+ requiresSpatialData: true,
199
+ requiresSpatial3d: true,
200
+ },
86
201
  };
202
+ /** The built-in descriptor (label, icon, dimensions, data source) of a plot type, if any. */
87
203
  export function getPlotTypeDescriptor(type) {
88
204
  return PLOT_TYPE_DESCRIPTORS[type];
89
205
  }
206
+ /** Whether a built-in plot type renders in 3D (its descriptor says `dimensions: '3d'`). */
90
207
  export function isThreeDimensional(type) {
91
208
  return PLOT_TYPE_DESCRIPTORS[type]?.dimensions === '3d';
92
209
  }
@@ -137,7 +254,7 @@ export function rendererOwnsWheel(type) {
137
254
  /** Any napari-js 3D plot type (volume, isosurface, surface, or 3D scatter). Resolution is a runtime
138
255
  * decimate factor (Full / ½ / ¼ / ⅛) — see the service's `resolutionScale`. */
139
256
  export function isNapari3d(type) {
140
- return (isNapariVolume(type) || isNapariIsosurface(type) || isNapariSurface(type) || isNapariScatter3d(type));
257
+ return isNapariVolume(type) || isNapariIsosurface(type) || isNapariSurface(type) || isNapariScatter3d(type);
141
258
  }
142
259
  /** Decimate factors offered by the Resolution control (1 = Full … 8 = ⅛). */
143
260
  export const NAPARI_DECIMATE_OPTIONS = [
@@ -149,4 +266,4 @@ export const NAPARI_DECIMATE_OPTIONS = [
149
266
  /** Default decimate factor: ¼. The caps are set so ¼ is a sensible default resolution while ½ and
150
267
  * Full offer 2× and 4× the detail for opt-in high-resolution renders. */
151
268
  export const NAPARI_DEFAULT_DECIMATE = 4;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvcGxvdC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFOLElBQVksUUFnQ1g7QUFoQ0QsV0FBWSxRQUFRO0lBQ2xCO2lGQUM2RTtJQUM3RSwyQkFBZSxDQUFBO0lBQ2YsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIseUZBQXlGO0lBQ3pGLHlCQUFhLENBQUE7SUFDYixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6Qjt1R0FDbUc7SUFDbkcseUNBQTZCLENBQUE7SUFDN0IsMkNBQStCLENBQUE7SUFDL0IsbURBQXVDLENBQUE7SUFDdkMsZ0dBQWdHO0lBQ2hHLDZDQUFpQyxDQUFBO0lBQ2pDLGtGQUFrRjtJQUNsRiw2Q0FBaUMsQ0FBQTtJQUNqQywrRkFBK0Y7SUFDL0YsaURBQXFDLENBQUE7SUFDckM7OzRGQUV3RjtJQUN4RiwyQ0FBK0IsQ0FBQTtJQUMvQjs7OzRFQUd3RTtJQUN4RSxpREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBaENXLFFBQVEsS0FBUixRQUFRLFFBZ0NuQjtBQVdELE1BQU0sa0JBQWtCLEdBQXdCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVqRixrRkFBa0Y7QUFDbEYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQWlDO0lBQ2pFLE9BQU8sT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBOEREOzs7OztHQUtHO0FBQ0gsK0ZBQStGO0FBQy9GLG9EQUFvRDtBQUNwRCxrRkFBa0Y7QUFDbEYsaUZBQWlGO0FB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cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUga2luZCBvZiByZW5kZXJpbmcgYSB2aWV3ZXIgYmFja2VuZCBzaG91bGQgcHJvZHVjZSBmb3IgdGhlIGxvYWRlZCBkYXRhLlxuICpcbiAqIExpdmVzIGluIGBjb250cmFjdHMvYCAocmF0aGVyIHRoYW4gaW5zaWRlIGEgc3BlY2lmaWMgYmFja2VuZCkgYmVjYXVzZSBpdCBpc1xuICogcGFydCBvZiB0aGUgYmFja2VuZC1uZXV0cmFsIHBsb3R0aW5nIGNvbnRyYWN0OiBib3RoIHRoZSBQbG90bHkgYmFja2VuZCBhbmRcbiAqIGFueSBmdXR1cmUgYmFja2VuZCAoZS5nLiBPcGVuU2VhZHJhZ29uKSBhY2NlcHQgYSBgUGxvdFR5cGVgIG9uIGBwbG90KClgLlxuICpcbiAqIE5PVEU6IGEgYmFja2VuZCBtYXkgbm90IHN1cHBvcnQgZXZlcnkgdHlwZSDigJQgM0QgdHlwZXMgKGBTVVJGQUNFYCxcbiAqIGBTQ0FUVEVSM0RgLCBgSVNPU1VSRkFDRWApIGFyZSBnYXRlZCBiZWhpbmQgYFZpZXdlckZlYXR1cmUuU3VyZmFjZTNEYCBpbiB0aGVcbiAqIGNhcGFiaWxpdGllcyBjb250cmFjdCwgc28gYSAyRC1vbmx5IGJhY2tlbmQgY2FuIGFkdmVydGlzZSB0aGF0IGl0IGNhbid0XG4gKiByZW5kZXIgdGhlbSBhbmQgdGhlIFVJIGNhbiBoaWRlIHRoZSBvcHRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFBsb3RUeXBlIHtcbiAgLyoqIE5hdGl2ZWx5LXRpbGVkLCB6b29tYWJsZSByYXN0ZXIgcmVuZGVyZWQgYnkgT3BlblNlYWRyYWdvbiAodGhlIGRlZmF1bHRcbiAgICogIHZpZXcgZm9yIGFuIGltYWdlKS4gSGVhdG1hcCByZW1haW5zIHRoZSBQbG90bHkgc2NhbGFyLWltYWdlIHJlbmRlcmluZy4gKi9cbiAgSU1BR0UgPSAnaW1hZ2UnLFxuICBIRUFUTUFQID0gJ2hlYXRtYXAnLFxuICBTVVJGQUNFID0gJ3N1cmZhY2UnLFxuICBDT05UT1VSID0gJ2NvbnRvdXInLFxuICBTQ0FUVEVSID0gJ3NjYXR0ZXInLFxuICAvLyBMSU5FOiByZXNlcnZlZC9zdHViYmVkIOKAlCBpbnRlbnNpdHkgcHJvZmlsZXMgYXJlIG5vdyBSZWdpb24tYmFzZWQgKGtlcHQgZm9yIGZ1dHVyZSB1c2UpXG4gIExJTkUgPSAnbGluZScsXG4gIFNDQVRURVIzRCA9ICdzY2F0dGVyM2QnLFxuICBJU09TVVJGQUNFID0gJ2lzb3N1cmZhY2UnLFxuICAvKiogV2ViR1BVIG5hcGFyaS1qcyByZW5kZXJpbmdzIChqaXQtdWkjMTAyKSwgc2VsZWN0YWJsZSBhbG9uZ3NpZGUgdGhlIE9TRC9QbG90bHkgdHlwZXMuIFRoZSAzRFxuICAgKiAgdHlwZXMgdGFrZSBhIHJ1bnRpbWUgZGVjaW1hdGUgZmFjdG9yIChGdWxsIC8gwr0gLyDCvCAvIOKFmykgaW5zdGVhZCBvZiBmaXhlZCBoaS9sby1yZXMgdmFyaWFudHMuICovXG4gIE5BUEFSSV9JTUFHRSA9ICduYXBhcmktaW1hZ2UnLFxuICBOQVBBUklfVk9MVU1FID0gJ25hcGFyaS12b2x1bWUnLFxuICBOQVBBUklfSVNPU1VSRkFDRSA9ICduYXBhcmktaXNvc3VyZmFjZScsXG4gIC8qKiBXZWJHUFUgaGVpZ2h0LWZpZWxkIHN1cmZhY2UgbWVzaCAoeiA9IGludGVuc2l0eSksIHRoZSBuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTVVJGQUNFLiAqL1xuICBOQVBBUklfU1VSRkFDRSA9ICduYXBhcmktc3VyZmFjZScsXG4gIC8qKiBXZWJHUFUgMkQgc2NhdHRlciBvZiByZWdpb24gY2VudHJvaWRzIChuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTQ0FUVEVSKS4gKi9cbiAgTkFQQVJJX1NDQVRURVIgPSAnbmFwYXJpLXNjYXR0ZXInLFxuICAvKiogV2ViR1BVIDNEIHNjYXR0ZXIgb2YgdGhlIGRvd25zYW1wbGVkIHZveGVsIGNsb3VkIChuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTQ0FUVEVSM0QpLiAqL1xuICBOQVBBUklfU0NBVFRFUjNEID0gJ25hcGFyaS1zY2F0dGVyM2QnLFxuICAvKiogU3BhdGlhbC1vbWljcyBvYnNlcnZhdGlvbnMgKFZpc2l1bSBzcG90cywgc2VnbWVudGVkIGNlbGxzKSBkcmF3biBvdmVyIHRoZSB0aXNzdWUgaW1hZ2UgYW5kXG4gICAqICBjb2xvdXJlZCBieSBhbiBhbm5vdGF0aW9uIGNvbHVtbiBvciBhIGdlbmUuIE5lZWRzIGEgYFNwYXRpYWxEYXRhc2V0YCBvbiBgU1BBVElBTF9EQVRBX1BPUlRgLFxuICAgKiAgc28gaXQgaXMgZ2F0ZWQgYnkgYHJlcXVpcmVzU3BhdGlhbERhdGFgIGFuZCBuZXZlciBhcHBlYXJzIGZvciBhbiBpbWFnZS1vbmx5IGhvc3QuICovXG4gIFNQQVRJQUxfT01JQ1MgPSAnc3BhdGlhbC1vbWljcycsXG4gIC8qKiBTcGF0aWFsLW9taWNzIG9ic2VydmF0aW9ucyBhcyBhIDNEIHBvaW50IGNsb3VkLCBmb3IgYXNzYXlzIHdob3NlIG9ic2VydmF0aW9ucyBjYXJyeSBhIHog4oCUXG4gICAqICBzZXJpYWwgc2VjdGlvbnMgcmVnaXN0ZXJlZCBpbnRvIGEgY29tbW9uIGZyYW1lIChlLmcuIHRoZSBBbGxlbiBDQ0YpLCBvciBhIGdlbnVpbmVseVxuICAgKiAgdm9sdW1ldHJpYyBhc3NheS4gR2F0ZWQgYnkgYHJlcXVpcmVzU3BhdGlhbDNkYCwgYSBzdHJpY3RseSBuYXJyb3dlciBnYXRlIHRoYW5cbiAgICogIHtAbGluayBTUEFUSUFMX09NSUNTfTogYSBzaW5nbGUtcGxhbmUgZGF0YXNldCBoYXMgbm8geiB0byByZW5kZXIuICovXG4gIFNQQVRJQUxfT01JQ1NfM0QgPSAnc3BhdGlhbC1vbWljcy0zZCcsXG59XG5cbi8qKlxuICogQSB2YWx1ZSB0aGUgcGxvdC10eXBlIHNlbGVjdG9yIGNhbiBob2xkOiBhIGJ1aWx0LWluIHtAbGluayBQbG90VHlwZX0sIG9yIHRoZVxuICogYHR5cGVgIG9mIGEgY29udHJpYnV0ZWQgbW9kZSAoYENvbnRyaWJ1dGVkUGxvdFR5cGVEZXNjcmlwdG9yLnR5cGVgLCBzZWVcbiAqIGBwbG90LXR5cGUtY29udHJpYnV0aW9uLmNvbnRyYWN0LnRzYCkuIEV2ZXJ5dGhpbmcgdGhhdCBkZWNpZGVzIEhPVyB0byByZW5kZXJcbiAqIGtlZXBzIHRha2luZyBhIHtAbGluayBQbG90VHlwZX07IGEgY29udHJpYnV0ZWQgaWQgaXMgcmVzb2x2ZWQgdG8gaXRzXG4gKiBgYmFzZVR5cGVgIGZpcnN0LCBzbyBubyByZW5kZXJpbmcgc3dpdGNoIGV2ZXIgc2VlcyBvbmUuXG4gKi9cbmV4cG9ydCB0eXBlIFBsb3RUeXBlSWQgPSBQbG90VHlwZSB8IHN0cmluZztcblxuY29uc3QgQlVJTFRJTl9QTE9UX1RZUEVTOiBSZWFkb25seVNldDxzdHJpbmc+ID0gbmV3IFNldChPYmplY3QudmFsdWVzKFBsb3RUeXBlKSk7XG5cbi8qKiBXaGV0aGVyIGFuIGlkIG5hbWVzIGEgYnVpbHQtaW4gcGxvdCB0eXBlIChhcyBvcHBvc2VkIHRvIGEgY29udHJpYnV0ZWQgb25lKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0J1aWx0aW5QbG90VHlwZShpZDogUGxvdFR5cGVJZCB8IG51bGwgfCB1bmRlZmluZWQpOiBpZCBpcyBQbG90VHlwZSB7XG4gIHJldHVybiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnICYmIEJVSUxUSU5fUExPVF9UWVBFUy5oYXMoaWQpO1xufVxuXG4vKiogSG93IG1hbnkgc3BhdGlhbCBkaW1lbnNpb25zIGEgcGxvdCB0eXBlIHJlbmRlcnMgaW4uICovXG5leHBvcnQgdHlwZSBQbG90RGltZW5zaW9ucyA9ICcyZCcgfCAnM2QnO1xuXG4vKipcbiAqIFdoZXJlIGEgcGxvdCB0eXBlIHB1bGxzIGl0cyBkYXRhIGZyb206XG4gKiAgLSBgaW1hZ2VgICAg4oCUIHRoZSBsb2FkZWQgcGl4ZWwgbWF0cmljZXMgLyB6LXN0YWNrIChIRUFUTUFQLCBTVVJGQUNFLCDigKYpXG4gKiAgLSBgcmVnaW9uc2Ag4oCUIHRoZSBkcmF3bi9kZXJpdmVkIHJlZ2lvbnMgKFNDQVRURVIgb2YgcmVnaW9uIGNlbnRyb2lkcywg4oCmKVxuICogIC0gYHNwYXRpYWxgIOKAlCBhIGBTcGF0aWFsRGF0YXNldGAgc3VwcGxpZWQgdGhyb3VnaCBgU1BBVElBTF9EQVRBX1BPUlRgOiBOXG4gKiAgICBvYnNlcnZhdGlvbnMgKHNwb3RzL2NlbGxzKSB3aXRoIGNhdGVnb3JpY2FsICsgY29udGludW91cyBjb2x1bW5zIGFuZCBhXG4gKiAgICBsYXppbHktZmV0Y2hlZCBmZWF0dXJlIG1hdHJpeCwgZHJhd24gb3ZlciB0aGUgdGlzc3VlIGltYWdlIHRoZXkgY2FtZSBmcm9tLlxuICovXG5leHBvcnQgdHlwZSBQbG90RGF0YVNvdXJjZSA9ICdpbWFnZScgfCAncmVnaW9ucycgfCAnc3BhdGlhbCc7XG5cbi8qKlxuICogQmFja2VuZC1uZXV0cmFsIG1ldGFkYXRhIGFib3V0IGEgcGxvdCB0eXBlLiBEcml2ZXMgVUkgYWZmb3JkYW5jZXMgKHdoaWNoXG4gKiB0eXBlcyBhcmUgM0QsIHdoaWNoIG5lZWQgYW4gaW1hZ2Ugc3RhY2ssIGhvdyB0byBsYWJlbCB0aGVtIGluIGEgZHJvcGRvd24pXG4gKiB3aXRob3V0IGFueSBiYWNrZW5kJ3MgdHJhY2UtYnVpbGRpbmcgbG9naWMgbGVha2luZyBpbnRvIHRoZSBjb250cmFjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG90VHlwZURlc2NyaXB0b3Ige1xuICB0eXBlOiBQbG90VHlwZTtcbiAgLyoqIEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciBtZW51cy9kcm9wZG93bnMuIFNob3duIGluICoqdGVzdCBtb2RlKiosIHdoZXJlXG4gICAqICBldmVyeSBiYWNrZW5kJ3MgdHlwZSBpcyBvZmZlcmVkLCBzbyBpdCBjYXJyaWVzIHRoZSBiYWNrZW5kIHN1ZmZpeCAoZS5nLlxuICAgKiAgXCJTdXJmYWNlIChuYXBhcmkgwrcgV2ViR1BVKVwiKSB0byBkaXNhbWJpZ3VhdGUgc2FtZS1uYW1lZCBtb2Rlcy4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIExhYmVsIHNob3duIGluIHRoZSAqKmRlZmF1bHQgKG5vbi10ZXN0KSBzZWxlY3RvcioqLCB3aGVyZSBhIHNpbmdsZSBjdXJhdGVkXG4gICAqIG1vZGUgb3ducyBlYWNoIG5hbWUg4oCUIHNvIGl0IGRyb3BzIHRoZSBiYWNrZW5kIHN1ZmZpeCAoZS5nLiBqdXN0IFwiU3VyZmFjZVwiKS5cbiAgICogQSB0eXBlIFdJVEhPVVQgYSBgcHJvZHVjdGlvbkxhYmVsYCBpcyAqKnRlc3Qtb25seSoqOiBoaWRkZW4gZnJvbSB0aGUgZGVmYXVsdFxuICAgKiBzZWxlY3RvciBhbmQgc2hvd24gb25seSB3aGVuIHRoZSBob3N0IGVuYWJsZXMgdGVzdCBtb2RlLiBUaGlzIGlzIHRoZSBzaW5nbGVcbiAgICoga25vYiB0aGF0IGN1cmF0ZXMgdGhlIGRlZmF1bHQgcGxvdC1tb2RlIGxpc3QgKGpheC1pbWFnZS12aXN1YWxpemF0aW9uKS5cbiAgICovXG4gIHByb2R1Y3Rpb25MYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIEljb24gc2hvd24gdG8gdGhlIGxlZnQgb2YgdGhlIGxhYmVsIGluIHRoZSBwbG90LXR5cGUgc2VsZWN0b3IuIEVpdGhlciBhXG4gICAqIFByaW1lTkcgaWNvbiBjbGFzcyAoc3RhcnRzIHdpdGggYHBpIGAsIGUuZy4gYHBpIHBpLWltYWdlYCkgcmVuZGVyZWQgYXMgYVxuICAgKiBmb250IGdseXBoLCBvciBhIHNlcnZlZCBTVkcgYXNzZXQgcGF0aCAoZS5nLiBgYXNzZXRzL3Bsb3R0aW5nL3N1cmZhY2Uuc3ZnYClcbiAgICogcmVuZGVyZWQgYXMgYW4gYDxpbWc+YC4gQm90aCBhcmUgdGludGVkIHRvIHRoZSB0b29sYmFyJ3MgcHJpbWFyeSBibHVlLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgZGltZW5zaW9uczogUGxvdERpbWVuc2lvbnM7XG4gIHNvdXJjZTogUGxvdERhdGFTb3VyY2U7XG4gIC8qKiBUcnVlIHdoZW4gdGhlIHR5cGUgb25seSBtYWtlcyBzZW5zZSBvdmVyIGEgbXVsdGktZnJhbWUgei1zdGFjay4gKi9cbiAgcmVxdWlyZXNTdGFjaz86IGJvb2xlYW47XG4gIC8qKiBUcnVlIHdoZW4gdGhlIHR5cGUgbWFwcyBhIHNpbmdsZSBzY2FsYXIgaW50ZW5zaXR5IHBlciBwaXhlbCAoY29udG91cixcbiAgICogIHN1cmZhY2UsIGludGVuc2l0eSBwcm9maWxlLCBpc29zdXJmYWNlKSDigJQgb25seSBtZWFuaW5nZnVsIGZvciBncmF5c2NhbGUuXG4gICAqICBJbWFnZS9IZWF0bWFwIHJlbmRlciBSR0IgZmluZTsgU2NhdHRlciB1c2VzIHJlZ2lvbnMuICovXG4gIHJlcXVpcmVzR3JheXNjYWxlPzogYm9vbGVhbjtcbiAgLyoqIFRydWUgd2hlbiB0aGUgdHlwZSByZW5kZXJzIGEgYFNwYXRpYWxEYXRhc2V0YCAoYHNvdXJjZTogJ3NwYXRpYWwnYCkgYW5kIGlzXG4gICAqICB0aGVyZWZvcmUgbWVhbmluZ2xlc3Mgd2l0aG91dCBvbmUuIFRoZSBzZWxlY3RvciBoaWRlcyBpdCB1bnRpbCBhIGRhdGFzZXQgaXNcbiAgICogIHB1Ymxpc2hlZCBvbiBgU1BBVElBTF9EQVRBX1BPUlRgIOKAlCB0aGUgc2FtZSBzaGFwZSBvZiBnYXRlIGFzXG4gICAqICB7QGxpbmsgcmVxdWlyZXNTdGFja30gZm9yIGEgei1zdGFjaywgc28gYSBob3N0IHdpdGggbm8gc3BhdGlhbCBkYXRhIG5ldmVyXG4gICAqICBzZWVzIHRoZSBtb2RlLiAqL1xuICByZXF1aXJlc1NwYXRpYWxEYXRhPzogYm9vbGVhbjtcbiAgLyoqIFRydWUgd2hlbiB0aGUgdHlwZSBuZWVkcyBvYnNlcnZhdGlvbnMgd2l0aCBhIHogY29vcmRpbmF0ZSwgbm90IG1lcmVseSBhXG4gICAqICBgU3BhdGlhbERhdGFzZXRgLiBOYXJyb3dlciB0aGFuIHtAbGluayByZXF1aXJlc1NwYXRpYWxEYXRhfTogbW9zdCBzcGF0aWFsXG4gICAqICBhc3NheXMgYXJlIGEgc2luZ2xlIHBsYW5lLCBzbyB0aGlzIGhpZGVzIHRoZSAzRCBtb2RlIHVubGVzcyB0aGUgcHVibGlzaGVkXG4gICAqICBkYXRhc2V0IGFjdHVhbGx5IGNhcnJpZXMgYG9ic2VydmF0aW9ucy56YC4gKi9cbiAgcmVxdWlyZXNTcGF0aWFsM2Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHBsb3QtdHlwZSBtZXRhZGF0YS4gTElORSBpcyBpbnRlbnRpb25hbGx5IGFic2VudCDigJRcbiAqIGludGVuc2l0eSBwcm9maWxlcyBhcmUgbm93IFJlZ2lvbi1iYXNlZCBsaW5lIFJPSXMgKGF2YWlsYWJsZSBpbiBIZWF0bWFwL0ltYWdlXG4gKiBtb2RlKSwgc28gTElORSBpcyBubyBsb25nZXIgb2ZmZXJlZCBpbiB0aGUgc2VsZWN0b3IgKHRoZSBlbnVtIG1lbWJlciBpcyBrZXB0XG4gKiBmb3IgZnV0dXJlIHVzZSkuIEhlbmNlIHRoZSBgUGFydGlhbGAgcmVjb3JkLlxuICovXG4vLyBEcm9wZG93biBvcmRlciA9IGluc2VydGlvbiBvcmRlcjogSW1hZ2UgKE9TRCkgZGVmYXVsdCBhdCB0aGUgdG9wLCB0aGVuIGFsbCBQbG90bHkgcGxvdCBtb2Rlc1xuLy8gZ3JvdXBlZCwgdGhlbiBhbGwgbmFwYXJpLWpzIFdlYkdQVSBtb2RlcyBncm91cGVkLlxuLy8gYHByb2R1Y3Rpb25MYWJlbGAgbWFya3MgdGhlIGN1cmF0ZWQgZGVmYXVsdC1zZWxlY3RvciBzZXQgKGppdC11aSM3MCBmb2xsb3ctdXApOlxuLy8gIC0gSU1BR0UgLyBIRUFUTUFQIC8gQ09OVE9VUiAoMkQpIGFuZCB0aGUgbmFwYXJpIFNVUkZBQ0UgLyBWT0xVTUUgLyBJU09TVVJGQUNFXG4vLyAgICAoM0QpIGFyZSB0aGUgbW9kZXMgc2hvd24gYnkgZGVmYXVsdCwgdW5kZXIgc3VmZml4LWZyZWUgbmFtZXMuXG4vLyAgLSBFdmVyeXRoaW5nIGVsc2UgKGFsbCBTY2F0dGVycywgTkFQQVJJX0lNQUdFLCBhbmQgdGhlIFBsb3RseSBTVVJGQUNFIC9cbi8vICAgIElTT1NVUkZBQ0UgdGhhdCB0aGUgbmFwYXJpIHZlcnNpb25zIHN1cGVyc2VkZSkgaXMgdGVzdC1vbmx5IOKAlCBub1xuLy8gICAgYHByb2R1Y3Rpb25MYWJlbGAsIHNvIGl0IGFwcGVhcnMgb25seSB3aGVuIHRoZSBob3N0IGVuYWJsZXMgdGVzdCBtb2RlLlxuZXhwb3J0IGNvbnN0IFBMT1RfVFlQRV9ERVNDUklQVE9SUzogUGFydGlhbDxSZWNvcmQ8UGxvdFR5cGUsIFBsb3RUeXBlRGVzY3JpcHRvcj4+ID0ge1xuICAvLyDilIDilIAgRGVmYXVsdCDilIDilIBcbiAgW1Bsb3RUeXBlLklNQUdFXTogICAgICB7IHR5cGU6IFBsb3RUeXBlLklNQUdFLCAgICAgIGxhYmVsOiAnSW1hZ2UgKE9TRCknLCAgICAgICAgICAgcHJvZHVjdGlvbkxhYmVsOiAnSW1hZ2UnLCAgICAgIGljb246ICdwaSBwaS1pbWFnZScsICAgICAgICAgICAgICAgICAgICBkaW1lbnNpb25zOiAnMmQnLCBzb3VyY2U6ICdpbWFnZScgfSxcbiAgLy8g4pSA4pSAIFBsb3RseSDilIDilIBcbiAgW1Bsb3RUeXBlLkhFQVRNQVBdOiAgICB7IHR5cGU6IFBsb3RUeXBlLkhFQVRNQVAsICAgIGxhYmVsOiAnSGVhdG1hcCAoUGxvdGx5KScsICAgICAgcHJvZHVjdGlvbkxhYmVsOiAnSGVhdG1hcCcsICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvaGVhdG1hcC5zdmcnLCAgICBkaW1lbnNpb25zOiAnMmQnLCBzb3VyY2U6ICdpbWFnZScgfSxcbiAgW1Bsb3RUeXBlLkNPTlRPVVJdOiAgICB7IHR5cGU6IFBsb3RUeXBlLkNPTlRPVVIsICAgIGxhYmVsOiAnQ29udG91ciAoUGxvdGx5KScsICAgICAgcHJvZHVjdGlvbkxhYmVsOiAnQ29udG91cicsICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvY29udG91ci5zdmcnLCAgICBkaW1lbnNpb25zOiAnMmQnLCBzb3VyY2U6ICdpbWFnZScsIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlIH0sXG4gIFtQbG90VHlwZS5TQ0FUVEVSXTogICAgeyB0eXBlOiBQbG90VHlwZS5TQ0FUVEVSLCAgICBsYWJlbDogJ1NjYXR0ZXIgMkQgKFBsb3RseSknLCAgIGljb246ICdwaSBwaS1jaGFydC1zY2F0dGVyJywgICAgICAgICAgICBkaW1lbnNpb25zOiAnMmQnLCBzb3VyY2U6ICdyZWdpb25zJyB9LFxuICBbUGxvdFR5cGUuU1VSRkFDRV06ICAgIHsgdHlwZTogUGxvdFR5cGUuU1VSRkFDRSwgICAgbGFiZWw6ICdTdXJmYWNlIChQbG90bHkpJywgICAgICBpY29uOiAnYXNzZXRzL3Bsb3R0aW5nL3N1cmZhY2Uuc3ZnJywgICAgZGltZW5zaW9uczogJzNkJywgc291cmNlOiAnaW1hZ2UnLCByZXF1aXJlc0dyYXlzY2FsZTogdHJ1ZSB9LFxuICBbUGxvdFR5cGUuU0NBVFRFUjNEXTogIHsgdHlwZTogUGxvdFR5cGUuU0NBVFRFUjNELCAgbGFiZWw6ICdTY2F0dGVyIDNEIChQbG90bHkpJywgICBpY29uOiAnYXNzZXRzL3Bsb3R0aW5nLzNkLWNvb3JkaW5hdGVzLnN2ZycsIGRpbWVuc2lvbnM6ICczZCcsIHNvdXJjZTogJ2ltYWdlJywgcmVxdWlyZXNTdGFjazogdHJ1ZSwgcmVxdWlyZXNHcmF5c2NhbGU6IHRydWUgfSxcbiAgW1Bsb3RUeXBlLklTT1NVUkZBQ0VdOiB7IHR5cGU6IFBsb3RUeXBlLklTT1NVUkZBQ0UsIGxhYmVsOiAnSXNvc3VyZmFjZSAoUGxvdGx5KScsICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9pc29zdXJmYWNlLnN2ZycsIGRpbWVuc2lvbnM6ICczZCcsIHNvdXJjZTogJ2ltYWdlJywgcmVxdWlyZXNTdGFjazogdHJ1ZSwgcmVxdWlyZXNHcmF5c2NhbGU6IHRydWUgfSxcbiAgLy8g4pSA4pSAIG5hcGFyaS1qcyBXZWJHUFUgKGppdC11aSMxMDIpLiBUaGUgM0QgdHlwZXMgdGFrZSBhIHJ1bnRpbWUgZGVjaW1hdGUgZmFjdG9yLiDilIDilIBcbiAgW1Bsb3RUeXBlLk5BUEFSSV9JTUFHRV06ICAgICAgeyB0eXBlOiBQbG90VHlwZS5OQVBBUklfSU1BR0UsICAgICAgbGFiZWw6ICdJbWFnZSAobmFwYXJpIMK3IFdlYkdQVSknLCAgICAgIGljb246ICdwaSBwaS1pbWFnZScsICAgICAgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uczogJzJkJywgc291cmNlOiAnaW1hZ2UnIH0sXG4gIFtQbG90VHlwZS5OQVBBUklfU0NBVFRFUl06ICAgIHsgdHlwZTogUGxvdFR5cGUuTkFQQVJJX1NDQVRURVIsICAgIGxhYmVsOiAnU2NhdHRlciAyRCAobmFwYXJpIMK3IFdlYkdQVSknLCBpY29uOiAncGkgcGktY2hhcnQtc2NhdHRlcicsICAgICAgICAgICAgICAgIGRpbWVuc2lvbnM6ICcyZCcsIHNvdXJjZTogJ3JlZ2lvbnMnIH0sXG4gIFtQbG90VHlwZS5OQVBBUklfU1VSRkFDRV06ICAgIHsgdHlwZTogUGxvdFR5cGUuTkFQQVJJX1NVUkZBQ0UsICAgIGxhYmVsOiAnU3VyZmFjZSAobmFwYXJpIMK3IFdlYkdQVSknLCAgICBwcm9kdWN0aW9uTGFiZWw6ICdTdXJmYWNlJywgICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9zdXJmYWNlLnN2ZycsICAgICAgICBkaW1lbnNpb25zOiAnM2QnLCBzb3VyY2U6ICdpbWFnZScgfSwgLy8gYSBoZWlnaHQtZmllbGQgaXMgej1pbnRlbnNpdHkgb2Ygb25lIHBsYW5lIOKAlCB3b3JrcyBmb3IgYW55IGdyYXlzY2FsZS9SR0IgaW1hZ2UgKFJHQuKGkmx1bWluYW5jZSksIG5vIHN0YWNrIG5lZWRlZFxuICBbUGxvdFR5cGUuTkFQQVJJX1NDQVRURVIzRF06ICB7IHR5cGU6IFBsb3RUeXBlLk5BUEFSSV9TQ0FUVEVSM0QsICBsYWJlbDogJ1NjYXR0ZXIgM0QgKG5hcGFyaSDCtyBXZWJHUFUpJywgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy8zZC1jb29yZGluYXRlcy5zdmcnLCBkaW1lbnNpb25zOiAnM2QnLCBzb3VyY2U6ICdpbWFnZScsIHJlcXVpcmVzU3RhY2s6IHRydWUsIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlIH0sXG4gIFtQbG90VHlwZS5OQVBBUklfVk9MVU1FXTogICAgIHsgdHlwZTogUGxvdFR5cGUuTkFQQVJJX1ZPTFVNRSwgICAgIGxhYmVsOiAnVm9sdW1lIChuYXBhcmkgwrcgV2ViR1BVKScsICAgICBwcm9kdWN0aW9uTGFiZWw6ICdWb2x1bWUnLCAgICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9jdWJlLTNkLnN2ZycsICAgICAgICBkaW1lbnNpb25zOiAnM2QnLCBzb3VyY2U6ICdpbWFnZScsIHJlcXVpcmVzU3RhY2s6IHRydWUsIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlIH0sXG4gIFtQbG90VHlwZS5OQVBBUklfSVNPU1VSRkFDRV06IHsgdHlwZTogUGxvdFR5cGUuTkFQQVJJX0lTT1NVUkZBQ0UsIGxhYmVsOiAnSXNvc3VyZmFjZSAobmFwYXJpIMK3IFdlYkdQVSknLCBwcm9kdWN0aW9uTGFiZWw6ICdJc29zdXJmYWNlJywgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9pc29zdXJmYWNlLnN2ZycsICAgICBkaW1lbnNpb25zOiAnM2QnLCBzb3VyY2U6ICdpbWFnZScsIHJlcXVpcmVzU3RhY2s6IHRydWUsIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlIH0sXG4gIC8vIOKUgOKUgCBTcGF0aWFsIG9taWNzIOKUgOKUgFxuICBbUGxvdFR5cGUuU1BBVElBTF9PTUlDU106ICAgICB7IHR5cGU6IFBsb3RUeXBlLlNQQVRJQUxfT01JQ1MsICAgICBsYWJlbDogJ1NwYXRpYWwgb21pY3MgKG5hcGFyaSDCtyBXZWJHUFUpJywgcHJvZHVjdGlvbkxhYmVsOiAnU3BhdGlhbCBvbWljcycsIGljb246ICdhc3NldHMvcGxvdHRpbmcvc3BhdGlhbC1vbWljcy5zdmcnLCAgZGltZW5zaW9uczogJzJkJywgc291cmNlOiAnc3BhdGlhbCcsIHJlcXVpcmVzU3BhdGlhbERhdGE6IHRydWUgfSxcbiAgW1Bsb3RUeXBlLlNQQVRJQUxfT01JQ1NfM0RdOiAgeyB0eXBlOiBQbG90VHlwZS5TUEFUSUFMX09NSUNTXzNELCAgbGFiZWw6ICdTcGF0aWFsIG9taWNzIDNEIChuYXBhcmkgwrcgV2ViR1BVKScsIHByb2R1Y3Rpb25MYWJlbDogJ1NwYXRpYWwgb21pY3MgM0QnLCBpY29uOiAnYXNzZXRzL3Bsb3R0aW5nL3NwYXRpYWwtb21pY3MtM2Quc3ZnJywgZGltZW5zaW9uczogJzNkJywgc291cmNlOiAnc3BhdGlhbCcsIHJlcXVpcmVzU3BhdGlhbERhdGE6IHRydWUsIHJlcXVpcmVzU3BhdGlhbDNkOiB0cnVlIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxvdFR5cGVEZXNjcmlwdG9yKHR5cGU6IFBsb3RUeXBlKTogUGxvdFR5cGVEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIFBMT1RfVFlQRV9ERVNDUklQVE9SU1t0eXBlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGhyZWVEaW1lbnNpb25hbCh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gUExPVF9UWVBFX0RFU0NSSVBUT1JTW3R5cGVdPy5kaW1lbnNpb25zID09PSAnM2QnO1xufVxuXG4vLyDilIDilIAgbmFwYXJpLWpzIDNEIHBsb3QtdHlwZSBwcmVkaWNhdGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLyoqIG5hcGFyaS1qcyB2b2x1bWUuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOYXBhcmlWb2x1bWUodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLk5BUEFSSV9WT0xVTUU7XG59XG4vKiogbmFwYXJpLWpzIGlzb3N1cmZhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOYXBhcmlJc29zdXJmYWNlKHR5cGU6IFBsb3RUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlID09PSBQbG90VHlwZS5OQVBBUklfSVNPU1VSRkFDRTtcbn1cbi8qKiBuYXBhcmktanMgaGVpZ2h0LWZpZWxkIHN1cmZhY2UgbWVzaC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hcGFyaVN1cmZhY2UodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLk5BUEFSSV9TVVJGQUNFO1xufVxuLyoqIG5hcGFyaS1qcyAyRCBzY2F0dGVyIChyZWdpb24gY2VudHJvaWRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hcGFyaVNjYXR0ZXIodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLk5BUEFSSV9TQ0FUVEVSO1xufVxuLyoqIG5hcGFyaS1qcyAzRCBzY2F0dGVyICh2b3hlbCBwb2ludCBjbG91ZCkuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOYXBhcmlTY2F0dGVyM2QodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLk5BUEFSSV9TQ0FUVEVSM0Q7XG59XG4vKiogU3BhdGlhbC1vbWljcyBvYnNlcnZhdGlvbnMgb3ZlciB0aGUgdGlzc3VlIGltYWdlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3BhdGlhbE9taWNzKHR5cGU6IFBsb3RUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlID09PSBQbG90VHlwZS5TUEFUSUFMX09NSUNTO1xufVxuLyoqIFNwYXRpYWwtb21pY3Mgb2JzZXJ2YXRpb25zIGFzIGEgM0QgcG9pbnQgY2xvdWQuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTcGF0aWFsT21pY3MzZCh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZSA9PT0gUGxvdFR5cGUuU1BBVElBTF9PTUlDU18zRDtcbn1cbi8qKlxuICogV2hldGhlciB0aGUgcmVuZGVyZXIsIHJhdGhlciB0aGFuIHRoZSBzaGVsbCwgc2hvdWxkIGhhbmRsZSB3aGVlbCB6b29tLlxuICpcbiAqIFRoZSBzaGVsbCdzIHdoZWVsIGxpc3RlbmVyIGFwcGxpZXMgYSBGSVhFRCBzdGVwIHBlciBldmVudCwgd2hpY2ggaXMgZmFyIHRvbyBzZW5zaXRpdmUgZm9yIGFcbiAqIHJlbmRlcmVyIHRoYXQgcmVhZHMgdGhlIHNjcm9sbCBkZWx0YTogaXQgd29ya3Mgb3V0IGF0IDMwJSBwZXIgZXZlbnQgYWdhaW5zdCBuYXBhcmktanMncyAzJSwgYW5kXG4gKiBpZ25vcmVzIHRoZSBkZXZpY2Ugbm9ybWFsaXphdGlvbiBhbmQgZWFzaW5nIHRoZSByZW5kZXJlciBkb2VzLiBTbyBldmVyeSBwbG90IHR5cGUgZHJhd24gYnkgYVxuICogcmVuZGVyZXIgdGhhdCBvd25zIHRoZSB3aGVlbCBoYXMgdG8gb3B0IG91dCBoZXJlLlxuICpcbiAqIFRoZSBpbWFnZSB2aWV3IGFsd2F5cyBkaWQuIFRoZSBzcGF0aWFsLW9taWNzIG1vZGVzIGRpZCBOT1QsIGRlc3BpdGUgYmVpbmcgZHJhd24gYnkgdGhlIHNhbWVcbiAqIG5hcGFyaS1qcyB2aWV3ZXIg4oCUIHRoZSBzaGVsbCBnYXRlZCBvbiBhbiBgaXNIZWF0bWFwYCBmbGFnIHRoYXQgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgb25seSBnb2VzXG4gKiBmYWxzZSBmb3IgdGhlIDNEIFBsb3RseSBzY2VuZXMsIHNvIGl0IHNpbGVudGx5IHRvb2sgdGhlIHdoZWVsIGZvciB0aGVtIHRvby5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcmVyT3duc1doZWVsKHR5cGU6IFBsb3RUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlID09PSBQbG90VHlwZS5JTUFHRSB8fCBpc1NwYXRpYWxPbWljcyh0eXBlKSB8fCBpc1NwYXRpYWxPbWljczNkKHR5cGUpO1xufVxuXG4vKiogQW55IG5hcGFyaS1qcyAzRCBwbG90IHR5cGUgKHZvbHVtZSwgaXNvc3VyZmFjZSwgc3VyZmFjZSwgb3IgM0Qgc2NhdHRlcikuIFJlc29sdXRpb24gaXMgYSBydW50aW1lXG4gKiAgZGVjaW1hdGUgZmFjdG9yIChGdWxsIC8gwr0gLyDCvCAvIOKFmykg4oCUIHNlZSB0aGUgc2VydmljZSdzIGByZXNvbHV0aW9uU2NhbGVgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmFwYXJpM2QodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBpc05hcGFyaVZvbHVtZSh0eXBlKSB8fCBpc05hcGFyaUlzb3N1cmZhY2UodHlwZSkgfHwgaXNOYXBhcmlTdXJmYWNlKHR5cGUpIHx8IGlzTmFwYXJpU2NhdHRlcjNkKHR5cGUpXG4gICk7XG59XG5cbi8qKiBEZWNpbWF0ZSBmYWN0b3JzIG9mZmVyZWQgYnkgdGhlIFJlc29sdXRpb24gY29udHJvbCAoMSA9IEZ1bGwg4oCmIDggPSDihZspLiAqL1xuZXhwb3J0IGNvbnN0IE5BUEFSSV9ERUNJTUFURV9PUFRJT05TOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdID0gW1xuICB7IGxhYmVsOiAnRnVsbCcsIHZhbHVlOiAxIH0sXG4gIHsgbGFiZWw6ICfCvScsIHZhbHVlOiAyIH0sXG4gIHsgbGFiZWw6ICfCvCcsIHZhbHVlOiA0IH0sXG4gIHsgbGFiZWw6ICfihZsnLCB2YWx1ZTogOCB9LFxuXTtcblxuLyoqIERlZmF1bHQgZGVjaW1hdGUgZmFjdG9yOiDCvC4gVGhlIGNhcHMgYXJlIHNldCBzbyDCvCBpcyBhIHNlbnNpYmxlIGRlZmF1bHQgcmVzb2x1dGlvbiB3aGlsZSDCvSBhbmRcbiAqICBGdWxsIG9mZmVyIDLDlyBhbmQgNMOXIHRoZSBkZXRhaWwgZm9yIG9wdC1pbiBoaWdoLXJlc29sdXRpb24gcmVuZGVycy4gKi9cbmV4cG9ydCBjb25zdCBOQVBBUklfREVGQVVMVF9ERUNJTUFURSA9IDQ7XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvcGxvdC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFOLElBQVksUUFnQ1g7QUFoQ0QsV0FBWSxRQUFRO0lBQ2xCO2lGQUM2RTtJQUM3RSwyQkFBZSxDQUFBO0lBQ2YsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIseUZBQXlGO0lBQ3pGLHlCQUFhLENBQUE7SUFDYixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6Qjt1R0FDbUc7SUFDbkcseUNBQTZCLENBQUE7SUFDN0IsMkNBQStCLENBQUE7SUFDL0IsbURBQXVDLENBQUE7SUFDdkMsZ0dBQWdHO0lBQ2hHLDZDQUFpQyxDQUFBO0lBQ2pDLGtGQUFrRjtJQUNsRiw2Q0FBaUMsQ0FBQTtJQUNqQywrRkFBK0Y7SUFDL0YsaURBQXFDLENBQUE7SUFDckM7OzRGQUV3RjtJQUN4RiwyQ0FBK0IsQ0FBQTtJQUMvQjs7OzRFQUd3RTtJQUN4RSxpREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBaENXLFFBQVEsS0FBUixRQUFRLFFBZ0NuQjtBQVdELE1BQU0sa0JBQWtCLEdBQXdCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVqRixrRkFBa0Y7QUFDbEYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQWlDO0lBQ2pFLE9BQU8sT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBOEREOzs7OztHQUtHO0FBQ0gsK0ZBQStGO0FBQy9GLG9EQUFvRDtBQUNwRCxrRkFBa0Y7QUFDbEYsaUZBQWlGO0FB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LEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO0NBQ3pCLENBQUM7QUFFRjswRUFDMEU7QUFDMUUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUga2luZCBvZiByZW5kZXJpbmcgYSB2aWV3ZXIgYmFja2VuZCBzaG91bGQgcHJvZHVjZSBmb3IgdGhlIGxvYWRlZCBkYXRhLlxuICpcbiAqIExpdmVzIGluIGBjb250cmFjdHMvYCAocmF0aGVyIHRoYW4gaW5zaWRlIGEgc3BlY2lmaWMgYmFja2VuZCkgYmVjYXVzZSBpdCBpc1xuICogcGFydCBvZiB0aGUgYmFja2VuZC1uZXV0cmFsIHBsb3R0aW5nIGNvbnRyYWN0OiBib3RoIHRoZSBQbG90bHkgYmFja2VuZCBhbmRcbiAqIGFueSBmdXR1cmUgYmFja2VuZCAoZS5nLiBPcGVuU2VhZHJhZ29uKSBhY2NlcHQgYSBgUGxvdFR5cGVgIG9uIGBwbG90KClgLlxuICpcbiAqIE5PVEU6IGEgYmFja2VuZCBtYXkgbm90IHN1cHBvcnQgZXZlcnkgdHlwZSDigJQgM0QgdHlwZXMgKGBTVVJGQUNFYCxcbiAqIGBTQ0FUVEVSM0RgLCBgSVNPU1VSRkFDRWApIGFyZSBnYXRlZCBiZWhpbmQgYFZpZXdlckZlYXR1cmUuU3VyZmFjZTNEYCBpbiB0aGVcbiAqIGNhcGFiaWxpdGllcyBjb250cmFjdCwgc28gYSAyRC1vbmx5IGJhY2tlbmQgY2FuIGFkdmVydGlzZSB0aGF0IGl0IGNhbid0XG4gKiByZW5kZXIgdGhlbSBhbmQgdGhlIFVJIGNhbiBoaWRlIHRoZSBvcHRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFBsb3RUeXBlIHtcbiAgLyoqIE5hdGl2ZWx5LXRpbGVkLCB6b29tYWJsZSByYXN0ZXIgcmVuZGVyZWQgYnkgT3BlblNlYWRyYWdvbiAodGhlIGRlZmF1bHRcbiAgICogIHZpZXcgZm9yIGFuIGltYWdlKS4gSGVhdG1hcCByZW1haW5zIHRoZSBQbG90bHkgc2NhbGFyLWltYWdlIHJlbmRlcmluZy4gKi9cbiAgSU1BR0UgPSAnaW1hZ2UnLFxuICBIRUFUTUFQID0gJ2hlYXRtYXAnLFxuICBTVVJGQUNFID0gJ3N1cmZhY2UnLFxuICBDT05UT1VSID0gJ2NvbnRvdXInLFxuICBTQ0FUVEVSID0gJ3NjYXR0ZXInLFxuICAvLyBMSU5FOiByZXNlcnZlZC9zdHViYmVkIOKAlCBpbnRlbnNpdHkgcHJvZmlsZXMgYXJlIG5vdyBSZWdpb24tYmFzZWQgKGtlcHQgZm9yIGZ1dHVyZSB1c2UpXG4gIExJTkUgPSAnbGluZScsXG4gIFNDQVRURVIzRCA9ICdzY2F0dGVyM2QnLFxuICBJU09TVVJGQUNFID0gJ2lzb3N1cmZhY2UnLFxuICAvKiogV2ViR1BVIG5hcGFyaS1qcyByZW5kZXJpbmdzIChqaXQtdWkjMTAyKSwgc2VsZWN0YWJsZSBhbG9uZ3NpZGUgdGhlIE9TRC9QbG90bHkgdHlwZXMuIFRoZSAzRFxuICAgKiAgdHlwZXMgdGFrZSBhIHJ1bnRpbWUgZGVjaW1hdGUgZmFjdG9yIChGdWxsIC8gwr0gLyDCvCAvIOKFmykgaW5zdGVhZCBvZiBmaXhlZCBoaS9sby1yZXMgdmFyaWFudHMuICovXG4gIE5BUEFSSV9JTUFHRSA9ICduYXBhcmktaW1hZ2UnLFxuICBOQVBBUklfVk9MVU1FID0gJ25hcGFyaS12b2x1bWUnLFxuICBOQVBBUklfSVNPU1VSRkFDRSA9ICduYXBhcmktaXNvc3VyZmFjZScsXG4gIC8qKiBXZWJHUFUgaGVpZ2h0LWZpZWxkIHN1cmZhY2UgbWVzaCAoeiA9IGludGVuc2l0eSksIHRoZSBuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTVVJGQUNFLiAqL1xuICBOQVBBUklfU1VSRkFDRSA9ICduYXBhcmktc3VyZmFjZScsXG4gIC8qKiBXZWJHUFUgMkQgc2NhdHRlciBvZiByZWdpb24gY2VudHJvaWRzIChuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTQ0FUVEVSKS4gKi9cbiAgTkFQQVJJX1NDQVRURVIgPSAnbmFwYXJpLXNjYXR0ZXInLFxuICAvKiogV2ViR1BVIDNEIHNjYXR0ZXIgb2YgdGhlIGRvd25zYW1wbGVkIHZveGVsIGNsb3VkIChuYXBhcmktanMgYW5hbG9nIG9mIFBsb3RseSBTQ0FUVEVSM0QpLiAqL1xuICBOQVBBUklfU0NBVFRFUjNEID0gJ25hcGFyaS1zY2F0dGVyM2QnLFxuICAvKiogU3BhdGlhbC1vbWljcyBvYnNlcnZhdGlvbnMgKFZpc2l1bSBzcG90cywgc2VnbWVudGVkIGNlbGxzKSBkcmF3biBvdmVyIHRoZSB0aXNzdWUgaW1hZ2UgYW5kXG4gICAqICBjb2xvdXJlZCBieSBhbiBhbm5vdGF0aW9uIGNvbHVtbiBvciBhIGdlbmUuIE5lZWRzIGEgYFNwYXRpYWxEYXRhc2V0YCBvbiBgU1BBVElBTF9EQVRBX1BPUlRgLFxuICAgKiAgc28gaXQgaXMgZ2F0ZWQgYnkgYHJlcXVpcmVzU3BhdGlhbERhdGFgIGFuZCBuZXZlciBhcHBlYXJzIGZvciBhbiBpbWFnZS1vbmx5IGhvc3QuICovXG4gIFNQQVRJQUxfT01JQ1MgPSAnc3BhdGlhbC1vbWljcycsXG4gIC8qKiBTcGF0aWFsLW9taWNzIG9ic2VydmF0aW9ucyBhcyBhIDNEIHBvaW50IGNsb3VkLCBmb3IgYXNzYXlzIHdob3NlIG9ic2VydmF0aW9ucyBjYXJyeSBhIHog4oCUXG4gICAqICBzZXJpYWwgc2VjdGlvbnMgcmVnaXN0ZXJlZCBpbnRvIGEgY29tbW9uIGZyYW1lIChlLmcuIHRoZSBBbGxlbiBDQ0YpLCBvciBhIGdlbnVpbmVseVxuICAgKiAgdm9sdW1ldHJpYyBhc3NheS4gR2F0ZWQgYnkgYHJlcXVpcmVzU3BhdGlhbDNkYCwgYSBzdHJpY3RseSBuYXJyb3dlciBnYXRlIHRoYW5cbiAgICogIHtAbGluayBTUEFUSUFMX09NSUNTfTogYSBzaW5nbGUtcGxhbmUgZGF0YXNldCBoYXMgbm8geiB0byByZW5kZXIuICovXG4gIFNQQVRJQUxfT01JQ1NfM0QgPSAnc3BhdGlhbC1vbWljcy0zZCcsXG59XG5cbi8qKlxuICogQSB2YWx1ZSB0aGUgcGxvdC10eXBlIHNlbGVjdG9yIGNhbiBob2xkOiBhIGJ1aWx0LWluIHtAbGluayBQbG90VHlwZX0sIG9yIHRoZVxuICogYHR5cGVgIG9mIGEgY29udHJpYnV0ZWQgbW9kZSAoYENvbnRyaWJ1dGVkUGxvdFR5cGVEZXNjcmlwdG9yLnR5cGVgLCBzZWVcbiAqIGBwbG90LXR5cGUtY29udHJpYnV0aW9uLmNvbnRyYWN0LnRzYCkuIEV2ZXJ5dGhpbmcgdGhhdCBkZWNpZGVzIEhPVyB0byByZW5kZXJcbiAqIGtlZXBzIHRha2luZyBhIHtAbGluayBQbG90VHlwZX07IGEgY29udHJpYnV0ZWQgaWQgaXMgcmVzb2x2ZWQgdG8gaXRzXG4gKiBgYmFzZVR5cGVgIGZpcnN0LCBzbyBubyByZW5kZXJpbmcgc3dpdGNoIGV2ZXIgc2VlcyBvbmUuXG4gKi9cbmV4cG9ydCB0eXBlIFBsb3RUeXBlSWQgPSBQbG90VHlwZSB8IHN0cmluZztcblxuY29uc3QgQlVJTFRJTl9QTE9UX1RZUEVTOiBSZWFkb25seVNldDxzdHJpbmc+ID0gbmV3IFNldChPYmplY3QudmFsdWVzKFBsb3RUeXBlKSk7XG5cbi8qKiBXaGV0aGVyIGFuIGlkIG5hbWVzIGEgYnVpbHQtaW4gcGxvdCB0eXBlIChhcyBvcHBvc2VkIHRvIGEgY29udHJpYnV0ZWQgb25lKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0J1aWx0aW5QbG90VHlwZShpZDogUGxvdFR5cGVJZCB8IG51bGwgfCB1bmRlZmluZWQpOiBpZCBpcyBQbG90VHlwZSB7XG4gIHJldHVybiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnICYmIEJVSUxUSU5fUExPVF9UWVBFUy5oYXMoaWQpO1xufVxuXG4vKiogSG93IG1hbnkgc3BhdGlhbCBkaW1lbnNpb25zIGEgcGxvdCB0eXBlIHJlbmRlcnMgaW4uICovXG5leHBvcnQgdHlwZSBQbG90RGltZW5zaW9ucyA9ICcyZCcgfCAnM2QnO1xuXG4vKipcbiAqIFdoZXJlIGEgcGxvdCB0eXBlIHB1bGxzIGl0cyBkYXRhIGZyb206XG4gKiAgLSBgaW1hZ2VgICAg4oCUIHRoZSBsb2FkZWQgcGl4ZWwgbWF0cmljZXMgLyB6LXN0YWNrIChIRUFUTUFQLCBTVVJGQUNFLCDigKYpXG4gKiAgLSBgcmVnaW9uc2Ag4oCUIHRoZSBkcmF3bi9kZXJpdmVkIHJlZ2lvbnMgKFNDQVRURVIgb2YgcmVnaW9uIGNlbnRyb2lkcywg4oCmKVxuICogIC0gYHNwYXRpYWxgIOKAlCBhIGBTcGF0aWFsRGF0YXNldGAgc3VwcGxpZWQgdGhyb3VnaCBgU1BBVElBTF9EQVRBX1BPUlRgOiBOXG4gKiAgICBvYnNlcnZhdGlvbnMgKHNwb3RzL2NlbGxzKSB3aXRoIGNhdGVnb3JpY2FsICsgY29udGludW91cyBjb2x1bW5zIGFuZCBhXG4gKiAgICBsYXppbHktZmV0Y2hlZCBmZWF0dXJlIG1hdHJpeCwgZHJhd24gb3ZlciB0aGUgdGlzc3VlIGltYWdlIHRoZXkgY2FtZSBmcm9tLlxuICovXG5leHBvcnQgdHlwZSBQbG90RGF0YVNvdXJjZSA9ICdpbWFnZScgfCAncmVnaW9ucycgfCAnc3BhdGlhbCc7XG5cbi8qKlxuICogQmFja2VuZC1uZXV0cmFsIG1ldGFkYXRhIGFib3V0IGEgcGxvdCB0eXBlLiBEcml2ZXMgVUkgYWZmb3JkYW5jZXMgKHdoaWNoXG4gKiB0eXBlcyBhcmUgM0QsIHdoaWNoIG5lZWQgYW4gaW1hZ2Ugc3RhY2ssIGhvdyB0byBsYWJlbCB0aGVtIGluIGEgZHJvcGRvd24pXG4gKiB3aXRob3V0IGFueSBiYWNrZW5kJ3MgdHJhY2UtYnVpbGRpbmcgbG9naWMgbGVha2luZyBpbnRvIHRoZSBjb250cmFjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG90VHlwZURlc2NyaXB0b3Ige1xuICB0eXBlOiBQbG90VHlwZTtcbiAgLyoqIEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciBtZW51cy9kcm9wZG93bnMuIFNob3duIGluICoqdGVzdCBtb2RlKiosIHdoZXJlXG4gICAqICBldmVyeSBiYWNrZW5kJ3MgdHlwZSBpcyBvZmZlcmVkLCBzbyBpdCBjYXJyaWVzIHRoZSBiYWNrZW5kIHN1ZmZpeCAoZS5nLlxuICAgKiAgXCJTdXJmYWNlIChuYXBhcmkgwrcgV2ViR1BVKVwiKSB0byBkaXNhbWJpZ3VhdGUgc2FtZS1uYW1lZCBtb2Rlcy4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIExhYmVsIHNob3duIGluIHRoZSAqKmRlZmF1bHQgKG5vbi10ZXN0KSBzZWxlY3RvcioqLCB3aGVyZSBhIHNpbmdsZSBjdXJhdGVkXG4gICAqIG1vZGUgb3ducyBlYWNoIG5hbWUg4oCUIHNvIGl0IGRyb3BzIHRoZSBiYWNrZW5kIHN1ZmZpeCAoZS5nLiBqdXN0IFwiU3VyZmFjZVwiKS5cbiAgICogQSB0eXBlIFdJVEhPVVQgYSBgcHJvZHVjdGlvbkxhYmVsYCBpcyAqKnRlc3Qtb25seSoqOiBoaWRkZW4gZnJvbSB0aGUgZGVmYXVsdFxuICAgKiBzZWxlY3RvciBhbmQgc2hvd24gb25seSB3aGVuIHRoZSBob3N0IGVuYWJsZXMgdGVzdCBtb2RlLiBUaGlzIGlzIHRoZSBzaW5nbGVcbiAgICoga25vYiB0aGF0IGN1cmF0ZXMgdGhlIGRlZmF1bHQgcGxvdC1tb2RlIGxpc3QuXG4gICAqL1xuICBwcm9kdWN0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJY29uIHNob3duIHRvIHRoZSBsZWZ0IG9mIHRoZSBsYWJlbCBpbiB0aGUgcGxvdC10eXBlIHNlbGVjdG9yLiBFaXRoZXIgYVxuICAgKiBQcmltZU5HIGljb24gY2xhc3MgKHN0YXJ0cyB3aXRoIGBwaSBgLCBlLmcuIGBwaSBwaS1pbWFnZWApIHJlbmRlcmVkIGFzIGFcbiAgICogZm9udCBnbHlwaCwgb3IgYSBzZXJ2ZWQgU1ZHIGFzc2V0IHBhdGggKGUuZy4gYGFzc2V0cy9wbG90dGluZy9zdXJmYWNlLnN2Z2ApXG4gICAqIHJlbmRlcmVkIGFzIGFuIGA8aW1nPmAuIEJvdGggYXJlIHRpbnRlZCB0byB0aGUgdG9vbGJhcidzIHByaW1hcnkgYmx1ZS5cbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG4gIGRpbWVuc2lvbnM6IFBsb3REaW1lbnNpb25zO1xuICBzb3VyY2U6IFBsb3REYXRhU291cmNlO1xuICAvKiogVHJ1ZSB3aGVuIHRoZSB0eXBlIG9ubHkgbWFrZXMgc2Vuc2Ugb3ZlciBhIG11bHRpLWZyYW1lIHotc3RhY2suICovXG4gIHJlcXVpcmVzU3RhY2s/OiBib29sZWFuO1xuICAvKiogVHJ1ZSB3aGVuIHRoZSB0eXBlIG1hcHMgYSBzaW5nbGUgc2NhbGFyIGludGVuc2l0eSBwZXIgcGl4ZWwgKGNvbnRvdXIsXG4gICAqICBzdXJmYWNlLCBpbnRlbnNpdHkgcHJvZmlsZSwgaXNvc3VyZmFjZSkg4oCUIG9ubHkgbWVhbmluZ2Z1bCBmb3IgZ3JheXNjYWxlLlxuICAgKiAgSW1hZ2UvSGVhdG1hcCByZW5kZXIgUkdCIGZpbmU7IFNjYXR0ZXIgdXNlcyByZWdpb25zLiAqL1xuICByZXF1aXJlc0dyYXlzY2FsZT86IGJvb2xlYW47XG4gIC8qKiBUcnVlIHdoZW4gdGhlIHR5cGUgcmVuZGVycyBhIGBTcGF0aWFsRGF0YXNldGAgKGBzb3VyY2U6ICdzcGF0aWFsJ2ApIGFuZCBpc1xuICAgKiAgdGhlcmVmb3JlIG1lYW5pbmdsZXNzIHdpdGhvdXQgb25lLiBUaGUgc2VsZWN0b3IgaGlkZXMgaXQgdW50aWwgYSBkYXRhc2V0IGlzXG4gICAqICBwdWJsaXNoZWQgb24gYFNQQVRJQUxfREFUQV9QT1JUYCDigJQgdGhlIHNhbWUgc2hhcGUgb2YgZ2F0ZSBhc1xuICAgKiAge0BsaW5rIHJlcXVpcmVzU3RhY2t9IGZvciBhIHotc3RhY2ssIHNvIGEgaG9zdCB3aXRoIG5vIHNwYXRpYWwgZGF0YSBuZXZlclxuICAgKiAgc2VlcyB0aGUgbW9kZS4gKi9cbiAgcmVxdWlyZXNTcGF0aWFsRGF0YT86IGJvb2xlYW47XG4gIC8qKiBUcnVlIHdoZW4gdGhlIHR5cGUgbmVlZHMgb2JzZXJ2YXRpb25zIHdpdGggYSB6IGNvb3JkaW5hdGUsIG5vdCBtZXJlbHkgYVxuICAgKiAgYFNwYXRpYWxEYXRhc2V0YC4gTmFycm93ZXIgdGhhbiB7QGxpbmsgcmVxdWlyZXNTcGF0aWFsRGF0YX06IG1vc3Qgc3BhdGlhbFxuICAgKiAgYXNzYXlzIGFyZSBhIHNpbmdsZSBwbGFuZSwgc28gdGhpcyBoaWRlcyB0aGUgM0QgbW9kZSB1bmxlc3MgdGhlIHB1Ymxpc2hlZFxuICAgKiAgZGF0YXNldCBhY3R1YWxseSBjYXJyaWVzIGBvYnNlcnZhdGlvbnMuemAuICovXG4gIHJlcXVpcmVzU3BhdGlhbDNkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciBwbG90LXR5cGUgbWV0YWRhdGEuIExJTkUgaXMgaW50ZW50aW9uYWxseSBhYnNlbnQg4oCUXG4gKiBpbnRlbnNpdHkgcHJvZmlsZXMgYXJlIG5vdyBSZWdpb24tYmFzZWQgbGluZSBST0lzIChhdmFpbGFibGUgaW4gSGVhdG1hcC9JbWFnZVxuICogbW9kZSksIHNvIExJTkUgaXMgbm8gbG9uZ2VyIG9mZmVyZWQgaW4gdGhlIHNlbGVjdG9yICh0aGUgZW51bSBtZW1iZXIgaXMga2VwdFxuICogZm9yIGZ1dHVyZSB1c2UpLiBIZW5jZSB0aGUgYFBhcnRpYWxgIHJlY29yZC5cbiAqL1xuLy8gRHJvcGRvd24gb3JkZXIgPSBpbnNlcnRpb24gb3JkZXI6IEltYWdlIChPU0QpIGRlZmF1bHQgYXQgdGhlIHRvcCwgdGhlbiBhbGwgUGxvdGx5IHBsb3QgbW9kZXNcbi8vIGdyb3VwZWQsIHRoZW4gYWxsIG5hcGFyaS1qcyBXZWJHUFUgbW9kZXMgZ3JvdXBlZC5cbi8vIGBwcm9kdWN0aW9uTGFiZWxgIG1hcmtzIHRoZSBjdXJhdGVkIGRlZmF1bHQtc2VsZWN0b3Igc2V0IChqaXQtdWkjNzAgZm9sbG93LXVwKTpcbi8vICAtIElNQUdFIC8gSEVBVE1BUCAvIENPTlRPVVIgKDJEKSBhbmQgdGhlIG5hcGFyaSBTVVJGQUNFIC8gVk9MVU1FIC8gSVNPU1VSRkFDRVxuLy8gICAgKDNEKSBhcmUgdGhlIG1vZGVzIHNob3duIGJ5IGRlZmF1bHQsIHVuZGVyIHN1ZmZpeC1mcmVlIG5hbWVzLlxuLy8gIC0gRXZlcnl0aGluZyBlbHNlIChhbGwgU2NhdHRlcnMsIE5BUEFSSV9JTUFHRSwgYW5kIHRoZSBQbG90bHkgU1VSRkFDRSAvXG4vLyAgICBJU09TVVJGQUNFIHRoYXQgdGhlIG5hcGFyaSB2ZXJzaW9ucyBzdXBlcnNlZGUpIGlzIHRlc3Qtb25seSDigJQgbm9cbi8vICAgIGBwcm9kdWN0aW9uTGFiZWxgLCBzbyBpdCBhcHBlYXJzIG9ubHkgd2hlbiB0aGUgaG9zdCBlbmFibGVzIHRlc3QgbW9kZS5cbmV4cG9ydCBjb25zdCBQTE9UX1RZUEVfREVTQ1JJUFRPUlM6IFBhcnRpYWw8UmVjb3JkPFBsb3RUeXBlLCBQbG90VHlwZURlc2NyaXB0b3I+PiA9IHtcbiAgLy8g4pSA4pSAIERlZmF1bHQg4pSA4pSAXG4gIFtQbG90VHlwZS5JTUFHRV06IHtcbiAgICB0eXBlOiBQbG90VHlwZS5JTUFHRSxcbiAgICBsYWJlbDogJ0ltYWdlIChPU0QpJyxcbiAgICBwcm9kdWN0aW9uTGFiZWw6ICdJbWFnZScsXG4gICAgaWNvbjogJ3BpIHBpLWltYWdlJyxcbiAgICBkaW1lbnNpb25zOiAnMmQnLFxuICAgIHNvdXJjZTogJ2ltYWdlJyxcbiAgfSxcbiAgLy8g4pSA4pSAIFBsb3RseSDilIDilIBcbiAgW1Bsb3RUeXBlLkhFQVRNQVBdOiB7XG4gICAgdHlwZTogUGxvdFR5cGUuSEVBVE1BUCxcbiAgICBsYWJlbDogJ0hlYXRtYXAgKFBsb3RseSknLFxuICAgIHByb2R1Y3Rpb25MYWJlbDogJ0hlYXRtYXAnLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvaGVhdG1hcC5zdmcnLFxuICAgIGRpbWVuc2lvbnM6ICcyZCcsXG4gICAgc291cmNlOiAnaW1hZ2UnLFxuICB9LFxuICBbUGxvdFR5cGUuQ09OVE9VUl06IHtcbiAgICB0eXBlOiBQbG90VHlwZS5DT05UT1VSLFxuICAgIGxhYmVsOiAnQ29udG91ciAoUGxvdGx5KScsXG4gICAgcHJvZHVjdGlvbkxhYmVsOiAnQ29udG91cicsXG4gICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9jb250b3VyLnN2ZycsXG4gICAgZGltZW5zaW9uczogJzJkJyxcbiAgICBzb3VyY2U6ICdpbWFnZScsXG4gICAgcmVxdWlyZXNHcmF5c2NhbGU6IHRydWUsXG4gIH0sXG4gIFtQbG90VHlwZS5TQ0FUVEVSXToge1xuICAgIHR5cGU6IFBsb3RUeXBlLlNDQVRURVIsXG4gICAgbGFiZWw6ICdTY2F0dGVyIDJEIChQbG90bHkpJyxcbiAgICBpY29uOiAncGkgcGktY2hhcnQtc2NhdHRlcicsXG4gICAgZGltZW5zaW9uczogJzJkJyxcbiAgICBzb3VyY2U6ICdyZWdpb25zJyxcbiAgfSxcbiAgW1Bsb3RUeXBlLlNVUkZBQ0VdOiB7XG4gICAgdHlwZTogUGxvdFR5cGUuU1VSRkFDRSxcbiAgICBsYWJlbDogJ1N1cmZhY2UgKFBsb3RseSknLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvc3VyZmFjZS5zdmcnLFxuICAgIGRpbWVuc2lvbnM6ICczZCcsXG4gICAgc291cmNlOiAnaW1hZ2UnLFxuICAgIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlLFxuICB9LFxuICBbUGxvdFR5cGUuU0NBVFRFUjNEXToge1xuICAgIHR5cGU6IFBsb3RUeXBlLlNDQVRURVIzRCxcbiAgICBsYWJlbDogJ1NjYXR0ZXIgM0QgKFBsb3RseSknLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvM2QtY29vcmRpbmF0ZXMuc3ZnJyxcbiAgICBkaW1lbnNpb25zOiAnM2QnLFxuICAgIHNvdXJjZTogJ2ltYWdlJyxcbiAgICByZXF1aXJlc1N0YWNrOiB0cnVlLFxuICAgIHJlcXVpcmVzR3JheXNjYWxlOiB0cnVlLFxuICB9LFxuICBbUGxvdFR5cGUuSVNPU1VSRkFDRV06IHtcbiAgICB0eXBlOiBQbG90VHlwZS5JU09TVVJGQUNFLFxuICAgIGxhYmVsOiAnSXNvc3VyZmFjZSAoUGxvdGx5KScsXG4gICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9pc29zdXJmYWNlLnN2ZycsXG4gICAgZGltZW5zaW9uczogJzNkJyxcbiAgICBzb3VyY2U6ICdpbWFnZScsXG4gICAgcmVxdWlyZXNTdGFjazogdHJ1ZSxcbiAgICByZXF1aXJlc0dyYXlzY2FsZTogdHJ1ZSxcbiAgfSxcbiAgLy8g4pSA4pSAIG5hcGFyaS1qcyBXZWJHUFUgKGppdC11aSMxMDIpLiBUaGUgM0QgdHlwZXMgdGFrZSBhIHJ1bnRpbWUgZGVjaW1hdGUgZmFjdG9yLiDilIDilIBcbiAgW1Bsb3RUeXBlLk5BUEFSSV9JTUFHRV06IHtcbiAgICB0eXBlOiBQbG90VHlwZS5OQVBBUklfSU1BR0UsXG4gICAgbGFiZWw6ICdJbWFnZSAobmFwYXJpIMK3IFdlYkdQVSknLFxuICAgIGljb246ICdwaSBwaS1pbWFnZScsXG4gICAgZGltZW5zaW9uczogJzJkJyxcbiAgICBzb3VyY2U6ICdpbWFnZScsXG4gIH0sXG4gIFtQbG90VHlwZS5OQVBBUklfU0NBVFRFUl06IHtcbiAgICB0eXBlOiBQbG90VHlwZS5OQVBBUklfU0NBVFRFUixcbiAgICBsYWJlbDogJ1NjYXR0ZXIgMkQgKG5hcGFyaSDCtyBXZWJHUFUpJyxcbiAgICBpY29uOiAncGkgcGktY2hhcnQtc2NhdHRlcicsXG4gICAgZGltZW5zaW9uczogJzJkJyxcbiAgICBzb3VyY2U6ICdyZWdpb25zJyxcbiAgfSxcbiAgW1Bsb3RUeXBlLk5BUEFSSV9TVVJGQUNFXToge1xuICAgIHR5cGU6IFBsb3RUeXBlLk5BUEFSSV9TVVJGQUNFLFxuICAgIGxhYmVsOiAnU3VyZmFjZSAobmFwYXJpIMK3IFdlYkdQVSknLFxuICAgIHByb2R1Y3Rpb25MYWJlbDogJ1N1cmZhY2UnLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvc3VyZmFjZS5zdmcnLFxuICAgIGRpbWVuc2lvbnM6ICczZCcsXG4gICAgc291cmNlOiAnaW1hZ2UnLFxuICAgIC8vIEEgaGVpZ2h0IGZpZWxkIGlzIHogPSBpbnRlbnNpdHkgb2Ygb25lIHBsYW5lOiBpdCB3b3JrcyBmb3IgYW55IGdyYXlzY2FsZSBvciBSR0JcbiAgICAvLyBpbWFnZSAoUkdCIOKGkiBsdW1pbmFuY2UpIGFuZCBuZWVkcyBubyBzdGFjay5cbiAgfSxcbiAgW1Bsb3RUeXBlLk5BUEFSSV9TQ0FUVEVSM0RdOiB7XG4gICAgdHlwZTogUGxvdFR5cGUuTkFQQVJJX1NDQVRURVIzRCxcbiAgICBsYWJlbDogJ1NjYXR0ZXIgM0QgKG5hcGFyaSDCtyBXZWJHUFUpJyxcbiAgICBpY29uOiAnYXNzZXRzL3Bsb3R0aW5nLzNkLWNvb3JkaW5hdGVzLnN2ZycsXG4gICAgZGltZW5zaW9uczogJzNkJyxcbiAgICBzb3VyY2U6ICdpbWFnZScsXG4gICAgcmVxdWlyZXNTdGFjazogdHJ1ZSxcbiAgICByZXF1aXJlc0dyYXlzY2FsZTogdHJ1ZSxcbiAgfSxcbiAgW1Bsb3RUeXBlLk5BUEFSSV9WT0xVTUVdOiB7XG4gICAgdHlwZTogUGxvdFR5cGUuTkFQQVJJX1ZPTFVNRSxcbiAgICBsYWJlbDogJ1ZvbHVtZSAobmFwYXJpIMK3IFdlYkdQVSknLFxuICAgIHByb2R1Y3Rpb25MYWJlbDogJ1ZvbHVtZScsXG4gICAgaWNvbjogJ2Fzc2V0cy9wbG90dGluZy9jdWJlLTNkLnN2ZycsXG4gICAgZGltZW5zaW9uczogJzNkJyxcbiAgICBzb3VyY2U6ICdpbWFnZScsXG4gICAgcmVxdWlyZXNTdGFjazogdHJ1ZSxcbiAgICByZXF1aXJlc0dyYXlzY2FsZTogdHJ1ZSxcbiAgfSxcbiAgW1Bsb3RUeXBlLk5BUEFSSV9JU09TVVJGQUNFXToge1xuICAgIHR5cGU6IFBsb3RUeXBlLk5BUEFSSV9JU09TVVJGQUNFLFxuICAgIGxhYmVsOiAnSXNvc3VyZmFjZSAobmFwYXJpIMK3IFdlYkdQVSknLFxuICAgIHByb2R1Y3Rpb25MYWJlbDogJ0lzb3N1cmZhY2UnLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvaXNvc3VyZmFjZS5zdmcnLFxuICAgIGRpbWVuc2lvbnM6ICczZCcsXG4gICAgc291cmNlOiAnaW1hZ2UnLFxuICAgIHJlcXVpcmVzU3RhY2s6IHRydWUsXG4gICAgcmVxdWlyZXNHcmF5c2NhbGU6IHRydWUsXG4gIH0sXG4gIC8vIOKUgOKUgCBTcGF0aWFsIG9taWNzIOKUgOKUgFxuICBbUGxvdFR5cGUuU1BBVElBTF9PTUlDU106IHtcbiAgICB0eXBlOiBQbG90VHlwZS5TUEFUSUFMX09NSUNTLFxuICAgIGxhYmVsOiAnU3BhdGlhbCBvbWljcyAobmFwYXJpIMK3IFdlYkdQVSknLFxuICAgIHByb2R1Y3Rpb25MYWJlbDogJ1NwYXRpYWwgb21pY3MnLFxuICAgIGljb246ICdhc3NldHMvcGxvdHRpbmcvc3BhdGlhbC1vbWljcy5zdmcnLFxuICAgIGRpbWVuc2lvbnM6ICcyZCcsXG4gICAgc291cmNlOiAnc3BhdGlhbCcsXG4gICAgcmVxdWlyZXNTcGF0aWFsRGF0YTogdHJ1ZSxcbiAgfSxcbiAgW1Bsb3RUeXBlLlNQQVRJQUxfT01JQ1NfM0RdOiB7XG4gICAgdHlwZTogUGxvdFR5cGUuU1BBVElBTF9PTUlDU18zRCxcbiAgICBsYWJlbDogJ1NwYXRpYWwgb21pY3MgM0QgKG5hcGFyaSDCtyBXZWJHUFUpJyxcbiAgICBwcm9kdWN0aW9uTGFiZWw6ICdTcGF0aWFsIG9taWNzIDNEJyxcbiAgICBpY29uOiAnYXNzZXRzL3Bsb3R0aW5nL3NwYXRpYWwtb21pY3MtM2Quc3ZnJyxcbiAgICBkaW1lbnNpb25zOiAnM2QnLFxuICAgIHNvdXJjZTogJ3NwYXRpYWwnLFxuICAgIHJlcXVpcmVzU3BhdGlhbERhdGE6IHRydWUsXG4gICAgcmVxdWlyZXNTcGF0aWFsM2Q6IHRydWUsXG4gIH0sXG59O1xuXG4vKiogVGhlIGJ1aWx0LWluIGRlc2NyaXB0b3IgKGxhYmVsLCBpY29uLCBkaW1lbnNpb25zLCBkYXRhIHNvdXJjZSkgb2YgYSBwbG90IHR5cGUsIGlmIGFueS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQbG90VHlwZURlc2NyaXB0b3IodHlwZTogUGxvdFR5cGUpOiBQbG90VHlwZURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICByZXR1cm4gUExPVF9UWVBFX0RFU0NSSVBUT1JTW3R5cGVdO1xufVxuXG4vKiogV2hldGhlciBhIGJ1aWx0LWluIHBsb3QgdHlwZSByZW5kZXJzIGluIDNEIChpdHMgZGVzY3JpcHRvciBzYXlzIGBkaW1lbnNpb25zOiAnM2QnYCkuICovXG5leHBvcnQgZnVuY3Rpb24gaXNUaHJlZURpbWVuc2lvbmFsKHR5cGU6IFBsb3RUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiBQTE9UX1RZUEVfREVTQ1JJUFRPUlNbdHlwZV0/LmRpbWVuc2lvbnMgPT09ICczZCc7XG59XG5cbi8vIOKUgOKUgCBuYXBhcmktanMgM0QgcGxvdC10eXBlIHByZWRpY2F0ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vKiogbmFwYXJpLWpzIHZvbHVtZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hcGFyaVZvbHVtZSh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZSA9PT0gUGxvdFR5cGUuTkFQQVJJX1ZPTFVNRTtcbn1cbi8qKiBuYXBhcmktanMgaXNvc3VyZmFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hcGFyaUlzb3N1cmZhY2UodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLk5BUEFSSV9JU09TVVJGQUNFO1xufVxuLyoqIG5hcGFyaS1qcyBoZWlnaHQtZmllbGQgc3VyZmFjZSBtZXNoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmFwYXJpU3VyZmFjZSh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZSA9PT0gUGxvdFR5cGUuTkFQQVJJX1NVUkZBQ0U7XG59XG4vKiogbmFwYXJpLWpzIDJEIHNjYXR0ZXIgKHJlZ2lvbiBjZW50cm9pZHMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmFwYXJpU2NhdHRlcih0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZSA9PT0gUGxvdFR5cGUuTkFQQVJJX1NDQVRURVI7XG59XG4vKiogbmFwYXJpLWpzIDNEIHNjYXR0ZXIgKHZveGVsIHBvaW50IGNsb3VkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hcGFyaVNjYXR0ZXIzZCh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZSA9PT0gUGxvdFR5cGUuTkFQQVJJX1NDQVRURVIzRDtcbn1cbi8qKiBTcGF0aWFsLW9taWNzIG9ic2VydmF0aW9ucyBvdmVyIHRoZSB0aXNzdWUgaW1hZ2UuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTcGF0aWFsT21pY3ModHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLlNQQVRJQUxfT01JQ1M7XG59XG4vKiogU3BhdGlhbC1vbWljcyBvYnNlcnZhdGlvbnMgYXMgYSAzRCBwb2ludCBjbG91ZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NwYXRpYWxPbWljczNkKHR5cGU6IFBsb3RUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlID09PSBQbG90VHlwZS5TUEFUSUFMX09NSUNTXzNEO1xufVxuLyoqXG4gKiBXaGV0aGVyIHRoZSByZW5kZXJlciwgcmF0aGVyIHRoYW4gdGhlIHNoZWxsLCBzaG91bGQgaGFuZGxlIHdoZWVsIHpvb20uXG4gKlxuICogVGhlIHNoZWxsJ3Mgd2hlZWwgbGlzdGVuZXIgYXBwbGllcyBhIEZJWEVEIHN0ZXAgcGVyIGV2ZW50LCB3aGljaCBpcyBmYXIgdG9vIHNlbnNpdGl2ZSBmb3IgYVxuICogcmVuZGVyZXIgdGhhdCByZWFkcyB0aGUgc2Nyb2xsIGRlbHRhOiBpdCB3b3JrcyBvdXQgYXQgMzAlIHBlciBldmVudCBhZ2FpbnN0IG5hcGFyaS1qcydzIDMlLCBhbmRcbiAqIGlnbm9yZXMgdGhlIGRldmljZSBub3JtYWxpemF0aW9uIGFuZCBlYXNpbmcgdGhlIHJlbmRlcmVyIGRvZXMuIFNvIGV2ZXJ5IHBsb3QgdHlwZSBkcmF3biBieSBhXG4gKiByZW5kZXJlciB0aGF0IG93bnMgdGhlIHdoZWVsIGhhcyB0byBvcHQgb3V0IGhlcmUuXG4gKlxuICogVGhlIGltYWdlIHZpZXcgYWx3YXlzIGRpZC4gVGhlIHNwYXRpYWwtb21pY3MgbW9kZXMgZGlkIE5PVCwgZGVzcGl0ZSBiZWluZyBkcmF3biBieSB0aGUgc2FtZVxuICogbmFwYXJpLWpzIHZpZXdlciDigJQgdGhlIHNoZWxsIGdhdGVkIG9uIGFuIGBpc0hlYXRtYXBgIGZsYWcgdGhhdCBkZWZhdWx0cyB0byB0cnVlIGFuZCBvbmx5IGdvZXNcbiAqIGZhbHNlIGZvciB0aGUgM0QgUGxvdGx5IHNjZW5lcywgc28gaXQgc2lsZW50bHkgdG9vayB0aGUgd2hlZWwgZm9yIHRoZW0gdG9vLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyZXJPd25zV2hlZWwodHlwZTogUGxvdFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGUgPT09IFBsb3RUeXBlLklNQUdFIHx8IGlzU3BhdGlhbE9taWNzKHR5cGUpIHx8IGlzU3BhdGlhbE9taWNzM2QodHlwZSk7XG59XG5cbi8qKiBBbnkgbmFwYXJpLWpzIDNEIHBsb3QgdHlwZSAodm9sdW1lLCBpc29zdXJmYWNlLCBzdXJmYWNlLCBvciAzRCBzY2F0dGVyKS4gUmVzb2x1dGlvbiBpcyBhIHJ1bnRpbWVcbiAqICBkZWNpbWF0ZSBmYWN0b3IgKEZ1bGwgLyDCvSAvIMK8IC8g4oWbKSDigJQgc2VlIHRoZSBzZXJ2aWNlJ3MgYHJlc29sdXRpb25TY2FsZWAuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOYXBhcmkzZCh0eXBlOiBQbG90VHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNOYXBhcmlWb2x1bWUodHlwZSkgfHwgaXNOYXBhcmlJc29zdXJmYWNlKHR5cGUpIHx8IGlzTmFwYXJpU3VyZmFjZSh0eXBlKSB8fCBpc05hcGFyaVNjYXR0ZXIzZCh0eXBlKTtcbn1cblxuLyoqIERlY2ltYXRlIGZhY3RvcnMgb2ZmZXJlZCBieSB0aGUgUmVzb2x1dGlvbiBjb250cm9sICgxID0gRnVsbCDigKYgOCA9IOKFmykuICovXG5leHBvcnQgY29uc3QgTkFQQVJJX0RFQ0lNQVRFX09QVElPTlM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9W10gPSBbXG4gIHsgbGFiZWw6ICdGdWxsJywgdmFsdWU6IDEgfSxcbiAgeyBsYWJlbDogJ8K9JywgdmFsdWU6IDIgfSxcbiAgeyBsYWJlbDogJ8K8JywgdmFsdWU6IDQgfSxcbiAgeyBsYWJlbDogJ+KFmycsIHZhbHVlOiA4IH0sXG5dO1xuXG4vKiogRGVmYXVsdCBkZWNpbWF0ZSBmYWN0b3I6IMK8LiBUaGUgY2FwcyBhcmUgc2V0IHNvIMK8IGlzIGEgc2Vuc2libGUgZGVmYXVsdCByZXNvbHV0aW9uIHdoaWxlIMK9IGFuZFxuICogIEZ1bGwgb2ZmZXIgMsOXIGFuZCA0w5cgdGhlIGRldGFpbCBmb3Igb3B0LWluIGhpZ2gtcmVzb2x1dGlvbiByZW5kZXJzLiAqL1xuZXhwb3J0IGNvbnN0IE5BUEFSSV9ERUZBVUxUX0RFQ0lNQVRFID0gNDtcbiJdfQ==
@@ -1,3 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * DI token for the host's {@link ImageStatePort}. Required: the visualizer component injects it.
4
+ */
2
5
  export const IMAGE_STATE_PORT = new InjectionToken('IMAGE_STATE_PORT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc3RhdGUucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL2ltYWdlLXN0YXRlLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlDL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUltYWdlSW5mbyB9IGZyb20gJy4uL2ltYWdlLmNvbnRyYWN0JztcblxuLyoqXG4gKiBIb3N0IGltYWdlL2xvYWRpbmcvem9vbSBzdGF0ZSwgaW52ZXJ0ZWQgYXMgYSBwb3J0IHNvIHRoZSB2aXN1YWxpemF0aW9uIGxpYnJhcnlcbiAqIGRvZXNuJ3QgaW1wb3J0IHRoZSBhcHAncyBgTWFpblN0YXRlYC9gTWFpbkZhY2FkZWAuIFRoZSBob3N0IHN1cHBsaWVzIGFuIGFkYXB0ZXJcbiAqIHRoYXQgZGVsZWdhdGVzIHRvIHRob3NlLiBSZWFkIG1ldGhvZHMgcmV0dXJuIHRoZSBob3N0J3MgbGl2ZSBzdHJlYW1zOyB3cml0ZVxuICogbWV0aG9kcyBwdXNoIHN0YXRlIGJhY2sgdG8gdGhlIGhvc3QgKGUuZy4gbG9hZGluZyBmbGFncywgdGhlIHVwZGF0ZWQgaW1hZ2UpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlU3RhdGVQb3J0IHtcbiAgLy8g4pSA4pSAIHJlYWRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBnZXRGaWxlbmFtZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBpc0ltYWdlQ2FjaGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXRJbWFnZUluZm8kKCk6IE9ic2VydmFibGU8SUltYWdlSW5mbyB8IG51bGw+O1xuICBnZXRJbWFnZUxvYWRpbmdNZXNzYWdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldENhY2hlUHJvZ3Jlc3MkKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XG4gIGdldFBhbmVsV2lkdGgkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaXNJbWFnZUxvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzWm9vbSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvLyDilIDilIAgd3JpdGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvKiogUHVzaCBhbiB1cGRhdGVkIGltYWdlIGRlc2NyaXB0b3IgdG8gdGhlIGhvc3QgKHBhcnRpYWwg4oCUIG9ubHkgc2V0IGZpZWxkcykuICovXG4gIHNldEltYWdlSW5mbyhpbmZvOiBQYXJ0aWFsPElJbWFnZUluZm8+KTogdm9pZDtcbiAgc2V0SW1hZ2VMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pOiB2b2lkO1xuICBzZXRJbWFnZUxvYWRpbmdNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQ7XG4gIHNldFpvb20oem9vbTogYm9vbGVhbik6IHZvaWQ7XG4gIHNldEltYWdlQ2FjaGVkKGNhY2hlZDogYm9vbGVhbik6IHZvaWQ7XG4gIHNldExvYWRpbmdFcnJvcihlcnJvcjogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiBSZWdpc3RlciB0aGUgYWN0aXZlIGRpYWdyYW0vdmlzdWFsaXphdGlvbiBjb21wb25lbnQgd2l0aCB0aGUgaG9zdC4gKi9cbiAgc2V0RGlhZ3JhbShkaWFncmFtOiB1bmtub3duKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IElNQUdFX1NUQVRFX1BPUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48SW1hZ2VTdGF0ZVBvcnQ+KCdJTUFHRV9TVEFURV9QT1JUJyk7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc3RhdGUucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL2ltYWdlLXN0YXRlLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWtDL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSW1hZ2VJbmZvIH0gZnJvbSAnLi4vaW1hZ2UuY29udHJhY3QnO1xuaW1wb3J0IHR5cGUgeyBWaXN1YWxpemVySGFuZGxlIH0gZnJvbSAnLi4vdmlzdWFsaXplci5jb250cmFjdCc7XG5cbi8qKlxuICogSG9zdCBpbWFnZS9sb2FkaW5nL3pvb20gc3RhdGUsIGludmVydGVkIGFzIGEgcG9ydCBzbyB0aGUgdmlzdWFsaXphdGlvbiBsaWJyYXJ5XG4gKiBkb2Vzbid0IGltcG9ydCB0aGUgYXBwJ3MgYE1haW5TdGF0ZWAvYE1haW5GYWNhZGVgLiBUaGUgaG9zdCBzdXBwbGllcyBhbiBhZGFwdGVyXG4gKiB0aGF0IGRlbGVnYXRlcyB0byB0aG9zZS4gUmVhZCBtZXRob2RzIHJldHVybiB0aGUgaG9zdCdzIGxpdmUgc3RyZWFtczsgd3JpdGVcbiAqIG1ldGhvZHMgcHVzaCBzdGF0ZSBiYWNrIHRvIHRoZSBob3N0IChlLmcuIGxvYWRpbmcgZmxhZ3MsIHRoZSB1cGRhdGVkIGltYWdlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVN0YXRlUG9ydCB7XG4gIC8vIOKUgOKUgCByZWFkcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgZ2V0RmlsZW5hbWUkKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgaXNJbWFnZUNhY2hlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0SW1hZ2VJbmZvJCgpOiBPYnNlcnZhYmxlPElJbWFnZUluZm8gfCBudWxsPjtcbiAgZ2V0SW1hZ2VMb2FkaW5nTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRDYWNoZVByb2dyZXNzJCgpOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+O1xuICBnZXRQYW5lbFdpZHRoJCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGlzSW1hZ2VMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc1pvb20kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLy8g4pSA4pSAIHdyaXRlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLyoqIFB1c2ggYW4gdXBkYXRlZCBpbWFnZSBkZXNjcmlwdG9yIHRvIHRoZSBob3N0IChwYXJ0aWFsIOKAlCBvbmx5IHNldCBmaWVsZHMpLiAqL1xuICBzZXRJbWFnZUluZm8oaW5mbzogUGFydGlhbDxJSW1hZ2VJbmZvPik6IHZvaWQ7XG4gIHNldEltYWdlTG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZDtcbiAgc2V0SW1hZ2VMb2FkaW5nTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkO1xuICBzZXRab29tKHpvb206IGJvb2xlYW4pOiB2b2lkO1xuICBzZXRJbWFnZUNhY2hlZChjYWNoZWQ6IGJvb2xlYW4pOiB2b2lkO1xuICBzZXRMb2FkaW5nRXJyb3IoZXJyb3I6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogUmVnaXN0ZXIgdGhlIG1vdW50ZWQgdmlzdWFsaXplciB3aXRoIHRoZSBob3N0LCBvciBgbnVsbGAgb25jZSBpdCBpcyBkZXN0cm95ZWQuICovXG4gIHNldERpYWdyYW0oZGlhZ3JhbTogVmlzdWFsaXplckhhbmRsZSB8IG51bGwpOiB2b2lkO1xufVxuXG4vKipcbiAqIERJIHRva2VuIGZvciB0aGUgaG9zdCdzIHtAbGluayBJbWFnZVN0YXRlUG9ydH0uIFJlcXVpcmVkOiB0aGUgdmlzdWFsaXplciBjb21wb25lbnQgaW5qZWN0cyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IElNQUdFX1NUQVRFX1BPUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48SW1hZ2VTdGF0ZVBvcnQ+KCdJTUFHRV9TVEFURV9QT1JUJyk7XG4iXX0=
@@ -1,3 +1,7 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * DI token for the host's {@link PreferencesPort}. Optional: without it, the annotation-class
4
+ * preset set is not persisted.
5
+ */
2
6
  export const PREFERENCES_PORT = new InjectionToken('PREFERENCES_PORT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL3ByZWZlcmVuY2VzLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWtCLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJlc2V0U2V0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzLXByZXNldCc7XG5cbi8qKlxuICogUG9ydCBmb3IgcGVyc2lzdGluZyB0aGUgcGVyLXVzZXIgYW5ub3RhdGlvbi1jbGFzcyBwcmVzZXQgc2V0IChqaXQtdWkjNzApLlxuICpcbiAqIFRoZSBsaWJyYXJ5IGRlZmluZXMgdGhlIGNvbnRyYWN0OyB0aGUgYXBwIHN1cHBsaWVzIGFuIGFkYXB0ZXIgdGhhdCB0YWxrcyB0byB0aGVcbiAqIGppdC1zZXJ2aWNlIGAvYXBpL3ByZWZlcmVuY2VzL2Fubm90YXRpb24tY2xhc3Nlc2AgZW5kcG9pbnQuIFRoZSB1c2VyIGlzIGtleWVkXG4gKiBzZXJ2ZXItc2lkZSBmcm9tIHRoZSBhdXRoZW50aWNhdGVkIEpXVCwgc28gbm8gdXNlciBpZCBpcyBwYXNzZWQgaGVyZS5cbiAqXG4gKiBNaXJyb3JzIGBSZWdpb25Jb1BvcnRgIC8gYFJFR0lPTl9JT19QT1JUYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVmZXJlbmNlc1BvcnQge1xuICAvKiogTG9hZCB0aGUgY3VycmVudCB1c2VyJ3MgcHJlc2V0IHNldDsgcmVzb2x2ZXMgdG8gYG51bGxgIGlmIG5vbmUgaGFzIGJlZW4gc2F2ZWQgeWV0LiAqL1xuICBsb2FkUHJlc2V0U2V0KCk6IE9ic2VydmFibGU8UHJlc2V0U2V0IHwgbnVsbD47XG5cbiAgLyoqIFBlcnNpc3QgKHVwc2VydCkgdGhlIGN1cnJlbnQgdXNlcidzIHByZXNldCBzZXQuICovXG4gIHNhdmVQcmVzZXRTZXQoc2V0OiBQcmVzZXRTZXQpOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG5leHBvcnQgY29uc3QgUFJFRkVSRU5DRVNfUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQcmVmZXJlbmNlc1BvcnQ+KCdQUkVGRVJFTkNFU19QT1JUJyk7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL3ByZWZlcmVuY2VzLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCL0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWtCLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJlc2V0U2V0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzLXByZXNldCc7XG5cbi8qKlxuICogUG9ydCBmb3IgcGVyc2lzdGluZyB0aGUgcGVyLXVzZXIgYW5ub3RhdGlvbi1jbGFzcyBwcmVzZXQgc2V0IChqaXQtdWkjNzApLlxuICpcbiAqIFRoZSBsaWJyYXJ5IGRlZmluZXMgdGhlIGNvbnRyYWN0OyB0aGUgYXBwIHN1cHBsaWVzIGFuIGFkYXB0ZXIgdGhhdCB0YWxrcyB0byB0aGVcbiAqIGppdC1zZXJ2aWNlIGAvYXBpL3ByZWZlcmVuY2VzL2Fubm90YXRpb24tY2xhc3Nlc2AgZW5kcG9pbnQuIFRoZSB1c2VyIGlzIGtleWVkXG4gKiBzZXJ2ZXItc2lkZSBmcm9tIHRoZSBhdXRoZW50aWNhdGVkIEpXVCwgc28gbm8gdXNlciBpZCBpcyBwYXNzZWQgaGVyZS5cbiAqXG4gKiBNaXJyb3JzIGBSZWdpb25Jb1BvcnRgIC8gYFJFR0lPTl9JT19QT1JUYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVmZXJlbmNlc1BvcnQge1xuICAvKiogTG9hZCB0aGUgY3VycmVudCB1c2VyJ3MgcHJlc2V0IHNldDsgcmVzb2x2ZXMgdG8gYG51bGxgIGlmIG5vbmUgaGFzIGJlZW4gc2F2ZWQgeWV0LiAqL1xuICBsb2FkUHJlc2V0U2V0KCk6IE9ic2VydmFibGU8UHJlc2V0U2V0IHwgbnVsbD47XG5cbiAgLyoqIFBlcnNpc3QgKHVwc2VydCkgdGhlIGN1cnJlbnQgdXNlcidzIHByZXNldCBzZXQuICovXG4gIHNhdmVQcmVzZXRTZXQoc2V0OiBQcmVzZXRTZXQpOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG4vKipcbiAqIERJIHRva2VuIGZvciB0aGUgaG9zdCdzIHtAbGluayBQcmVmZXJlbmNlc1BvcnR9LiBPcHRpb25hbDogd2l0aG91dCBpdCwgdGhlIGFubm90YXRpb24tY2xhc3NcbiAqIHByZXNldCBzZXQgaXMgbm90IHBlcnNpc3RlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFBSRUZFUkVOQ0VTX1BPUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48UHJlZmVyZW5jZXNQb3J0PignUFJFRkVSRU5DRVNfUE9SVCcpO1xuIl19
@@ -1,3 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /** DI token for the host's {@link RegionIoPort}. Required by the region editor. */
2
3
  export const REGION_IO_PORT = new InjectionToken('REGION_IO_PORT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWlvLnBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9wb3J0cy9yZWdpb24taW8ucG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMkIvQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWUsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogUmVnaW9uIGZpbGUgSS9PLCBpbnZlcnRlZCBhcyBhIHBvcnQgc28gdGhlIHZpc3VhbGl6YXRpb24gbGlicmFyeSdzIHJlZ2lvblxuICogZWRpdG9yIGRvZXNuJ3QgaW1wb3J0IHRoZSBhcHAncyBgRmlsZXNTZXJ2aWNlYCAodGhlIGxpYnJhcnkgcGVyZm9ybXMgbm8gYmFja2VuZFxuICogcmVxdWVzdHMgaXRzZWxmKS4gVGhlIGhvc3Qgc3VwcGxpZXMgYW4gYWRhcHRlciB0aGF0IGRlbGVnYXRlcyB0byBpdHMgZmlsZVxuICogc2VydmljZTsgdGhlIGVkaXRvciBvbmx5IG5lZWRzIHRoZSBzZWxlY3RlZCBmaWxlJ3MgbmFtZSAodG8gZGVyaXZlIGRlZmF1bHQgUk9JXG4gKiBmaWxlbmFtZXMpLCBhbiBleGlzdGVuY2UgY2hlY2ssIGFuZCBhIHNhdmUuIEJvdW5kIHRvIHtAbGluayBSRUdJT05fSU9fUE9SVH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uSW9Qb3J0IHtcbiAgLyoqIE5hbWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmaWxlIChlLmcuIFwiaW1hZ2UudGlmXCIpLCBvciB1bmRlZmluZWQgd2hlblxuICAgKiAgbm9uZSBpcyBzZWxlY3RlZC4gVXNlZCB0byBkZXJpdmUgYSBkZWZhdWx0IFJPSSBmaWxlbmFtZSBzdGVtLiAqL1xuICBnZXRTZWxlY3RlZEZpbGVOYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqIFdoZXRoZXIgYW4gUk9JIGZpbGUgbmFtZWQgYG5hbWVgIGFscmVhZHkgZXhpc3RzIGZvciB0aGUgc2VsZWN0ZWQgZmlsZS4gKi9cbiAgcm9pRmlsZUV4aXN0cyhuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKiogUGVyc2lzdCB0aGUgcmVnaW9ucyAoYWxyZWFkeSBzZXJpYWxpemVkIHRvIGEgR2VvSlNPTiBzdHJpbmcpIGFzIGBmaWxlbmFtZWAuICovXG4gIHNhdmVHZW9Kc29uKGdlb0pzb25TdHI6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD47XG4gIC8qKlxuICAgKiBQZXJzaXN0IGEgZm9sZGVyLXN0YWNrJ3MgcmVnaW9ucyBhcyBvbmUgZ2VvanNvbiBwZXIgc2xpY2UtZmlsZSAoaml0LXVpIzkzKS5cbiAgICogRWFjaCBlbnRyeSdzIGB6YCBpcyB0aGUgemVyby1iYXNlZCBzbGljZSBpbmRleDsgdGhlIGhvc3QgbWFwcyBpdCB0byB0aGF0XG4gICAqIHNsaWNlLWZpbGUncyBzaWJsaW5nIGA8c3RlbT4uZ2VvanNvbmAgaW4gdGhlIHNhbWUgZm9sZGVyLiBDb21wbGV0ZXMgb25jZVxuICAgKiBldmVyeSBzbGljZSBoYXMgYmVlbiB3cml0dGVuLiAoaml0LXVpIzkzKVxuICAgKi9cbiAgc2F2ZVNsaWNlR2VvSnNvbnMoc2xpY2VzOiB7IHo6IG51bWJlcjsgZ2VvSnNvblN0cjogc3RyaW5nIH1bXSk6IE9ic2VydmFibGU8dm9pZD47XG59XG5cbmV4cG9ydCBjb25zdCBSRUdJT05fSU9fUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZWdpb25Jb1BvcnQ+KCdSRUdJT05fSU9fUE9SVCcpO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWlvLnBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9wb3J0cy9yZWdpb24taW8ucG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMkIvQyxtRkFBbUY7QUFDbkYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFlLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFJlZ2lvbiBmaWxlIEkvTywgaW52ZXJ0ZWQgYXMgYSBwb3J0IHNvIHRoZSB2aXN1YWxpemF0aW9uIGxpYnJhcnkncyByZWdpb25cbiAqIGVkaXRvciBkb2Vzbid0IGltcG9ydCB0aGUgYXBwJ3MgYEZpbGVzU2VydmljZWAgKHRoZSBsaWJyYXJ5IHBlcmZvcm1zIG5vIGJhY2tlbmRcbiAqIHJlcXVlc3RzIGl0c2VsZikuIFRoZSBob3N0IHN1cHBsaWVzIGFuIGFkYXB0ZXIgdGhhdCBkZWxlZ2F0ZXMgdG8gaXRzIGZpbGVcbiAqIHNlcnZpY2U7IHRoZSBlZGl0b3Igb25seSBuZWVkcyB0aGUgc2VsZWN0ZWQgZmlsZSdzIG5hbWUgKHRvIGRlcml2ZSBkZWZhdWx0IFJPSVxuICogZmlsZW5hbWVzKSwgYW4gZXhpc3RlbmNlIGNoZWNrLCBhbmQgYSBzYXZlLiBCb3VuZCB0byB7QGxpbmsgUkVHSU9OX0lPX1BPUlR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbklvUG9ydCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmlsZSAoZS5nLiBcImltYWdlLnRpZlwiKSwgb3IgdW5kZWZpbmVkIHdoZW5cbiAgICogIG5vbmUgaXMgc2VsZWN0ZWQuIFVzZWQgdG8gZGVyaXZlIGEgZGVmYXVsdCBST0kgZmlsZW5hbWUgc3RlbS4gKi9cbiAgZ2V0U2VsZWN0ZWRGaWxlTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKiBXaGV0aGVyIGFuIFJPSSBmaWxlIG5hbWVkIGBuYW1lYCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhlIHNlbGVjdGVkIGZpbGUuICovXG4gIHJvaUZpbGVFeGlzdHMobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqIFBlcnNpc3QgdGhlIHJlZ2lvbnMgKGFscmVhZHkgc2VyaWFsaXplZCB0byBhIEdlb0pTT04gc3RyaW5nKSBhcyBgZmlsZW5hbWVgLiAqL1xuICBzYXZlR2VvSnNvbihnZW9Kc29uU3RyOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAvKipcbiAgICogUGVyc2lzdCBhIGZvbGRlci1zdGFjaydzIHJlZ2lvbnMgYXMgb25lIGdlb2pzb24gcGVyIHNsaWNlLWZpbGUgKGppdC11aSM5MykuXG4gICAqIEVhY2ggZW50cnkncyBgemAgaXMgdGhlIHplcm8tYmFzZWQgc2xpY2UgaW5kZXg7IHRoZSBob3N0IG1hcHMgaXQgdG8gdGhhdFxuICAgKiBzbGljZS1maWxlJ3Mgc2libGluZyBgPHN0ZW0+Lmdlb2pzb25gIGluIHRoZSBzYW1lIGZvbGRlci4gQ29tcGxldGVzIG9uY2VcbiAgICogZXZlcnkgc2xpY2UgaGFzIGJlZW4gd3JpdHRlbi4gKGppdC11aSM5MylcbiAgICovXG4gIHNhdmVTbGljZUdlb0pzb25zKHNsaWNlczogeyB6OiBudW1iZXI7IGdlb0pzb25TdHI6IHN0cmluZyB9W10pOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG4vKiogREkgdG9rZW4gZm9yIHRoZSBob3N0J3Mge0BsaW5rIFJlZ2lvbklvUG9ydH0uIFJlcXVpcmVkIGJ5IHRoZSByZWdpb24gZWRpdG9yLiAqL1xuZXhwb3J0IGNvbnN0IFJFR0lPTl9JT19QT1JUID0gbmV3IEluamVjdGlvblRva2VuPFJlZ2lvbklvUG9ydD4oJ1JFR0lPTl9JT19QT1JUJyk7XG4iXX0=
@@ -1,5 +1,9 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  /** {@link TranscriptTileQuery.genes} value meaning "every gene". */
3
3
  export const ALL_GENES = '*';
4
+ /**
5
+ * DI token for the host's {@link SpatialDataPort}. Optional: a host that serves no
6
+ * spatial-omics data binds nothing, and the spatial plot types stay hidden.
7
+ */
4
8
  export const SPATIAL_DATA_PORT = new InjectionToken('SPATIAL_DATA_PORT');
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1kYXRhLnBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9wb3J0cy9zcGF0aWFsLWRhdGEucG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBdUIvQyxvRUFBb0U7QUFDcEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQXlKN0IsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBTcGF0aWFsQ29sdW1uLCBTcGF0aWFsRGF0YXNldCwgU3BhdGlhbERlbnNpdHlSYXN0ZXIsIFNwYXRpYWxFbWJlZGRpbmcsIFNwYXRpYWxQb2x5Z29uVGlsZSxcbiAgQ2F0ZWdvcmljYWxDb2x1bW5NZXRhLCBTcGF0aWFsTWFya2VyR2VuZXMsIFNwYXRpYWxQb2x5Z29ucywgU3BhdGlhbFRyYW5zY3JpcHRDb3VudHMsIFNwYXRpYWxUcmFuc2NyaXB0U3VtbWFyeSxcbiAgU3BhdGlhbFRyYW5zY3JpcHRUaWxlLFxufSBmcm9tICcuLi9zcGF0aWFsLWRhdGFzZXQuY29udHJhY3QnO1xuXG4vKiogT3B0aW9ucyBmb3Ige0BsaW5rIFNwYXRpYWxEYXRhUG9ydC5nZXRUcmFuc2NyaXB0VGlsZX0uICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zY3JpcHRUaWxlUXVlcnkge1xuICAvKipcbiAgICogR2VuZXMgdG8gaW5jbHVkZSwgYnkgbmFtZTsgdGhlIHRpbGUncyBgZ2VuZWAgY29kZXMgaW5kZXggdGhpcyBsaXN0LiBgW0FMTF9HRU5FU11gXG4gICAqIGFza3MgZm9yIGV2ZXJ5IGdlbmUsIHVuYWdncmVnYXRlZCwgYXQgbGV2ZWwgMCBvbmx5IGFuZCBjbGlwcGVkIHRvIHtAbGluayBib3h9IOKAlCB0aGVcbiAgICogYGdlbmVgIGNvZGVzIGFyZSB0aGVuIHRoZSBkYXRhc2V0J3Mgb3duIGdlbmUgaW5kaWNlcy5cbiAgICovXG4gIGdlbmVzOiBzdHJpbmdbXTtcbiAgLyoqIGBoaWdoYCAoZGVmYXVsdCkga2VlcHMgb25seSBjb25maWRlbnRseSBkZWNvZGVkIHRyYW5zY3JpcHRzLiAqL1xuICBxdWFsaXR5PzogJ2hpZ2gnIHwgJ2FsbCc7XG4gIC8qKiBDbGlwIHRvIGBbeDAsIHkwLCB4MSwgeTFdYCBpbiBvYnNlcnZhdGlvbiB1bml0cy4gKi9cbiAgYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG59XG5cbi8qKiB7QGxpbmsgVHJhbnNjcmlwdFRpbGVRdWVyeS5nZW5lc30gdmFsdWUgbWVhbmluZyBcImV2ZXJ5IGdlbmVcIi4gKi9cbmV4cG9ydCBjb25zdCBBTExfR0VORVMgPSAnKic7XG5cbi8qKlxuICogU3BhdGlhbC1vbWljcyBkYXRhIGFjY2VzcywgaW52ZXJ0ZWQgYXMgYSBwb3J0IHNvIHRoZSB2aXN1YWxpemF0aW9uIGxpYnJhcnlcbiAqIG5ldmVyIGxlYXJucyBob3cgdGhlIGRhdGEgaXMgc3RvcmVkIG9yIHNlcnZlZCDigJQgZXhhY3RseSBsaWtlXG4gKiBgVElMRV9BQ0NFU1NfUE9SVGAgZm9yIHRpbGVzIGFuZCBgUkVHSU9OX0lPX1BPUlRgIGZvciBhbm5vdGF0aW9ucy4gVGhlIGhvc3RcbiAqIHN1cHBsaWVzIGFuIGFkYXB0ZXI7IHRoZSBsaWJyYXJ5IGNvbnN1bWVzIHR5cGVkIGFycmF5cy5cbiAqXG4gKiBXSFkgQSBQT1JUIEFORCBOT1QgQSBSRUFERVJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhlIGludGVyY2hhbmdlIGZvcm1hdCBmb3IgdGhpcyBkYXRhIChTcGF0aWFsRGF0YSBaYXJyIHYzICsgQW5uRGF0YVxuICogY29udmVudGlvbnMgKyBHZW9QYXJxdWV0IHNoYXBlcykgbmVlZHMgdGhyZWUgcGFyc2VycywgYW5kIGl0cyBleHByZXNzaW9uXG4gKiBtYXRyaXggaXMgc3RvcmVkIG9ic2VydmF0aW9uLW1ham9yIOKAlCBzbyByZWFkaW5nIGEgc2luZ2xlIGdlbmUncyBjb2x1bW4gbWVhbnNcbiAqIHRvdWNoaW5nIGV2ZXJ5IHJvdy4gQSBzZXJ2ZXIgY2FuIHByZS1pbmRleCB0aGF0IG9uY2U7IGEgYnJvd3NlciBjYW5ub3QuIFNvXG4gKiB0aGUgbGlicmFyeSB0YWtlcyB2ZWN0b3JzIGl0IGNhbiByZW5kZXIgYW5kIGxlYXZlcyBpbmdlc3QgdG8gd2hvZXZlciBvd25zIHRoZVxuICogZGF0YS4gYFNwYXRpYWxEYXRhSHR0cFNlcnZpY2VgIGlzIGEgcmVhZHktbWFkZSBhZGFwdGVyIGZvciB0aGUgd2lyZSBmb3JtYXRcbiAqIHRoZSBidW5kbGVkIGV4YW1wbGUgc2VydmVyIHNwZWFrczsgYSBob3N0IHdpdGggaXRzIG93biBiYWNrZW5kIGltcGxlbWVudHNcbiAqIHRoaXMgaW50ZXJmYWNlIGluc3RlYWQuXG4gKlxuICogTEFaSU5FU1MgSVMgVEhFIFBPSU5UXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGBnZXREYXRhc2V0JCgpYCB5aWVsZHMgb25seSB3aGF0IGlzIGNoZWFwIHRvIGhvbGQ6IGNvb3JkaW5hdGVzIHBsdXMgY29sdW1uXG4gKiBhbmQgZmVhdHVyZSAqbWV0YWRhdGEqLiBFdmVyeSBhY2Nlc3NvciBiZWxvdyBmZXRjaGVzIG9uZSB2ZWN0b3IgYXQgYSB0aW1lLFxuICogZm9yIHRoZSBvbmUgY29sdW1uIG9yIGdlbmUgY3VycmVudGx5IGJlaW5nIGRpc3BsYXllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGF0aWFsRGF0YVBvcnQge1xuICAvKipcbiAgICogVGhlIGRhdGFzZXQgY3VycmVudGx5IGJlaW5nIHZpc3VhbGl6ZWQsIG9yIG51bGwgd2hlbiBub25lIGlzIHNlbGVjdGVkLlxuICAgKiBFbWl0cyBhZ2FpbiB3aGVuIHRoZSBob3N0IHN3aXRjaGVzIGRhdGFzZXRzLCBzbyB0aGUgdmlldyBjYW4gcmVidWlsZC5cbiAgICovXG4gIGdldERhdGFzZXQkKCk6IE9ic2VydmFibGU8U3BhdGlhbERhdGFzZXQgfCBudWxsPjtcblxuICAvKipcbiAgICogVmFsdWVzIGZvciBvbmUgYW5ub3RhdGlvbiBjb2x1bW4sIGluZGV4LWFsaWduZWQgd2l0aCB0aGUgb2JzZXJ2YXRpb25zLlxuICAgKiBUaGUgY29sdW1uIG11c3QgYmUgb25lIGFkdmVydGlzZWQgaW4gYFNwYXRpYWxEYXRhc2V0LmNvbHVtbnNgOyByZWplY3RcbiAgICogKGRvbid0IHJlc29sdmUgZW1wdHkpIHdoZW4gaXQgaXNuJ3QsIHNvIGEgdHlwbyBzdXJmYWNlcyBpbnN0ZWFkIG9mXG4gICAqIHJlbmRlcmluZyBhcyBcIm5vIGRhdGFcIi5cbiAgICpcbiAgICogSW1wbGVtZW50YXRpb25zIHNob3VsZCBjYWNoZSDigJQgY29sb3VyaW5nIGJ5IGNsdXN0ZXIsIHRoZW4gYnkgYSBnZW5lLCB0aGVuXG4gICAqIGJhY2sgYnkgY2x1c3RlciBtdXN0IG5vdCByZWZldGNoLlxuICAgKi9cbiAgZ2V0Q29sdW1uKG5hbWU6IHN0cmluZyk6IFByb21pc2U8U3BhdGlhbENvbHVtbj47XG5cbiAgLyoqXG4gICAqIE9uZSBmZWF0dXJlJ3MgKGdlbmUncykgZXhwcmVzc2lvbiB2ZWN0b3IsIGluZGV4LWFsaWduZWQgd2l0aCB0aGVcbiAgICogb2JzZXJ2YXRpb25zLiBSZWplY3RzIGZvciBhbiB1bmtub3duIGZlYXR1cmUuXG4gICAqL1xuICBnZXRGZWF0dXJlVmVjdG9yKG5hbWU6IHN0cmluZyk6IFByb21pc2U8RmxvYXQzMkFycmF5PjtcblxuICAvKipcbiAgICogT25lIGVtYmVkZGluZydzIGNvb3JkaW5hdGVzLCBpbmRleC1hbGlnbmVkIHdpdGggdGhlIG9ic2VydmF0aW9ucy5cbiAgICpcbiAgICogVGhlIG5hbWUgbXVzdCBiZSBvbmUgYWR2ZXJ0aXNlZCBpbiBgU3BhdGlhbERhdGFzZXQuZW1iZWRkaW5nc2A7IHJlamVjdHMgb3RoZXJ3aXNlLCBmb3IgdGhlXG4gICAqIHNhbWUgcmVhc29uIGBnZXRDb2x1bW5gIGRvZXMg4oCUIGEgdHlwbyBzaG91bGQgc3VyZmFjZSByYXRoZXIgdGhhbiByZW5kZXIgYXMgYW4gZW1wdHkgcGxvdC5cbiAgICpcbiAgICogT3B0aW9uYWw6IGEgaG9zdCB3aXRoIG5vIGVtYmVkZGluZ3Mgc2ltcGx5IG9taXRzIGl0LCBhbmQgdGhlIFVJIG9mZmVycyBubyBlbWJlZGRpbmcgdmlld3MuXG4gICAqL1xuICBnZXRFbWJlZGRpbmc/KG5hbWU6IHN0cmluZyk6IFByb21pc2U8U3BhdGlhbEVtYmVkZGluZz47XG5cbiAgLyoqXG4gICAqIFR5cGVhaGVhZCBvdmVyIGZlYXR1cmUgbmFtZXMsIGZvciBkYXRhc2V0cyB0b28gd2lkZSB0byBpbmxpbmUgdGhlIGxpc3RcbiAgICogKGBTcGF0aWFsRmVhdHVyZU1ldGEubmFtZXNgIGFic2VudCkuIE9wdGlvbmFsOiBhIGhvc3Qgd2hvc2UgcGFuZWwgaXMgc21hbGxcbiAgICogZW5vdWdoIHRvIGlubGluZSBldmVyeSBuYW1lIG5lZWQgbm90IGltcGxlbWVudCBpdCDigJQgdGhlIFVJIGZhbGxzIGJhY2sgdG9cbiAgICogZmlsdGVyaW5nIGBuYW1lc2AgbG9jYWxseS5cbiAgICovXG4gIHNlYXJjaEZlYXR1cmVzPyhxdWVyeTogc3RyaW5nLCBsaW1pdD86IG51bWJlcik6IFByb21pc2U8c3RyaW5nW10+O1xuXG4gIC8qKlxuICAgKiBQZXItb2JzZXJ2YXRpb24gYm91bmRhcnkgZ2VvbWV0cnksIHdoZW4gdGhlIGRhdGFzZXQgYWR2ZXJ0aXNlc1xuICAgKiBgcG9seWdvbnNgLiBPcHRpb25hbCDigJQgYSBzcG90LWJhc2VkIGFzc2F5IChWaXNpdW0pIGhhcyBubyBzZWdtZW50YXRpb24uXG4gICAqL1xuICBnZXRQb2x5Z29ucz8oKTogUHJvbWlzZTxTcGF0aWFsUG9seWdvbnM+O1xuXG4gIC8qKlxuICAgKiBPbmUgdGlsZSBvZiBib3VuZGFyaWVzIGZyb20gYHBvbHlnb25UaWxlc2AuIEFuIGVtcHR5IHRpbGUgcmVzb2x2ZXMgd2l0aCBgY291bnRgIDAg4oCUXG4gICAqIGEgdGlsZSBvdXRzaWRlIHRoZSB0aXNzdWUgaXMgYW4gYW5zd2VyLCBub3QgYW4gZXJyb3IuIE9wdGlvbmFsOiBvbmx5IGRhdGFzZXRzIHRoYXRcbiAgICogYWR2ZXJ0aXNlIGBwb2x5Z29uVGlsZXNgIG5lZWQgaXQuXG4gICAqL1xuICBnZXRQb2x5Z29uVGlsZT8oc2V0OiBzdHJpbmcsIGxldmVsOiBudW1iZXIsIGd4OiBudW1iZXIsIGd5OiBudW1iZXIpOiBQcm9taXNlPFNwYXRpYWxQb2x5Z29uVGlsZT47XG5cbiAgLyoqXG4gICAqIE9uZSB0aWxlIG9mIHRyYW5zY3JpcHRzIGZyb20gYHRyYW5zY3JpcHRUaWxlc2AsIHJlc3RyaWN0ZWQgdG8gYHF1ZXJ5LmdlbmVzYC5cbiAgICogT3B0aW9uYWw6IG9ubHkgZGF0YXNldHMgdGhhdCBhZHZlcnRpc2UgYHRyYW5zY3JpcHRUaWxlc2AgbmVlZCBpdC5cbiAgICovXG4gIGdldFRyYW5zY3JpcHRUaWxlPyhcbiAgICBsZXZlbDogbnVtYmVyLCBneDogbnVtYmVyLCBneTogbnVtYmVyLCBxdWVyeTogVHJhbnNjcmlwdFRpbGVRdWVyeSxcbiAgKTogUHJvbWlzZTxTcGF0aWFsVHJhbnNjcmlwdFRpbGU+O1xuXG4gIC8qKlxuICAgKiBPbmUgdGlsZSBvZiB0aGUgYWxsLWdlbmUgZ3JvdXBpbmcgcHlyYW1pZCAoYHRyYW5zY3JpcHRCaW5zYCk6IGFuIGVudHJ5IHBlciBiaW4sIHdpdGhcbiAgICogYHdlaWdodGAgaXRzIHRyYW5zY3JpcHQgY291bnQgYW5kIGBvYnNlcnZhdGlvbmAgaXRzIGRvbWluYW50IGNlbGwuXG4gICAqL1xuICBnZXRUcmFuc2NyaXB0Qmlucz8obGV2ZWw6IG51bWJlciwgdHg6IG51bWJlciwgdHk6IG51bWJlcik6IFByb21pc2U8U3BhdGlhbFRyYW5zY3JpcHRUaWxlPjtcblxuICAvKipcbiAgICogT25lIHRpbGUgb2YgdGhlIHBlci1nZW5lIGxldmVscyBmb3IgYGdlbmVzYDogZWFjaCBlbnRyeSBpcyBvbmUgZ2VuZSdzIHRyYW5zY3JpcHRzIGluIG9uZSBiaW5cbiAgICogKGNlbnRyb2lkLCBjb3VudCwgZG9taW5hbnQgY2VsbCk7IGl0cyBgZ2VuZWAgaXMgdGhlIHBvc2l0aW9uIGluIGBnZW5lc2AuIE9wdGlvbmFsLlxuICAgKi9cbiAgZ2V0VHJhbnNjcmlwdEdlbmVCaW5zPyhsZXZlbDogbnVtYmVyLCB0eDogbnVtYmVyLCB0eTogbnVtYmVyLCBnZW5lczogc3RyaW5nW10pOiBQcm9taXNlPFNwYXRpYWxUcmFuc2NyaXB0VGlsZT47XG5cbiAgLyoqXG4gICAqIFdoYXQgaXMgaW5zaWRlIGBib3hgIChvYnNlcnZhdGlvbiB1bml0cyk6IHRyYW5zY3JpcHQgY291bnQsIGRpc3RpbmN0IGdlbmVzIGFuZCBjZWxscyxcbiAgICogdGhlIG1vc3QgZnJlcXVlbnQgb2YgZWFjaCDigJQgb3B0aW9uYWxseSByZXN0cmljdGVkIHRvIGBnZW5lc2Ag4oCUIHBsdXMgZGlzcGxheSBpZHMgZm9yXG4gICAqIGBjZWxsc2AuIE9taXQgYGJveGAgZm9yIGEgY2VsbC1pZCBsb29rdXAgb25seS4gT3B0aW9uYWw7IGRyaXZlcyB0aGUgaG92ZXIgZGV0YWlscyBvZlxuICAgKiB0cmFuc2NyaXB0IG1hcmtlcnMuXG4gICAqL1xuICBnZXRUcmFuc2NyaXB0U3VtbWFyeT8ocXVlcnk6IHtcbiAgICBib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTsgZ2VuZXM/OiBzdHJpbmdbXTsgY2VsbHM/OiBudW1iZXJbXTtcbiAgfSk6IFByb21pc2U8U3BhdGlhbFRyYW5zY3JpcHRTdW1tYXJ5PjtcblxuICAvKipcbiAgICogVGhlIHN1bW1lZCB0cmFuc2NyaXB0IGRlbnNpdHkgb2YgYGdlbmVzYCAoYFtBTExfR0VORVNdYCBmb3IgZXZlcnkgZ2VuZSkgb24gdGhlXG4gICAqIGRhdGFzZXQncyBgZGVuc2l0eWAgcmFzdGVyLCByZS1iaW5uZWQgdG8gYGJpblNpemVgIG9ic2VydmF0aW9uIHVuaXRzIHdoZW4gZ2l2ZW4uXG4gICAqIE9wdGlvbmFsOiBvbmx5IGRhdGFzZXRzIHRoYXQgYWR2ZXJ0aXNlIGBkZW5zaXR5YCBuZWVkIGl0LlxuICAgKi9cbiAgZ2V0RGVuc2l0eT8oZ2VuZXM6IHN0cmluZ1tdLCBiaW5TaXplPzogbnVtYmVyKTogUHJvbWlzZTxTcGF0aWFsRGVuc2l0eVJhc3Rlcj47XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIGNlbGwgZ3JvdXBpbmcg4oCUIGEgQ1NWL1RTViBvZiBgY2VsbF9pZGAgYW5kIGBncm91cGAg4oCUIHVuZGVyIGBsYWJlbGAuIFRoZSBuZXdcbiAgICogY2F0ZWdvcmljYWwgY29sdW1uIGlzIGFkZGVkIHRvIHRoZSBkYXRhc2V0ICh3aGljaCByZS1lbWl0cykgYW5kIHJlc29sdmVkLiBPcHRpb25hbC5cbiAgICovXG4gIGltcG9ydEdyb3Vwcz8obGFiZWw6IHN0cmluZywgdGFibGU6IHN0cmluZyk6IFByb21pc2U8eyBjb2x1bW46IENhdGVnb3JpY2FsQ29sdW1uTWV0YTsgbWF0Y2hlZDogbnVtYmVyIH0+O1xuXG4gIC8qKiBUcmFuc2NyaXB0IHRvdGFscyBwZXIgZ2VuZSwgZm9yIGVzdGltYXRpbmcgaG93IG1hbnkgbWFya2VycyBhIHNlbGVjdGlvbiBkcmF3cy4gKi9cbiAgZ2V0VHJhbnNjcmlwdENvdW50cz8oZ2VuZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxTcGF0aWFsVHJhbnNjcmlwdENvdW50cz47XG5cbiAgLyoqXG4gICAqIFRoZSB0b3AgYHBlckdyb3VwYCBtYXJrZXIgZ2VuZXMgb2YgZXZlcnkgZ3JvdXAgb2YgY2F0ZWdvcmljYWwgYGNvbHVtbmAsIGZvciBidWlsZGluZ1xuICAgKiBnZW5lIGdyb3VwcyBmcm9tIGNlbGwgY2x1c3RlcnMgKFwiTWFjcm9waGFnZXM6IENEMTYzLCBNUkMxLCDigKZcIikuIE9wdGlvbmFsLCBhbmQgcG9zc2libHlcbiAgICogc2xvdyB0aGUgZmlyc3QgdGltZTogdGhlIHNlcnZlciBtYWtlcyBvbmUgcGFzcyBvdmVyIHRoZSBleHByZXNzaW9uIG1hdHJpeC5cbiAgICovXG4gIGdldE1hcmtlckdlbmVzPyhjb2x1bW46IHN0cmluZywgcGVyR3JvdXA/OiBudW1iZXIpOiBQcm9taXNlPFNwYXRpYWxNYXJrZXJHZW5lcz47XG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcmVuY2Ugdm9sdW1lJ3Mgdm94ZWxzOiBhIHVpbnQ4IHNjYWxhciBmaWVsZCwgeC1mYXN0ZXN0LCBvZiBleGFjdGx5XG4gICAqIGB3aWR0aCAqIGhlaWdodCAqIGRlcHRoYCBieXRlcyBhcyB0aGUgZGF0YXNldCdzIHtAbGluayBTcGF0aWFsVm9sdW1lTWV0YX1cbiAgICogZGVjbGFyZXMuXG4gICAqXG4gICAqIE9wdGlvbmFsLCBhbmQgb25seSBtZWFuaW5nZnVsIHdoZW4gdGhlIGRhdGFzZXQgYWR2ZXJ0aXNlcyBhIHZvbHVtZS4gU2VwYXJhdGVcbiAgICogZnJvbSBgZ2V0RGF0YXNldCQoKWAgYmVjYXVzZSBpdCBpcyBtZWdhYnl0ZXM6IGEgaG9zdCB0aGF0IG5ldmVyIG9wZW5zIHRoZSAzRFxuICAgKiBtb2RlIHNob3VsZCBuZXZlciBwYXkgZm9yIGl0LlxuICAgKi9cbiAgZ2V0Vm9sdW1lPygpOiBQcm9taXNlPFVpbnQ4QXJyYXk+O1xuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBcIndoaWNoIG9ic2VydmF0aW9ucyBmYWxsIGluc2lkZSB0aGlzIHBvbHlnb25cIiwgZm9yIGRhdGFzZXRzXG4gICAqIHRvbyBsYXJnZSB0byBoaXQtdGVzdCBjbGllbnQtc2lkZS4gT3B0aW9uYWw6IHdpdGhvdXQgaXQgdGhlIGxpYnJhcnlcbiAgICogcG9pbnQtaW4tcG9seWdvbnMgdGhlIHJlc2lkZW50IGNvb3JkaW5hdGVzIGl0c2VsZiwgd2hpY2ggaXMgZmluZSBpbnRvIHRoZVxuICAgKiAxMF41IHJhbmdlLiBDb29yZGluYXRlcyBhcmUgaW4gdGhlIHNhbWUgc3BhY2UgYXMgdGhlIG9ic2VydmF0aW9ucy5cbiAgICovXG4gIHF1ZXJ5Um9pPyhwb2x5Z29uOiB7IHg6IG51bWJlcltdOyB5OiBudW1iZXJbXSB9KTogUHJvbWlzZTxVaW50MzJBcnJheT47XG59XG5cbmV4cG9ydCBjb25zdCBTUEFUSUFMX0RBVEFfUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTcGF0aWFsRGF0YVBvcnQ+KCdTUEFUSUFMX0RBVEFfUE9SVCcpO1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1kYXRhLnBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9wb3J0cy9zcGF0aWFsLWRhdGEucG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBK0IvQyxvRUFBb0U7QUFDcEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQXNKN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBTcGF0aWFsQ29sdW1uLFxuICBTcGF0aWFsRGF0YXNldCxcbiAgU3BhdGlhbERlbnNpdHlSYXN0ZXIsXG4gIFNwYXRpYWxFbWJlZGRpbmcsXG4gIFNwYXRpYWxQb2x5Z29uVGlsZSxcbiAgQ2F0ZWdvcmljYWxDb2x1bW5NZXRhLFxuICBTcGF0aWFsTWFya2VyR2VuZXMsXG4gIFNwYXRpYWxQb2x5Z29ucyxcbiAgU3BhdGlhbFRyYW5zY3JpcHRDb3VudHMsXG4gIFNwYXRpYWxUcmFuc2NyaXB0U3VtbWFyeSxcbiAgU3BhdGlhbFRyYW5zY3JpcHRUaWxlLFxufSBmcm9tICcuLi9zcGF0aWFsLWRhdGFzZXQuY29udHJhY3QnO1xuXG4vKiogT3B0aW9ucyBmb3Ige0BsaW5rIFNwYXRpYWxEYXRhUG9ydC5nZXRUcmFuc2NyaXB0VGlsZX0uICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zY3JpcHRUaWxlUXVlcnkge1xuICAvKipcbiAgICogR2VuZXMgdG8gaW5jbHVkZSwgYnkgbmFtZTsgdGhlIHRpbGUncyBgZ2VuZWAgY29kZXMgaW5kZXggdGhpcyBsaXN0LiBgW0FMTF9HRU5FU11gXG4gICAqIGFza3MgZm9yIGV2ZXJ5IGdlbmUsIHVuYWdncmVnYXRlZCwgYXQgbGV2ZWwgMCBvbmx5IGFuZCBjbGlwcGVkIHRvIHtAbGluayBib3h9IOKAlCB0aGVcbiAgICogYGdlbmVgIGNvZGVzIGFyZSB0aGVuIHRoZSBkYXRhc2V0J3Mgb3duIGdlbmUgaW5kaWNlcy5cbiAgICovXG4gIGdlbmVzOiBzdHJpbmdbXTtcbiAgLyoqIGBoaWdoYCAoZGVmYXVsdCkga2VlcHMgb25seSBjb25maWRlbnRseSBkZWNvZGVkIHRyYW5zY3JpcHRzLiAqL1xuICBxdWFsaXR5PzogJ2hpZ2gnIHwgJ2FsbCc7XG4gIC8qKiBDbGlwIHRvIGBbeDAsIHkwLCB4MSwgeTFdYCBpbiBvYnNlcnZhdGlvbiB1bml0cy4gKi9cbiAgYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG59XG5cbi8qKiB7QGxpbmsgVHJhbnNjcmlwdFRpbGVRdWVyeS5nZW5lc30gdmFsdWUgbWVhbmluZyBcImV2ZXJ5IGdlbmVcIi4gKi9cbmV4cG9ydCBjb25zdCBBTExfR0VORVMgPSAnKic7XG5cbi8qKlxuICogU3BhdGlhbC1vbWljcyBkYXRhIGFjY2VzcywgaW52ZXJ0ZWQgYXMgYSBwb3J0IHNvIHRoZSB2aXN1YWxpemF0aW9uIGxpYnJhcnlcbiAqIG5ldmVyIGxlYXJucyBob3cgdGhlIGRhdGEgaXMgc3RvcmVkIG9yIHNlcnZlZCDigJQgZXhhY3RseSBsaWtlXG4gKiBgVElMRV9BQ0NFU1NfUE9SVGAgZm9yIHRpbGVzIGFuZCBgUkVHSU9OX0lPX1BPUlRgIGZvciBhbm5vdGF0aW9ucy4gVGhlIGhvc3RcbiAqIHN1cHBsaWVzIGFuIGFkYXB0ZXI7IHRoZSBsaWJyYXJ5IGNvbnN1bWVzIHR5cGVkIGFycmF5cy5cbiAqXG4gKiBXSFkgQSBQT1JUIEFORCBOT1QgQSBSRUFERVJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhlIGludGVyY2hhbmdlIGZvcm1hdCBmb3IgdGhpcyBkYXRhIChTcGF0aWFsRGF0YSBaYXJyIHYzICsgQW5uRGF0YVxuICogY29udmVudGlvbnMgKyBHZW9QYXJxdWV0IHNoYXBlcykgbmVlZHMgdGhyZWUgcGFyc2VycywgYW5kIGl0cyBleHByZXNzaW9uXG4gKiBtYXRyaXggaXMgc3RvcmVkIG9ic2VydmF0aW9uLW1ham9yIOKAlCBzbyByZWFkaW5nIGEgc2luZ2xlIGdlbmUncyBjb2x1bW4gbWVhbnNcbiAqIHRvdWNoaW5nIGV2ZXJ5IHJvdy4gQSBzZXJ2ZXIgY2FuIHByZS1pbmRleCB0aGF0IG9uY2U7IGEgYnJvd3NlciBjYW5ub3QuIFNvXG4gKiB0aGUgbGlicmFyeSB0YWtlcyB2ZWN0b3JzIGl0IGNhbiByZW5kZXIgYW5kIGxlYXZlcyBpbmdlc3QgdG8gd2hvZXZlciBvd25zIHRoZVxuICogZGF0YS4gYFNwYXRpYWxEYXRhSHR0cFNlcnZpY2VgIGlzIGEgcmVhZHktbWFkZSBhZGFwdGVyIGZvciB0aGUgd2lyZSBmb3JtYXRcbiAqIHRoZSBidW5kbGVkIGV4YW1wbGUgc2VydmVyIHNwZWFrczsgYSBob3N0IHdpdGggaXRzIG93biBiYWNrZW5kIGltcGxlbWVudHNcbiAqIHRoaXMgaW50ZXJmYWNlIGluc3RlYWQuXG4gKlxuICogTEFaSU5FU1MgSVMgVEhFIFBPSU5UXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGBnZXREYXRhc2V0JCgpYCB5aWVsZHMgb25seSB3aGF0IGlzIGNoZWFwIHRvIGhvbGQ6IGNvb3JkaW5hdGVzIHBsdXMgY29sdW1uXG4gKiBhbmQgZmVhdHVyZSAqbWV0YWRhdGEqLiBFdmVyeSBhY2Nlc3NvciBiZWxvdyBmZXRjaGVzIG9uZSB2ZWN0b3IgYXQgYSB0aW1lLFxuICogZm9yIHRoZSBvbmUgY29sdW1uIG9yIGdlbmUgY3VycmVudGx5IGJlaW5nIGRpc3BsYXllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGF0aWFsRGF0YVBvcnQge1xuICAvKipcbiAgICogVGhlIGRhdGFzZXQgY3VycmVudGx5IGJlaW5nIHZpc3VhbGl6ZWQsIG9yIG51bGwgd2hlbiBub25lIGlzIHNlbGVjdGVkLlxuICAgKiBFbWl0cyBhZ2FpbiB3aGVuIHRoZSBob3N0IHN3aXRjaGVzIGRhdGFzZXRzLCBzbyB0aGUgdmlldyBjYW4gcmVidWlsZC5cbiAgICovXG4gIGdldERhdGFzZXQkKCk6IE9ic2VydmFibGU8U3BhdGlhbERhdGFzZXQgfCBudWxsPjtcblxuICAvKipcbiAgICogVmFsdWVzIGZvciBvbmUgYW5ub3RhdGlvbiBjb2x1bW4sIGluZGV4LWFsaWduZWQgd2l0aCB0aGUgb2JzZXJ2YXRpb25zLlxuICAgKiBUaGUgY29sdW1uIG11c3QgYmUgb25lIGFkdmVydGlzZWQgaW4gYFNwYXRpYWxEYXRhc2V0LmNvbHVtbnNgOyByZWplY3RcbiAgICogKGRvbid0IHJlc29sdmUgZW1wdHkpIHdoZW4gaXQgaXNuJ3QsIHNvIGEgdHlwbyBzdXJmYWNlcyBpbnN0ZWFkIG9mXG4gICAqIHJlbmRlcmluZyBhcyBcIm5vIGRhdGFcIi5cbiAgICpcbiAgICogSW1wbGVtZW50YXRpb25zIHNob3VsZCBjYWNoZSDigJQgY29sb3VyaW5nIGJ5IGNsdXN0ZXIsIHRoZW4gYnkgYSBnZW5lLCB0aGVuXG4gICAqIGJhY2sgYnkgY2x1c3RlciBtdXN0IG5vdCByZWZldGNoLlxuICAgKi9cbiAgZ2V0Q29sdW1uKG5hbWU6IHN0cmluZyk6IFByb21pc2U8U3BhdGlhbENvbHVtbj47XG5cbiAgLyoqXG4gICAqIE9uZSBmZWF0dXJlJ3MgKGdlbmUncykgZXhwcmVzc2lvbiB2ZWN0b3IsIGluZGV4LWFsaWduZWQgd2l0aCB0aGVcbiAgICogb2JzZXJ2YXRpb25zLiBSZWplY3RzIGZvciBhbiB1bmtub3duIGZlYXR1cmUuXG4gICAqL1xuICBnZXRGZWF0dXJlVmVjdG9yKG5hbWU6IHN0cmluZyk6IFByb21pc2U8RmxvYXQzMkFycmF5PjtcblxuICAvKipcbiAgICogT25lIGVtYmVkZGluZydzIGNvb3JkaW5hdGVzLCBpbmRleC1hbGlnbmVkIHdpdGggdGhlIG9ic2VydmF0aW9ucy5cbiAgICpcbiAgICogVGhlIG5hbWUgbXVzdCBiZSBvbmUgYWR2ZXJ0aXNlZCBpbiBgU3BhdGlhbERhdGFzZXQuZW1iZWRkaW5nc2A7IHJlamVjdHMgb3RoZXJ3aXNlLCBmb3IgdGhlXG4gICAqIHNhbWUgcmVhc29uIGBnZXRDb2x1bW5gIGRvZXMg4oCUIGEgdHlwbyBzaG91bGQgc3VyZmFjZSByYXRoZXIgdGhhbiByZW5kZXIgYXMgYW4gZW1wdHkgcGxvdC5cbiAgICpcbiAgICogT3B0aW9uYWw6IGEgaG9zdCB3aXRoIG5vIGVtYmVkZGluZ3Mgc2ltcGx5IG9taXRzIGl0LCBhbmQgdGhlIFVJIG9mZmVycyBubyBlbWJlZGRpbmcgdmlld3MuXG4gICAqL1xuICBnZXRFbWJlZGRpbmc/KG5hbWU6IHN0cmluZyk6IFByb21pc2U8U3BhdGlhbEVtYmVkZGluZz47XG5cbiAgLyoqXG4gICAqIFR5cGVhaGVhZCBvdmVyIGZlYXR1cmUgbmFtZXMsIGZvciBkYXRhc2V0cyB0b28gd2lkZSB0byBpbmxpbmUgdGhlIGxpc3RcbiAgICogKGBTcGF0aWFsRmVhdHVyZU1ldGEubmFtZXNgIGFic2VudCkuIE9wdGlvbmFsOiBhIGhvc3Qgd2hvc2UgcGFuZWwgaXMgc21hbGxcbiAgICogZW5vdWdoIHRvIGlubGluZSBldmVyeSBuYW1lIG5lZWQgbm90IGltcGxlbWVudCBpdCDigJQgdGhlIFVJIGZhbGxzIGJhY2sgdG9cbiAgICogZmlsdGVyaW5nIGBuYW1lc2AgbG9jYWxseS5cbiAgICovXG4gIHNlYXJjaEZlYXR1cmVzPyhxdWVyeTogc3RyaW5nLCBsaW1pdD86IG51bWJlcik6IFByb21pc2U8c3RyaW5nW10+O1xuXG4gIC8qKlxuICAgKiBQZXItb2JzZXJ2YXRpb24gYm91bmRhcnkgZ2VvbWV0cnksIHdoZW4gdGhlIGRhdGFzZXQgYWR2ZXJ0aXNlc1xuICAgKiBgcG9seWdvbnNgLiBPcHRpb25hbCDigJQgYSBzcG90LWJhc2VkIGFzc2F5IChWaXNpdW0pIGhhcyBubyBzZWdtZW50YXRpb24uXG4gICAqL1xuICBnZXRQb2x5Z29ucz8oKTogUHJvbWlzZTxTcGF0aWFsUG9seWdvbnM+O1xuXG4gIC8qKlxuICAgKiBPbmUgdGlsZSBvZiBib3VuZGFyaWVzIGZyb20gYHBvbHlnb25UaWxlc2AuIEFuIGVtcHR5IHRpbGUgcmVzb2x2ZXMgd2l0aCBgY291bnRgIDAg4oCUXG4gICAqIGEgdGlsZSBvdXRzaWRlIHRoZSB0aXNzdWUgaXMgYW4gYW5zd2VyLCBub3QgYW4gZXJyb3IuIE9wdGlvbmFsOiBvbmx5IGRhdGFzZXRzIHRoYXRcbiAgICogYWR2ZXJ0aXNlIGBwb2x5Z29uVGlsZXNgIG5lZWQgaXQuXG4gICAqL1xuICBnZXRQb2x5Z29uVGlsZT8oc2V0OiBzdHJpbmcsIGxldmVsOiBudW1iZXIsIGd4OiBudW1iZXIsIGd5OiBudW1iZXIpOiBQcm9taXNlPFNwYXRpYWxQb2x5Z29uVGlsZT47XG5cbiAgLyoqXG4gICAqIE9uZSB0aWxlIG9mIHRyYW5zY3JpcHRzIGZyb20gYHRyYW5zY3JpcHRUaWxlc2AsIHJlc3RyaWN0ZWQgdG8gYHF1ZXJ5LmdlbmVzYC5cbiAgICogT3B0aW9uYWw6IG9ubHkgZGF0YXNldHMgdGhhdCBhZHZlcnRpc2UgYHRyYW5zY3JpcHRUaWxlc2AgbmVlZCBpdC5cbiAgICovXG4gIGdldFRyYW5zY3JpcHRUaWxlPyhcbiAgICBsZXZlbDogbnVtYmVyLFxuICAgIGd4OiBudW1iZXIsXG4gICAgZ3k6IG51bWJlcixcbiAgICBxdWVyeTogVHJhbnNjcmlwdFRpbGVRdWVyeSxcbiAgKTogUHJvbWlzZTxTcGF0aWFsVHJhbnNjcmlwdFRpbGU+O1xuXG4gIC8qKlxuICAgKiBPbmUgdGlsZSBvZiB0aGUgYWxsLWdlbmUgZ3JvdXBpbmcgcHlyYW1pZCAoYHRyYW5zY3JpcHRCaW5zYCk6IGFuIGVudHJ5IHBlciBiaW4sIHdpdGhcbiAgICogYHdlaWdodGAgaXRzIHRyYW5zY3JpcHQgY291bnQgYW5kIGBvYnNlcnZhdGlvbmAgaXRzIGRvbWluYW50IGNlbGwuXG4gICAqL1xuICBnZXRUcmFuc2NyaXB0Qmlucz8obGV2ZWw6IG51bWJlciwgdHg6IG51bWJlciwgdHk6IG51bWJlcik6IFByb21pc2U8U3BhdGlhbFRyYW5zY3JpcHRUaWxlPjtcblxuICAvKipcbiAgICogT25lIHRpbGUgb2YgdGhlIHBlci1nZW5lIGxldmVscyBmb3IgYGdlbmVzYDogZWFjaCBlbnRyeSBpcyBvbmUgZ2VuZSdzIHRyYW5zY3JpcHRzIGluIG9uZSBiaW5cbiAgICogKGNlbnRyb2lkLCBjb3VudCwgZG9taW5hbnQgY2VsbCk7IGl0cyBgZ2VuZWAgaXMgdGhlIHBvc2l0aW9uIGluIGBnZW5lc2AuIE9wdGlvbmFsLlxuICAgKi9cbiAgZ2V0VHJhbnNjcmlwdEdlbmVCaW5zPyhsZXZlbDogbnVtYmVyLCB0eDogbnVtYmVyLCB0eTogbnVtYmVyLCBnZW5lczogc3RyaW5nW10pOiBQcm9taXNlPFNwYXRpYWxUcmFuc2NyaXB0VGlsZT47XG5cbiAgLyoqXG4gICAqIFdoYXQgaXMgaW5zaWRlIGBib3hgIChvYnNlcnZhdGlvbiB1bml0cyk6IHRyYW5zY3JpcHQgY291bnQsIGRpc3RpbmN0IGdlbmVzIGFuZCBjZWxscyxcbiAgICogdGhlIG1vc3QgZnJlcXVlbnQgb2YgZWFjaCDigJQgb3B0aW9uYWxseSByZXN0cmljdGVkIHRvIGBnZW5lc2Ag4oCUIHBsdXMgZGlzcGxheSBpZHMgZm9yXG4gICAqIGBjZWxsc2AuIE9taXQgYGJveGAgZm9yIGEgY2VsbC1pZCBsb29rdXAgb25seS4gT3B0aW9uYWw7IGRyaXZlcyB0aGUgaG92ZXIgZGV0YWlscyBvZlxuICAgKiB0cmFuc2NyaXB0IG1hcmtlcnMuXG4gICAqL1xuICBnZXRUcmFuc2NyaXB0U3VtbWFyeT8ocXVlcnk6IHtcbiAgICBib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICBnZW5lcz86IHN0cmluZ1tdO1xuICAgIGNlbGxzPzogbnVtYmVyW107XG4gIH0pOiBQcm9taXNlPFNwYXRpYWxUcmFuc2NyaXB0U3VtbWFyeT47XG5cbiAgLyoqXG4gICAqIFRoZSBzdW1tZWQgdHJhbnNjcmlwdCBkZW5zaXR5IG9mIGBnZW5lc2AgKGBbQUxMX0dFTkVTXWAgZm9yIGV2ZXJ5IGdlbmUpIG9uIHRoZVxuICAgKiBkYXRhc2V0J3MgYGRlbnNpdHlgIHJhc3RlciwgcmUtYmlubmVkIHRvIGBiaW5TaXplYCBvYnNlcnZhdGlvbiB1bml0cyB3aGVuIGdpdmVuLlxuICAgKiBPcHRpb25hbDogb25seSBkYXRhc2V0cyB0aGF0IGFkdmVydGlzZSBgZGVuc2l0eWAgbmVlZCBpdC5cbiAgICovXG4gIGdldERlbnNpdHk/KGdlbmVzOiBzdHJpbmdbXSwgYmluU2l6ZT86IG51bWJlcik6IFByb21pc2U8U3BhdGlhbERlbnNpdHlSYXN0ZXI+O1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBjZWxsIGdyb3VwaW5nIOKAlCBhIENTVi9UU1Ygb2YgYGNlbGxfaWRgIGFuZCBgZ3JvdXBgIOKAlCB1bmRlciBgbGFiZWxgLiBUaGUgbmV3XG4gICAqIGNhdGVnb3JpY2FsIGNvbHVtbiBpcyBhZGRlZCB0byB0aGUgZGF0YXNldCAod2hpY2ggcmUtZW1pdHMpIGFuZCByZXNvbHZlZC4gT3B0aW9uYWwuXG4gICAqL1xuICBpbXBvcnRHcm91cHM/KGxhYmVsOiBzdHJpbmcsIHRhYmxlOiBzdHJpbmcpOiBQcm9taXNlPHsgY29sdW1uOiBDYXRlZ29yaWNhbENvbHVtbk1ldGE7IG1hdGNoZWQ6IG51bWJlciB9PjtcblxuICAvKiogVHJhbnNjcmlwdCB0b3RhbHMgcGVyIGdlbmUsIGZvciBlc3RpbWF0aW5nIGhvdyBtYW55IG1hcmtlcnMgYSBzZWxlY3Rpb24gZHJhd3MuICovXG4gIGdldFRyYW5zY3JpcHRDb3VudHM/KGdlbmVzOiBzdHJpbmdbXSk6IFByb21pc2U8U3BhdGlhbFRyYW5zY3JpcHRDb3VudHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgdG9wIGBwZXJHcm91cGAgbWFya2VyIGdlbmVzIG9mIGV2ZXJ5IGdyb3VwIG9mIGNhdGVnb3JpY2FsIGBjb2x1bW5gLCBmb3IgYnVpbGRpbmdcbiAgICogZ2VuZSBncm91cHMgZnJvbSBjZWxsIGNsdXN0ZXJzIChcIk1hY3JvcGhhZ2VzOiBDRDE2MywgTVJDMSwg4oCmXCIpLiBPcHRpb25hbCwgYW5kIHBvc3NpYmx5XG4gICAqIHNsb3cgdGhlIGZpcnN0IHRpbWU6IHRoZSBzZXJ2ZXIgbWFrZXMgb25lIHBhc3Mgb3ZlciB0aGUgZXhwcmVzc2lvbiBtYXRyaXguXG4gICAqL1xuICBnZXRNYXJrZXJHZW5lcz8oY29sdW1uOiBzdHJpbmcsIHBlckdyb3VwPzogbnVtYmVyKTogUHJvbWlzZTxTcGF0aWFsTWFya2VyR2VuZXM+O1xuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJlbmNlIHZvbHVtZSdzIHZveGVsczogYSB1aW50OCBzY2FsYXIgZmllbGQsIHgtZmFzdGVzdCwgb2YgZXhhY3RseVxuICAgKiBgd2lkdGggKiBoZWlnaHQgKiBkZXB0aGAgYnl0ZXMgYXMgdGhlIGRhdGFzZXQncyB7QGxpbmsgU3BhdGlhbFZvbHVtZU1ldGF9XG4gICAqIGRlY2xhcmVzLlxuICAgKlxuICAgKiBPcHRpb25hbCwgYW5kIG9ubHkgbWVhbmluZ2Z1bCB3aGVuIHRoZSBkYXRhc2V0IGFkdmVydGlzZXMgYSB2b2x1bWUuIFNlcGFyYXRlXG4gICAqIGZyb20gYGdldERhdGFzZXQkKClgIGJlY2F1c2UgaXQgaXMgbWVnYWJ5dGVzOiBhIGhvc3QgdGhhdCBuZXZlciBvcGVucyB0aGUgM0RcbiAgICogbW9kZSBzaG91bGQgbmV2ZXIgcGF5IGZvciBpdC5cbiAgICovXG4gIGdldFZvbHVtZT8oKTogUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuLyoqXG4gKiBESSB0b2tlbiBmb3IgdGhlIGhvc3QncyB7QGxpbmsgU3BhdGlhbERhdGFQb3J0fS4gT3B0aW9uYWw6IGEgaG9zdCB0aGF0IHNlcnZlcyBub1xuICogc3BhdGlhbC1vbWljcyBkYXRhIGJpbmRzIG5vdGhpbmcsIGFuZCB0aGUgc3BhdGlhbCBwbG90IHR5cGVzIHN0YXkgaGlkZGVuLlxuICovXG5leHBvcnQgY29uc3QgU1BBVElBTF9EQVRBX1BPUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3BhdGlhbERhdGFQb3J0PignU1BBVElBTF9EQVRBX1BPUlQnKTtcbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /** DI token for the host's {@link TileAccessPort}. Required by the OpenSeadragon backend. */
2
3
  export const TILE_ACCESS_PORT = new InjectionToken('TILE_ACCESS_PORT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1hY2Nlc3MucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL3RpbGUtYWNjZXNzLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQStCL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlZ2lvbic7XG5cbi8qKlxuICogRmlsZS90aWxlL3pvb20gYmFja2VuZCwgaW52ZXJ0ZWQgYXMgYSBwb3J0IHNvIHRoZSB2aXN1YWxpemF0aW9uIGxpYnJhcnkgZG9lc24ndFxuICogaW1wb3J0IHRoZSBhcHAncyBgRmlsZXNTZXJ2aWNlYCAobm9yIGl0cyBgWm9vbVJlcXVlc3RgL2BEaXNwbGF5VHlwZWAgcmVxdWVzdFxuICogbW9kZWxzKS4gVGhlIGhvc3Qgc3VwcGxpZXMgYW4gYWRhcHRlciB0aGF0IGJ1aWxkcyB0aGUgY29uY3JldGUgcmVxdWVzdCBmcm9tXG4gKiB0aGVzZSBsaWJyYXJ5LW5hdGl2ZSBhcmd1bWVudHMgYW5kIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaWxlQWNjZXNzUG9ydCB7XG4gIC8qKiBCYXNlNjQtZW5jb2RlZCBpbmZvIGZvciB0aGUgY3VycmVudGx5LXNlbGVjdGVkIGZpbGUgKHVzZWQgZm9yIGAvdGlsZWAgYW5kXG4gICAqICBgL3RpbGVzL2luZm9gIHJlcXVlc3RzKSwgb3IgbnVsbCB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIENvbGxhcHNlcyB0aGVcbiAgICogIGhvc3QncyBgZ2V0U2VsZWN0ZWRGaWxlSW5mbygpYCArIGBlbmNvZGUocmF3RGF0YSlgLiAqL1xuICBnZXRTZWxlY3RlZEluZm9CNjQoKTogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogU2VydmVyLXNpZGUgY3JvcC96b29tIG9mIHRoZSBjdXJyZW50IGltYWdlIHRvIGByb2lgOyByZXNvbHZlcyB0byByYXcgaW1hZ2VcbiAgICogIGJ5dGVzLiBgc2NyZWVuYCBpcyB0aGUgb24tc2NyZWVuIGRpYWdyYW0gcmVjdGFuZ2xlLiBUaGUgaG9zdCBidWlsZHMgdGhlXG4gICAqICByZXF1ZXN0IChpbmNsdWRpbmcgdGhlIHNlbGVjdGVkIGZpbGUpIGludGVybmFsbHkuICovXG4gIHpvb21PblJlZ2lvbihyb2k6IFJlY3RhbmdsZSwgc2NyZWVuOiBSZWN0YW5nbGUsIHpJbmRleDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcnJheUJ1ZmZlcj47XG5cbiAgLyoqIFN3aXRjaCB0aGUgaG9zdCdzIGRpc3BsYXkgYmFjayB0byB0aGUgZGlhZ3JhbSB2aWV3IChyZXBsYWNlcyB0aGUgYXBwJ3NcbiAgICogIGBzZWxlY3REaXNwbGF5VHlwZShEaXNwbGF5VHlwZS5EaWFncmFtKWApLiAqL1xuICBzZWxlY3REaWFncmFtRGlzcGxheSgpOiB2b2lkO1xuXG4gIC8qKiBBdXRoIGhlYWRlcnMgKGUuZy4gYEF1dGhvcml6YXRpb246IEJlYXJlciDigKZgKSBmb3IgT1NEJ3Mgb3duIHRpbGUgZmV0Y2hlc1xuICAgKiAgKGl0cyBBSkFYIGxvYWRlciArIHByZWZldGNoIGJ5cGFzcyBBbmd1bGFyJ3MgSHR0cENsaWVudCBpbnRlcmNlcHRvciwgc28gdGhlXG4gICAqICBob3N0IHN1cHBsaWVzIHRoZW0pLiBIaWRlcyB0aGUgYXBwJ3MgQXV0aDAgZGVwZW5kZW5jeSBmcm9tIHRoZSBsaWJyYXJ5LiAqL1xuICBnZXRBdXRoSGVhZGVycygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xufVxuXG5leHBvcnQgY29uc3QgVElMRV9BQ0NFU1NfUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUaWxlQWNjZXNzUG9ydD4oJ1RJTEVfQUNDRVNTX1BPUlQnKTtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1hY2Nlc3MucG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL3BvcnRzL3RpbGUtYWNjZXNzLnBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQStCL0MsNkZBQTZGO0FBQzdGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFpQixrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL21vZGVscy9yZWdpb24nO1xuXG4vKipcbiAqIEZpbGUvdGlsZS96b29tIGJhY2tlbmQsIGludmVydGVkIGFzIGEgcG9ydCBzbyB0aGUgdmlzdWFsaXphdGlvbiBsaWJyYXJ5IGRvZXNuJ3RcbiAqIGltcG9ydCB0aGUgYXBwJ3MgYEZpbGVzU2VydmljZWAgKG5vciBpdHMgYFpvb21SZXF1ZXN0YC9gRGlzcGxheVR5cGVgIHJlcXVlc3RcbiAqIG1vZGVscykuIFRoZSBob3N0IHN1cHBsaWVzIGFuIGFkYXB0ZXIgdGhhdCBidWlsZHMgdGhlIGNvbmNyZXRlIHJlcXVlc3QgZnJvbVxuICogdGhlc2UgbGlicmFyeS1uYXRpdmUgYXJndW1lbnRzIGFuZCB0aGUgY3VycmVudGx5LXNlbGVjdGVkIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlsZUFjY2Vzc1BvcnQge1xuICAvKiogQmFzZTY0LWVuY29kZWQgaW5mbyBmb3IgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCBmaWxlICh1c2VkIGZvciBgL3RpbGVgIGFuZFxuICAgKiAgYC90aWxlcy9pbmZvYCByZXF1ZXN0cyksIG9yIG51bGwgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLiBDb2xsYXBzZXMgdGhlXG4gICAqICBob3N0J3MgYGdldFNlbGVjdGVkRmlsZUluZm8oKWAgKyBgZW5jb2RlKHJhd0RhdGEpYC4gKi9cbiAgZ2V0U2VsZWN0ZWRJbmZvQjY0KCk6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqIFNlcnZlci1zaWRlIGNyb3Avem9vbSBvZiB0aGUgY3VycmVudCBpbWFnZSB0byBgcm9pYDsgcmVzb2x2ZXMgdG8gcmF3IGltYWdlXG4gICAqICBieXRlcy4gYHNjcmVlbmAgaXMgdGhlIG9uLXNjcmVlbiBkaWFncmFtIHJlY3RhbmdsZS4gVGhlIGhvc3QgYnVpbGRzIHRoZVxuICAgKiAgcmVxdWVzdCAoaW5jbHVkaW5nIHRoZSBzZWxlY3RlZCBmaWxlKSBpbnRlcm5hbGx5LiAqL1xuICB6b29tT25SZWdpb24ocm9pOiBSZWN0YW5nbGUsIHNjcmVlbjogUmVjdGFuZ2xlLCB6SW5kZXg6IG51bWJlcik6IE9ic2VydmFibGU8QXJyYXlCdWZmZXI+O1xuXG4gIC8qKiBTd2l0Y2ggdGhlIGhvc3QncyBkaXNwbGF5IGJhY2sgdG8gdGhlIGRpYWdyYW0gdmlldyAocmVwbGFjZXMgdGhlIGFwcCdzXG4gICAqICBgc2VsZWN0RGlzcGxheVR5cGUoRGlzcGxheVR5cGUuRGlhZ3JhbSlgKS4gKi9cbiAgc2VsZWN0RGlhZ3JhbURpc3BsYXkoKTogdm9pZDtcblxuICAvKiogQXV0aCBoZWFkZXJzIChlLmcuIGBBdXRob3JpemF0aW9uOiBCZWFyZXIg4oCmYCkgZm9yIE9TRCdzIG93biB0aWxlIGZldGNoZXNcbiAgICogIChpdHMgQUpBWCBsb2FkZXIgKyBwcmVmZXRjaCBieXBhc3MgQW5ndWxhcidzIEh0dHBDbGllbnQgaW50ZXJjZXB0b3IsIHNvIHRoZVxuICAgKiAgaG9zdCBzdXBwbGllcyB0aGVtKS4gSGlkZXMgdGhlIGFwcCdzIEF1dGgwIGRlcGVuZGVuY3kgZnJvbSB0aGUgbGlicmFyeS4gKi9cbiAgZ2V0QXV0aEhlYWRlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pjtcbn1cblxuLyoqIERJIHRva2VuIGZvciB0aGUgaG9zdCdzIHtAbGluayBUaWxlQWNjZXNzUG9ydH0uIFJlcXVpcmVkIGJ5IHRoZSBPcGVuU2VhZHJhZ29uIGJhY2tlbmQuICovXG5leHBvcnQgY29uc3QgVElMRV9BQ0NFU1NfUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUaWxlQWNjZXNzUG9ydD4oJ1RJTEVfQUNDRVNTX1BPUlQnKTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  /** DI token the Region Editor injects instead of the concrete service. */
3
3
  export const REGION_EDITOR_API = new InjectionToken('REGION_EDITOR_API');
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWVkaXRvci1hcGkuY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9yZWdpb24tZWRpdG9yLWFwaS5jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0cvQywwRUFBMEU7QUFDMUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQW1CLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVnaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3JlZ2lvbic7XG5pbXBvcnQgeyBDbGFzc1ByZXNldCwgUHJlc2V0U2V0IH0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzLXByZXNldCc7XG5pbXBvcnQgeyBJSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4vaW1hZ2UuY29udHJhY3QnO1xuXG4vKipcbiAqIFB1YmxpYywgaW1wbGVtZW50YXRpb24tYWdub3N0aWMgc3VyZmFjZSB0aGF0IHRoZSBSZWdpb24gRWRpdG9yIChhbiAqZXh0ZXJuYWwqXG4gKiBjb25zdW1lciBvZiB0aGUgdmlzdWFsaXphdGlvbiBwYWNrYWdlKSBkZXBlbmRzIG9uLiBJdCBkZWFscyBvbmx5IGluXG4gKiAqKmFubm90YXRpb24qKiByZWdpb25zIOKAlCBpbnRlbnNpdHktcHJvZmlsZSBsaW5lcyAoYFJlZ2lvbi5pc1Byb2ZpbGUoKWApIGFyZVxuICogb3duZWQgYnkgdGhlIGludGVuc2l0eSB0b29sIGFuZCBhcmUgZmlsdGVyZWQgb3V0IC8gcHJlc2VydmVkIGludGVybmFsbHksIHNvXG4gKiB0aGUgZWRpdG9yIG5ldmVyIHNlZXMgb3IgZGlzdHVyYnMgdGhlbS5cbiAqXG4gKiBUaGUgZWRpdG9yIGluamVjdHMgdGhpcyB2aWEge0BsaW5rIFJFR0lPTl9FRElUT1JfQVBJfSAoYm91bmQgdG8gdGhlIGNvbmNyZXRlXG4gKiBgUm91dGluZ1Zpc3VhbGl6ZXJTZXJ2aWNlYCB3aXRoIGB1c2VFeGlzdGluZ2ApIGluc3RlYWQgb2YgaW1wb3J0aW5nIHRoZVxuICogc2VydmljZSBjbGFzcywgc28gaXQgY2Fubm90IHJlYWNoIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBpcyB0aGUgYm91bmRhcnlcbiAqIHRoYXQgbGV0cyBgc2VydmljZXMvdmlzdWFsaXphdGlvbmAgYmVjb21lIGEgbGlicmFyeSB3aG9zZSBvbmx5IHB1YmxpYyBzdXJmYWNlXG4gKiBpcyB0aGUgY29udHJhY3RzLlxuICpcbiAqIFNlbGVjdGlvbiBpcyBleHByZXNzZWQgaW4gdGVybXMgb2Yge0BsaW5rIFJlZ2lvbn1zLCBub3QgYXJyYXkgaW5kaWNlcyDigJQgdGhlXG4gKiBpbmRleCBzcGFjZSAod2hpY2ggaW5jbHVkZXMgcHJvZmlsZSBsaW5lcykgc3RheXMgaW50ZXJuYWwgdG8gdGhlIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlZ2lvbkVkaXRvckFwaSB7XG4gIC8vIOKUgOKUgCBkaXNwbGF5IGRlZmF1bHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBnZXRTaG93U2hhcGVMYWJlbCgpOiBib29sZWFuO1xuICBnZXRTaGFwZUNvbG9yKCk6IHN0cmluZztcbiAgZ2V0RmlsbENvbG9yKCk6IHN0cmluZztcblxuICAvLyDilIDilIAgYW5ub3RhdGlvbiByZWdpb25zIChwcm9maWxlIGxpbmVzIGV4Y2x1ZGVkICYgcHJlc2VydmVkIGludGVybmFsbHkpIOKUgFxuICAvKiogQW5ub3RhdGlvbiByZWdpb25zIGZvciB0aGUgY3VycmVudCBpbWFnZS4gSW50ZW5zaXR5LXByb2ZpbGUgbGluZXMgYXJlXG4gICAqICBuZXZlciBpbmNsdWRlZC4gKi9cbiAgZ2V0QW5ub3RhdGlvblJlZ2lvbnMoKTogUmVnaW9uW107XG4gIC8qKiBSZXBsYWNlIHRoZSBhbm5vdGF0aW9uIHJlZ2lvbnMuIEludGVuc2l0eS1wcm9maWxlIGxpbmVzIGluIHRoZSBzdG9yZSBhcmVcbiAgICogIHByZXNlcnZlZCAodGhlIGVkaXRvciBtdXN0IG5vdCBiZSBhYmxlIHRvIGRyb3AgdGhlbSkuICovXG4gIHNldEFubm90YXRpb25SZWdpb25zKHJlZ2lvbnM6IFJlZ2lvbltdLCBzaG93UmVnaW9uTGFiZWw/OiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ2lvblNhdmVPbj86IGJvb2xlYW4sIGZpbGxDb2xvcj86IHN0cmluZyk6IHZvaWQ7XG4gIC8qKiBDaGFuZ2Ugc2lnbmFsIOKAlCBmaXJlcyB3aGVuZXZlciByZWdpb25zIGNoYW5nZSBvbiBhbnkgYmFja2VuZC4gKi9cbiAgZ2V0UmVnaW9uVXBkYXRlRXZlbnQoKTogT2JzZXJ2YWJsZTxhbnlbXT47XG5cbiAgLy8g4pSA4pSAIHNlbGVjdGlvbiAoYnkgcmVnaW9uIGlkZW50aXR5OyBpbmRleCBzcGFjZSBzdGF5cyBpbnRlcm5hbCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8qKiBUaGUgY3VycmVudGx5LXNlbGVjdGVkIGFubm90YXRpb24gcmVnaW9ucyAocHJvZmlsZSBsaW5lcyBuZXZlciBhcHBlYXIpLiAqL1xuICBnZXRTZWxlY3RlZFJlZ2lvbnMkKCk6IE9ic2VydmFibGU8UmVnaW9uW10+O1xuICAvKiogU2V0IHRoZSBzZWxlY3Rpb24gdG8gdGhlc2UgcmVnaW9ucy4gKi9cbiAgc2V0U2VsZWN0ZWRSZWdpb25zKHJlZ2lvbnM6IFJlZ2lvbltdKTogdm9pZDtcblxuICAvLyDilIDilIAgY2xhc3NpZmljYXRpb24gY29sb3VycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgZ2V0Q2xhc3NpZmljYXRpb25Db2xvcnMoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgc2V0Q2xhc3NpZmljYXRpb25Db2xvcihsYWJlbDogc3RyaW5nLCBjb2xvcjogc3RyaW5nKTogdm9pZDtcblxuICAvLyDilIDilIAgYW5ub3RhdGlvbi1jbGFzcyBwcmVzZXRzIChqaXQtdWkjNzApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvKiogVGhlIGN1cnJlbnQgcGVyLXVzZXIgcHJlc2V0IHNldCAoc291cmNlIG9mIHRydXRoIGZvciByZWdpb24gY29sb3VycykuICovXG4gIGdldFByZXNldFNldCgpOiBQcmVzZXRTZXQ7XG4gIC8qKiBFbWl0cyB0aGUgcHJlc2V0IHNldCBvbiBldmVyeSBjaGFuZ2UgKEJlaGF2aW9yU3ViamVjdC1iYWNrZWQpLiAqL1xuICBnZXRQcmVzZXRTZXQkKCk6IE9ic2VydmFibGU8UHJlc2V0U2V0PjtcbiAgLyoqIFJlcGxhY2UgdGhlIHdob2xlIHByZXNldCBzZXQgKHBlcnNpc3RzIHBlci11c2VyKS4gKi9cbiAgc2V0UHJlc2V0U2V0KHNldDogUHJlc2V0U2V0KTogdm9pZDtcbiAgLyoqIEFkZCBvciB1cGRhdGUgb25lIGNsYXNzIGJ5IG5hbWUgKHBlcnNpc3RzKS4gKi9cbiAgdXBzZXJ0Q2xhc3MocHJlc2V0OiBDbGFzc1ByZXNldCk6IHZvaWQ7XG4gIC8qKiBSZW1vdmUgYSBjbGFzcyBieSBuYW1lIChwZXJzaXN0cykuICovXG4gIHJlbW92ZUNsYXNzKG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKiBSZXN0b3JlIHRoZSBkZWZhdWx0IHByZXNldCBzZXQgKHBlcnNpc3RzKS4gKi9cbiAgcmVzZXRQcmVzZXRzKCk6IHZvaWQ7XG5cbiAgLy8g4pSA4pSAIGltYWdlIG1ldGFkYXRhIChmb3IgcmVnaW9uIGFyZWFzIGluIMK1bcKyKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgZ2V0SW1hZ2VNZXRhKCk6IE9ic2VydmFibGU8SUltYWdlTWV0YWRhdGFbXT47XG5cbiAgLy8g4pSA4pSAIGltcG9ydCAvIGV4cG9ydCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgaW1wb3J0UmVnaW9ucyhnZW9Kc29uU3RyOiBzdHJpbmcpOiBSZWdpb25bXTtcbiAgZ2V0R2VvSnNvblN0cmluZyhyZWdpb25zOiBSZWdpb25bXSk6IHN0cmluZztcblxuICAvLyDilIDilIAgcGVyLXNsaWNlIHotc3RhY2tzIChqaXQtdWkjOTMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvKiogVHJ1ZSB3aGlsZSBhIHBlci1zbGljZSB6LXN0YWNrIHJlZ2lvbiBzZXNzaW9uIGlzIGFjdGl2ZSDigJQgdGhlIGVkaXRvciB0aGVuXG4gICAqICBzYXZlcy9lZGl0cyByZWdpb25zIHBlciBkaXNwbGF5ZWQgc2xpY2UuICovXG4gIGlzU3RhY2tNb2RlKCk6IGJvb2xlYW47XG4gIC8qKiBIb3cgdGhlIGN1cnJlbnQgc3RhY2sgcGVyc2lzdHM6IGBjb21iaW5lZGAgPSBvbmUgei1pbmRleGVkIGdlb2pzb25cbiAgICogIChzaW5nbGUtZmlsZSB6LXN0YWNrLCBRdVBhdGggc2NoZW1hKTsgYHBlci1zbGljZS1maWxlYCA9IG9uZSBnZW9qc29uIHBlclxuICAgKiAgc2xpY2UtZmlsZSAoZm9sZGVyIHN0YWNrKS4gKi9cbiAgZ2V0U3RhY2tTYXZlTGF5b3V0KCk6ICdjb21iaW5lZCcgfCAncGVyLXNsaWNlLWZpbGUnO1xuICAvKiogRXZlcnkgc2xpY2UncyBhbm5vdGF0aW9uIHJlZ2lvbnMgKHByb2ZpbGUgbGluZXMgZXhjbHVkZWQpLCBlYWNoIHRhZ2dlZFxuICAgKiAgd2l0aCBpdHMgemVyby1iYXNlZCB7QGxpbmsgUmVnaW9uLnp9LCBmb3IgYSBjb21iaW5lZCB6LWluZGV4ZWQgc2F2ZS4gKi9cbiAgZ2V0U2xpY2VBbm5vdGF0aW9uUmVnaW9ucygpOiBSZWdpb25bXTtcbiAgLyoqIFBlci1zbGljZSBhbm5vdGF0aW9uIHJlZ2lvbnMgZm9yIGEgZm9sZGVyLXN0YWNrIChgcGVyLXNsaWNlLWZpbGVgKSBzYXZlOlxuICAgKiAgemVyby1iYXNlZCBzbGljZSBpbmRleCDihpIgdGhhdCBzbGljZSdzIGFubm90YXRpb24gcmVnaW9ucy4gSW5jbHVkZXNcbiAgICogIG5vdy1lbXB0eSBzbGljZXMgbG9hZGVkIG5vbi1lbXB0eSwgc28gdGhlaXIgZmlsZSBpcyBvdmVyd3JpdHRlbiBlbXB0eS4gKi9cbiAgZ2V0U3RhY2tTYXZlQW5ub3RhdGlvblNsaWNlcygpOiBNYXA8bnVtYmVyLCBSZWdpb25bXT47XG4gIC8qKlxuICAgKiBGdWxsLXJlc29sdXRpb24gaW1hZ2Ugc2l6ZSAoaW1hZ2UtcGl4ZWwgZGltZW5zaW9ucykgdXNlZCB0byBzaXplIGFuIGV4cG9ydGVkXG4gICAqIHJlZ2lvbiBtYXNrLiBCYWNrZW5kLW5ldXRyYWw6IHByZWZlcnMgdGhlIGFjdGl2ZSByZW5kZXJlcidzIHJlcG9ydGVkIHNpemVcbiAgICogYW5kIGZhbGxzIGJhY2sgdG8gdGhlIGltYWdlIG1ldGFkYXRhLiBSZXR1cm5zIG51bGwgd2hlbiBubyBzaXplIGlzIGtub3duLlxuICAgKlxuICAgKiBUaGUgbWFzayBpdHNlbGYgaXMgcmFzdGVyaXplZCBvZmYgdGhlIG1haW4gdGhyZWFkIChzZWUgdGhlIFJlZ2lvbiBFZGl0b3Inc1xuICAgKiBtYXNrIHdvcmtlcikgZnJvbSB0aGUgcmVnaW9uIGdlb21ldHJ5IGFuZCB0aGlzIHNpemUuXG4gICAqL1xuICBnZXRNYXNrSW1hZ2VTaXplKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB8IG51bGw7XG59XG5cbi8qKiBESSB0b2tlbiB0aGUgUmVnaW9uIEVkaXRvciBpbmplY3RzIGluc3RlYWQgb2YgdGhlIGNvbmNyZXRlIHNlcnZpY2UuICovXG5leHBvcnQgY29uc3QgUkVHSU9OX0VESVRPUl9BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVJlZ2lvbkVkaXRvckFwaT4oJ1JFR0lPTl9FRElUT1JfQVBJJyk7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWVkaXRvci1hcGkuY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9yZWdpb24tZWRpdG9yLWFwaS5jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0cvQywwRUFBMEU7QUFDMUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQW1CLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVnaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3JlZ2lvbic7XG5pbXBvcnQgeyBDbGFzc1ByZXNldCwgUHJlc2V0U2V0IH0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzLXByZXNldCc7XG5pbXBvcnQgeyBJSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4vaW1hZ2UuY29udHJhY3QnO1xuXG4vKipcbiAqIFB1YmxpYywgaW1wbGVtZW50YXRpb24tYWdub3N0aWMgc3VyZmFjZSB0aGF0IHRoZSBSZWdpb24gRWRpdG9yIChhbiAqZXh0ZXJuYWwqXG4gKiBjb25zdW1lciBvZiB0aGUgdmlzdWFsaXphdGlvbiBwYWNrYWdlKSBkZXBlbmRzIG9uLiBJdCBkZWFscyBvbmx5IGluXG4gKiAqKmFubm90YXRpb24qKiByZWdpb25zIOKAlCBpbnRlbnNpdHktcHJvZmlsZSBsaW5lcyAoYFJlZ2lvbi5pc1Byb2ZpbGUoKWApIGFyZVxuICogb3duZWQgYnkgdGhlIGludGVuc2l0eSB0b29sIGFuZCBhcmUgZmlsdGVyZWQgb3V0IC8gcHJlc2VydmVkIGludGVybmFsbHksIHNvXG4gKiB0aGUgZWRpdG9yIG5ldmVyIHNlZXMgb3IgZGlzdHVyYnMgdGhlbS5cbiAqXG4gKiBUaGUgZWRpdG9yIGluamVjdHMgdGhpcyB2aWEge0BsaW5rIFJFR0lPTl9FRElUT1JfQVBJfSAoYm91bmQgdG8gdGhlIGNvbmNyZXRlXG4gKiBgUm91dGluZ1Zpc3VhbGl6ZXJTZXJ2aWNlYCB3aXRoIGB1c2VFeGlzdGluZ2ApIGluc3RlYWQgb2YgaW1wb3J0aW5nIHRoZVxuICogc2VydmljZSBjbGFzcywgc28gaXQgY2Fubm90IHJlYWNoIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBpcyB0aGUgYm91bmRhcnlcbiAqIHRoYXQgbGV0cyBgc2VydmljZXMvdmlzdWFsaXphdGlvbmAgYmVjb21lIGEgbGlicmFyeSB3aG9zZSBvbmx5IHB1YmxpYyBzdXJmYWNlXG4gKiBpcyB0aGUgY29udHJhY3RzLlxuICpcbiAqIFNlbGVjdGlvbiBpcyBleHByZXNzZWQgaW4gdGVybXMgb2Yge0BsaW5rIFJlZ2lvbn1zLCBub3QgYXJyYXkgaW5kaWNlcyDigJQgdGhlXG4gKiBpbmRleCBzcGFjZSAod2hpY2ggaW5jbHVkZXMgcHJvZmlsZSBsaW5lcykgc3RheXMgaW50ZXJuYWwgdG8gdGhlIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlZ2lvbkVkaXRvckFwaSB7XG4gIC8vIOKUgOKUgCBkaXNwbGF5IGRlZmF1bHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBnZXRTaG93U2hhcGVMYWJlbCgpOiBib29sZWFuO1xuICBnZXRTaGFwZUNvbG9yKCk6IHN0cmluZztcbiAgZ2V0RmlsbENvbG9yKCk6IHN0cmluZztcblxuICAvLyDilIDilIAgYW5ub3RhdGlvbiByZWdpb25zIChwcm9maWxlIGxpbmVzIGV4Y2x1ZGVkICYgcHJlc2VydmVkIGludGVybmFsbHkpIOKUgFxuICAvKiogQW5ub3RhdGlvbiByZWdpb25zIGZvciB0aGUgY3VycmVudCBpbWFnZS4gSW50ZW5zaXR5LXByb2ZpbGUgbGluZXMgYXJlXG4gICAqICBuZXZlciBpbmNsdWRlZC4gKi9cbiAgZ2V0QW5ub3RhdGlvblJlZ2lvbnMoKTogUmVnaW9uW107XG4gIC8qKiBSZXBsYWNlIHRoZSBhbm5vdGF0aW9uIHJlZ2lvbnMuIEludGVuc2l0eS1wcm9maWxlIGxpbmVzIGluIHRoZSBzdG9yZSBhcmVcbiAgICogIHByZXNlcnZlZCAodGhlIGVkaXRvciBtdXN0IG5vdCBiZSBhYmxlIHRvIGRyb3AgdGhlbSkuICovXG4gIHNldEFubm90YXRpb25SZWdpb25zKFxuICAgIHJlZ2lvbnM6IFJlZ2lvbltdLFxuICAgIHNob3dSZWdpb25MYWJlbD86IGJvb2xlYW4sXG4gICAgaXNSZWdpb25TYXZlT24/OiBib29sZWFuLFxuICAgIGZpbGxDb2xvcj86IHN0cmluZyxcbiAgKTogdm9pZDtcbiAgLyoqIENoYW5nZSBzaWduYWwg4oCUIGZpcmVzIHdoZW5ldmVyIHJlZ2lvbnMgY2hhbmdlIG9uIGFueSBiYWNrZW5kLiAqL1xuICBnZXRSZWdpb25VcGRhdGVFdmVudCgpOiBPYnNlcnZhYmxlPFJlZ2lvbltdPjtcblxuICAvLyDilIDilIAgc2VsZWN0aW9uIChieSByZWdpb24gaWRlbnRpdHk7IGluZGV4IHNwYWNlIHN0YXlzIGludGVybmFsKSDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLyoqIFRoZSBjdXJyZW50bHktc2VsZWN0ZWQgYW5ub3RhdGlvbiByZWdpb25zIChwcm9maWxlIGxpbmVzIG5ldmVyIGFwcGVhcikuICovXG4gIGdldFNlbGVjdGVkUmVnaW9ucyQoKTogT2JzZXJ2YWJsZTxSZWdpb25bXT47XG4gIC8qKiBTZXQgdGhlIHNlbGVjdGlvbiB0byB0aGVzZSByZWdpb25zLiAqL1xuICBzZXRTZWxlY3RlZFJlZ2lvbnMocmVnaW9uczogUmVnaW9uW10pOiB2b2lkO1xuXG4gIC8vIOKUgOKUgCBjbGFzc2lmaWNhdGlvbiBjb2xvdXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBnZXRDbGFzc2lmaWNhdGlvbkNvbG9ycygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBzZXRDbGFzc2lmaWNhdGlvbkNvbG9yKGxhYmVsOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8vIOKUgOKUgCBhbm5vdGF0aW9uLWNsYXNzIHByZXNldHMgKGppdC11aSM3MCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8qKiBUaGUgY3VycmVudCBwZXItdXNlciBwcmVzZXQgc2V0IChzb3VyY2Ugb2YgdHJ1dGggZm9yIHJlZ2lvbiBjb2xvdXJzKS4gKi9cbiAgZ2V0UHJlc2V0U2V0KCk6IFByZXNldFNldDtcbiAgLyoqIEVtaXRzIHRoZSBwcmVzZXQgc2V0IG9uIGV2ZXJ5IGNoYW5nZSAoQmVoYXZpb3JTdWJqZWN0LWJhY2tlZCkuICovXG4gIGdldFByZXNldFNldCQoKTogT2JzZXJ2YWJsZTxQcmVzZXRTZXQ+O1xuICAvKiogUmVwbGFjZSB0aGUgd2hvbGUgcHJlc2V0IHNldCAocGVyc2lzdHMgcGVyLXVzZXIpLiAqL1xuICBzZXRQcmVzZXRTZXQoc2V0OiBQcmVzZXRTZXQpOiB2b2lkO1xuICAvKiogQWRkIG9yIHVwZGF0ZSBvbmUgY2xhc3MgYnkgbmFtZSAocGVyc2lzdHMpLiAqL1xuICB1cHNlcnRDbGFzcyhwcmVzZXQ6IENsYXNzUHJlc2V0KTogdm9pZDtcbiAgLyoqIFJlbW92ZSBhIGNsYXNzIGJ5IG5hbWUgKHBlcnNpc3RzKS4gKi9cbiAgcmVtb3ZlQ2xhc3MobmFtZTogc3RyaW5nKTogdm9pZDtcbiAgLyoqIFJlc3RvcmUgdGhlIGRlZmF1bHQgcHJlc2V0IHNldCAocGVyc2lzdHMpLiAqL1xuICByZXNldFByZXNldHMoKTogdm9pZDtcblxuICAvLyDilIDilIAgaW1hZ2UgbWV0YWRhdGEgKGZvciByZWdpb24gYXJlYXMgaW4gwrVtwrIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBnZXRJbWFnZU1ldGEoKTogT2JzZXJ2YWJsZTxJSW1hZ2VNZXRhZGF0YVtdPjtcblxuICAvLyDilIDilIAgaW1wb3J0IC8gZXhwb3J0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBpbXBvcnRSZWdpb25zKGdlb0pzb25TdHI6IHN0cmluZyk6IFJlZ2lvbltdO1xuICBnZXRHZW9Kc29uU3RyaW5nKHJlZ2lvbnM6IFJlZ2lvbltdKTogc3RyaW5nO1xuXG4gIC8vIOKUgOKUgCBwZXItc2xpY2Ugei1zdGFja3MgKGppdC11aSM5Mykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8qKiBUcnVlIHdoaWxlIGEgcGVyLXNsaWNlIHotc3RhY2sgcmVnaW9uIHNlc3Npb24gaXMgYWN0aXZlIOKAlCB0aGUgZWRpdG9yIHRoZW5cbiAgICogIHNhdmVzL2VkaXRzIHJlZ2lvbnMgcGVyIGRpc3BsYXllZCBzbGljZS4gKi9cbiAgaXNTdGFja01vZGUoKTogYm9vbGVhbjtcbiAgLyoqIEhvdyB0aGUgY3VycmVudCBzdGFjayBwZXJzaXN0czogYGNvbWJpbmVkYCA9IG9uZSB6LWluZGV4ZWQgZ2VvanNvblxuICAgKiAgKHNpbmdsZS1maWxlIHotc3RhY2ssIFF1UGF0aCBzY2hlbWEpOyBgcGVyLXNsaWNlLWZpbGVgID0gb25lIGdlb2pzb24gcGVyXG4gICAqICBzbGljZS1maWxlIChmb2xkZXIgc3RhY2spLiAqL1xuICBnZXRTdGFja1NhdmVMYXlvdXQoKTogJ2NvbWJpbmVkJyB8ICdwZXItc2xpY2UtZmlsZSc7XG4gIC8qKiBFdmVyeSBzbGljZSdzIGFubm90YXRpb24gcmVnaW9ucyAocHJvZmlsZSBsaW5lcyBleGNsdWRlZCksIGVhY2ggdGFnZ2VkXG4gICAqICB3aXRoIGl0cyB6ZXJvLWJhc2VkIHtAbGluayBSZWdpb24uen0sIGZvciBhIGNvbWJpbmVkIHotaW5kZXhlZCBzYXZlLiAqL1xuICBnZXRTbGljZUFubm90YXRpb25SZWdpb25zKCk6IFJlZ2lvbltdO1xuICAvKiogUGVyLXNsaWNlIGFubm90YXRpb24gcmVnaW9ucyBmb3IgYSBmb2xkZXItc3RhY2sgKGBwZXItc2xpY2UtZmlsZWApIHNhdmU6XG4gICAqICB6ZXJvLWJhc2VkIHNsaWNlIGluZGV4IOKGkiB0aGF0IHNsaWNlJ3MgYW5ub3RhdGlvbiByZWdpb25zLiBJbmNsdWRlc1xuICAgKiAgbm93LWVtcHR5IHNsaWNlcyBsb2FkZWQgbm9uLWVtcHR5LCBzbyB0aGVpciBmaWxlIGlzIG92ZXJ3cml0dGVuIGVtcHR5LiAqL1xuICBnZXRTdGFja1NhdmVBbm5vdGF0aW9uU2xpY2VzKCk6IE1hcDxudW1iZXIsIFJlZ2lvbltdPjtcbiAgLyoqXG4gICAqIEZ1bGwtcmVzb2x1dGlvbiBpbWFnZSBzaXplIChpbWFnZS1waXhlbCBkaW1lbnNpb25zKSB1c2VkIHRvIHNpemUgYW4gZXhwb3J0ZWRcbiAgICogcmVnaW9uIG1hc2suIEJhY2tlbmQtbmV1dHJhbDogcHJlZmVycyB0aGUgYWN0aXZlIHJlbmRlcmVyJ3MgcmVwb3J0ZWQgc2l6ZVxuICAgKiBhbmQgZmFsbHMgYmFjayB0byB0aGUgaW1hZ2UgbWV0YWRhdGEuIFJldHVybnMgbnVsbCB3aGVuIG5vIHNpemUgaXMga25vd24uXG4gICAqXG4gICAqIFRoZSBtYXNrIGl0c2VsZiBpcyByYXN0ZXJpemVkIG9mZiB0aGUgbWFpbiB0aHJlYWQgKHNlZSB0aGUgUmVnaW9uIEVkaXRvcidzXG4gICAqIG1hc2sgd29ya2VyKSBmcm9tIHRoZSByZWdpb24gZ2VvbWV0cnkgYW5kIHRoaXMgc2l6ZS5cbiAgICovXG4gIGdldE1hc2tJbWFnZVNpemUoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHwgbnVsbDtcbn1cblxuLyoqIERJIHRva2VuIHRoZSBSZWdpb24gRWRpdG9yIGluamVjdHMgaW5zdGVhZCBvZiB0aGUgY29uY3JldGUgc2VydmljZS4gKi9cbmV4cG9ydCBjb25zdCBSRUdJT05fRURJVE9SX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUmVnaW9uRWRpdG9yQXBpPignUkVHSU9OX0VESVRPUl9BUEknKTtcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLW92ZXJsYXkuY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9yZWdpb24tb3ZlcmxheS5jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWdpb24gKnJlbmRlcmluZyogYWJzdHJhY3Rpb24g4oCUIGRpc3RpbmN0IGZyb20gYElSZWdpb25TdG9yZWAgKHdoaWNoIG93bnMgdGhlXG4gKiByZWdpb24gZGF0YS9zdGF0ZSwgc2hhcmVkIGFjcm9zcyBiYWNrZW5kcykuIEFuIGBJUmVnaW9uT3ZlcmxheWAgZHJhd3MgdGhlXG4gKiBzdG9yZSdzIHJlZ2lvbnMgb24gYSBzcGVjaWZpYyBiYWNrZW5kJ3MgY2FudmFzIGFuZCBoYW5kbGVzIGRyYXcvc2VsZWN0XG4gKiBpbnRlcmFjdGlvbjpcbiAqXG4gKiAgLSBgUGxvdGx5UmVnaW9uT3ZlcmxheWAg4oCUIFBsb3RseSByZW5kZXJzIHJlZ2lvbnMgbmF0aXZlbHkgYXMgcGxvdCBzaGFwZXMgYW5kXG4gKiAgICBlZGl0cyB0aGVtIHZpYSBpdHMgb3duIGRyYWcgbW9kZXMsIHNvIGl0cyBhZGFwdGVyIGlzIHRoaW4gKG1hcHMgdGhlIG1vZGVcbiAqICAgIG9udG8gUGxvdGx5IGRyYWcgbW9kZXM7IHJlZHJhdyBpcyBhIG5vLW9wKS5cbiAqICAtIGBPc2RSZWdpb25PdmVybGF5YCDigJQgT3BlblNlYWRyYWdvbiBzaG93cyBwcmUtcmVuZGVyZWQgdGlsZXMsIHNvIHJlZ2lvbnMgYXJlXG4gKiAgICBkcmF3biBvbiBhbiBTVkcgbGF5ZXIga2VwdCBhbGlnbmVkIHRvIHRoZSB2aWV3cG9ydCwgd2l0aCBjdXN0b20gZHJhdy9zZWxlY3QuXG4gKlxuICogQm90aCByZWFkIHRoZSBzYW1lIGBJUmVnaW9uU3RvcmVgLCBzbyByZWdpb25zIHN0YXkgaW4gc3luYyByZWdhcmRsZXNzIG9mIHdoaWNoXG4gKiBiYWNrZW5kIGlzIHJlbmRlcmluZyB0aGUgaW1hZ2UuXG4gKi9cbi8qKlxuICogUmVnaW9uIGludGVyYWN0aW9uIG1vZGVzLlxuICpcbiAqICAtIGBub25lYCAgICAgICAgICDigJQgZGlzcGxheSBvbmx5OyBiYWNrZW5kIG5hdmlnYXRpb24gKE9TRCBwYW4vem9vbSkgaXMgbGl2ZS5cbiAqICAtIGBzZWxlY3RgICAgICAgICDigJQgY2xpY2sgdG8gc2VsZWN0OyBvbiBPU0QgYWxzbyBkcmFnIGEgdmVydGV4IC8gcmVzaXplIGFcbiAqICAgICAgICAgICAgICAgICAgICAgIHJlY3RhbmdsZSAvIG1vdmUgdGhlIHJlZ2lvbiBib2R5LlxuICogIC0gYGRyYXdyZWN0YCAgICAgIOKAlCBwcmVzcy1kcmFnLXJlbGVhc2UgYSByZWN0YW5nbGUuXG4gKiAgLSBgZHJhd2Nsb3NlZHBhdGhg4oCUIGZyZWVoYW5kIGNsb3NlZCBwb2x5Z29uIChwcmVzcy1kcmFnLXJlbGVhc2UpLlxuICogIC0gYGRyYXdvcGVucGF0aGAgIOKAlCBmcmVlaGFuZCBvcGVuIHBvbHlsaW5lIChwcmVzcy1kcmFnLXJlbGVhc2UpLlxuICpcbiAqIFZlcnRleC1lZGl0aW5nIHRvb2xzIChPU0Qgb25seTsgUGxvdGx5IG1hcHMgdGhlbSB0byBuby1vcCk6XG4gKiAgLSBgZHJhd3BvbHlnb25gICAg4oCUIGNsaWNrIHRvIHBsYWNlIGVhY2ggdmVydGV4OyBjbGljayB0aGUgZmlyc3QgdmVydGV4IChvclxuICogICAgICAgICAgICAgICAgICAgICAgZG91YmxlLWNsaWNrKSB0byBjbG9zZS5cbiAqICAtIGBhZGRwb2ludGAgICAgICDigJQgY2xpY2sgYW4gZWRnZSBvZiB0aGUgc2VsZWN0ZWQgcG9seWdvbiB0byBpbnNlcnQgYSB2ZXJ0ZXguXG4gKiAgLSBgZGVsZXRlcG9pbnRgICAg4oCUIGNsaWNrIGEgdmVydGV4IG9mIHRoZSBzZWxlY3RlZCBwb2x5Z29uIHRvIHJlbW92ZSBpdC5cbiAqICAtIGBtb3ZlYCAgICAgICAgICDigJQgZHJhZyB0aGUgc2VsZWN0ZWQgcmVnaW9uIGJvZHkgdG8gdHJhbnNsYXRlIGl0LlxuICovXG5leHBvcnQgdHlwZSBSZWdpb25Ub29sTW9kZSA9XG4gIHwgJ25vbmUnXG4gIHwgJ3NlbGVjdCdcbiAgfCAnZHJhd3JlY3QnXG4gIHwgJ2RyYXdjbG9zZWRwYXRoJ1xuICB8ICdkcmF3b3BlbnBhdGgnXG4gIHwgJ2RyYXdwb2x5Z29uJ1xuICB8ICdhZGRwb2ludCdcbiAgfCAnZGVsZXRlcG9pbnQnXG4gIHwgJ21vdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElSZWdpb25PdmVybGF5IHtcbiAgLyoqIFNldCB0aGUgYWN0aXZlIGRyYXcvc2VsZWN0IGludGVyYWN0aW9uIChvciAnbm9uZScgdG8ganVzdCBkaXNwbGF5KS4gKi9cbiAgc2V0TW9kZShtb2RlOiBSZWdpb25Ub29sTW9kZSk6IHZvaWQ7XG4gIC8qKiBSZS1yZW5kZXIgdGhlIHJlZ2lvbnMgKGUuZy4gYWZ0ZXIgdGhlIHN0b3JlIGNoYW5nZXMgb3IgdGhlIHZpZXcgbW92ZXMpLiAqL1xuICByZWRyYXcoKTogdm9pZDtcbiAgLyoqXG4gICAqIENvbnZlcnQgdGhlIHNlbGVjdGVkIHJlZ2lvbihzKSB0by9mcm9tIGEgYmV6aWVyIGN1cnZlICh0b0JlemllciAvXG4gICAqIHRvUG9seWdvbikuIEEgb25lLXNob3QgYWN0aW9uLCBub3QgYSBtb2RlLiBOby1vcCBvbiBiYWNrZW5kc1xuICAgKiB0aGF0IGRvbid0IHJlbmRlciBiZXppZXJzIChQbG90bHkpLlxuICAgKi9cbiAgc2V0U2VsZWN0ZWRCZXppZXIoYmV6aWVyOiBib29sZWFuKTogdm9pZDtcbiAgLyoqIERldGFjaCBoYW5kbGVycy9ET00gYW5kIHN0b3AgbGlzdGVuaW5nIHRvIHRoZSBzdG9yZS4gKi9cbiAgZGVzdHJveSgpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLW92ZXJsYXkuY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyYWN0cy9yZWdpb24tb3ZlcmxheS5jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWdpb24gKnJlbmRlcmluZyogYWJzdHJhY3Rpb24g4oCUIGRpc3RpbmN0IGZyb20gYElSZWdpb25TdG9yZWAgKHdoaWNoIG93bnMgdGhlXG4gKiByZWdpb24gZGF0YS9zdGF0ZSwgc2hhcmVkIGFjcm9zcyBiYWNrZW5kcykuIEFuIGBJUmVnaW9uT3ZlcmxheWAgZHJhd3MgdGhlXG4gKiBzdG9yZSdzIHJlZ2lvbnMgb24gYSBzcGVjaWZpYyBiYWNrZW5kJ3MgY2FudmFzIGFuZCBoYW5kbGVzIGRyYXcvc2VsZWN0XG4gKiBpbnRlcmFjdGlvbjpcbiAqXG4gKiAgLSBgUGxvdGx5UmVnaW9uT3ZlcmxheWAg4oCUIFBsb3RseSByZW5kZXJzIHJlZ2lvbnMgbmF0aXZlbHkgYXMgcGxvdCBzaGFwZXMgYW5kXG4gKiAgICBlZGl0cyB0aGVtIHZpYSBpdHMgb3duIGRyYWcgbW9kZXMsIHNvIGl0cyBhZGFwdGVyIGlzIHRoaW4gKG1hcHMgdGhlIG1vZGVcbiAqICAgIG9udG8gUGxvdGx5IGRyYWcgbW9kZXM7IHJlZHJhdyBpcyBhIG5vLW9wKS5cbiAqICAtIGBPc2RSZWdpb25PdmVybGF5YCDigJQgT3BlblNlYWRyYWdvbiBzaG93cyBwcmUtcmVuZGVyZWQgdGlsZXMsIHNvIHJlZ2lvbnMgYXJlXG4gKiAgICBkcmF3biBvbiBhbiBTVkcgbGF5ZXIga2VwdCBhbGlnbmVkIHRvIHRoZSB2aWV3cG9ydCwgd2l0aCBjdXN0b20gZHJhdy9zZWxlY3QuXG4gKlxuICogQm90aCByZWFkIHRoZSBzYW1lIGBJUmVnaW9uU3RvcmVgLCBzbyByZWdpb25zIHN0YXkgaW4gc3luYyByZWdhcmRsZXNzIG9mIHdoaWNoXG4gKiBiYWNrZW5kIGlzIHJlbmRlcmluZyB0aGUgaW1hZ2UuXG4gKi9cbi8qKlxuICogUmVnaW9uIGludGVyYWN0aW9uIG1vZGVzLlxuICpcbiAqICAtIGBub25lYCAgICAgICAgICDigJQgZGlzcGxheSBvbmx5OyBiYWNrZW5kIG5hdmlnYXRpb24gKE9TRCBwYW4vem9vbSkgaXMgbGl2ZS5cbiAqICAtIGBzZWxlY3RgICAgICAgICDigJQgY2xpY2sgdG8gc2VsZWN0OyBvbiBPU0QgYWxzbyBkcmFnIGEgdmVydGV4IC8gcmVzaXplIGFcbiAqICAgICAgICAgICAgICAgICAgICAgIHJlY3RhbmdsZSAvIG1vdmUgdGhlIHJlZ2lvbiBib2R5LlxuICogIC0gYGRyYXdyZWN0YCAgICAgIOKAlCBwcmVzcy1kcmFnLXJlbGVhc2UgYSByZWN0YW5nbGUuXG4gKiAgLSBgZHJhd2Nsb3NlZHBhdGhg4oCUIGZyZWVoYW5kIGNsb3NlZCBwb2x5Z29uIChwcmVzcy1kcmFnLXJlbGVhc2UpLlxuICogIC0gYGRyYXdvcGVucGF0aGAgIOKAlCBmcmVlaGFuZCBvcGVuIHBvbHlsaW5lIChwcmVzcy1kcmFnLXJlbGVhc2UpLlxuICpcbiAqIFZlcnRleC1lZGl0aW5nIHRvb2xzIChPU0Qgb25seTsgUGxvdGx5IG1hcHMgdGhlbSB0byBuby1vcCk6XG4gKiAgLSBgZHJhd3BvbHlnb25gICAg4oCUIGNsaWNrIHRvIHBsYWNlIGVhY2ggdmVydGV4OyBjbGljayB0aGUgZmlyc3QgdmVydGV4IChvclxuICogICAgICAgICAgICAgICAgICAgICAgZG91YmxlLWNsaWNrKSB0byBjbG9zZS5cbiAqICAtIGBhZGRwb2ludGAgICAgICDigJQgY2xpY2sgYW4gZWRnZSBvZiB0aGUgc2VsZWN0ZWQgcG9seWdvbiB0byBpbnNlcnQgYSB2ZXJ0ZXguXG4gKiAgLSBgZGVsZXRlcG9pbnRgICAg4oCUIGNsaWNrIGEgdmVydGV4IG9mIHRoZSBzZWxlY3RlZCBwb2x5Z29uIHRvIHJlbW92ZSBpdC5cbiAqICAtIGBtb3ZlYCAgICAgICAgICDigJQgZHJhZyB0aGUgc2VsZWN0ZWQgcmVnaW9uIGJvZHkgdG8gdHJhbnNsYXRlIGl0LlxuICovXG5leHBvcnQgdHlwZSBSZWdpb25Ub29sTW9kZSA9XG4gIHwgJ25vbmUnXG4gIHwgJ3NlbGVjdCdcbiAgfCAnZHJhd3JlY3QnXG4gIHwgJ2RyYXdjbG9zZWRwYXRoJ1xuICB8ICdkcmF3b3BlbnBhdGgnXG4gIHwgJ2RyYXdwb2x5Z29uJ1xuICB8ICdhZGRwb2ludCdcbiAgfCAnZGVsZXRlcG9pbnQnXG4gIHwgJ21vdmUnO1xuXG4vKipcbiAqIEEgYmFja2VuZCdzIG9uLWNhbnZhcyByZWdpb24gbGF5ZXI6IGRyYXdzIHRoZSBzaGFyZWQgYFJlZ2lvblN0b3JlYCdzIHJlZ2lvbnNcbiAqIG92ZXIgdGhlIGltYWdlIGFuZCBydW5zIHRoZSBkcmF3IC8gc2VsZWN0IC8gdmVydGV4LWVkaXQgaW50ZXJhY3Rpb25zLiBPYnRhaW5lZFxuICogZnJvbSBgSVZpc3VhbGl6ZXIuZ2V0UmVnaW9uT3ZlcmxheSgpYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVnaW9uT3ZlcmxheSB7XG4gIC8qKiBTZXQgdGhlIGFjdGl2ZSBkcmF3L3NlbGVjdCBpbnRlcmFjdGlvbiAob3IgJ25vbmUnIHRvIGp1c3QgZGlzcGxheSkuICovXG4gIHNldE1vZGUobW9kZTogUmVnaW9uVG9vbE1vZGUpOiB2b2lkO1xuICAvKiogUmUtcmVuZGVyIHRoZSByZWdpb25zIChlLmcuIGFmdGVyIHRoZSBzdG9yZSBjaGFuZ2VzIG9yIHRoZSB2aWV3IG1vdmVzKS4gKi9cbiAgcmVkcmF3KCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBzZWxlY3RlZCByZWdpb24ocykgdG8vZnJvbSBhIGJlemllciBjdXJ2ZSAodG9CZXppZXIgL1xuICAgKiB0b1BvbHlnb24pLiBBIG9uZS1zaG90IGFjdGlvbiwgbm90IGEgbW9kZS4gTm8tb3Agb24gYmFja2VuZHNcbiAgICogdGhhdCBkb24ndCByZW5kZXIgYmV6aWVycyAoUGxvdGx5KS5cbiAgICovXG4gIHNldFNlbGVjdGVkQmV6aWVyKGJlemllcjogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiBEZXRhY2ggaGFuZGxlcnMvRE9NIGFuZCBzdG9wIGxpc3RlbmluZyB0byB0aGUgc3RvcmUuICovXG4gIGRlc3Ryb3koKTogdm9pZDtcbn1cbiJdfQ==
@@ -9,4 +9,4 @@
9
9
  * onnxruntime-web session today, a worker-backed one later) can be swapped in.
10
10
  */
11
11
  export {};
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLmNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvc2FtLmNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udHJhY3RzIGZvciB0aGUgY2xpZW50LXNpZGUsIHByb21wdGFibGUgU2VnbWVudCBBbnl0aGluZyAoU0FNKSB0b29saW5nXG4gKiAoaml0LXVpIzkwKS4gQSBTQU0gbW9kZWwgaXMgYSBwcm9tcHRhYmxlIGVuY29kZXIvZGVjb2RlciBPTk5YIHBhaXI6IHRoZSBoZWF2eVxuICogZW5jb2RlciBydW5zIG9uY2UgcGVyIGltYWdlIChpdHMgZW1iZWRkaW5nIGlzIGNhY2hlZCksIGFuZCB0aGUgbGlnaHQgZGVjb2RlclxuICogcnVucyBwZXIgcHJvbXB0IChib3gvcG9pbnRzKSB0byBwcm9kdWNlIGEgbWFzay5cbiAqXG4gKiBUaGUgaW5mZXJlbmNlIGJhY2tlbmQgaXMgYWJzdHJhY3RlZCBiZWhpbmQge0BsaW5rIElTYW1TZXNzaW9ufSBzbyB0aGUgdG9vbFxuICogKFNhbVRvb2xTZXJ2aWNlKSBpcyB0ZXN0YWJsZSB3aXRoIGEgZmFrZSBhbmQgc28gZGlmZmVyZW50IHJ1bnRpbWVzIChhblxuICogb25ueHJ1bnRpbWUtd2ViIHNlc3Npb24gdG9kYXksIGEgd29ya2VyLWJhY2tlZCBvbmUgbGF0ZXIpIGNhbiBiZSBzd2FwcGVkIGluLlxuICovXG5cbi8qKiBBIHByb21wdGFibGUgU0FNIG1vZGVsOiBhIHF1YW50aXplZCBlbmNvZGVyICsgZGVjb2RlciBPTk5YIHBhaXIuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbU1vZGVsRGVmIHtcbiAgLyoqIFN0YWJsZSBpZCB1c2VkIGJ5IHRoZSByZWdpc3RyeSAoZS5nLiAnbWljcm9zYW0tdml0LWItbG0nKS4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIEh1bWFuIGxhYmVsIGZvciBhIG1vZGVsIHBpY2tlci4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqIEVuY29kZXIgT05OWCBVUkwgKGltYWdlIOKGkiBpbWFnZSBlbWJlZGRpbmcpLiBFbXB0eSB1bnRpbCBob3N0ZWQuICovXG4gIGVuY29kZXJVcmw6IHN0cmluZztcbiAgLyoqIERlY29kZXIgT05OWCBVUkwgKGVtYmVkZGluZyArIHByb21wdHMg4oaSIG1hc2spLiBFbXB0eSB1bnRpbCBob3N0ZWQuICovXG4gIGRlY29kZXJVcmw6IHN0cmluZztcbiAgLyoqIERlY29kZXIgSS9PIGZhbWlseSDigJQgU0FNIHYxIHZzIHYyL3YzIGRpZmZlciBpbiBtYXNrIG91dHB1dCBzaXplICsgbmFtZXMuICovXG4gIHZhcmlhbnQ6ICdzYW0xJyB8ICdzYW0yJyB8ICdzYW0zJztcbiAgLyoqIEVuY29kZXIgaW5wdXQgc2lkZSBsZW5ndGggKDEwMjQgZm9yIFNBTSB2MSkuICovXG4gIGlucHV0U2l6ZTogbnVtYmVyO1xuICAvKiogVHJ1ZSBmb3IgbWljcm9zY29weS1maW5ldHVuZWQgY2hlY2twb2ludHMgKG1pY3JvLXNhbSwgcGF0aG9TQU0pLiAqL1xuICBtaWNyb3Njb3B5PzogYm9vbGVhbjtcbiAgLyoqIE92ZXJyaWRlIHRoZSBvbm54cnVudGltZS13ZWIgZXhlY3V0aW9uIHByb3ZpZGVycyBmb3IgdGhlIEVOQ09ERVIgc2Vzc2lvblxuICAgKiAgKGRlY29kZXIgaXMgYWx3YXlzIFdBU00pLiBEZWZhdWx0cyB0byBXZWJHUFUtd2l0aC1XQVNNLWZhbGxiYWNrLiBTZXQgdG9cbiAgICogIGBbJ3dhc20nXWAgZm9yIGFyY2hpdGVjdHVyZXMgd2hvc2UgZnAxNiBhdHRlbnRpb24gb3ZlcmZsb3dzIG9uIHRoZSBXZWJHUFVcbiAgICogIEVQIGFuZCByZXR1cm5zIGFuIGVtcHR5IG1hc2sgKGUuZy4gbWljcm8tc2FtIFZpVC1UJ3MgVGlueVZpVCBlbmNvZGVyKSxcbiAgICogIHdoaWNoIHJ1biBjb3JyZWN0bHkg4oCUIGFuZCBmYXN0LCB3aGVuIHNtYWxsIOKAlCBvbiBXQVNNLiAqL1xuICBlbmNvZGVyUHJvdmlkZXJzPzogc3RyaW5nW107XG4gIC8qKiBSdW4gaW5mZXJlbmNlIGluLXByb2Nlc3Mgb24gdGhlIG1haW4gdGhyZWFkIGluc3RlYWQgb2YgdGhlIFNBTSBXZWIgV29ya2VyLlxuICAgKiAgT25seSB2YWxpZCBmb3Igc21hbGwgV0FTTS1vbmx5IG1vZGVscyAoZS5nLiBtaWNyby1zYW0gVmlULVQpIHdoZXJlIHRoZVxuICAgKiAgd29ya2VyJ3Mgc3Bhd24gKyBzZWNvbmQtT1JULXJ1bnRpbWUgKyBtZXNzYWdlIG92ZXJoZWFkIG91dHdlaWdocyBpdHNcbiAgICogIG9mZi10aHJlYWQgYmVuZWZpdC4gV2ViR1BVIG1vZGVscyBpZ25vcmUgdGhpcyAodGhleSBtdXN0IHN0YXkgaW4gdGhlXG4gICAqICB3b3JrZXIgdG8gYXZvaWQgZnJlZXppbmcgdGhlIHRhYikuICovXG4gIGluUHJvY2Vzcz86IGJvb2xlYW47XG59XG5cbi8qKiBDYWNoZWQgZW5jb2RlciBvdXRwdXQgZm9yIG9uZSBpbWFnZSAocmV1c2VkIGFjcm9zcyBldmVyeSBwcm9tcHQgb24gaXQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1FbWJlZGRpbmcge1xuICAvKiogRmxhdHRlbmVkIGVtYmVkZGluZyB0ZW5zb3IsIHNoYXBlIGBkaW1zYC4gKi9cbiAgZGF0YTogRmxvYXQzMkFycmF5O1xuICAvKiogRW1iZWRkaW5nIHRlbnNvciBkaW1zLCBlLmcuIFsxLCAyNTYsIDY0LCA2NF0uICovXG4gIGRpbXM6IG51bWJlcltdO1xuICAvKiogYGlucHV0U2l6ZSAvIG1heChpbWFnZVdpZHRoLCBpbWFnZUhlaWdodClgIOKAlCBzY2FsZXMgcHJvbXB0IGNvb3Jkcy4gKi9cbiAgc2NhbGU6IG51bWJlcjtcbiAgLyoqIEltYWdlIChtYXRyaXgpIHNpemUgdGhlIGVtYmVkZGluZyB3YXMgY29tcHV0ZWQgZm9yLiAqL1xuICBpbWFnZVdpZHRoOiBudW1iZXI7XG4gIGltYWdlSGVpZ2h0OiBudW1iZXI7XG4gIC8qKiBPcGFxdWUgaGFuZGxlIHRvIHRoZSBlbWJlZGRpbmcgY2FjaGVkIGluc2lkZSB0aGUgaW5mZXJlbmNlIFdlYiBXb3JrZXIsIHdoZW5cbiAgICogIHRoZSBzZXNzaW9uIHJ1bnMgb2ZmLXRocmVhZC4gYGRlY29kZWAgcGFzc2VzIGl0IGJhY2sgc28gdGhlIHdvcmtlciByZXVzZXNcbiAgICogIHRoZSBjYWNoZWQgdGVuc29yIGluc3RlYWQgb2Ygcm91bmQtdHJpcHBpbmcgdGhlIChtdWx0aS1NQikgZW1iZWRkaW5nIGRhdGE7XG4gICAqICBgZGF0YWAgaXMgdGhlbiBhbiBlbXB0eSBwbGFjZWhvbGRlci4gQWJzZW50IGZvciBpbi1wcm9jZXNzL2Zha2Ugc2Vzc2lvbnMuICovXG4gIHRva2VuPzogbnVtYmVyO1xufVxuXG4vKiogQSBwcm9tcHQgZm9yIG9uZSBvYmplY3QsIGluIGltYWdlIChtYXRyaXgpIHBpeGVsIGNvb3JkaW5hdGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1Qcm9tcHQge1xuICAvKiogQm94IHByb21wdCBgW3gwLHkwLHgxLHkxXWAgKGlzc3VlICM5MCdzIHByaW1hcnkgYWZmb3JkYW5jZSkuICovXG4gIGJveD86IHsgeDA6IG51bWJlcjsgeTA6IG51bWJlcjsgeDE6IG51bWJlcjsgeTE6IG51bWJlciB9O1xuICAvKiogUG9pbnQgcHJvbXB0czsgYGxhYmVsYCAxID0gcG9zaXRpdmUgKGluY2x1ZGUpLCAwID0gbmVnYXRpdmUgKGV4Y2x1ZGUpLiAqL1xuICBwb2ludHM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBsYWJlbDogMCB8IDEgfVtdO1xufVxuXG4vKiogQSBkZWNvZGVkIG1hc2ssIGJpbmFyeSAoMC8xKSwgYXQgaW1hZ2UgKG1hdHJpeCkgcmVzb2x1dGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtTWFza1Jlc3VsdCB7XG4gIG1hc2s6IFVpbnQ4QXJyYXk7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICAvKiogTW9kZWwtcHJlZGljdGVkIElvVSBxdWFsaXR5IHNjb3JlIGZvciB0aGUgY2hvc2VuIG1hc2suICovXG4gIGlvdTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb21wdGFibGUtU0FNIGluZmVyZW5jZSBiYWNrZW5kLiBMaWZlY3ljbGU6IGBsb2FkTW9kZWxgIG9uY2UsIGBlbWJlZGAgb25jZVxuICogcGVyIGltYWdlLCBgZGVjb2RlYCBwZXIgcHJvbXB0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTYW1TZXNzaW9uIHtcbiAgLyoqIExvYWQgdGhlIG1vZGVsOyBgb25Qcm9ncmVzc2AgcmVwb3J0cyBlbmNvZGVyLWRvd25sb2FkIGZyYWN0aW9uICgwLi4xKS4gKi9cbiAgbG9hZE1vZGVsKG1vZGVsOiBTYW1Nb2RlbERlZiwgb25Qcm9ncmVzcz86IChmcmFjdGlvbjogbnVtYmVyKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbiAgaXNMb2FkZWQoKTogYm9vbGVhbjtcbiAgLyoqIFJ1biB0aGUgZW5jb2RlciBvbiBhbiBSR0JBIGltYWdlOyByZXR1cm5zIGEgY2FjaGVhYmxlIGVtYmVkZGluZy4gKi9cbiAgZW1iZWQoaW1hZ2U6IHsgZGF0YTogVWludDhDbGFtcGVkQXJyYXk7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0pOiBQcm9taXNlPFNhbUVtYmVkZGluZz47XG4gIC8qKiBSdW4gdGhlIGRlY29kZXIgZm9yIG9uZSBwcm9tcHQgYWdhaW5zdCBhIGNhY2hlZCBlbWJlZGRpbmcuICovXG4gIGRlY29kZShlbWJlZGRpbmc6IFNhbUVtYmVkZGluZywgcHJvbXB0OiBTYW1Qcm9tcHQpOiBQcm9taXNlPFNhbU1hc2tSZXN1bHQ+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLmNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvc2FtLmNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udHJhY3RzIGZvciB0aGUgY2xpZW50LXNpZGUsIHByb21wdGFibGUgU2VnbWVudCBBbnl0aGluZyAoU0FNKSB0b29saW5nXG4gKiAoaml0LXVpIzkwKS4gQSBTQU0gbW9kZWwgaXMgYSBwcm9tcHRhYmxlIGVuY29kZXIvZGVjb2RlciBPTk5YIHBhaXI6IHRoZSBoZWF2eVxuICogZW5jb2RlciBydW5zIG9uY2UgcGVyIGltYWdlIChpdHMgZW1iZWRkaW5nIGlzIGNhY2hlZCksIGFuZCB0aGUgbGlnaHQgZGVjb2RlclxuICogcnVucyBwZXIgcHJvbXB0IChib3gvcG9pbnRzKSB0byBwcm9kdWNlIGEgbWFzay5cbiAqXG4gKiBUaGUgaW5mZXJlbmNlIGJhY2tlbmQgaXMgYWJzdHJhY3RlZCBiZWhpbmQge0BsaW5rIElTYW1TZXNzaW9ufSBzbyB0aGUgdG9vbFxuICogKFNhbVRvb2xTZXJ2aWNlKSBpcyB0ZXN0YWJsZSB3aXRoIGEgZmFrZSBhbmQgc28gZGlmZmVyZW50IHJ1bnRpbWVzIChhblxuICogb25ueHJ1bnRpbWUtd2ViIHNlc3Npb24gdG9kYXksIGEgd29ya2VyLWJhY2tlZCBvbmUgbGF0ZXIpIGNhbiBiZSBzd2FwcGVkIGluLlxuICovXG5cbi8qKiBBIHByb21wdGFibGUgU0FNIG1vZGVsOiBhIHF1YW50aXplZCBlbmNvZGVyICsgZGVjb2RlciBPTk5YIHBhaXIuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbU1vZGVsRGVmIHtcbiAgLyoqIFN0YWJsZSBpZCB1c2VkIGJ5IHRoZSByZWdpc3RyeSAoZS5nLiAnbWljcm9zYW0tdml0LWItbG0nKS4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIEh1bWFuIGxhYmVsIGZvciBhIG1vZGVsIHBpY2tlci4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqIEVuY29kZXIgT05OWCBVUkwgKGltYWdlIOKGkiBpbWFnZSBlbWJlZGRpbmcpLiBFbXB0eSB1bnRpbCBob3N0ZWQuICovXG4gIGVuY29kZXJVcmw6IHN0cmluZztcbiAgLyoqIERlY29kZXIgT05OWCBVUkwgKGVtYmVkZGluZyArIHByb21wdHMg4oaSIG1hc2spLiBFbXB0eSB1bnRpbCBob3N0ZWQuICovXG4gIGRlY29kZXJVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIFJldmlzaW9uIG9mIHRoZSBob3N0ZWQgT05OWCBmaWxlcy4gRG93bmxvYWRlZCBtb2RlbHMgYXJlIGNhY2hlZCBieSBVUkwgQU5EIHJldmlzaW9uLFxuICAgKiBhbmQgaG9zdGVkIFVSTHMgYXJlIHR5cGljYWxseSBtdXRhYmxlIChgLi4uL3Jlc29sdmUvbWFpbi8uLi5gKSwgc28gYnVtcCB0aGlzIHdoZW4gdGhlXG4gICAqIGZpbGVzIGFyZSByZS1leHBvcnRlZCB1bmRlciB0aGUgc2FtZSBVUkxzOiBicm93c2VycyB0aGVuIGZldGNoIHRoZSBuZXcgZmlsZXMgb25jZSBhbmRcbiAgICogZHJvcCB0aGVpciBvbGRlciBjb3BpZXMuIEFic2VudCBtZWFucyB0aGUgVVJMIGFsb25lIGlzIHRoZSBjYWNoZSBrZXkuXG4gICAqL1xuICByZXZpc2lvbj86IHN0cmluZztcbiAgLyoqIERlY29kZXIgSS9PIGZhbWlseSDigJQgU0FNIHYxIHZzIHYyL3YzIGRpZmZlciBpbiBtYXNrIG91dHB1dCBzaXplICsgbmFtZXMuICovXG4gIHZhcmlhbnQ6ICdzYW0xJyB8ICdzYW0yJyB8ICdzYW0zJztcbiAgLyoqIEVuY29kZXIgaW5wdXQgc2lkZSBsZW5ndGggKDEwMjQgZm9yIFNBTSB2MSkuICovXG4gIGlucHV0U2l6ZTogbnVtYmVyO1xuICAvKiogVHJ1ZSBmb3IgbWljcm9zY29weS1maW5ldHVuZWQgY2hlY2twb2ludHMgKG1pY3JvLXNhbSwgcGF0aG9TQU0pLiAqL1xuICBtaWNyb3Njb3B5PzogYm9vbGVhbjtcbiAgLyoqIE92ZXJyaWRlIHRoZSBvbm54cnVudGltZS13ZWIgZXhlY3V0aW9uIHByb3ZpZGVycyBmb3IgdGhlIEVOQ09ERVIgc2Vzc2lvblxuICAgKiAgKGRlY29kZXIgaXMgYWx3YXlzIFdBU00pLiBEZWZhdWx0cyB0byBXZWJHUFUtd2l0aC1XQVNNLWZhbGxiYWNrLiBTZXQgdG9cbiAgICogIGBbJ3dhc20nXWAgZm9yIGFyY2hpdGVjdHVyZXMgd2hvc2UgZnAxNiBhdHRlbnRpb24gb3ZlcmZsb3dzIG9uIHRoZSBXZWJHUFVcbiAgICogIEVQIGFuZCByZXR1cm5zIGFuIGVtcHR5IG1hc2sgKGUuZy4gbWljcm8tc2FtIFZpVC1UJ3MgVGlueVZpVCBlbmNvZGVyKSxcbiAgICogIHdoaWNoIHJ1biBjb3JyZWN0bHkg4oCUIGFuZCBmYXN0LCB3aGVuIHNtYWxsIOKAlCBvbiBXQVNNLiAqL1xuICBlbmNvZGVyUHJvdmlkZXJzPzogc3RyaW5nW107XG4gIC8qKiBSdW4gaW5mZXJlbmNlIGluLXByb2Nlc3Mgb24gdGhlIG1haW4gdGhyZWFkIGluc3RlYWQgb2YgdGhlIFNBTSBXZWIgV29ya2VyLlxuICAgKiAgT25seSB2YWxpZCBmb3Igc21hbGwgV0FTTS1vbmx5IG1vZGVscyAoZS5nLiBtaWNyby1zYW0gVmlULVQpIHdoZXJlIHRoZVxuICAgKiAgd29ya2VyJ3Mgc3Bhd24gKyBzZWNvbmQtT1JULXJ1bnRpbWUgKyBtZXNzYWdlIG92ZXJoZWFkIG91dHdlaWdocyBpdHNcbiAgICogIG9mZi10aHJlYWQgYmVuZWZpdC4gV2ViR1BVIG1vZGVscyBpZ25vcmUgdGhpcyAodGhleSBtdXN0IHN0YXkgaW4gdGhlXG4gICAqICB3b3JrZXIgdG8gYXZvaWQgZnJlZXppbmcgdGhlIHRhYikuICovXG4gIGluUHJvY2Vzcz86IGJvb2xlYW47XG59XG5cbi8qKiBDYWNoZWQgZW5jb2RlciBvdXRwdXQgZm9yIG9uZSBpbWFnZSAocmV1c2VkIGFjcm9zcyBldmVyeSBwcm9tcHQgb24gaXQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1FbWJlZGRpbmcge1xuICAvKiogRmxhdHRlbmVkIGVtYmVkZGluZyB0ZW5zb3IsIHNoYXBlIGBkaW1zYC4gKi9cbiAgZGF0YTogRmxvYXQzMkFycmF5O1xuICAvKiogRW1iZWRkaW5nIHRlbnNvciBkaW1zLCBlLmcuIFsxLCAyNTYsIDY0LCA2NF0uICovXG4gIGRpbXM6IG51bWJlcltdO1xuICAvKiogYGlucHV0U2l6ZSAvIG1heChpbWFnZVdpZHRoLCBpbWFnZUhlaWdodClgIOKAlCBzY2FsZXMgcHJvbXB0IGNvb3Jkcy4gKi9cbiAgc2NhbGU6IG51bWJlcjtcbiAgLyoqIEltYWdlIChtYXRyaXgpIHNpemUgdGhlIGVtYmVkZGluZyB3YXMgY29tcHV0ZWQgZm9yLiAqL1xuICBpbWFnZVdpZHRoOiBudW1iZXI7XG4gIGltYWdlSGVpZ2h0OiBudW1iZXI7XG4gIC8qKiBPcGFxdWUgaGFuZGxlIHRvIHRoZSBlbWJlZGRpbmcgY2FjaGVkIGluc2lkZSB0aGUgaW5mZXJlbmNlIFdlYiBXb3JrZXIsIHdoZW5cbiAgICogIHRoZSBzZXNzaW9uIHJ1bnMgb2ZmLXRocmVhZC4gYGRlY29kZWAgcGFzc2VzIGl0IGJhY2sgc28gdGhlIHdvcmtlciByZXVzZXNcbiAgICogIHRoZSBjYWNoZWQgdGVuc29yIGluc3RlYWQgb2Ygcm91bmQtdHJpcHBpbmcgdGhlIChtdWx0aS1NQikgZW1iZWRkaW5nIGRhdGE7XG4gICAqICBgZGF0YWAgaXMgdGhlbiBhbiBlbXB0eSBwbGFjZWhvbGRlci4gQWJzZW50IGZvciBpbi1wcm9jZXNzL2Zha2Ugc2Vzc2lvbnMuICovXG4gIHRva2VuPzogbnVtYmVyO1xufVxuXG4vKiogQSBwcm9tcHQgZm9yIG9uZSBvYmplY3QsIGluIGltYWdlIChtYXRyaXgpIHBpeGVsIGNvb3JkaW5hdGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1Qcm9tcHQge1xuICAvKiogQm94IHByb21wdCBgW3gwLHkwLHgxLHkxXWAgKGlzc3VlICM5MCdzIHByaW1hcnkgYWZmb3JkYW5jZSkuICovXG4gIGJveD86IHsgeDA6IG51bWJlcjsgeTA6IG51bWJlcjsgeDE6IG51bWJlcjsgeTE6IG51bWJlciB9O1xuICAvKiogUG9pbnQgcHJvbXB0czsgYGxhYmVsYCAxID0gcG9zaXRpdmUgKGluY2x1ZGUpLCAwID0gbmVnYXRpdmUgKGV4Y2x1ZGUpLiAqL1xuICBwb2ludHM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBsYWJlbDogMCB8IDEgfVtdO1xufVxuXG4vKiogQSBkZWNvZGVkIG1hc2ssIGJpbmFyeSAoMC8xKSwgYXQgaW1hZ2UgKG1hdHJpeCkgcmVzb2x1dGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtTWFza1Jlc3VsdCB7XG4gIG1hc2s6IFVpbnQ4QXJyYXk7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICAvKiogTW9kZWwtcHJlZGljdGVkIElvVSBxdWFsaXR5IHNjb3JlIGZvciB0aGUgY2hvc2VuIG1hc2suICovXG4gIGlvdTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb21wdGFibGUtU0FNIGluZmVyZW5jZSBiYWNrZW5kLiBMaWZlY3ljbGU6IGBsb2FkTW9kZWxgIG9uY2UsIGBlbWJlZGAgb25jZVxuICogcGVyIGltYWdlLCBgZGVjb2RlYCBwZXIgcHJvbXB0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTYW1TZXNzaW9uIHtcbiAgLyoqIExvYWQgdGhlIG1vZGVsOyBgb25Qcm9ncmVzc2AgcmVwb3J0cyBlbmNvZGVyLWRvd25sb2FkIGZyYWN0aW9uICgwLi4xKS4gKi9cbiAgbG9hZE1vZGVsKG1vZGVsOiBTYW1Nb2RlbERlZiwgb25Qcm9ncmVzcz86IChmcmFjdGlvbjogbnVtYmVyKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbiAgaXNMb2FkZWQoKTogYm9vbGVhbjtcbiAgLyoqIFJ1biB0aGUgZW5jb2RlciBvbiBhbiBSR0JBIGltYWdlOyByZXR1cm5zIGEgY2FjaGVhYmxlIGVtYmVkZGluZy4gKi9cbiAgZW1iZWQoaW1hZ2U6IHsgZGF0YTogVWludDhDbGFtcGVkQXJyYXk7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0pOiBQcm9taXNlPFNhbUVtYmVkZGluZz47XG4gIC8qKiBSdW4gdGhlIGRlY29kZXIgZm9yIG9uZSBwcm9tcHQgYWdhaW5zdCBhIGNhY2hlZCBlbWJlZGRpbmcuICovXG4gIGRlY29kZShlbWJlZGRpbmc6IFNhbUVtYmVkZGluZywgcHJvbXB0OiBTYW1Qcm9tcHQpOiBQcm9taXNlPFNhbU1hc2tSZXN1bHQ+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG4iXX0=
@@ -9,4 +9,4 @@ import { InjectionToken } from '@angular/core';
9
9
  * nothing does and no tool needing it is registered.
10
10
  */
11
11
  export const SEMANTIC_SEGMENTER = new InjectionToken('SEMANTIC_SEGMENTER');
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWMtc2VnbWVudGVyLmNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvc2VtYW50aWMtc2VnbWVudGVyLmNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUE2Ry9DOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKlxuICogUG9ydCBmb3IgYSAqKnNlbWFudGljKiogc2VnbWVudGVyIOKAlCBvbmUgdGhhdCBhc3NpZ25zIGV2ZXJ5IHBpeGVsIGEgY2xhc3MgZnJvbVxuICogYSBmaXhlZCBzZXQsIHdpdGggbm8gbm90aW9uIG9mIHNlcGFyYXRlIG9iamVjdHMuXG4gKlxuICogVGhlIHRoaXJkIHNpYmxpbmcgb2Yge0BsaW5rIElDZWxsU2VnbWVudGVyfSBhbmQge0BsaW5rIElJbnN0YW5jZVNlZ21lbnRlcn0sXG4gKiBhbmQgZ2VudWluZWx5IGEgZGlmZmVyZW50IHNoYXBlIGZyb20gYm90aC4gQ2VsbHBvc2Ugc2VwYXJhdGVzIHRvdWNoaW5nXG4gKiBpbnN0YW5jZXMgb2Ygb25lIGNsYXNzOyBZT0xPIHJldHVybnMgb3ZlcmxhcHBpbmcgY2xhc3NpZmllZCBvYmplY3RzOyB0aGlzXG4gKiByZXR1cm5zICpsYXllcnMqIOKAlCByZWdpb25zIHRoYXQgdGlsZSB0aGUgaW1hZ2UsIG5ldmVyIG92ZXJsYXAsIGFuZCB3aGVyZSB0d29cbiAqIGRpc2Nvbm5lY3RlZCBwYXRjaGVzIG9mIHRoZSBzYW1lIGNsYXNzIGFyZSB0aGUgc2FtZSBmaW5kaW5nIHJhdGhlciB0aGFuIHR3b1xuICogb2JqZWN0cy4gVGhlcmUgaXMgbm8gY29uZmlkZW5jZSBwZXIgb2JqZWN0IGFuZCBubyBOTVMsIGJlY2F1c2UgdGhlcmUgYXJlIG5vXG4gKiBvYmplY3RzLlxuICpcbiAqIFJlc3VsdHMgYXJlIGRlbGl2ZXJlZCBhcyBwb2x5Z29uIHJpbmdzIGluICoqaW1hZ2UgcGl4ZWxzKiosIHNvIGEgY2FsbGVyIGNhblxuICogYnVpbGQge0BsaW5rIFJlZ2lvbn1zIGRpcmVjdGx5IOKAlCB0aGUgc2FtZSBjdXJyZW5jeSB0aGUgb3RoZXIgdHdvIHBvcnRzIHVzZS5cbiAqL1xuXG4vKiogQSBjbG9zZWQgcmluZzsgdGhlIGxhc3QgcG9pbnQgaXMgTk9UIGEgcmVwZWF0IG9mIHRoZSBmaXJzdC4gKi9cbmV4cG9ydCB0eXBlIFNlbWFudGljUmluZyA9IEFycmF5PFtudW1iZXIsIG51bWJlcl0+O1xuXG4vKiogT25lIGNvbm5lY3RlZCBjb21wb25lbnQgb2Ygb25lIGNsYXNzLCB3aXRoIGFueSBpbnRlcmlvciB2b2lkcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNSZWdpb24ge1xuICBleHRlcmlvcjogU2VtYW50aWNSaW5nO1xuICBob2xlczogU2VtYW50aWNSaW5nW107XG4gIGNsYXNzSWQ6IG51bWJlcjtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIC8qKiBBcmVhIGluIHBpeGVscywgaG9sZXMgYWxyZWFkeSBzdWJ0cmFjdGVkLiAqL1xuICBhcmVhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNTZWdtZW50YXRpb24ge1xuICByZWdpb25zOiBTZW1hbnRpY1JlZ2lvbltdO1xuICAvKiogVG90YWwgcGl4ZWxzIGFzc2lnbmVkIHRvIGVhY2ggY2xhc3MsIGluZGV4ZWQgYnkgY2xhc3MgaWQuICovXG4gIGNsYXNzQXJlYXM6IG51bWJlcltdO1xuICAvKiogQ2xhc3MgbmFtZXMgaW5kZXhlZCBieSBjbGFzcyBpZCwgZnJvbSB0aGUgbW9kZWwncyBvd24gbWV0YWRhdGEuICovXG4gIGNsYXNzTmFtZXM6IHN0cmluZ1tdO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEZyYWN0aW9uIG9mIHBpeGVscyB0aGF0IG1ldCBubyBjbGFzcydzIHRocmVzaG9sZC5cbiAgICpcbiAgICogV29ydGggc3VyZmFjaW5nIHJhdGhlciB0aGFuIGRpc2NhcmRpbmc6IHRoZXNlIG1vZGVscyBhcmUgdGhyZXNob2xkZWQgcGVyXG4gICAqIGNsYXNzIHJhdGhlciB0aGFuIGFyZ21heGVkLCBzbyBhIGhpZ2ggdmFsdWUgbWVhbnMgdGhlIG1vZGVsIHdhcyB1bnN1cmVcbiAgICogZXZlcnl3aGVyZSDigJQgd2hpY2ggaXMgdGhlIHNpZ25hdHVyZSBvZiB3cm9uZyBwcmVwcm9jZXNzaW5nICh3cm9uZyBpbnB1dFxuICAgKiBzY2FsZSwgd3JvbmcgZ3JleXNjYWxlKSBsb25nIGJlZm9yZSB0aGUgcG9seWdvbnMgbG9vayBvYnZpb3VzbHkgd3JvbmcuXG4gICAqL1xuICB1bmFzc2lnbmVkRnJhY3Rpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW1hbnRpY1NlZ21lbnRPcHRpb25zIHtcbiAgLyoqIFdoaWNoIHJlZ2lzdGVyZWQgbW9kZWwgdG8gcnVuLiBEZWZhdWx0cyB0byB0aGUgcmVnaXN0cnkncyBkZWZhdWx0LiAqL1xuICBtb2RlbElkPzogc3RyaW5nO1xuICAvKipcbiAgICogU2NhbGUgdG8gcnVuIGF0LCBhcyBhIGRpdmlzb3Igb2YgZnVsbCByZXNvbHV0aW9uIOKAlCB0aGUgc2FtZSBtZWFuaW5nIHRoZVxuICAgKiBzZXJ2ZXIgZ2l2ZXMgaXQuXG4gICAqXG4gICAqIE1hdHRlcnMgYXMgbXVjaCBoZXJlIGFzIGZvciBhIGRldGVjdG9yOiB0aGVzZSBjaGVja3BvaW50cyB3ZXJlIHRyYWluZWQgb25cbiAgICogNDB4IG9yIDIweCBwYXRjaGVzLCBhbmQgYSBsYXllciBpbWFnZWQgYXQgdGhlIHdyb25nIHNjYWxlIGRvZXMgbm90IGxvb2tcbiAgICogbGlrZSB0aGUgbGF5ZXIgdGhlIG1vZGVsIGxlYXJuZWQuXG4gICAqL1xuICBkb3duc2FtcGxpbmdGYWN0b3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHByb2JhYmlsaXR5IGZvciBhIHBpeGVsIHRvIGJlIGFzc2lnbmVkIHRvIGEgY2xhc3MsIGRlZmF1bHQgMC41LlxuICAgKlxuICAgKiBOb3QgYSBwbGFpbiBhcmdtYXguIFRoZSByZWZlcmVuY2Ugd29ya2VyIHRocmVzaG9sZHMgZWFjaCBjbGFzcyBjaGFubmVsXG4gICAqIGluZGVwZW5kZW50bHkgYXQgMC41OyBiZWNhdXNlIHRoZSBtb2RlbCdzIGxhc3QgbGF5ZXIgaXMgYSBzb2Z0bWF4IGF0IG1vc3RcbiAgICogb25lIGNsYXNzIGNhbiBjbGVhciB0aGF0LCBzbyB0aGlzIGlzIGFyZ21heCAqcGx1cyBhIGNvbmZpZGVuY2UgZmxvb3IqIOKAlFxuICAgKiBwaXhlbHMgd2hlcmUgdGhlIHdpbm5lciBpcyB3ZWFrIGFyZSBsZWZ0IHVuYXNzaWduZWQgcmF0aGVyIHRoYW4gZm9yY2VkIGludG9cbiAgICogdGhlIGJlc3Qgb2YgYSBiYWQgc2V0LiBMb3dlcmluZyBpdCB0b3dhcmQgMC4yNSBhcHByb2FjaGVzIGEgdHJ1ZSBhcmdtYXggYW5kXG4gICAqIHZpc2libHkgZmF0dGVucyBldmVyeSBsYXllci5cbiAgICovXG4gIGNsYXNzVGhyZXNob2xkPzogbnVtYmVyO1xuICAvKiogS2VlcCBvbmx5IHRoZXNlIGNsYXNzIGlkczsgb21pdCBmb3IgZXZlcnl0aGluZyBleGNlcHQgYmFja2dyb3VuZC4gKi9cbiAgY2xhc3NGaWx0ZXI/OiBudW1iZXJbXTtcbiAgLyoqIERvdWdsYXMtUGV1Y2tlciB0b2xlcmFuY2UgaW4gcGl4ZWxzIGZvciBvdXRsaW5lIHNpbXBsaWZpY2F0aW9uOyAwIGRpc2FibGVzLiAqL1xuICBzaW1wbGlmeVRvbGVyYW5jZT86IG51bWJlcjtcbiAgLyoqIERyb3AgcmVnaW9ucyB3aG9zZSBhcmVhIGlzIGJlbG93IHRoaXMsIGluIHNxdWFyZSBwaXhlbHMuICovXG4gIG1pbkFyZWE/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb29wZXJhdGl2ZSBjYW5jZWxsYXRpb24sIGNoZWNrZWQgYXQgcGF0Y2ggYm91bmRhcmllcyDigJQgc28gaXQgdGFrZXMgZWZmZWN0XG4gICAqIHdpdGhpbiByb3VnaGx5IG9uZSBwYXRjaCByYXRoZXIgdGhhbiBpbnN0YW50bHkuXG4gICAqL1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbn1cblxuLyoqIFByb2dyZXNzL3N0YXR1cyBjYWxsYmFja3MgKGFsbCBvcHRpb25hbCkuIE1pcnJvcnMge0BsaW5rIEluc3RhbmNlU2VnbWVudFByb2dyZXNzfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNTZWdtZW50UHJvZ3Jlc3Mge1xuICAvKiogTW9kZWwtZG93bmxvYWQgcHJvZ3Jlc3MsIDAuLjEgKGZpcnN0IHJ1biBvbmx5KS4gKi9cbiAgb25Qcm9ncmVzcz86IChmcmFjdGlvbjogbnVtYmVyKSA9PiB2b2lkO1xuICAvKipcbiAgICogUmF3IGRvd25sb2FkIGJ5dGUgY291bnRzLCBmb3IgaG9zdHMgdGhhdCByZW5kZXIgYSBzaXplIHJhdGhlciB0aGFuIGEgYmFyZVxuICAgKiBwZXJjZW50YWdlLiBgdG90YWxgIGlzIG51bGwgd2hlbiB0aGUgcmVzcG9uc2UgY2FycmllZCBubyBDb250ZW50LUxlbmd0aC5cbiAgICovXG4gIG9uQnl0ZXM/OiAobG9hZGVkOiBudW1iZXIsIHRvdGFsOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogSHVtYW4tcmVhZGFibGUgcGhhc2UsIGUuZy4gJ1NlZ21lbnRpbmcgcGF0Y2ggMy844oCmJy4gKi9cbiAgb25TdGF0dXM/OiAoc3RhdHVzOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbWFudGljU2VnbWVudGVyIHtcbiAgLyoqIEFzc2lnbiBldmVyeSBwaXhlbCBhIGNsYXNzIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyByZWdpb25zLiAqL1xuICBzZWdtZW50U2VtYW50aWMoXG4gICAgaW1hZ2U6IHsgZGF0YTogVWludDhDbGFtcGVkQXJyYXk7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0sXG4gICAgb3B0cz86IFNlbWFudGljU2VnbWVudE9wdGlvbnMsXG4gICAgcHJvZ3Jlc3M/OiBTZW1hbnRpY1NlZ21lbnRQcm9ncmVzcyxcbiAgKTogUHJvbWlzZTxTZW1hbnRpY1NlZ21lbnRhdGlvbj47XG59XG5cbi8qKlxuICogREkgdG9rZW4gZm9yIHRoZSBzZW1hbnRpYyBzZWdtZW50ZXIuXG4gKlxuICogKipObyBkZWZhdWx0LioqIEl0IHVzZWQgdG8gZmFsbCBiYWNrIHRvIGFuIGluLWxpYnJhcnkgamF4LWFpLWpzIHNlcnZpY2UsIGFuZFxuICogdGhhdCBmYWN0b3J5IHdhcyB3aGF0IHB1bGxlZCBgamF4LWFpLWpzYCBpbnRvIGV2ZXJ5IGJ1bmRsZSBvZiB0aGlzIHBhY2thZ2Ug4oCUXG4gKiB3aGljaCBpcyBub3Qgc2hpcHBhYmxlIHdoaWxlIHRoZSBjaGVja3BvaW50cyBhcmUgY2xvc2VkLiBBIGhvc3QgcHJvdmlkZXMgYW5cbiAqIGltcGxlbWVudGF0aW9uIChzZWUgYEBqYXgtZGF0YS1zY2llbmNlL3NjaS1pbWFnZS12aXN1YWxpemVyLWpheC10b29sc2ApLCBvclxuICogbm90aGluZyBkb2VzIGFuZCBubyB0b29sIG5lZWRpbmcgaXQgaXMgcmVnaXN0ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFTUFOVElDX1NFR01FTlRFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJU2VtYW50aWNTZWdtZW50ZXI+KCdTRU1BTlRJQ19TRUdNRU5URVInKTtcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWMtc2VnbWVudGVyLmNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdHMvc2VtYW50aWMtc2VnbWVudGVyLmNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrSC9DOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFBvcnQgZm9yIGEgKipzZW1hbnRpYyoqIHNlZ21lbnRlciDigJQgb25lIHRoYXQgYXNzaWducyBldmVyeSBwaXhlbCBhIGNsYXNzIGZyb21cbiAqIGEgZml4ZWQgc2V0LCB3aXRoIG5vIG5vdGlvbiBvZiBzZXBhcmF0ZSBvYmplY3RzLlxuICpcbiAqIFRoZSB0aGlyZCBzaWJsaW5nIG9mIHtAbGluayBJQ2VsbFNlZ21lbnRlcn0gYW5kIHtAbGluayBJSW5zdGFuY2VTZWdtZW50ZXJ9LFxuICogYW5kIGdlbnVpbmVseSBhIGRpZmZlcmVudCBzaGFwZSBmcm9tIGJvdGguIENlbGxwb3NlIHNlcGFyYXRlcyB0b3VjaGluZ1xuICogaW5zdGFuY2VzIG9mIG9uZSBjbGFzczsgWU9MTyByZXR1cm5zIG92ZXJsYXBwaW5nIGNsYXNzaWZpZWQgb2JqZWN0czsgdGhpc1xuICogcmV0dXJucyAqbGF5ZXJzKiDigJQgcmVnaW9ucyB0aGF0IHRpbGUgdGhlIGltYWdlLCBuZXZlciBvdmVybGFwLCBhbmQgd2hlcmUgdHdvXG4gKiBkaXNjb25uZWN0ZWQgcGF0Y2hlcyBvZiB0aGUgc2FtZSBjbGFzcyBhcmUgdGhlIHNhbWUgZmluZGluZyByYXRoZXIgdGhhbiB0d29cbiAqIG9iamVjdHMuIFRoZXJlIGlzIG5vIGNvbmZpZGVuY2UgcGVyIG9iamVjdCBhbmQgbm8gTk1TLCBiZWNhdXNlIHRoZXJlIGFyZSBub1xuICogb2JqZWN0cy5cbiAqXG4gKiBSZXN1bHRzIGFyZSBkZWxpdmVyZWQgYXMgcG9seWdvbiByaW5ncyBpbiAqKmltYWdlIHBpeGVscyoqLCBzbyBhIGNhbGxlciBjYW5cbiAqIGJ1aWxkIHtAbGluayBSZWdpb259cyBkaXJlY3RseSDigJQgdGhlIHNhbWUgY3VycmVuY3kgdGhlIG90aGVyIHR3byBwb3J0cyB1c2UuXG4gKi9cblxuLyoqIEEgY2xvc2VkIHJpbmc7IHRoZSBsYXN0IHBvaW50IGlzIE5PVCBhIHJlcGVhdCBvZiB0aGUgZmlyc3QuICovXG5leHBvcnQgdHlwZSBTZW1hbnRpY1JpbmcgPSBBcnJheTxbbnVtYmVyLCBudW1iZXJdPjtcblxuLyoqIE9uZSBjb25uZWN0ZWQgY29tcG9uZW50IG9mIG9uZSBjbGFzcywgd2l0aCBhbnkgaW50ZXJpb3Igdm9pZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbWFudGljUmVnaW9uIHtcbiAgZXh0ZXJpb3I6IFNlbWFudGljUmluZztcbiAgaG9sZXM6IFNlbWFudGljUmluZ1tdO1xuICBjbGFzc0lkOiBudW1iZXI7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICAvKiogQXJlYSBpbiBwaXhlbHMsIGhvbGVzIGFscmVhZHkgc3VidHJhY3RlZC4gKi9cbiAgYXJlYTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSByZXN1bHQgb2Ygb25lIHtAbGluayBJU2VtYW50aWNTZWdtZW50ZXJ9IHJ1bjogdGhlIGNsYXNzIGxheWVycyBmb3VuZCwgaW4gdGhlIHBpeGVsXG4gKiBmcmFtZSBvZiB0aGUgYHdpZHRoIMOXIGhlaWdodGAgaW1hZ2UgdGhhdCB3YXMgc2VnbWVudGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbWFudGljU2VnbWVudGF0aW9uIHtcbiAgcmVnaW9uczogU2VtYW50aWNSZWdpb25bXTtcbiAgLyoqIFRvdGFsIHBpeGVscyBhc3NpZ25lZCB0byBlYWNoIGNsYXNzLCBpbmRleGVkIGJ5IGNsYXNzIGlkLiAqL1xuICBjbGFzc0FyZWFzOiBudW1iZXJbXTtcbiAgLyoqIENsYXNzIG5hbWVzIGluZGV4ZWQgYnkgY2xhc3MgaWQsIGZyb20gdGhlIG1vZGVsJ3Mgb3duIG1ldGFkYXRhLiAqL1xuICBjbGFzc05hbWVzOiBzdHJpbmdbXTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBGcmFjdGlvbiBvZiBwaXhlbHMgdGhhdCBtZXQgbm8gY2xhc3MncyB0aHJlc2hvbGQuXG4gICAqXG4gICAqIFdvcnRoIHN1cmZhY2luZyByYXRoZXIgdGhhbiBkaXNjYXJkaW5nOiB0aGVzZSBtb2RlbHMgYXJlIHRocmVzaG9sZGVkIHBlclxuICAgKiBjbGFzcyByYXRoZXIgdGhhbiBhcmdtYXhlZCwgc28gYSBoaWdoIHZhbHVlIG1lYW5zIHRoZSBtb2RlbCB3YXMgdW5zdXJlXG4gICAqIGV2ZXJ5d2hlcmUg4oCUIHdoaWNoIGlzIHRoZSBzaWduYXR1cmUgb2Ygd3JvbmcgcHJlcHJvY2Vzc2luZyAod3JvbmcgaW5wdXRcbiAgICogc2NhbGUsIHdyb25nIGdyZXlzY2FsZSkgbG9uZyBiZWZvcmUgdGhlIHBvbHlnb25zIGxvb2sgb2J2aW91c2x5IHdyb25nLlxuICAgKi9cbiAgdW5hc3NpZ25lZEZyYWN0aW9uOiBudW1iZXI7XG59XG5cbi8qKiBPcHRpb25zIGZvciBvbmUge0BsaW5rIElTZW1hbnRpY1NlZ21lbnRlcn0gcnVuLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZW1hbnRpY1NlZ21lbnRPcHRpb25zIHtcbiAgLyoqIFdoaWNoIHJlZ2lzdGVyZWQgbW9kZWwgdG8gcnVuLiBEZWZhdWx0cyB0byB0aGUgcmVnaXN0cnkncyBkZWZhdWx0LiAqL1xuICBtb2RlbElkPzogc3RyaW5nO1xuICAvKipcbiAgICogU2NhbGUgdG8gcnVuIGF0LCBhcyBhIGRpdmlzb3Igb2YgZnVsbCByZXNvbHV0aW9uIOKAlCB0aGUgc2FtZSBtZWFuaW5nIHRoZVxuICAgKiBzZXJ2ZXIgZ2l2ZXMgaXQuXG4gICAqXG4gICAqIE1hdHRlcnMgYXMgbXVjaCBoZXJlIGFzIGZvciBhIGRldGVjdG9yOiB0aGVzZSBjaGVja3BvaW50cyB3ZXJlIHRyYWluZWQgb25cbiAgICogNDB4IG9yIDIweCBwYXRjaGVzLCBhbmQgYSBsYXllciBpbWFnZWQgYXQgdGhlIHdyb25nIHNjYWxlIGRvZXMgbm90IGxvb2tcbiAgICogbGlrZSB0aGUgbGF5ZXIgdGhlIG1vZGVsIGxlYXJuZWQuXG4gICAqL1xuICBkb3duc2FtcGxpbmdGYWN0b3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHByb2JhYmlsaXR5IGZvciBhIHBpeGVsIHRvIGJlIGFzc2lnbmVkIHRvIGEgY2xhc3MsIGRlZmF1bHQgMC41LlxuICAgKlxuICAgKiBOb3QgYSBwbGFpbiBhcmdtYXguIFRoZSByZWZlcmVuY2Ugd29ya2VyIHRocmVzaG9sZHMgZWFjaCBjbGFzcyBjaGFubmVsXG4gICAqIGluZGVwZW5kZW50bHkgYXQgMC41OyBiZWNhdXNlIHRoZSBtb2RlbCdzIGxhc3QgbGF5ZXIgaXMgYSBzb2Z0bWF4IGF0IG1vc3RcbiAgICogb25lIGNsYXNzIGNhbiBjbGVhciB0aGF0LCBzbyB0aGlzIGlzIGFyZ21heCAqcGx1cyBhIGNvbmZpZGVuY2UgZmxvb3IqIOKAlFxuICAgKiBwaXhlbHMgd2hlcmUgdGhlIHdpbm5lciBpcyB3ZWFrIGFyZSBsZWZ0IHVuYXNzaWduZWQgcmF0aGVyIHRoYW4gZm9yY2VkIGludG9cbiAgICogdGhlIGJlc3Qgb2YgYSBiYWQgc2V0LiBMb3dlcmluZyBpdCB0b3dhcmQgMC4yNSBhcHByb2FjaGVzIGEgdHJ1ZSBhcmdtYXggYW5kXG4gICAqIHZpc2libHkgZmF0dGVucyBldmVyeSBsYXllci5cbiAgICovXG4gIGNsYXNzVGhyZXNob2xkPzogbnVtYmVyO1xuICAvKiogS2VlcCBvbmx5IHRoZXNlIGNsYXNzIGlkczsgb21pdCBmb3IgZXZlcnl0aGluZyBleGNlcHQgYmFja2dyb3VuZC4gKi9cbiAgY2xhc3NGaWx0ZXI/OiBudW1iZXJbXTtcbiAgLyoqIERvdWdsYXMtUGV1Y2tlciB0b2xlcmFuY2UgaW4gcGl4ZWxzIGZvciBvdXRsaW5lIHNpbXBsaWZpY2F0aW9uOyAwIGRpc2FibGVzLiAqL1xuICBzaW1wbGlmeVRvbGVyYW5jZT86IG51bWJlcjtcbiAgLyoqIERyb3AgcmVnaW9ucyB3aG9zZSBhcmVhIGlzIGJlbG93IHRoaXMsIGluIHNxdWFyZSBwaXhlbHMuICovXG4gIG1pbkFyZWE/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb29wZXJhdGl2ZSBjYW5jZWxsYXRpb24sIGNoZWNrZWQgYXQgcGF0Y2ggYm91bmRhcmllcyDigJQgc28gaXQgdGFrZXMgZWZmZWN0XG4gICAqIHdpdGhpbiByb3VnaGx5IG9uZSBwYXRjaCByYXRoZXIgdGhhbiBpbnN0YW50bHkuXG4gICAqL1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbn1cblxuLyoqIFByb2dyZXNzL3N0YXR1cyBjYWxsYmFja3MgKGFsbCBvcHRpb25hbCkuIE1pcnJvcnMge0BsaW5rIEluc3RhbmNlU2VnbWVudFByb2dyZXNzfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNTZWdtZW50UHJvZ3Jlc3Mge1xuICAvKiogTW9kZWwtZG93bmxvYWQgcHJvZ3Jlc3MsIDAuLjEgKGZpcnN0IHJ1biBvbmx5KS4gKi9cbiAgb25Qcm9ncmVzcz86IChmcmFjdGlvbjogbnVtYmVyKSA9PiB2b2lkO1xuICAvKipcbiAgICogUmF3IGRvd25sb2FkIGJ5dGUgY291bnRzLCBmb3IgaG9zdHMgdGhhdCByZW5kZXIgYSBzaXplIHJhdGhlciB0aGFuIGEgYmFyZVxuICAgKiBwZXJjZW50YWdlLiBgdG90YWxgIGlzIG51bGwgd2hlbiB0aGUgcmVzcG9uc2UgY2FycmllZCBubyBDb250ZW50LUxlbmd0aC5cbiAgICovXG4gIG9uQnl0ZXM/OiAobG9hZGVkOiBudW1iZXIsIHRvdGFsOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogSHVtYW4tcmVhZGFibGUgcGhhc2UsIGUuZy4gJ1NlZ21lbnRpbmcgcGF0Y2ggMy844oCmJy4gKi9cbiAgb25TdGF0dXM/OiAoc3RhdHVzOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbi8qKiBBIHNlZ21lbnRlciB0aGF0IGFzc2lnbnMgZXZlcnkgcGl4ZWwgYSBjbGFzcyBhbmQgcmV0dXJucyB0aGUgY2xhc3MgcmVnaW9ucy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbWFudGljU2VnbWVudGVyIHtcbiAgLyoqIEFzc2lnbiBldmVyeSBwaXhlbCBhIGNsYXNzIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyByZWdpb25zLiAqL1xuICBzZWdtZW50U2VtYW50aWMoXG4gICAgaW1hZ2U6IHsgZGF0YTogVWludDhDbGFtcGVkQXJyYXk7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0sXG4gICAgb3B0cz86IFNlbWFudGljU2VnbWVudE9wdGlvbnMsXG4gICAgcHJvZ3Jlc3M/OiBTZW1hbnRpY1NlZ21lbnRQcm9ncmVzcyxcbiAgKTogUHJvbWlzZTxTZW1hbnRpY1NlZ21lbnRhdGlvbj47XG59XG5cbi8qKlxuICogREkgdG9rZW4gZm9yIHRoZSBzZW1hbnRpYyBzZWdtZW50ZXIuXG4gKlxuICogKipObyBkZWZhdWx0LioqIEl0IHVzZWQgdG8gZmFsbCBiYWNrIHRvIGFuIGluLWxpYnJhcnkgamF4LWFpLWpzIHNlcnZpY2UsIGFuZFxuICogdGhhdCBmYWN0b3J5IHdhcyB3aGF0IHB1bGxlZCBgamF4LWFpLWpzYCBpbnRvIGV2ZXJ5IGJ1bmRsZSBvZiB0aGlzIHBhY2thZ2Ug4oCUXG4gKiB3aGljaCBpcyBub3Qgc2hpcHBhYmxlIHdoaWxlIHRoZSBjaGVja3BvaW50cyBhcmUgY2xvc2VkLiBBIGhvc3QgcHJvdmlkZXMgYW5cbiAqIGltcGxlbWVudGF0aW9uIChzZWUgYEBqYXgtZGF0YS1zY2llbmNlL3NjaS1pbWFnZS12aXN1YWxpemVyLWpheC10b29sc2ApLCBvclxuICogbm90aGluZyBkb2VzIGFuZCBubyB0b29sIG5lZWRpbmcgaXQgaXMgcmVnaXN0ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFTUFOVElDX1NFR01FTlRFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJU2VtYW50aWNTZWdtZW50ZXI+KCdTRU1BTlRJQ19TRUdNRU5URVInKTtcbiJdfQ==