@jax-data-science/sci-image-visualizer 0.3.3 → 0.5.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 (98) hide show
  1. package/README.md +268 -4
  2. package/esm2022/index.mjs +21 -1
  3. package/esm2022/lib/contracts/display-types.mjs +20 -2
  4. package/esm2022/lib/contracts/image.contract.mjs +1 -1
  5. package/esm2022/lib/contracts/plot-type-contribution.contract.mjs +66 -0
  6. package/esm2022/lib/contracts/plot-type.mjs +41 -1
  7. package/esm2022/lib/contracts/ports/spatial-data.port.mjs +3 -0
  8. package/esm2022/lib/contracts/spatial-dataset.contract.mjs +45 -0
  9. package/esm2022/lib/contracts/visualizer.contract.mjs +1 -1
  10. package/esm2022/lib/implementations/napari-js/napari-axes-labels.mjs +10 -19
  11. package/esm2022/lib/implementations/napari-js/napari-region-overlay.mjs +71 -7
  12. package/esm2022/lib/implementations/napari-js/napari-scale-bar.mjs +1 -1
  13. package/esm2022/lib/implementations/napari-js/napari-spatial-tooltip.mjs +96 -0
  14. package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +1934 -55
  15. package/esm2022/lib/implementations/napari-js/napari-zoom.mjs +18 -0
  16. package/esm2022/lib/implementations/osd/openseadragon-visualizer.service.mjs +73 -8
  17. package/esm2022/lib/implementations/osd/osd-coordinate-transform.mjs +8 -1
  18. package/esm2022/lib/implementations/osd/osd-region-overlay.mjs +3 -4
  19. package/esm2022/lib/implementations/osd/osd-zoom.mjs +20 -0
  20. package/esm2022/lib/implementations/plotly/omics-trace-builders.mjs +555 -0
  21. package/esm2022/lib/implementations/plotly/plotly.service.mjs +13 -7
  22. package/esm2022/lib/implementations/spatial-data-http/spatial-data-http.service.mjs +304 -0
  23. package/esm2022/lib/implementations/spatial-data-http/spatial-wire.mjs +179 -0
  24. package/esm2022/lib/plot-mode/plot-mode-controller.mjs +329 -0
  25. package/esm2022/lib/routing-visualizer.service.mjs +228 -12
  26. package/esm2022/lib/spatial/embedding-compute.mjs +142 -0
  27. package/esm2022/lib/spatial/gene-search.mjs +77 -0
  28. package/esm2022/lib/spatial/spatial-density.mjs +224 -0
  29. package/esm2022/lib/spatial/spatial-encoding.mjs +232 -0
  30. package/esm2022/lib/spatial/spatial-expression.mjs +257 -0
  31. package/esm2022/lib/spatial/spatial-framing.mjs +60 -0
  32. package/esm2022/lib/spatial/spatial-heatmap.mjs +185 -0
  33. package/esm2022/lib/spatial/spatial-hover.mjs +79 -0
  34. package/esm2022/lib/spatial/spatial-sections.mjs +96 -0
  35. package/esm2022/lib/spatial/spatial-selection.mjs +264 -0
  36. package/esm2022/lib/spatial/spatial-volume-image.mjs +163 -0
  37. package/esm2022/lib/spatial/tsne-worker.mjs +10 -0
  38. package/esm2022/lib/spatial/world-grid.mjs +77 -0
  39. package/esm2022/lib/spatial-controls/spatial-charts/spatial-charts.component.mjs +1278 -0
  40. package/esm2022/lib/spatial-controls/spatial-controls.component.mjs +621 -0
  41. package/esm2022/lib/store/spatial-selection.service.mjs +47 -0
  42. package/esm2022/lib/store/visualizer-store.service.mjs +23 -1
  43. package/esm2022/lib/toolbar/toolbar.component.mjs +61 -21
  44. package/esm2022/lib/visualization.module.mjs +23 -5
  45. package/esm2022/lib/visualizer.component.mjs +527 -44
  46. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-ci1q0xnJ.mjs → jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs} +6 -4
  47. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-ci1q0xnJ.mjs.map → jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs.map} +1 -1
  48. package/fesm2022/jax-data-science-sci-image-visualizer-tsne-worker-B_nXDGf0.mjs +12 -0
  49. package/fesm2022/jax-data-science-sci-image-visualizer-tsne-worker-B_nXDGf0.mjs.map +1 -0
  50. package/fesm2022/jax-data-science-sci-image-visualizer.mjs +15971 -7808
  51. package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
  52. package/fesm2022/tsne.worker.js +19091 -0
  53. package/index.d.ts +16 -0
  54. package/lib/contracts/display-types.d.ts +131 -0
  55. package/lib/contracts/image.contract.d.ts +7 -0
  56. package/lib/contracts/plot-type-contribution.contract.d.ts +172 -0
  57. package/lib/contracts/plot-type.d.ts +52 -2
  58. package/lib/contracts/ports/spatial-data.port.d.ts +90 -0
  59. package/lib/contracts/spatial-dataset.contract.d.ts +281 -0
  60. package/lib/contracts/visualizer.contract.d.ts +104 -1
  61. package/lib/implementations/napari-js/napari-axes-labels.d.ts +9 -7
  62. package/lib/implementations/napari-js/napari-region-overlay.d.ts +38 -4
  63. package/lib/implementations/napari-js/napari-scale-bar.d.ts +7 -3
  64. package/lib/implementations/napari-js/napari-spatial-tooltip.d.ts +32 -0
  65. package/lib/implementations/napari-js/napari-visualizer.service.d.ts +497 -16
  66. package/lib/implementations/napari-js/napari-zoom.d.ts +15 -0
  67. package/lib/implementations/osd/openseadragon-visualizer.service.d.ts +21 -0
  68. package/lib/implementations/osd/osd-coordinate-transform.d.ts +6 -0
  69. package/lib/implementations/osd/osd-zoom.d.ts +19 -0
  70. package/lib/implementations/plotly/omics-trace-builders.d.ts +193 -0
  71. package/lib/implementations/plotly/plotly.service.d.ts +9 -0
  72. package/lib/implementations/spatial-data-http/spatial-data-http.service.d.ts +123 -0
  73. package/lib/implementations/spatial-data-http/spatial-wire.d.ts +115 -0
  74. package/lib/plot-mode/plot-mode-controller.d.ts +130 -0
  75. package/lib/routing-visualizer.service.d.ts +49 -6
  76. package/lib/spatial/embedding-compute.d.ts +73 -0
  77. package/lib/spatial/gene-search.d.ts +48 -0
  78. package/lib/spatial/spatial-density.d.ts +73 -0
  79. package/lib/spatial/spatial-encoding.d.ts +155 -0
  80. package/lib/spatial/spatial-expression.d.ts +144 -0
  81. package/lib/spatial/spatial-framing.d.ts +37 -0
  82. package/lib/spatial/spatial-heatmap.d.ts +111 -0
  83. package/lib/spatial/spatial-hover.d.ts +49 -0
  84. package/lib/spatial/spatial-sections.d.ts +59 -0
  85. package/lib/spatial/spatial-selection.d.ts +113 -0
  86. package/lib/spatial/spatial-volume-image.d.ts +67 -0
  87. package/lib/spatial/tsne-worker.d.ts +7 -0
  88. package/lib/spatial/world-grid.d.ts +58 -0
  89. package/lib/spatial-controls/spatial-charts/spatial-charts.component.d.ts +439 -0
  90. package/lib/spatial-controls/spatial-controls.component.d.ts +257 -0
  91. package/lib/store/spatial-selection.service.d.ts +27 -0
  92. package/lib/store/visualizer-store.service.d.ts +13 -0
  93. package/lib/toolbar/toolbar.component.d.ts +36 -8
  94. package/lib/visualization.module.d.ts +28 -24
  95. package/lib/visualizer.component.d.ts +139 -7
  96. package/package.json +6 -2
  97. package/src/lib/assets/spatial-omics-3d.svg +31 -0
  98. package/src/lib/assets/spatial-omics.svg +27 -0
@@ -20,13 +20,17 @@ import { OverlayPanelModule } from 'primeng/overlaypanel';
20
20
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
21
21
  import { InputTextModule } from 'primeng/inputtext';
22
22
  import { CheckboxModule } from 'primeng/checkbox';
23
+ import { MultiSelectModule } from 'primeng/multiselect';
23
24
  import { RadioButtonModule } from 'primeng/radiobutton';
24
25
  import { SelectButtonModule } from 'primeng/selectbutton';
26
+ import { AutoCompleteModule } from 'primeng/autocomplete';
25
27
  import { VisualizerComponent } from './visualizer.component';
26
28
  import { ToolbarComponent } from './toolbar/toolbar.component';
27
29
  import { RegionEditorComponent } from './region-editor/region-editor.component';
28
30
  import { HexColorPickerComponent } from './hex-color-picker/hex-color-picker.component';
29
31
  import { ChannelHistogramComponent } from './channel-histogram/channel-histogram.component';
32
+ import { SpatialControlsComponent } from './spatial-controls/spatial-controls.component';
33
+ import { SpatialChartsComponent } from './spatial-controls/spatial-charts/spatial-charts.component';
30
34
  import { RoutingVisualizerService } from './routing-visualizer.service';
31
35
  import { VISUALIZER } from './contracts/visualizer.contract';
32
36
  import { REGION_EDITOR_API } from './contracts/region-editor-api.contract';
@@ -49,7 +53,9 @@ export class VisualizationModule {
49
53
  ToolbarComponent,
50
54
  RegionEditorComponent,
51
55
  HexColorPickerComponent,
52
- ChannelHistogramComponent], imports: [CommonModule,
56
+ ChannelHistogramComponent,
57
+ SpatialControlsComponent,
58
+ SpatialChartsComponent], imports: [CommonModule,
53
59
  FormsModule,
54
60
  ToolbarModule,
55
61
  ButtonModule,
@@ -70,8 +76,11 @@ export class VisualizationModule {
70
76
  ConfirmDialogModule,
71
77
  InputTextModule,
72
78
  CheckboxModule,
79
+ MultiSelectModule,
73
80
  RadioButtonModule,
74
- SelectButtonModule], exports: [VisualizerComponent, RegionEditorComponent, HexColorPickerComponent, ChannelHistogramComponent] }); }
81
+ SelectButtonModule,
82
+ AutoCompleteModule], exports: [VisualizerComponent, RegionEditorComponent, HexColorPickerComponent,
83
+ ChannelHistogramComponent, SpatialControlsComponent, SpatialChartsComponent] }); }
75
84
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: VisualizationModule, providers: [
76
85
  // Internal backend wiring. All three host-facing contracts are served by the
77
86
  // RoutingVisualizerService (the Plotly/OpenSeadragon selector), so consumers
@@ -105,8 +114,10 @@ export class VisualizationModule {
105
114
  ConfirmDialogModule,
106
115
  InputTextModule,
107
116
  CheckboxModule,
117
+ MultiSelectModule,
108
118
  RadioButtonModule,
109
- SelectButtonModule] }); }
119
+ SelectButtonModule,
120
+ AutoCompleteModule] }); }
110
121
  }
111
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: VisualizationModule, decorators: [{
112
123
  type: NgModule,
@@ -117,6 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
117
128
  RegionEditorComponent,
118
129
  HexColorPickerComponent,
119
130
  ChannelHistogramComponent,
131
+ SpatialControlsComponent,
132
+ SpatialChartsComponent,
120
133
  ],
121
134
  imports: [
122
135
  CommonModule,
@@ -140,10 +153,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
140
153
  ConfirmDialogModule,
141
154
  InputTextModule,
142
155
  CheckboxModule,
156
+ MultiSelectModule,
143
157
  RadioButtonModule,
144
158
  SelectButtonModule,
159
+ AutoCompleteModule,
160
+ ],
161
+ exports: [
162
+ VisualizerComponent, RegionEditorComponent, HexColorPickerComponent,
163
+ ChannelHistogramComponent, SpatialControlsComponent, SpatialChartsComponent,
145
164
  ],
146
- exports: [VisualizerComponent, RegionEditorComponent, HexColorPickerComponent, ChannelHistogramComponent],
147
165
  providers: [
148
166
  // Internal backend wiring. All three host-facing contracts are served by the
149
167
  // RoutingVisualizerService (the Plotly/OpenSeadragon selector), so consumers
@@ -159,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
159
177
  ],
160
178
  }]
161
179
  }] });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsaXphdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Zpc3VhbGl6YXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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LE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLENBQUM7b0JBQ3pHLFNBQVMsRUFBRTt3QkFDVCw2RUFBNkU7d0JBQzdFLDZFQUE2RTt3QkFDN0Usd0VBQXdFO3dCQUN4RSw4RUFBOEU7d0JBQzlFLHlFQUF5RTt3QkFDekUsOEVBQThFO3dCQUM5RSw2RUFBNkU7d0JBQzdFLHdFQUF3RTt3QkFDeEUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTt3QkFDOUQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFO3dCQUNyRSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7cUJBQzFFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVG9vbGJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbGJhcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZW51JztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBTbGlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NsaWRlcic7XG5pbXBvcnQgeyBUcmVlU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmVlc2VsZWN0JztcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29udGV4dG1lbnUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzYmFyJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IFJpcHBsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuaW1wb3J0IHsgU2VsZWN0QnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zZWxlY3RidXR0b24nO1xuXG5pbXBvcnQgeyBWaXN1YWxpemVyQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ2lvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vcmVnaW9uLWVkaXRvci9yZWdpb24tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZXhDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaGV4LWNvbG9yLXBpY2tlci9oZXgtY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFubmVsSGlzdG9ncmFtQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFubmVsLWhpc3RvZ3JhbS9jaGFubmVsLWhpc3RvZ3JhbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGluZ1Zpc3VhbGl6ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yb3V0aW5nLXZpc3VhbGl6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWSVNVQUxJWkVSIH0gZnJvbSAnLi9jb250cmFjdHMvdmlzdWFsaXplci5jb250cmFjdCc7XG5pbXBvcnQgeyBSRUdJT05fRURJVE9SX0FQSSB9IGZyb20gJy4vY29udHJhY3RzL3JlZ2lvbi1lZGl0b3ItYXBpLmNvbnRyYWN0JztcbmltcG9ydCB7IENIQU5ORUxfSElTVE9HUkFNX0FQSSB9IGZyb20gJy4vY29udHJhY3RzL2NoYW5uZWwtaGlzdG9ncmFtLWFwaS5jb250cmFjdCc7XG5cbi8qKlxuICogU2VsZi1jb250YWluZWQgcGxvdHRpbmcgVUk6IHRoZSB7QGxpbmsgVmlzdWFsaXplckNvbXBvbmVudH0gKHBsb3Qgc3VyZmFjZVxuICogKyByZW5kZXIgb3JjaGVzdHJhdGlvbiksIGl0cyB7QGxpbmsgVG9vbGJhckNvbXBvbmVudH0sIGFuZCB0aGVcbiAqIHtAbGluayBSZWdpb25FZGl0b3JDb21wb25lbnR9ICh0aGUgUmVnaW9ucyB0YWIgdGFibGUvZWRpdG9yKS4gQ29uc3VtZXJzIGVtYmVkXG4gKiBgPHZpc3VhbGl6ZXI+YCAvIGA8cmVnaW9uLWVkaXRvcj5gIGFuZCBuZWVkIGtub3cgbm90aGluZyBhYm91dCB0aGUgdG9vbGJhcixcbiAqIHRoZSByZW5kZXJpbmcgYmFja2VuZHMsIG9yIHJlZ2lvbiBmaWxlIEkvTyAoc3VwcGxpZWQgdmlhIHRoZSBSRUdJT05fSU9fUE9SVCkuXG4gKlxuICogQWxzbyBleHBvcnRzIHtAbGluayBIZXhDb2xvclBpY2tlckNvbXBvbmVudH0gKGA8aGV4LWNvbG9yLXBpY2tlcj5gKSBhcyBhXG4gKiBzdGFuZGFsb25lIHJldXNhYmxlIHBpY2tlciAoYFtjb2xvcl1gIGluLCBgKGNvbG9yQ2hhbmdlKWAgb3V0KSBzbyBjb25zdW1pbmdcbiAqIGFwcHMgY2FuIHVzZSBpdCBvbiBpdHMgb3duLCB0aGUgc2FtZSB3YXkgYXMgdGhlIHZpc3VhbGl6ZXIgYW5kIHJlZ2lvbiBlZGl0b3IuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFZpc3VhbGl6ZXJDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBSZWdpb25FZGl0b3JDb21wb25lbnQsXG4gICAgSGV4Q29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgQ2hhbm5lbEhpc3RvZ3JhbUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBNZW51TW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIFNsaWRlck1vZHVsZSxcbiAgICBUcmVlU2VsZWN0TW9kdWxlLFxuICAgIElucHV0TnVtYmVyTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBDb250ZXh0TWVudU1vZHVsZSxcbiAgICBQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFJpcHBsZU1vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBQYWdpbmF0b3JNb2R1bGUsXG4gICAgT3ZlcmxheVBhbmVsTW9kdWxlLFxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgIFNlbGVjdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1Zpc3VhbGl6ZXJDb21wb25lbnQsIFJlZ2lvbkVkaXRvckNvbXBvbmVudCwgSGV4Q29sb3JQaWNrZXJDb21wb25lbnQsIENoYW5uZWxIaXN0b2dyYW1Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyBJbnRlcm5hbCBiYWNrZW5kIHdpcmluZy4gQWxsIHRocmVlIGhvc3QtZmFjaW5nIGNvbnRyYWN0cyBhcmUgc2VydmVkIGJ5IHRoZVxuICAgIC8vIFJvdXRpbmdWaXN1YWxpemVyU2VydmljZSAodGhlIFBsb3RseS9PcGVuU2VhZHJhZ29uIHNlbGVjdG9yKSwgc28gY29uc3VtZXJzXG4gICAgLy8gZGVwZW5kIG9ubHkgb24gdGhlIHRva2VucyBhbmQgbmV2ZXIgdGhlIGNvbmNyZXRlIHJvdXRlci4gT3duZWQgYnkgdGhlXG4gICAgLy8gbGlicmFyeSBzbyBpbXBvcnRpbmcgVmlzdWFsaXphdGlvbk1vZHVsZSBpcyBlbm91Z2gg4oCUIHRoZSBob3N0IHN1cHBsaWVzIG9ubHlcbiAgICAvLyB0aGUgKnBvcnRzKiAoSU1BR0VfU1RBVEVfUE9SVCAvIFRJTEVfQUNDRVNTX1BPUlQgLyBSRUdJT05fSU9fUE9SVCkgYW5kXG4gICAgLy8gVklaX0NPTkZJRywgd2hpY2ggYXJlIGFwcC1zcGVjaWZpYy4gQSBjb25zdW1lciBuZWVkaW5nIGFuIGlzb2xhdGVkIGluc3RhbmNlXG4gICAgLy8gKGUuZy4gYSBtb2RhbCB0aGF0IG11c3RuJ3Qgc2hhcmUgcmVnaW9uL2ltYWdlIHN0YXRlKSByZS1wcm92aWRlcyB0aGlzIHNhbWVcbiAgICAvLyBzZXQgYXQgY29tcG9uZW50IHNjb3BlLCB3aGljaCBzaGFkb3dzIHRoZXNlIGRlZmF1bHRzIGZvciBpdHMgc3VidHJlZS5cbiAgICB7IHByb3ZpZGU6IFZJU1VBTElaRVIsIHVzZUV4aXN0aW5nOiBSb3V0aW5nVmlzdWFsaXplclNlcnZpY2UgfSxcbiAgICB7IHByb3ZpZGU6IFJFR0lPTl9FRElUT1JfQVBJLCB1c2VFeGlzdGluZzogUm91dGluZ1Zpc3VhbGl6ZXJTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBDSEFOTkVMX0hJU1RPR1JBTV9BUEksIHVzZUV4aXN0aW5nOiBSb3V0aW5nVmlzdWFsaXplclNlcnZpY2UgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzdWFsaXphdGlvbk1vZHVsZSB7fVxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsaXphdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Zpc3VhbGl6YXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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RSx3QkFBd0IsRUFBRTt3QkFDOUQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFO3dCQUNyRSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7cUJBQzFFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVG9vbGJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbGJhcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZW51JztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBTbGlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NsaWRlcic7XG5pbXBvcnQgeyBUcmVlU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmVlc2VsZWN0JztcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29udGV4dG1lbnUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzYmFyJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IFJpcHBsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcbmltcG9ydCB7IFNlbGVjdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2VsZWN0YnV0dG9uJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcblxuaW1wb3J0IHsgVmlzdWFsaXplckNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXplci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWdpb25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlZ2lvbi1lZGl0b3IvcmVnaW9uLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGV4Q29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2hleC1jb2xvci1waWNrZXIvaGV4LWNvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhbm5lbEhpc3RvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vY2hhbm5lbC1oaXN0b2dyYW0vY2hhbm5lbC1oaXN0b2dyYW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNwYXRpYWxDb250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vc3BhdGlhbC1jb250cm9scy9zcGF0aWFsLWNvbnRyb2xzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGF0aWFsQ2hhcnRzQ29tcG9uZW50IH0gZnJvbSAnLi9zcGF0aWFsLWNvbnRyb2xzL3NwYXRpYWwtY2hhcnRzL3NwYXRpYWwtY2hhcnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0aW5nVmlzdWFsaXplclNlcnZpY2UgfSBmcm9tICcuL3JvdXRpbmctdmlzdWFsaXplci5zZXJ2aWNlJztcbmltcG9ydCB7IFZJU1VBTElaRVIgfSBmcm9tICcuL2NvbnRyYWN0cy92aXN1YWxpemVyLmNvbnRyYWN0JztcbmltcG9ydCB7IFJFR0lPTl9FRElUT1JfQVBJIH0gZnJvbSAnLi9jb250cmFjdHMvcmVnaW9uLWVkaXRvci1hcGkuY29udHJhY3QnO1xuaW1wb3J0IHsgQ0hBTk5FTF9ISVNUT0dSQU1fQVBJIH0gZnJvbSAnLi9jb250cmFjdHMvY2hhbm5lbC1oaXN0b2dyYW0tYXBpLmNvbnRyYWN0JztcblxuLyoqXG4gKiBTZWxmLWNvbnRhaW5lZCBwbG90dGluZyBVSTogdGhlIHtAbGluayBWaXN1YWxpemVyQ29tcG9uZW50fSAocGxvdCBzdXJmYWNlXG4gKiArIHJlbmRlciBvcmNoZXN0cmF0aW9uKSwgaXRzIHtAbGluayBUb29sYmFyQ29tcG9uZW50fSwgYW5kIHRoZVxuICoge0BsaW5rIFJlZ2lvbkVkaXRvckNvbXBvbmVudH0gKHRoZSBSZWdpb25zIHRhYiB0YWJsZS9lZGl0b3IpLiBDb25zdW1lcnMgZW1iZWRcbiAqIGA8dmlzdWFsaXplcj5gIC8gYDxyZWdpb24tZWRpdG9yPmAgYW5kIG5lZWQga25vdyBub3RoaW5nIGFib3V0IHRoZSB0b29sYmFyLFxuICogdGhlIHJlbmRlcmluZyBiYWNrZW5kcywgb3IgcmVnaW9uIGZpbGUgSS9PIChzdXBwbGllZCB2aWEgdGhlIFJFR0lPTl9JT19QT1JUKS5cbiAqXG4gKiBBbHNvIGV4cG9ydHMge0BsaW5rIEhleENvbG9yUGlja2VyQ29tcG9uZW50fSAoYDxoZXgtY29sb3ItcGlja2VyPmApIGFzIGFcbiAqIHN0YW5kYWxvbmUgcmV1c2FibGUgcGlja2VyIChgW2NvbG9yXWAgaW4sIGAoY29sb3JDaGFuZ2UpYCBvdXQpIHNvIGNvbnN1bWluZ1xuICogYXBwcyBjYW4gdXNlIGl0IG9uIGl0cyBvd24sIHRoZSBzYW1lIHdheSBhcyB0aGUgdmlzdWFsaXplciBhbmQgcmVnaW9uIGVkaXRvci5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVmlzdWFsaXplckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFJlZ2lvbkVkaXRvckNvbXBvbmVudCxcbiAgICBIZXhDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICBDaGFubmVsSGlzdG9ncmFtQ29tcG9uZW50LFxuICAgIFNwYXRpYWxDb250cm9sc0NvbXBvbmVudCxcbiAgICBTcGF0aWFsQ2hhcnRzQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFRvb2xiYXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIE1lbnVNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgU2xpZGVyTW9kdWxlLFxuICAgIFRyZWVTZWxlY3RNb2R1bGUsXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgRGlhbG9nTW9kdWxlLFxuICAgIENvbnRleHRNZW51TW9kdWxlLFxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgUmlwcGxlTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIFBhZ2luYXRvck1vZHVsZSxcbiAgICBPdmVybGF5UGFuZWxNb2R1bGUsXG4gICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXG4gICAgU2VsZWN0QnV0dG9uTW9kdWxlLFxuICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFZpc3VhbGl6ZXJDb21wb25lbnQsIFJlZ2lvbkVkaXRvckNvbXBvbmVudCwgSGV4Q29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgQ2hhbm5lbEhpc3RvZ3JhbUNvbXBvbmVudCwgU3BhdGlhbENvbnRyb2xzQ29tcG9uZW50LCBTcGF0aWFsQ2hhcnRzQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyBJbnRlcm5hbCBiYWNrZW5kIHdpcmluZy4gQWxsIHRocmVlIGhvc3QtZmFjaW5nIGNvbnRyYWN0cyBhcmUgc2VydmVkIGJ5IHRoZVxuICAgIC8vIFJvdXRpbmdWaXN1YWxpemVyU2VydmljZSAodGhlIFBsb3RseS9PcGVuU2VhZHJhZ29uIHNlbGVjdG9yKSwgc28gY29uc3VtZXJzXG4gICAgLy8gZGVwZW5kIG9ubHkgb24gdGhlIHRva2VucyBhbmQgbmV2ZXIgdGhlIGNvbmNyZXRlIHJvdXRlci4gT3duZWQgYnkgdGhlXG4gICAgLy8gbGlicmFyeSBzbyBpbXBvcnRpbmcgVmlzdWFsaXphdGlvbk1vZHVsZSBpcyBlbm91Z2gg4oCUIHRoZSBob3N0IHN1cHBsaWVzIG9ubHlcbiAgICAvLyB0aGUgKnBvcnRzKiAoSU1BR0VfU1RBVEVfUE9SVCAvIFRJTEVfQUNDRVNTX1BPUlQgLyBSRUdJT05fSU9fUE9SVCkgYW5kXG4gICAgLy8gVklaX0NPTkZJRywgd2hpY2ggYXJlIGFwcC1zcGVjaWZpYy4gQSBjb25zdW1lciBuZWVkaW5nIGFuIGlzb2xhdGVkIGluc3RhbmNlXG4gICAgLy8gKGUuZy4gYSBtb2RhbCB0aGF0IG11c3RuJ3Qgc2hhcmUgcmVnaW9uL2ltYWdlIHN0YXRlKSByZS1wcm92aWRlcyB0aGlzIHNhbWVcbiAgICAvLyBzZXQgYXQgY29tcG9uZW50IHNjb3BlLCB3aGljaCBzaGFkb3dzIHRoZXNlIGRlZmF1bHRzIGZvciBpdHMgc3VidHJlZS5cbiAgICB7IHByb3ZpZGU6IFZJU1VBTElaRVIsIHVzZUV4aXN0aW5nOiBSb3V0aW5nVmlzdWFsaXplclNlcnZpY2UgfSxcbiAgICB7IHByb3ZpZGU6IFJFR0lPTl9FRElUT1JfQVBJLCB1c2VFeGlzdGluZzogUm91dGluZ1Zpc3VhbGl6ZXJTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBDSEFOTkVMX0hJU1RPR1JBTV9BUEksIHVzZUV4aXN0aW5nOiBSb3V0aW5nVmlzdWFsaXplclNlcnZpY2UgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzdWFsaXphdGlvbk1vZHVsZSB7fVxuIl19