@unovis/angular 1.1.2-beta.6 → 1.1.2-beta.8

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 (28) hide show
  1. package/dist/lib/bundles/unovis-angular.umd.js +129 -16
  2. package/dist/lib/bundles/unovis-angular.umd.js.map +1 -1
  3. package/dist/lib/components/axis/axis.component.d.ts +2 -4
  4. package/dist/lib/components/grouped-bar/grouped-bar.component.d.ts +1 -1
  5. package/dist/lib/components/nested-donut/nested-donut.component.d.ts +97 -0
  6. package/dist/lib/components/nested-donut/nested-donut.module.d.ts +7 -0
  7. package/dist/lib/components/stacked-bar/stacked-bar.component.d.ts +1 -1
  8. package/dist/lib/components/xy-labels/xy-labels.component.d.ts +2 -2
  9. package/dist/lib/components.d.ts +2 -0
  10. package/dist/lib/containers/single-container/single-container.component.d.ts +6 -1
  11. package/dist/lib/containers/xy-container/xy-container.component.d.ts +5 -1
  12. package/dist/lib/esm2015/components/axis/axis.component.js +4 -6
  13. package/dist/lib/esm2015/components/grouped-bar/grouped-bar.component.js +1 -1
  14. package/dist/lib/esm2015/components/nested-donut/nested-donut.component.js +85 -0
  15. package/dist/lib/esm2015/components/nested-donut/nested-donut.module.js +18 -0
  16. package/dist/lib/esm2015/components/stacked-bar/stacked-bar.component.js +1 -1
  17. package/dist/lib/esm2015/components/xy-labels/xy-labels.component.js +1 -1
  18. package/dist/lib/esm2015/components.js +3 -1
  19. package/dist/lib/esm2015/containers/single-container/single-container.component.js +6 -4
  20. package/dist/lib/esm2015/containers/xy-container/xy-container.component.js +6 -3
  21. package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.component.js +6 -4
  22. package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.component.js +6 -4
  23. package/dist/lib/fesm2015/unovis-angular.js +121 -18
  24. package/dist/lib/fesm2015/unovis-angular.js.map +1 -1
  25. package/dist/lib/html-components/leaflet-flow-map/leaflet-flow-map.component.d.ts +5 -1
  26. package/dist/lib/html-components/leaflet-map/leaflet-map.component.d.ts +5 -1
  27. package/dist/lib/package.json +2 -2
  28. package/package.json +2 -2
@@ -15,8 +15,8 @@ export class VisLeafletMapComponent {
15
15
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
16
16
  }
17
17
  getConfig() {
18
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip } = this;
19
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip };
18
+ const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
19
+ const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
20
20
  const keys = Object.keys(config);
21
21
  keys.forEach(key => { if (config[key] === undefined)
22
22
  delete config[key]; });
@@ -24,7 +24,7 @@ export class VisLeafletMapComponent {
24
24
  }
25
25
  }
26
26
  VisLeafletMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-map-container"></div>', isInline: true, styles: [".unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }"] });
27
+ VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-map-container"></div>', isInline: true, styles: [".unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }"] });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
@@ -131,7 +131,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
131
131
  type: Input
132
132
  }], tooltip: [{
133
133
  type: Input
134
+ }], ariaLabel: [{
135
+ type: Input
134
136
  }], data: [{
135
137
  type: Input
136
138
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLFVBQVUsR0FlWCxNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTyxzQkFBc0I7SUE2TmpDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbkM7UUFDRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFF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QUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQW1CRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBMZWFmbGV0TWFwLFxuICBMZWFmbGV0TWFwQ29uZmlnSW50ZXJmYWNlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIEJvdW5kcyxcbiAgTWFwWm9vbVN0YXRlLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIFN0cmluZ0FjY2Vzc29yLFxuICBDb2xvckFjY2Vzc29yLFxuICBMZWFmbGV0TWFwUG9pbnREYXR1bSxcbiAgTGVhZmxldE1hcFBvaW50U3R5bGVzLFxuICBUb29sdGlwLFxuICBMZWFmbGV0TWFwQ2x1c3RlckRhdHVtLFxuICBMZWFmbGV0TWFwUmVuZGVyZXIsXG4gIEdlbmVyaWNEYXRhUmVjb3JkLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgU3R5bGVTcGVjaWZpY2F0aW9uIH0gZnJvbSAnbWFwbGlicmUtZ2wnXG5pbXBvcnQgeyBWaXNDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWxlYWZsZXQtbWFwJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMtbGVhZmxldC1tYXAtY29udGFpbmVyXCI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbJy51bm92aXMtbGVhZmxldC1tYXAtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9J10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0NvcmVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNMZWFmbGV0TWFwQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNMZWFmbGV0TWFwQ29tcG9uZW50PERhdHVtIGV4dGVuZHMgR2VuZXJpY0RhdGFSZWNvcmQ+IGltcGxlbWVudHMgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscyBvciBpbiBDU1MgdW5pdHMuIEJ5IGRlZmF1bHQsIHRoZSBtYXAgd2lsbCBhdXRvbWF0aWNhbGx5IGZpdCB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogSGVpZ2h0IGluIHBpeGVscyBvciBpbiBDU1MgdW5pdHMuIEJ5IGRlZmF1bHQsIHRoZSBtYXAgd2lsbCBhdXRvbWF0aWNhbGx5IGZpdCB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIHdoZW4gdGhlIG1hcCBpcyBhdXRvbWF0aWNhbGx5IHBhbm5pbmcgb3Igem9vbWluZyB0byBhIHBvaW50IG9yIGFyZWEuIERlZmF1bHQ6IGAxNTAwYCBtcyAqL1xuICBASW5wdXQoKSBmbHlUb0R1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIFBhZGRpbmcgdG8gYmUgdXNlZCB3aGVuIHRoZSBgZml0Vmlld2AgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLiBUaGUgdmFsdWUgaXMgaW4gcGl4ZWxzLiBEZWZhdWx0OiBgWzE1MCwgMTUwXWAgKi9cbiAgQElucHV0KCkgZml0Vmlld1BhZGRpbmc/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBmb3IgdGhlIGBzZXRab29tYCBmdW5jdGlvbi4gRGVmYXVsdDogYDgwMGAgbXMgKi9cbiAgQElucHV0KCkgem9vbUR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIERlZmF1bHQgYm91bmRzIHRoYXQgd2lsbCBiZSBhcHBsaWVkIG9uIHRoZSBmaXJzdCBtYXAgcmVuZGVyIGlmIHRoZSBib3VuZHMgcHJvcGVydHkgaXMgbm90IHNldC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgaW5pdGlhbEJvdW5kcz86IEJvdW5kc1xuXG4gIC8qKiBGb3JjZSBzZXQgbWFwIGJvdW5kcyBvbiBjb25maWcgYW5kIGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZml0Qm91bmRzT25VcGRhdGU/OiBCb3VuZHNcblxuICAvKiogRml0IHRoZSB2aWV3IHRvIGNvbnRhaW4gdGhlIGRhdGEgcG9pbnRzIG9uIG1hcCBpbml0aWFsaXphdGlvbi4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPbkluaXQ/OiBib29sZWFuXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZml0Vmlld09uVXBkYXRlPzogYm9vbGVhblxuXG4gIC8qKiBNYXBMaWJyZSBTdHlsZVNwZWNpZmljYXRpb24gc2V0dGluZ3MuIERlZmF1bHQ6IGBNYXBMaWJyZUFyY3RpY0xpZ2h0YCAqL1xuICBASW5wdXQoKSBzdHlsZTogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIE1hcExpYnJlIFN0eWxlU3BlY2lmaWNhdGlvbiBzZXR0aW5ncyBmb3IgZGFyayB0aGVtZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3R5bGVEYXJrVGhlbWU/OiBTdHlsZVNwZWNpZmljYXRpb24gfCBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogVGlsZSBzZXJ2ZXIgYWNjZXNzIHRva2VuIG9yIEFQSSBrZXkuIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4/OiBzdHJpbmdcblxuICAvKiogQXJyYXkgb2YgYXR0cmlidXRpb24gbGFiZWxzLiBEZWZhdWx0OiBgWyc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+T3BlblN0cmVldE1hcCBjb250cmlidXRvcnM8L2E+J11gICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0aW9uPzogc3RyaW5nW11cblxuICAvKiogUmVuZGVyaW5nIG1vZGUgZm9yIG1hcCdzIHRpbGUgbGF5ZXIuIEZvciByYXN0ZXIgZmlsZXMsIHVzZSBgTGVhZmxldE1hcFJlbmRlcmVyLlJhc3RlcmAuIERlZmF1bHQ6IGBMZWFmbGV0TWFwUmVuZGVyZXIuTWFwTGlicmVgICovXG4gIEBJbnB1dCgpIHJlbmRlcmVyPzogTGVhZmxldE1hcFJlbmRlcmVyIHwgc3RyaW5nXG5cbiAgLyoqIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbWFwJ3MgYXN5bmMgaW5pdGlhbGl6YXRpb24gaXMgZG9uZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBJbml0aWFsaXplZD86ICgoKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSAvIFpvb20gdW5pZmllZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlWm9vbT86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcENsaWNrPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBQb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogUG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHBvaW50TGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGlkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmlkYCAqL1xuICBASW5wdXQoKSBwb2ludElkPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IHNoYXBlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlYCAqL1xuICBASW5wdXQoKSBwb2ludFNoYXBlPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmNvbG9yYCAqL1xuICBASW5wdXQoKSBwb2ludENvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogUG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLnBvaW50X2NvdW50ID8/ICcnYCAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgXG4gICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIHBvaW50Qm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGN1cnNvciB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHBvaW50Q3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBTZXQgc2VsZWN0ZWQgcG9pbnQgYnkgaXRzIHVuaXF1ZSBpZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRQb2ludElkPzogc3RyaW5nXG5cbiAgLyoqIENsdXN0ZXIgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyQ29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBDbHVzdGVyIHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1jbHVzdGVyLWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYFxuICAqL1xuICBASW5wdXQoKSBjbHVzdGVyTGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGJvdHRvbSBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYCcnYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyQm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBjbHVzdGVyIHBvaW50IG91dGxpbmUuIERlZmF1bHQ6IGAxLjI1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyUmluZ1dpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFdoZW4gY2x1c3RlciBpcyBleHBhbmRlZCwgc2hvdyBhIGJhY2tncm91bmQgY2lyY2xlIHRvIGJldHRlciBzZXBhcmF0ZSBwb2ludHMgZnJvbSB0aGUgYmFzZSBtYXAuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyQmFja2dyb3VuZD86IGJvb2xlYW5cblxuICAvKiogRGVmaW5lcyB3aGV0aGVyIHRoZSBjbHVzdGVyIHNob3VsZCBleHBhbmQgb24gY2xpY2sgb3Igbm90LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgY2x1c3RlckV4cGFuZE9uQ2xpY2s/OiBib29sZWFuXG5cbiAgLyoqIENsdXN0ZXJpbmcgZGlzdGFuY2UgaW4gcGl4ZWxzLiBUaGlzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIHRvIFN1cGVyY2x1c3RlciBhcyB0aGUgYHJhZGl1c2AgcHJvcGVydHkgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9zdXBlcmNsdXN0ZXIuIERlZmF1bHQ6IGA1NWAgKi9cbiAgQElucHV0KCkgY2x1c3RlcmluZ0Rpc3RhbmNlPzogbnVtYmVyXG5cbiAgLyoqIEEgc2luZ2xlIG1hcCBwb2ludCBjYW4gaGF2ZSBtdWx0aXBsZSBwcm9wZXJ0aWVzIGRpc3BsYXllZCBhcyBhIHNtYWxsIHBpZSBjaGFydCAob3IgYSBkb251dCBjaGFydCBmb3IgYSBjbHVzdGVyIG9mIHBvaW50cykuXG4gICAqIEJ5IHNldHRpbmcgdGhlIGNvbG9yTWFwIGNvbmZpZ3VyYXRpb24geW91IGNhbiBzcGVjaWZ5IGRhdGEgcHJvcGVydGllcyB0aGF0IHNob3VsZCBiZSBtYXBwZWQgdG8gdmFyaW91cyBwaWUgLyBkb251dCBzZWdtZW50cy5cbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxba2V5IGluIGtleW9mIERhdHVtXT86IHsgY29sb3I6IHN0cmluZywgY2xhc3NOYW1lPzogc3RyaW5nIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxoZWFsdGh5OiB7IGNvbG9yOiAnZ3JlZW4nIH0sXG4gICAqIFxcd2FybmluZzogeyBjb2xvcjogJ29yYW5nZScgfSxcbiAgICogXFxkYW5nZXI6IHsgY29sb3I6ICdyZWQnIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogd2hlcmUgZXZlcnkgZGF0YSBwb2ludCBoYXMgdGhlIGBoZWFsdGh5YCwgYHdhcm5pbmdgIGFuZCBgZGFuZ2VyYCBudW1lcmljYWwgb3IgYm9vbGVhbiBwcm9wZXJ0eS4gKi9cbiAgQElucHV0KCkgY29sb3JNYXA/OiBMZWFmbGV0TWFwUG9pbnRTdHlsZXM8RGF0dW0+XG5cbiAgLyoqIEEgVG9wb0pTT04gR2VvbWV0cnkgbGF5ZXIgdG8gYmUgZGlzcGxheWVkIG9uIHRvcCBvZiB0aGUgbWFwLiBTdXBwb3J0cyBmaWxsIGFuZCBzdHJva2UgKi9cbiAgQElucHV0KCkgdG9wb0pTT05MYXllcj86IHtcbiAgICBzb3VyY2VzOiBhbnk7XG4gICAgZmVhdHVyZU5hbWU/OiBzdHJpbmc7XG4gICAgZmlsbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHN0cm9rZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gIH1cblxuICAvKiogVG9vbHRpcCBjb21wb25lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBUb29sdGlwXG5cbiAgLyoqIERhdGEgKi9cbiAgQElucHV0KCkgZGF0YT86IERhdHVtW11cblxuICBjb21wb25lbnQ6IExlYWZsZXRNYXA8RGF0dW0+IHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpXG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgTGVhZmxldE1hcDxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnLCB0aGlzLmRhdGEpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCBjb2xvck1hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgZmx5VG9EdXJhdGlvbiwgZml0Vmlld1BhZGRpbmcsIHpvb21EdXJhdGlvbiwgaW5pdGlhbEJvdW5kcywgZml0Qm91bmRzT25VcGRhdGUsIGZpdFZpZXdPbkluaXQsIGZpdFZpZXdPblVwZGF0ZSwgYWNjZXNzVG9rZW4sIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYXR0cmlidXRpb24sIG9uTWFwSW5pdGlhbGl6ZWQsIG9uTWFwTW92ZVpvb20sIG9uTWFwTW92ZVN0YXJ0LCBvbk1hcE1vdmVFbmQsIG9uTWFwWm9vbVN0YXJ0LCBvbk1hcFpvb21FbmQsIG9uTWFwQ2xpY2ssIHBvaW50TG9uZ2l0dWRlLCBwb2ludExhdGl0dWRlLCBwb2ludElkLCBwb2ludFNoYXBlLCBwb2ludENvbG9yLCBwb2ludFJhZGl1cywgcG9pbnRMYWJlbCwgcG9pbnRMYWJlbENvbG9yLCBwb2ludEJvdHRvbUxhYmVsLCBwb2ludEN1cnNvciwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLFVBQVUsR0FlWCxNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTyxzQkFBc0I7SUFrT2pDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbkM7UUFDRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFF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Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldE1hcCxcbiAgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBCb3VuZHMsXG4gIE1hcFpvb21TdGF0ZSxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50RGF0dW0sXG4gIExlYWZsZXRNYXBQb2ludFN0eWxlcyxcbiAgVG9vbHRpcCxcbiAgTGVhZmxldE1hcENsdXN0ZXJEYXR1bSxcbiAgTGVhZmxldE1hcFJlbmRlcmVyLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFN0eWxlU3BlY2lmaWNhdGlvbiB9IGZyb20gJ21hcGxpYnJlLWdsJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1sZWFmbGV0LW1hcCcsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycudW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzTGVhZmxldE1hcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldE1hcENvbXBvbmVudDxEYXR1bSBleHRlbmRzIEdlbmVyaWNEYXRhUmVjb3JkPiBpbXBsZW1lbnRzIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuXG4gIC8qKiBXaWR0aCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscy4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzLiBEZWZhdWx0OiBgTWFwTGlicmVBcmN0aWNMaWdodGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IFN0eWxlU3BlY2lmaWNhdGlvbiB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBTdHlsZVNwZWNpZmljYXRpb24gc2V0dGluZ3MgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lPzogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIFJlbmRlcmluZyBtb2RlIGZvciBtYXAncyB0aWxlIGxheWVyLiBGb3IgcmFzdGVyIGZpbGVzLCB1c2UgYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLiBEZWZhdWx0OiBgTGVhZmxldE1hcFJlbmRlcmVyLk1hcExpYnJlYCAqL1xuICBASW5wdXQoKSByZW5kZXJlcj86IExlYWZsZXRNYXBSZW5kZXJlciB8IHN0cmluZ1xuXG4gIC8qKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1hcCdzIGFzeW5jIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwSW5pdGlhbGl6ZWQ/OiAoKCkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgLyBab29tIHVuaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVpvb20/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVTdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVFbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21TdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21FbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIEVuZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBDbGljaz86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogUG9pbnQgbG9uZ2l0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxvbmdpdHVkZWAgKi9cbiAgQElucHV0KCkgcG9pbnRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBpZCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5pZGAgKi9cbiAgQElucHV0KCkgcG9pbnRJZD86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBzaGFwZSBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5zaGFwZWAgKi9cbiAgQElucHV0KCkgcG9pbnRTaGFwZT86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgcG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9pbnRSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudCA/PyAnJ2AgKi9cbiAgQElucHV0KCkgcG9pbnRMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYWJlbCBjb2xvciB3aWxsIGJlIHNldCwgZGVwZW5kaW5nIG9uIHRoZSBwb2ludCBicmlnaHRuZXNzLCBlaXRoZXIgdG9cbiAgICogYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYFxuICAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGJvdHRvbSBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYCcnYCAqL1xuICBASW5wdXQoKSBwb2ludEJvdHRvbUxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBjdXJzb3IgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBwb2ludEN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogU2V0IHNlbGVjdGVkIHBvaW50IGJ5IGl0cyB1bmlxdWUgaWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkUG9pbnRJZD86IHN0cmluZ1xuXG4gIC8qKiBDbHVzdGVyIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAgKi9cbiAgQElucHV0KCkgY2x1c3RlckNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQ2x1c3RlciByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyUmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLnBvaW50X2NvdW50YCAgKi9cbiAgQElucHV0KCkgY2x1c3RlckxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYWJlbCBjb2xvciB3aWxsIGJlIHNldCwgZGVwZW5kaW5nIG9uIHRoZSBwb2ludCBicmlnaHRuZXNzLCBlaXRoZXIgdG9cbiAgICogYC0tdmlzLW1hcC1jbHVzdGVyLWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWRhcmtgIENTUyB2YXJpYWJsZS5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGBcbiAgKi9cbiAgQElucHV0KCkgY2x1c3RlckxhYmVsQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBib3R0b20gbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgY2x1c3RlckJvdHRvbUxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgY2x1c3RlciBwb2ludCBvdXRsaW5lLiBEZWZhdWx0OiBgMS4yNWAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJpbmdXaWR0aD86IG51bWJlclxuXG4gIC8qKiBXaGVuIGNsdXN0ZXIgaXMgZXhwYW5kZWQsIHNob3cgYSBiYWNrZ3JvdW5kIGNpcmNsZSB0byBiZXR0ZXIgc2VwYXJhdGUgcG9pbnRzIGZyb20gdGhlIGJhc2UgbWFwLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgY2x1c3RlckJhY2tncm91bmQ/OiBib29sZWFuXG5cbiAgLyoqIERlZmluZXMgd2hldGhlciB0aGUgY2x1c3RlciBzaG91bGQgZXhwYW5kIG9uIGNsaWNrIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJFeHBhbmRPbkNsaWNrPzogYm9vbGVhblxuXG4gIC8qKiBDbHVzdGVyaW5nIGRpc3RhbmNlIGluIHBpeGVscy4gVGhpcyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCB0byBTdXBlcmNsdXN0ZXIgYXMgdGhlIGByYWRpdXNgIHByb3BlcnR5IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvc3VwZXJjbHVzdGVyLiBEZWZhdWx0OiBgNTVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJpbmdEaXN0YW5jZT86IG51bWJlclxuXG4gIC8qKiBBIHNpbmdsZSBtYXAgcG9pbnQgY2FuIGhhdmUgbXVsdGlwbGUgcHJvcGVydGllcyBkaXNwbGF5ZWQgYXMgYSBzbWFsbCBwaWUgY2hhcnQgKG9yIGEgZG9udXQgY2hhcnQgZm9yIGEgY2x1c3RlciBvZiBwb2ludHMpLlxuICAgKiBCeSBzZXR0aW5nIHRoZSBjb2xvck1hcCBjb25maWd1cmF0aW9uIHlvdSBjYW4gc3BlY2lmeSBkYXRhIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgbWFwcGVkIHRvIHZhcmlvdXMgcGllIC8gZG9udXQgc2VnbWVudHMuXG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW2tleSBpbiBrZXlvZiBEYXR1bV0/OiB7IGNvbG9yOiBzdHJpbmcsIGNsYXNzTmFtZT86IHN0cmluZyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcaGVhbHRoeTogeyBjb2xvcjogJ2dyZWVuJyB9LFxuICAgKiBcXHdhcm5pbmc6IHsgY29sb3I6ICdvcmFuZ2UnIH0sXG4gICAqIFxcZGFuZ2VyOiB7IGNvbG9yOiAncmVkJyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIHdoZXJlIGV2ZXJ5IGRhdGEgcG9pbnQgaGFzIHRoZSBgaGVhbHRoeWAsIGB3YXJuaW5nYCBhbmQgYGRhbmdlcmAgbnVtZXJpY2FsIG9yIGJvb2xlYW4gcHJvcGVydHkuICovXG4gIEBJbnB1dCgpIGNvbG9yTWFwPzogTGVhZmxldE1hcFBvaW50U3R5bGVzPERhdHVtPlxuXG4gIC8qKiBBIFRvcG9KU09OIEdlb21ldHJ5IGxheWVyIHRvIGJlIGRpc3BsYXllZCBvbiB0b3Agb2YgdGhlIG1hcC4gU3VwcG9ydHMgZmlsbCBhbmQgc3Ryb2tlICovXG4gIEBJbnB1dCgpIHRvcG9KU09OTGF5ZXI/OiB7XG4gICAgc291cmNlczogYW55O1xuICAgIGZlYXR1cmVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBzdHJva2VQcm9wZXJ0eT86IHN0cmluZztcbiAgICBmaWxsT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICB9XG5cbiAgLyoqIFRvb2x0aXAgY29tcG9uZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0b29sdGlwPzogVG9vbHRpcFxuXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcblxuICAvKiogRGF0YSAqL1xuICBASW5wdXQoKSBkYXRhPzogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogTGVhZmxldE1hcDxEYXR1bT4gfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKClcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBMZWFmbGV0TWFwPERhdHVtPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCBjb25maWcsIHRoaXMuZGF0YSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKVxuICAgIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgZmx5VG9EdXJhdGlvbiwgZml0Vmlld1BhZGRpbmcsIHpvb21EdXJhdGlvbiwgaW5pdGlhbEJvdW5kcywgZml0Qm91bmRzT25VcGRhdGUsIGZpdFZpZXdPbkluaXQsIGZpdFZpZXdPblVwZGF0ZSwgYWNjZXNzVG9rZW4sIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYXR0cmlidXRpb24sIG9uTWFwSW5pdGlhbGl6ZWQsIG9uTWFwTW92ZVpvb20sIG9uTWFwTW92ZVN0YXJ0LCBvbk1hcE1vdmVFbmQsIG9uTWFwWm9vbVN0YXJ0LCBvbk1hcFpvb21FbmQsIG9uTWFwQ2xpY2ssIHBvaW50TG9uZ2l0dWRlLCBwb2ludExhdGl0dWRlLCBwb2ludElkLCBwb2ludFNoYXBlLCBwb2ludENvbG9yLCBwb2ludFJhZGl1cywgcG9pbnRMYWJlbCwgcG9pbnRMYWJlbENvbG9yLCBwb2ludEJvdHRvbUxhYmVsLCBwb2ludEN1cnNvciwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCBjb2xvck1hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCwgYXJpYUxhYmVsIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, ViewChild, ContentChildren, ContentChild, NgModule } from '@angular/core';
3
- import { Tooltip, Direction, XYContainer, Crosshair, Axis, SingleContainer, Line, Area, Brush, FreeBrush, Donut, GroupedBar, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, Sankey, Graph, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
3
+ import { Tooltip, Direction, XYContainer, Crosshair, Axis, SingleContainer, Line, Area, Brush, FreeBrush, Donut, GroupedBar, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, Sankey, Graph, NestedDonut, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
4
4
 
5
5
  class VisGenericComponent {
6
6
  }
@@ -106,7 +106,7 @@ class VisXYContainerComponent {
106
106
  }
107
107
  getConfig() {
108
108
  var _a;
109
- const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, } = this;
109
+ const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
110
110
  const visComponents = this.visComponents.toArray().map(d => d.component);
111
111
  const crosshair = visComponents.find(c => c instanceof Crosshair);
112
112
  const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
@@ -137,6 +137,7 @@ class VisXYContainerComponent {
137
137
  yDomainMaxConstraint,
138
138
  yRange,
139
139
  yDirection,
140
+ ariaLabel,
140
141
  };
141
142
  }
142
143
  passContainerReferenceToChildren() {
@@ -150,7 +151,7 @@ class VisXYContainerComponent {
150
151
  }
151
152
  }
152
153
  VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
154
+ VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
154
155
  <ng-content></ng-content>
155
156
  </div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
156
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
@@ -207,6 +208,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
207
208
  type: Input
208
209
  }], autoMargin: [{
209
210
  type: Input
211
+ }], ariaLabel: [{
212
+ type: Input
210
213
  }], data: [{
211
214
  type: Input
212
215
  }] } });
@@ -247,17 +250,17 @@ class VisSingleContainerComponent {
247
250
  }
248
251
  getConfig() {
249
252
  var _a, _b;
250
- const { width, height, duration, margin } = this;
253
+ const { width, height, duration, margin, ariaLabel } = this;
251
254
  const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
252
255
  const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
253
- return { width, height, duration, margin, component, tooltip };
256
+ return { width, height, duration, margin, component, tooltip, ariaLabel };
254
257
  }
255
258
  ngOnDestroy() {
256
259
  this.chart.destroy();
257
260
  }
258
261
  }
259
262
  VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
260
- VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
263
+ VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
261
264
  <ng-content></ng-content>
262
265
  </div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
263
266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
@@ -286,6 +289,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
286
289
  type: Input
287
290
  }], duration: [{
288
291
  type: Input
292
+ }], ariaLabel: [{
293
+ type: Input
289
294
  }], data: [{
290
295
  type: Input
291
296
  }] } });
@@ -497,8 +502,8 @@ class VisAxisComponent {
497
502
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
498
503
  }
499
504
  getConfig() {
500
- const { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, position, type, fullSize, label, labelFontSize, labelMargin, gridLine, tickLine, domainLine, minMaxTicksOnly, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextLength, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickPadding } = this;
501
- const config = { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, position, type, fullSize, label, labelFontSize, labelMargin, gridLine, tickLine, domainLine, minMaxTicksOnly, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextLength, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickPadding };
505
+ const { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, position, type, fullSize, label, labelFontSize, labelMargin, gridLine, tickLine, domainLine, minMaxTicksOnly, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickPadding } = this;
506
+ const config = { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, position, type, fullSize, label, labelFontSize, labelMargin, gridLine, tickLine, domainLine, minMaxTicksOnly, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickPadding };
502
507
  const keys = Object.keys(config);
503
508
  keys.forEach(key => { if (config[key] === undefined)
504
509
  delete config[key]; });
@@ -506,7 +511,7 @@ class VisAxisComponent {
506
511
  }
507
512
  }
508
513
  VisAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
509
- VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", y: "y", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextLength: "tickTextLength", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
514
+ VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", y: "y", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
510
515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, decorators: [{
511
516
  type: Component,
512
517
  args: [{
@@ -563,8 +568,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
563
568
  type: Input
564
569
  }], tickTextFitMode: [{
565
570
  type: Input
566
- }], tickTextLength: [{
567
- type: Input
568
571
  }], tickTextWidth: [{
569
572
  type: Input
570
573
  }], tickTextSeparator: [{
@@ -1912,6 +1915,102 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1912
1915
  }]
1913
1916
  }] });
1914
1917
 
1918
+ // !!! This code was automatically generated. You should not change it !!!
1919
+ class VisNestedDonutComponent {
1920
+ ngAfterViewInit() {
1921
+ var _a;
1922
+ this.component = new NestedDonut(this.getConfig());
1923
+ if (this.data) {
1924
+ this.component.setData(this.data);
1925
+ (_a = this.componentContainer) === null || _a === void 0 ? void 0 : _a.render();
1926
+ }
1927
+ }
1928
+ ngOnChanges(changes) {
1929
+ var _a, _b, _c;
1930
+ if (changes.data) {
1931
+ (_a = this.component) === null || _a === void 0 ? void 0 : _a.setData(this.data);
1932
+ }
1933
+ (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
1934
+ (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
1935
+ }
1936
+ getConfig() {
1937
+ const { duration, events, attributes, angleRange, direction, value, centralLabel, centralSubLabel, centralSubLabelWrap, showBackground, layers, layerSettings, layerPadding, cornerRadius, emptySegmentAngle, hideOverflowingSegmentLabels, segmentColor, segmentLabel, segmentLabelColor, showEmptySegments } = this;
1938
+ const config = { duration, events, attributes, angleRange, direction, value, centralLabel, centralSubLabel, centralSubLabelWrap, showBackground, layers, layerSettings, layerPadding, cornerRadius, emptySegmentAngle, hideOverflowingSegmentLabels, segmentColor, segmentLabel, segmentLabelColor, showEmptySegments };
1939
+ const keys = Object.keys(config);
1940
+ keys.forEach(key => { if (config[key] === undefined)
1941
+ delete config[key]; });
1942
+ return config;
1943
+ }
1944
+ }
1945
+ VisNestedDonutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1946
+ VisNestedDonutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisNestedDonutComponent, selector: "vis-nested-donut", inputs: { duration: "duration", events: "events", attributes: "attributes", angleRange: "angleRange", direction: "direction", value: "value", centralLabel: "centralLabel", centralSubLabel: "centralSubLabel", centralSubLabelWrap: "centralSubLabelWrap", showBackground: "showBackground", layers: "layers", layerSettings: "layerSettings", layerPadding: "layerPadding", cornerRadius: "cornerRadius", emptySegmentAngle: "emptySegmentAngle", hideOverflowingSegmentLabels: "hideOverflowingSegmentLabels", segmentColor: "segmentColor", segmentLabel: "segmentLabel", segmentLabelColor: "segmentLabelColor", showEmptySegments: "showEmptySegments", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisNestedDonutComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
1947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutComponent, decorators: [{
1948
+ type: Component,
1949
+ args: [{
1950
+ selector: 'vis-nested-donut',
1951
+ template: '',
1952
+ // eslint-disable-next-line no-use-before-define
1953
+ providers: [{ provide: VisCoreComponent, useExisting: VisNestedDonutComponent }],
1954
+ }]
1955
+ }], propDecorators: { duration: [{
1956
+ type: Input
1957
+ }], events: [{
1958
+ type: Input
1959
+ }], attributes: [{
1960
+ type: Input
1961
+ }], angleRange: [{
1962
+ type: Input
1963
+ }], direction: [{
1964
+ type: Input
1965
+ }], value: [{
1966
+ type: Input
1967
+ }], centralLabel: [{
1968
+ type: Input
1969
+ }], centralSubLabel: [{
1970
+ type: Input
1971
+ }], centralSubLabelWrap: [{
1972
+ type: Input
1973
+ }], showBackground: [{
1974
+ type: Input
1975
+ }], layers: [{
1976
+ type: Input
1977
+ }], layerSettings: [{
1978
+ type: Input
1979
+ }], layerPadding: [{
1980
+ type: Input
1981
+ }], cornerRadius: [{
1982
+ type: Input
1983
+ }], emptySegmentAngle: [{
1984
+ type: Input
1985
+ }], hideOverflowingSegmentLabels: [{
1986
+ type: Input
1987
+ }], segmentColor: [{
1988
+ type: Input
1989
+ }], segmentLabel: [{
1990
+ type: Input
1991
+ }], segmentLabelColor: [{
1992
+ type: Input
1993
+ }], showEmptySegments: [{
1994
+ type: Input
1995
+ }], data: [{
1996
+ type: Input
1997
+ }] } });
1998
+
1999
+ // !!! This code was automatically generated. You should not change it !!!
2000
+ class VisNestedDonutModule {
2001
+ }
2002
+ VisNestedDonutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2003
+ VisNestedDonutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutModule, declarations: [VisNestedDonutComponent], exports: [VisNestedDonutComponent] });
2004
+ VisNestedDonutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutModule, imports: [[]] });
2005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisNestedDonutModule, decorators: [{
2006
+ type: NgModule,
2007
+ args: [{
2008
+ imports: [],
2009
+ declarations: [VisNestedDonutComponent],
2010
+ exports: [VisNestedDonutComponent],
2011
+ }]
2012
+ }] });
2013
+
1915
2014
  class VisLeafletMapComponent {
1916
2015
  ngAfterViewInit() {
1917
2016
  const config = this.getConfig();
@@ -1925,8 +2024,8 @@ class VisLeafletMapComponent {
1925
2024
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
1926
2025
  }
1927
2026
  getConfig() {
1928
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip } = this;
1929
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip };
2027
+ const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
2028
+ const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
1930
2029
  const keys = Object.keys(config);
1931
2030
  keys.forEach(key => { if (config[key] === undefined)
1932
2031
  delete config[key]; });
@@ -1934,7 +2033,7 @@ class VisLeafletMapComponent {
1934
2033
  }
1935
2034
  }
1936
2035
  VisLeafletMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1937
- VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-map-container"></div>', isInline: true, styles: [".unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }"] });
2036
+ VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-map-container"></div>', isInline: true, styles: [".unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }"] });
1938
2037
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, decorators: [{
1939
2038
  type: Component,
1940
2039
  args: [{
@@ -2041,6 +2140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2041
2140
  type: Input
2042
2141
  }], tooltip: [{
2043
2142
  type: Input
2143
+ }], ariaLabel: [{
2144
+ type: Input
2044
2145
  }], data: [{
2045
2146
  type: Input
2046
2147
  }] } });
@@ -2072,8 +2173,8 @@ class VisLeafletFlowMapComponent {
2072
2173
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
2073
2174
  }
2074
2175
  getConfig() {
2075
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
2076
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
2176
+ const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
2177
+ const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
2077
2178
  const keys = Object.keys(config);
2078
2179
  keys.forEach(key => { if (config[key] === undefined)
2079
2180
  delete config[key]; });
@@ -2081,7 +2182,7 @@ class VisLeafletFlowMapComponent {
2081
2182
  }
2082
2183
  }
2083
2184
  VisLeafletFlowMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2084
- VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", valuesMap: "valuesMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-flow-map-container"></div>', isInline: true, styles: [".unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }"] });
2185
+ VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", valuesMap: "valuesMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-flow-map-container"></div>', isInline: true, styles: [".unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }"] });
2085
2186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, decorators: [{
2086
2187
  type: Component,
2087
2188
  args: [{
@@ -2186,6 +2287,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2186
2287
  type: Input
2187
2288
  }], tooltip: [{
2188
2289
  type: Input
2290
+ }], ariaLabel: [{
2291
+ type: Input
2189
2292
  }], sourceLongitude: [{
2190
2293
  type: Input
2191
2294
  }], sourceLatitude: [{
@@ -2310,5 +2413,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2310
2413
  * Generated bundle index. Do not edit.
2311
2414
  */
2312
2415
 
2313
- export { VisAreaComponent, VisAreaModule, VisAxisComponent, VisAxisModule, VisBrushComponent, VisBrushModule, VisBulletLegendComponent, VisBulletLegendModule, VisCoreComponent, VisCrosshairComponent, VisCrosshairModule, VisDonutComponent, VisDonutModule, VisFreeBrushComponent, VisFreeBrushModule, VisGenericComponent, VisGraphComponent, VisGraphModule, VisGroupedBarComponent, VisGroupedBarModule, VisLeafletFlowMapComponent, VisLeafletFlowMapModule, VisLeafletMapComponent, VisLeafletMapModule, VisLineComponent, VisLineModule, VisSankeyComponent, VisSankeyModule, VisScatterComponent, VisScatterModule, VisSingleContainerComponent, VisSingleContainerModule, VisStackedBarComponent, VisStackedBarModule, VisTimelineComponent, VisTimelineModule, VisTooltipComponent, VisTooltipModule, VisTopoJSONMapComponent, VisTopoJSONMapModule, VisXYComponent, VisXYContainerComponent, VisXYContainerModule, VisXYLabelsComponent, VisXYLabelsModule };
2416
+ export { VisAreaComponent, VisAreaModule, VisAxisComponent, VisAxisModule, VisBrushComponent, VisBrushModule, VisBulletLegendComponent, VisBulletLegendModule, VisCoreComponent, VisCrosshairComponent, VisCrosshairModule, VisDonutComponent, VisDonutModule, VisFreeBrushComponent, VisFreeBrushModule, VisGenericComponent, VisGraphComponent, VisGraphModule, VisGroupedBarComponent, VisGroupedBarModule, VisLeafletFlowMapComponent, VisLeafletFlowMapModule, VisLeafletMapComponent, VisLeafletMapModule, VisLineComponent, VisLineModule, VisNestedDonutComponent, VisNestedDonutModule, VisSankeyComponent, VisSankeyModule, VisScatterComponent, VisScatterModule, VisSingleContainerComponent, VisSingleContainerModule, VisStackedBarComponent, VisStackedBarModule, VisTimelineComponent, VisTimelineModule, VisTooltipComponent, VisTooltipModule, VisTopoJSONMapComponent, VisTopoJSONMapModule, VisXYComponent, VisXYContainerComponent, VisXYContainerModule, VisXYLabelsComponent, VisXYLabelsModule };
2314
2417
  //# sourceMappingURL=unovis-angular.js.map