@artstesh/maps 5.2.1 → 5.2.3

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 (43) hide show
  1. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +6 -2
  2. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +28 -1
  3. package/dist/esm2022/map/map-plate/map-plate.component.mjs +5 -1
  4. package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +23 -0
  5. package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +21 -0
  6. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +10 -0
  7. package/dist/esm2022/map/messages/index.mjs +4 -1
  8. package/dist/esm2022/map/models/map.constants.mjs +2 -1
  9. package/dist/esm2022/map/services/feature.service.mjs +53 -2
  10. package/dist/esm2022/map/services/map-feature.service.mjs +22 -2
  11. package/dist/esm2022/map/services/message-registrator.service.mjs +8 -2
  12. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +6 -2
  13. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +28 -1
  14. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +5 -1
  15. package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +23 -0
  16. package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +21 -0
  17. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +10 -0
  18. package/dist/esm2022/src/map/messages/index.mjs +4 -1
  19. package/dist/esm2022/src/map/models/map.constants.mjs +2 -1
  20. package/dist/esm2022/src/map/services/feature.service.mjs +53 -2
  21. package/dist/esm2022/src/map/services/map-feature.service.mjs +22 -2
  22. package/dist/esm2022/src/map/services/message-registrator.service.mjs +8 -2
  23. package/dist/fesm2022/maps-components-src-map.mjs +161 -5
  24. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  25. package/dist/fesm2022/maps-components.mjs +161 -5
  26. package/dist/fesm2022/maps-components.mjs.map +1 -1
  27. package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +22 -0
  28. package/dist/map/messages/events/map-feature-hovered.event.d.ts +19 -0
  29. package/dist/map/messages/events/map-pointer-move.event.d.ts +17 -0
  30. package/dist/map/messages/executors/polygon-self-intersection.executor.d.ts +7 -0
  31. package/dist/map/messages/index.d.ts +3 -0
  32. package/dist/map/models/map.constants.d.ts +1 -0
  33. package/dist/map/services/feature.service.d.ts +5 -0
  34. package/dist/map/services/map-feature.service.d.ts +1 -0
  35. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +22 -0
  36. package/dist/src/map/messages/events/map-feature-hovered.event.d.ts +19 -0
  37. package/dist/src/map/messages/events/map-pointer-move.event.d.ts +17 -0
  38. package/dist/src/map/messages/executors/polygon-self-intersection.executor.d.ts +7 -0
  39. package/dist/src/map/messages/index.d.ts +3 -0
  40. package/dist/src/map/models/map.constants.d.ts +1 -0
  41. package/dist/src/map/services/feature.service.d.ts +5 -0
  42. package/dist/src/map/services/map-feature.service.d.ts +1 -0
  43. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { DestructibleComponent } from '../../../common/destructible.component';
3
3
  import { MapRenderedEvent } from '../../../messages';
4
4
  import { filter, first } from 'rxjs/operators';
5
5
  import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
6
+ import { MapConstants } from '../../../models';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../../services/map-postboy.service";
8
9
  /**
@@ -36,7 +37,10 @@ export class PolygonsComponent extends DestructibleComponent {
36
37
  putPolygons() {
37
38
  if (!this._polygons)
38
39
  return;
39
- this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
40
+ this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => {
41
+ m.feature.set(MapConstants.FeatureLayerName, this.layerName);
42
+ return m.feature;
43
+ })));
40
44
  }
41
45
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
42
46
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -49,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
53
  }], polygons: [{
50
54
  type: Input
51
55
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFHcEc7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFHdEM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRS9COzs7O09BSUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDckIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FyQ1UsaUJBQWlCOzRGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzRGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQWFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciByZW5kZXJpbmcgcG9seWdvbnMgb24gYSBtYXAuXG4gKiBJdCBsaXN0ZW5zIGZvciBjaGFuZ2VzIGluIHRoZSBgcG9seWdvbnNgIGlucHV0IHByb3BlcnR5IGFuZFxuICogYXV0b21hdGljYWxseSBwdXRzIHRoZSBwb2x5Z29ucyBvbiB0aGUgbWFwIHVzaW5nIHRoZSBNYXBQb3N0Ym95U2VydmljZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LXBvbHlnb25zJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUG9seWdvbnNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYXllck5hbWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9wb2x5Z29uczogUG9seWdvbk1vZGVsW10gPSBbXTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgcG9seWdvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9seWdvbk1vZGVsW119IHZhbHVlIC0gVGhlIG5ldyB2YWx1ZSBmb3IgcG9seWdvbnMuXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9seWdvbnModmFsdWU6IFBvbHlnb25Nb2RlbFtdKSB7XG4gICAgdGhpcy5fcG9seWdvbnMgPSB2YWx1ZSA/PyBbXTtcbiAgICB0aGlzLnB1dFBvbHlnb25zKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWIoTWFwUmVuZGVyZWRFdmVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHV0UG9seWdvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIHB1dFBvbHlnb25zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fcG9seWdvbnMpIHJldHVybjtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShcbiAgICAgIG5ldyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKFxuICAgICAgICB0aGlzLmxheWVyTmFtZSxcbiAgICAgICAgdGhpcy5fcG9seWdvbnMubWFwKChtKSA9PiBtLmZlYXR1cmUpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBR3RDO0lBRlgsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV4QixZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLEdBQW1CLEVBQUUsQ0FBQztJQUUvQjs7OztPQUlHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F4Q1UsaUJBQWlCOzRGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzRGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQWFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgcmVuZGVyaW5nIHBvbHlnb25zIG9uIGEgbWFwLlxuICogSXQgbGlzdGVucyBmb3IgY2hhbmdlcyBpbiB0aGUgYHBvbHlnb25zYCBpbnB1dCBwcm9wZXJ0eSBhbmRcbiAqIGF1dG9tYXRpY2FsbHkgcHV0cyB0aGUgcG9seWdvbnMgb24gdGhlIG1hcCB1c2luZyB0aGUgTWFwUG9zdGJveVNlcnZpY2UuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHBvbHlnb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvbHlnb25Nb2RlbFtdfSB2YWx1ZSAtIFRoZSBuZXcgdmFsdWUgZm9yIHBvbHlnb25zLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4ge1xuICAgICAgICAgIG0uZmVhdHVyZS5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVMYXllck5hbWUsIHRoaXMubGF5ZXJOYW1lKTtcbiAgICAgICAgICByZXR1cm4gbS5mZWF0dXJlO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -28,6 +28,21 @@ export class FeatureLayerSettings {
28
28
  * The styling definition of layer's features. The easiest way is to use {@link PolygonStyleHelper},{@link MarkerStyleHelper}
29
29
  */
30
30
  style;
31
+ /**
32
+ * Defines the style applied to a feature when it is hovered over.
33
+ *
34
+ * This property can accept either a static style object or a dynamic style function.
35
+ * When a `StyleFunction` is provided, it will determine the style dynamically
36
+ * based on the feature being hovered.
37
+ *
38
+ * The style is applied temporarily, specifically for the hovered feature,
39
+ * and overrides any default or predefined styles for that feature.
40
+ *
41
+ * Optional property.
42
+ *
43
+ * @type {(Style | StyleFunction)}
44
+ */
45
+ featureHoverStyle;
31
46
  /**
32
47
  * Copies the given FeatureLayerSettings object
33
48
  *
@@ -41,6 +56,7 @@ export class FeatureLayerSettings {
41
56
  result.minZoom = model.minZoom;
42
57
  result.zIndex = model.zIndex;
43
58
  result.style = model.style;
59
+ result.featureHoverStyle = model.featureHoverStyle;
44
60
  return result;
45
61
  }
46
62
  /**
@@ -89,6 +105,15 @@ export class FeatureLayerSettings {
89
105
  setStyle(style) {
90
106
  return FeatureLayerSettings.copy({ ...this, style });
91
107
  }
108
+ /**
109
+ * Sets the style to apply to features when they are hovered over.
110
+ *
111
+ * @param {Style | StyleFunction} featureHoverStyle - The style or style function to use for hovered features.
112
+ * @return {FeatureLayerSettings} A new instance of FeatureLayerSettings with the updated hover style.
113
+ */
114
+ setFeatureHoverStyle(featureHoverStyle) {
115
+ return FeatureLayerSettings.copy({ ...this, featureHoverStyle });
116
+ }
92
117
  /**
93
118
  * Checks if the given FeatureLayerSettings object is identical to the current object.
94
119
  *
@@ -106,7 +131,9 @@ export class FeatureLayerSettings {
106
131
  return false;
107
132
  if (this.style !== model.style)
108
133
  return false;
134
+ if (this.featureHoverStyle !== model.featureHoverStyle)
135
+ return false;
109
136
  return true;
110
137
  }
111
138
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxJQUFJLEdBQVcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pDOztPQUVHO0lBQ0gsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxLQUFLLENBQXlCO0lBRTlCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEyQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxLQUE0QjtRQUNuQyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQTJCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG4vKipcbiAqIEEgbGF5ZXIgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBhbmQgc3R5bGluZyBtYWluIGZlYXR1cmVzIG9uIHRoZSBtYXAsIHN1Y2ggYXMgbWFya2VycyBhbmQgcG9seWdvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBmaWVsZCwgaXQgaXMgYXV0b2dlbmVyYXRlZCBieSBkZWZhdWx0LCBidXQgY2FuIGJlIHNldCBtYW51YWxseVxuICAgKi9cbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgb2Ygc2hvd2luZyAtIGxheWVycyB3aXRoIGhpZ2hlciB6SW5kZXggY292ZXIgb3RoZXJzIGluIGNhc2Ugb2YgY29sbGlzaW9uc1xuICAgKi9cbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICAvKipcbiAgIFRoZSBtYXhpbXVtIHZpZXcgem9vbSBsZXZlbCAoaW5jbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cblxuICAgQHR5cGUge251bWJlcn1cbiAgIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICBUaGUgbWluaW11bSB2aWV3IHpvb20gbGV2ZWwgKGV4Y2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG5cbiAgIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIHN0eWxpbmcgZGVmaW5pdGlvbiBvZiBsYXllcidzIGZlYXR1cmVzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gdXNlIHtAbGluayBQb2x5Z29uU3R5bGVIZWxwZXJ9LHtAbGluayBNYXJrZXJTdHlsZUhlbHBlcn1cbiAgICovXG4gIHN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gYmUgY29waWVkXG4gICAqIEByZXR1cm5zIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBBIGNvcHkgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgei1pbmRleCB2YWx1ZSBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpJbmRleCAtIFRoZSBuZXcgei1pbmRleCB2YWx1ZS5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIHRvIHNldCBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgbmV3IG5hbWUuXG4gICAqL1xuICBzZXROYW1lKG5hbWU6IHN0cmluZyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gRmVhdHVyZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIGZlYXR1cmUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IFRoZSB1cGRhdGVkIGZlYXR1cmUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gc3R5bGUgLSBUaGUgbmV3IHN0eWxlIHRvIHNldC4gSXQgY2FuIGJlIGVpdGhlciBhIFN0eWxlIG9iamVjdCBvciBhIFN0eWxlRnVuY3Rpb24uXG4gICAqIEByZXR1cm4ge0ZlYXR1cmVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgc3R5bGUuXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgaXMgaWRlbnRpY2FsIHRvIHRoZSBjdXJyZW50IG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0IHRvIGNvbXBhcmUgd2l0aC5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG9iamVjdCBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LCBvdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuekluZGV4ICE9PSBtb2RlbC56SW5kZXgpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5uYW1lICE9PSBtb2RlbC5uYW1lKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuc3R5bGUgIT09IG1vZGVsLnN0eWxlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxJQUFJLEdBQVcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pDOztPQUVHO0lBQ0gsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxLQUFLLENBQXlCO0lBQzlCOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxpQkFBaUIsQ0FBeUI7SUFFMUM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTJCO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsS0FBNEI7UUFDbkMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLGlCQUF3QztRQUMzRCxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLGlCQUFpQjtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG4vKipcbiAqIEEgbGF5ZXIgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBhbmQgc3R5bGluZyBtYWluIGZlYXR1cmVzIG9uIHRoZSBtYXAsIHN1Y2ggYXMgbWFya2VycyBhbmQgcG9seWdvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBmaWVsZCwgaXQgaXMgYXV0b2dlbmVyYXRlZCBieSBkZWZhdWx0LCBidXQgY2FuIGJlIHNldCBtYW51YWxseVxuICAgKi9cbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgb2Ygc2hvd2luZyAtIGxheWVycyB3aXRoIGhpZ2hlciB6SW5kZXggY292ZXIgb3RoZXJzIGluIGNhc2Ugb2YgY29sbGlzaW9uc1xuICAgKi9cbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICAvKipcbiAgIFRoZSBtYXhpbXVtIHZpZXcgem9vbSBsZXZlbCAoaW5jbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cblxuICAgQHR5cGUge251bWJlcn1cbiAgIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICBUaGUgbWluaW11bSB2aWV3IHpvb20gbGV2ZWwgKGV4Y2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG5cbiAgIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIHN0eWxpbmcgZGVmaW5pdGlvbiBvZiBsYXllcidzIGZlYXR1cmVzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gdXNlIHtAbGluayBQb2x5Z29uU3R5bGVIZWxwZXJ9LHtAbGluayBNYXJrZXJTdHlsZUhlbHBlcn1cbiAgICovXG4gIHN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3R5bGUgYXBwbGllZCB0byBhIGZlYXR1cmUgd2hlbiBpdCBpcyBob3ZlcmVkIG92ZXIuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGFjY2VwdCBlaXRoZXIgYSBzdGF0aWMgc3R5bGUgb2JqZWN0IG9yIGEgZHluYW1pYyBzdHlsZSBmdW5jdGlvbi5cbiAgICogV2hlbiBhIGBTdHlsZUZ1bmN0aW9uYCBpcyBwcm92aWRlZCwgaXQgd2lsbCBkZXRlcm1pbmUgdGhlIHN0eWxlIGR5bmFtaWNhbGx5XG4gICAqIGJhc2VkIG9uIHRoZSBmZWF0dXJlIGJlaW5nIGhvdmVyZWQuXG4gICAqXG4gICAqIFRoZSBzdHlsZSBpcyBhcHBsaWVkIHRlbXBvcmFyaWx5LCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBob3ZlcmVkIGZlYXR1cmUsXG4gICAqIGFuZCBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3IgcHJlZGVmaW5lZCBzdHlsZXMgZm9yIHRoYXQgZmVhdHVyZS5cbiAgICpcbiAgICogT3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEB0eXBlIHsoU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKX1cbiAgICovXG4gIGZlYXR1cmVIb3ZlclN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gYmUgY29waWVkXG4gICAqIEByZXR1cm5zIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBBIGNvcHkgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJlc3VsdC5mZWF0dXJlSG92ZXJTdHlsZSA9IG1vZGVsLmZlYXR1cmVIb3ZlclN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgei1pbmRleCB2YWx1ZSBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpJbmRleCAtIFRoZSBuZXcgei1pbmRleCB2YWx1ZS5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIHRvIHNldCBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgbmV3IG5hbWUuXG4gICAqL1xuICBzZXROYW1lKG5hbWU6IHN0cmluZyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gRmVhdHVyZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIGZlYXR1cmUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IFRoZSB1cGRhdGVkIGZlYXR1cmUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gc3R5bGUgLSBUaGUgbmV3IHN0eWxlIHRvIHNldC4gSXQgY2FuIGJlIGVpdGhlciBhIFN0eWxlIG9iamVjdCBvciBhIFN0eWxlRnVuY3Rpb24uXG4gICAqIEByZXR1cm4ge0ZlYXR1cmVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgc3R5bGUuXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIHRvIGFwcGx5IHRvIGZlYXR1cmVzIHdoZW4gdGhleSBhcmUgaG92ZXJlZCBvdmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gZmVhdHVyZUhvdmVyU3R5bGUgLSBUaGUgc3R5bGUgb3Igc3R5bGUgZnVuY3Rpb24gdG8gdXNlIGZvciBob3ZlcmVkIGZlYXR1cmVzLlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgRmVhdHVyZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBob3ZlciBzdHlsZS5cbiAgICovXG4gIHNldEZlYXR1cmVIb3ZlclN0eWxlKGZlYXR1cmVIb3ZlclN0eWxlOiBTdHlsZSB8IFN0eWxlRnVuY3Rpb24pOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBmZWF0dXJlSG92ZXJTdHlsZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGlkZW50aWNhbCB0byB0aGUgY3VycmVudCBvYmplY3QsIG90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IEZlYXR1cmVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56SW5kZXggIT09IG1vZGVsLnpJbmRleCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5hbWUgIT09IG1vZGVsLm5hbWUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5zdHlsZSAhPT0gbW9kZWwuc3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5mZWF0dXJlSG92ZXJTdHlsZSAhPT0gbW9kZWwuZmVhdHVyZUhvdmVyU3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -15,6 +15,7 @@ import { DrawingGenerationService } from '../services/drawing/drawing-generation
15
15
  import { FeatureService } from '../services/feature.service';
16
16
  import { FeatureModificationService } from '../services/drawing/feature-modification.service';
17
17
  import { ControlsService } from '../services/controls/controls.service';
18
+ import { MapPointerMoveEvent } from '../messages/events/map-pointer-move.event';
18
19
  import * as i0 from "@angular/core";
19
20
  import * as i1 from "../services/map-postboy.service";
20
21
  import * as i2 from "./map-plate.factory.service";
@@ -56,6 +57,9 @@ export class MapPlateComponent extends DestructibleComponent {
56
57
  this.map.updateSize();
57
58
  this.postboy.fire(new MapRenderedEvent(this.map));
58
59
  });
60
+ this.map.on('pointermove', (ev) => {
61
+ this.postboy.fire(new MapPointerMoveEvent(ev.pixel));
62
+ });
59
63
  this.setOsm();
60
64
  }
61
65
  onDestroy = () => {
@@ -99,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
99
103
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
100
104
  type: Input
101
105
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMx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UzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1QseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLDBCQUEwQjt3QkFDMUIsZUFBZTtxQkFDaEI7dU9Bb0JZLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTHlyc0xhYmVsLCBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyB1c2VHZW9ncmFwaGljIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBsYXRlRmFjdG9yeSB9IGZyb20gJy4vbWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2ZlYXR1cmUtbW9kaWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udHJvbHMvY29udHJvbHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1tYXAtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXBsYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIE1hcFN0YXRlU2VydmljZSxcbiAgICBNYXBNYW5hZ2VtZW50U2VydmljZSxcbiAgICBNYXBDbGlja1NlcnZpY2UsXG4gICAgTWFwRmVhdHVyZVNlcnZpY2UsXG4gICAgRHJhd2luZ1NlcnZpY2UsXG4gICAgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlLFxuICAgIEZlYXR1cmVTZXJ2aWNlLFxuICAgIEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlLFxuICAgIENvbnRyb2xzU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuICBkcmF3aW5nTGF5ZXJTZXR0aW5ncyA9IG5ldyBGZWF0dXJlTGF5ZXJTZXR0aW5ncygpLnNldE5hbWUoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY3Rvcnk6IE1hcFBsYXRlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlZ2lzdHJhdG9yOiBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHJlZ2lzdHJhdG9yLnVwKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IE1hcFNldHRpbmdzID0gbmV3IE1hcFNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBNYXBTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHVzZUdlb2dyYXBoaWMoKTtcbiAgICB0aGlzLm1hcCA9IHRoaXMubWFwRmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5tYXAuc2V0VGFyZ2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC5vbmNlKCdwb3N0cmVuZGVyJywgKCkgPT4ge1xuICAgICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFJlbmRlcmVkRXZlbnQodGhpcy5tYXApKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxhcnQtb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvYXJ0LW9zbS10aWxlLWxheWVyPlxyXG48YXJ0LWZlYXR1cmUtbGF5ZXIgKm5nSWY9XCJtYXBcIiBbc2V0dGluZ3NdPVwiZHJhd2luZ0xheWVyU2V0dGluZ3NcIj48L2FydC1mZWF0dXJlLWxheWVyPlxyXG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMx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QUUsQ0FBQztJQUN4QixDQUFDO3dHQWxEVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwwRUFiakI7WUFDVCx5QkFBeUI7WUFDekIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixlQUFlO1NBQ2hCLGlEQ3RDSCxnT0FHQTs7NEZEcUNhLGlCQUFpQjtrQkFsQjdCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCwwQkFBMEI7d0JBQzFCLGVBQWU7cUJBQ2hCO3VPQW9CWSxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9sYXllcnMnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUG9pbnRlck1vdmVFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtcG9pbnRlci1tb3ZlLmV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgTWFwU3RhdGVTZXJ2aWNlLFxuICAgIE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIE1hcENsaWNrU2VydmljZSxcbiAgICBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBEcmF3aW5nU2VydmljZSxcbiAgICBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UsXG4gICAgRmVhdHVyZVNlcnZpY2UsXG4gICAgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICAgQ29udHJvbHNTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBQbGF0ZUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcCE6IE1hcDtcbiAgb3NtVXJsID0gJyc7XG4gIGRyYXdpbmdMYXllclNldHRpbmdzID0gbmV3IEZlYXR1cmVMYXllclNldHRpbmdzKCkuc2V0TmFtZShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMubWFwLm9uKCdwb2ludGVybW92ZScsIChldikgPT4ge1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFBvaW50ZXJNb3ZlRXZlbnQoZXYucGl4ZWwpKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxhcnQtb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvYXJ0LW9zbS10aWxlLWxheWVyPlxyXG48YXJ0LWZlYXR1cmUtbGF5ZXIgKm5nSWY9XCJtYXBcIiBbc2V0dGluZ3NdPVwiZHJhd2luZ0xheWVyU2V0dGluZ3NcIj48L2FydC1mZWF0dXJlLWxheWVyPlxyXG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { PostboyGenericMessage } from '@artstesh/postboy';
2
+ /**
3
+ * Represents an event triggered when a map feature is hovered over.
4
+ * This event contains information about the hovered feature and its associated layer.
5
+ * Extends the PostboyGenericMessage class.
6
+ */
7
+ export class MapFeatureHoveredEvent extends PostboyGenericMessage {
8
+ feature;
9
+ layer;
10
+ static ID = 'eb9b032a-1616-4823-a628-0fd8ffc3b57a';
11
+ /**
12
+ * Constructs an instance of the class.
13
+ *
14
+ * @param {Feature|null} feature - The feature associated with this instance. Can be null.
15
+ * @param {string|null} layer - The layer associated with this instance. Can be null.
16
+ */
17
+ constructor(feature, layer) {
18
+ super();
19
+ this.feature = feature;
20
+ this.layer = layer;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUtaG92ZXJlZC5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2V2ZW50cy9tYXAtZmVhdHVyZS1ob3ZlcmVkLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTFEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEscUJBQXFCO0lBUzVDO0lBQWdDO0lBUm5ELE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFNUQ7Ozs7O09BS0c7SUFDSCxZQUFtQixPQUF1QixFQUFTLEtBQW9CO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFlO0lBRXZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Ym95R2VuZXJpY01lc3NhZ2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBGZWF0dXJlTGlrZSB9IGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGV2ZW50IHRyaWdnZXJlZCB3aGVuIGEgbWFwIGZlYXR1cmUgaXMgaG92ZXJlZCBvdmVyLlxuICogVGhpcyBldmVudCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaG92ZXJlZCBmZWF0dXJlIGFuZCBpdHMgYXNzb2NpYXRlZCBsYXllci5cbiAqIEV4dGVuZHMgdGhlIFBvc3Rib3lHZW5lcmljTWVzc2FnZSBjbGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcEZlYXR1cmVIb3ZlcmVkRXZlbnQgZXh0ZW5kcyBQb3N0Ym95R2VuZXJpY01lc3NhZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgSUQgPSAnZWI5YjAzMmEtMTYxNi00ODIzLWE2MjgtMGZkOGZmYzNiNTdhJztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3MuXG4gICAqXG4gICAqIEBwYXJhbSB7RmVhdHVyZXxudWxsfSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaW5zdGFuY2UuIENhbiBiZSBudWxsLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudWxsfSBsYXllciAtIFRoZSBsYXllciBhc3NvY2lhdGVkIHdpdGggdGhpcyBpbnN0YW5jZS4gQ2FuIGJlIG51bGwuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmVhdHVyZTogRmVhdHVyZSB8IG51bGwsIHB1YmxpYyBsYXllcjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { PostboyGenericMessage } from '@artstesh/postboy';
2
+ /**
3
+ * Represents an event that is triggered when the pointer moves on a map.
4
+ * This class extends PostboyGenericMessage.
5
+ *
6
+ * It contains information about the coordinates of the pointer when the event occurs.
7
+ */
8
+ export class MapPointerMoveEvent extends PostboyGenericMessage {
9
+ point;
10
+ static ID = '193cb41d-2489-45cc-b349-59c3ec18ed72';
11
+ /**
12
+ * Constructor for initializing an instance with a given point.
13
+ *
14
+ * @param {Array<number>} point - An array representing the coordinates of the point.
15
+ */
16
+ constructor(point) {
17
+ super();
18
+ this.point = point;
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBvaW50ZXItbW92ZS5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2V2ZW50cy9tYXAtcG9pbnRlci1tb3ZlLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHFCQUFxQjtJQVF6QztJQVBuQixNQUFNLENBQVUsRUFBRSxHQUFHLHNDQUFzQyxDQUFDO0lBRTVEOzs7O09BSUc7SUFDSCxZQUFtQixLQUFvQjtRQUNyQyxLQUFLLEVBQUUsQ0FBQztRQURTLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc3Rib3lHZW5lcmljTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGV2ZW50IHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHBvaW50ZXIgbW92ZXMgb24gYSBtYXAuXG4gKiBUaGlzIGNsYXNzIGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlLlxuICpcbiAqIEl0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9pbnRlciB3aGVuIHRoZSBldmVudCBvY2N1cnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXBQb2ludGVyTW92ZUV2ZW50IGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IElEID0gJzE5M2NiNDFkLTI0ODktNDVjYy1iMzQ5LTU5YzNlYzE4ZWQ3Mic7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBpbml0aWFsaXppbmcgYW4gaW5zdGFuY2Ugd2l0aCBhIGdpdmVuIHBvaW50LlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IHBvaW50IC0gQW4gYXJyYXkgcmVwcmVzZW50aW5nIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9pbnQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9pbnQ6IEFycmF5PG51bWJlcj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { PostboyGenericMessage } from '@artstesh/postboy';
2
+ export class PolygonSelfIntersectionExecutor extends PostboyGenericMessage {
3
+ polygon;
4
+ static ID = 'a4ef116d-fe40-4e92-9d4a-653f8b398c62';
5
+ constructor(polygon) {
6
+ super();
7
+ this.polygon = polygon;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zZWxmLWludGVyc2VjdGlvbi5leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2V4ZWN1dG9ycy9wb2x5Z29uLXNlbGYtaW50ZXJzZWN0aW9uLmV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxxQkFBcUI7SUFHckQ7SUFGbkIsTUFBTSxDQUFVLEVBQUUsR0FBRyxzQ0FBc0MsQ0FBQztJQUU1RCxZQUFtQixPQUFxQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURTLFlBQU8sR0FBUCxPQUFPLENBQWM7SUFFeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc3Rib3lHZW5lcmljTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU2VsZkludGVyc2VjdGlvbkV4ZWN1dG9yIGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IElEID0gJ2E0ZWYxMTZkLWZlNDAtNGU5Mi05ZDRhLTY1M2Y4YjM5OGM2Mic7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBvbHlnb246IFBvbHlnb25Nb2RlbCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -11,11 +11,14 @@ export * from './commands/fit-to-polygons.command';
11
11
  export * from './events/map-rendered.event';
12
12
  export * from './events/map-click.event';
13
13
  export * from './events/map-move-end.event';
14
+ export * from './events/map-pointer-move.event';
15
+ export * from './events/map-feature-hovered.event';
14
16
  export * from './executors/filter-features-in-point.executor';
15
17
  export * from './executors/filter-features-in-area.executor';
16
18
  export * from './executors/calculate-area.executor';
17
19
  export * from './executors/get-map-position.executor';
20
+ export * from './executors/polygon-self-intersection.executor';
18
21
  export * from './queries/get-features-in-area.query';
19
22
  export * from './queries/get-features-in-point.query';
20
23
  export * from './commands/fit-to-features.command';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2FkZC1jb250cm9sLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvbW9kaWZ5LWZlYXR1cmUuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2NhbmNlbC1mZWF0dXJlLW1vZGlmaWNhdGlvbi5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvcmVtb3ZlLWNvbnRyb2wuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9maXQtdG8tcG9seWdvbnMuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtcmVuZGVyZWQuZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tcG9pbnQuZXhlY3V0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRvcnMvY2FsY3VsYXRlLWFyZWEuZXhlY3V0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRvcnMvZ2V0LW1hcC1wb3NpdGlvbi5leGVjdXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1wb2ludC5xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2FkZC1jb250cm9sLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvbW9kaWZ5LWZlYXR1cmUuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2NhbmNlbC1mZWF0dXJlLW1vZGlmaWNhdGlvbi5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvcmVtb3ZlLWNvbnRyb2wuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9maXQtdG8tcG9seWdvbnMuY29tbWFuZCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtcmVuZGVyZWQuZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtcG9pbnRlci1tb3ZlLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1mZWF0dXJlLWhvdmVyZWQuZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLXBvaW50LmV4ZWN1dG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZXhlY3V0b3JzL2NhbGN1bGF0ZS1hcmVhLmV4ZWN1dG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZXhlY3V0b3JzL2dldC1tYXAtcG9zaXRpb24uZXhlY3V0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRvcnMvcG9seWdvbi1zZWxmLWludGVyc2VjdGlvbi5leGVjdXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1wb2ludC5xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  export class MapConstants {
2
2
  static FeatureInfo = 'f-info';
3
3
  static DrawingLayerId = '93a981756ec7';
4
+ static FeatureLayerName = 'L-253';
4
5
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9tYXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1hcENvbnN0YW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgRmVhdHVyZUluZm8gPSAnZi1pbmZvJztcbiAgcHVibGljIHN0YXRpYyBEcmF3aW5nTGF5ZXJJZCA9ICc5M2E5ODE3NTZlYzcnO1xufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9tYXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWFwQ29uc3RhbnRzIHtcbiAgcHVibGljIHN0YXRpYyBGZWF0dXJlSW5mbyA9ICdmLWluZm8nO1xuICBwdWJsaWMgc3RhdGljIERyYXdpbmdMYXllcklkID0gJzkzYTk4MTc1NmVjNyc7XG4gIHB1YmxpYyBzdGF0aWMgRmVhdHVyZUxheWVyTmFtZSA9ICdMLTI1Myc7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Point } from 'ol/geom';
1
+ import { LineString, Point } from 'ol/geom';
2
2
  import * as Sphere from 'ol/sphere';
3
3
  export class FeatureService {
4
4
  constructor() { }
@@ -13,6 +13,20 @@ export class FeatureService {
13
13
  return 0;
14
14
  return Sphere.getArea(g, { projection: 'EPSG:4326' });
15
15
  }
16
+ static polygonSelfIntersects(feature) {
17
+ if (feature.getGeometry().getType() !== 'Polygon')
18
+ return false;
19
+ let intersections = 0;
20
+ const segments = FeatureService.getSegmentsFromCoordinates(feature.getGeometry());
21
+ for (let i = 0; i < segments.length; i++) {
22
+ for (let z = i + 1; z < segments.length; z++) {
23
+ if (!intersections && this.segmentIntersection(segments[i].getCoordinates(), segments[z].getCoordinates())) {
24
+ intersections++;
25
+ }
26
+ }
27
+ }
28
+ return intersections !== 0;
29
+ }
16
30
  static booleanIntersects(g1, g2) {
17
31
  if (g2.getType() === 'Point')
18
32
  return g1.intersectsCoordinate(g2.getCoordinates());
@@ -22,5 +36,42 @@ export class FeatureService {
22
36
  return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
23
37
  return false;
24
38
  }
39
+ static getSegmentsFromCoordinates(geom) {
40
+ if (!geom)
41
+ return [];
42
+ const coords = geom.getCoordinates();
43
+ const line = new LineString(coords[0]);
44
+ const segments = [];
45
+ line.forEachSegment((s1, s2) => {
46
+ const l = new LineString([s1, s2]);
47
+ l.scale(0.999); // bug of the OL, as I see
48
+ segments.push(l);
49
+ });
50
+ return segments;
51
+ }
52
+ static segmentIntersection(s1, s2) {
53
+ const a = s1[0], b = s1[1], c = s2[0], d = s2[1];
54
+ const o1 = this.orientation(a, b, c);
55
+ const o2 = this.orientation(a, b, d);
56
+ const o3 = this.orientation(c, d, a);
57
+ const o4 = this.orientation(c, d, b);
58
+ return ((o1 != o2 && o3 != o4) ||
59
+ (o1 == 0 && this.onSegment(a, d, b)) ||
60
+ (o2 == 0 && this.onSegment(a, d, b)) ||
61
+ (o3 == 0 && this.onSegment(d, a, d)) ||
62
+ (o4 == 0 && this.onSegment(d, b, d)));
63
+ }
64
+ static orientation(p, q, r) {
65
+ const val = (q[1] - p[1]) * (r[0] - q[0]) - (q[0] - p[0]) * (r[1] - q[1]);
66
+ if (val == 0)
67
+ return 0; // collinear
68
+ return val > 0 ? 1 : 2; // clock or counterclock wise
69
+ }
70
+ static onSegment(p, q, r) {
71
+ return (q[0] <= (p[0] > r[0] ? p[0] : r[0]) &&
72
+ q[0] >= (p[0] < r[0] ? p[0] : r[0]) &&
73
+ q[1] <= (p[1] > r[1] ? p[1] : r[1]) &&
74
+ q[1] >= (p[1] < r[1] ? p[1] : r[1]));
75
+ }
25
76
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2xELE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBSXBDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFVCxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBbUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQW9DO1FBQ3RFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRyxFQUFFLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBdUI7UUFDakQsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFZLEVBQUUsRUFBWTtRQUN6RCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUUsRUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUTtZQUFFLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFFLEVBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLFNBQVM7WUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBRSxFQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3BILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2lyY2xlLCBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0ICogYXMgU3BoZXJlIGZyb20gJ29sL3NwaGVyZSc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuXG5leHBvcnQgY2xhc3MgRmVhdHVyZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmaWx0ZXJGZWF0dXJlc0luQXJlYShxdWVyeTogRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvcik6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIHJldHVybiBxdWVyeS5mZWF0dXJlcy5maWx0ZXIoKGYpID0+IEZlYXR1cmVTZXJ2aWNlLmJvb2xlYW5JbnRlcnNlY3RzKHF1ZXJ5LmFyZWEsIGYuZ2V0R2VvbWV0cnkoKSEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyRmVhdHVyZXNJblBvaW50KHF1ZXJ5OiBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvcik6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIHJldHVybiBxdWVyeS5mZWF0dXJlcy5maWx0ZXIoKGYpID0+XG4gICAgICBGZWF0dXJlU2VydmljZS5ib29sZWFuSW50ZXJzZWN0cyhmLmdldEdlb21ldHJ5KCkhLCBuZXcgUG9pbnQoW3F1ZXJ5LmxuZywgcXVlcnkubGF0XSkpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZUFyZWEoZzogR2VvbWV0cnkgfCB1bmRlZmluZWQpOiBudW1iZXIge1xuICAgIGlmICghZykgcmV0dXJuIDA7XG4gICAgcmV0dXJuIFNwaGVyZS5nZXRBcmVhKGcsIHsgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBib29sZWFuSW50ZXJzZWN0cyhnMTogR2VvbWV0cnksIGcyOiBHZW9tZXRyeSk6IGJvb2xlYW4ge1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2ludCcpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdDaXJjbGUnKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIENpcmNsZSkuZ2V0Q2VudGVyKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2x5Z29uJykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2x5Z29uKS5nZXRJbnRlcmlvclBvaW50KCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0MsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsRixPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUlwQyxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZSxDQUFDO0lBRVQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQW1DO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFvQztRQUN0RSxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDakMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUcsRUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQXVCO1FBQ2pELElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDakIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENB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QUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FDTCxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFXLEVBQUUsQ0FBVyxFQUFFLENBQVc7UUFDOUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWTtRQUNwQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO0lBQ3ZELENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQVcsRUFBRSxDQUFXLEVBQUUsQ0FBVztRQUM1RCxPQUFPLENBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnksIEdlb21ldHJ5Q29sbGVjdGlvbiwgTGluZVN0cmluZywgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21DaXJjbGUgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCAqIGFzIFNwaGVyZSBmcm9tICdvbC9zcGhlcmUnO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5leGVjdXRvcic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyRmVhdHVyZXNJbkFyZWEocXVlcnk6IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IpOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICByZXR1cm4gcXVlcnkuZmVhdHVyZXMuZmlsdGVyKChmKSA9PiBGZWF0dXJlU2VydmljZS5ib29sZWFuSW50ZXJzZWN0cyhxdWVyeS5hcmVhLCBmLmdldEdlb21ldHJ5KCkhKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbHRlckZlYXR1cmVzSW5Qb2ludChxdWVyeTogRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IpOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICByZXR1cm4gcXVlcnkuZmVhdHVyZXMuZmlsdGVyKChmKSA9PlxuICAgICAgRmVhdHVyZVNlcnZpY2UuYm9vbGVhbkludGVyc2VjdHMoZi5nZXRHZW9tZXRyeSgpISwgbmV3IFBvaW50KFtxdWVyeS5sbmcsIHF1ZXJ5LmxhdF0pKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjYWxjdWxhdGVBcmVhKGc6IEdlb21ldHJ5IHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcbiAgICBpZiAoIWcpIHJldHVybiAwO1xuICAgIHJldHVybiBTcGhlcmUuZ2V0QXJlYShnLCB7IHByb2plY3Rpb246ICdFUFNHOjQzMjYnIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uU2VsZkludGVyc2VjdHMoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4pOiBib29sZWFuIHtcbiAgICBpZiAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpIS5nZXRUeXBlKCkgIT09ICdQb2x5Z29uJykgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBpbnRlcnNlY3Rpb25zID0gMDtcbiAgICBjb25zdCBzZWdtZW50cyA9IEZlYXR1cmVTZXJ2aWNlLmdldFNlZ21lbnRzRnJvbUNvb3JkaW5hdGVzKGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IHogPSBpICsgMTsgeiA8IHNlZ21lbnRzLmxlbmd0aDsgeisrKSB7XG4gICAgICAgIGlmICghaW50ZXJzZWN0aW9ucyAmJiB0aGlzLnNlZ21lbnRJbnRlcnNlY3Rpb24oc2VnbWVudHNbaV0uZ2V0Q29vcmRpbmF0ZXMoKSwgc2VnbWVudHNbel0uZ2V0Q29vcmRpbmF0ZXMoKSkpIHtcbiAgICAgICAgICBpbnRlcnNlY3Rpb25zKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGludGVyc2VjdGlvbnMgIT09IDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBib29sZWFuSW50ZXJzZWN0cyhnMTogR2VvbWV0cnksIGcyOiBHZW9tZXRyeSk6IGJvb2xlYW4ge1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2ludCcpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdDaXJjbGUnKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIENpcmNsZSkuZ2V0Q2VudGVyKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2x5Z29uJykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2x5Z29uKS5nZXRJbnRlcmlvclBvaW50KCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2VnbWVudHNGcm9tQ29vcmRpbmF0ZXMoZ2VvbTogR2VvbWV0cnkpOiBMaW5lU3RyaW5nW10ge1xuICAgIGlmICghZ2VvbSkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IGNvb3JkcyA9IChnZW9tIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKTtcbiAgICBjb25zdCBsaW5lID0gbmV3IExpbmVTdHJpbmcoY29vcmRzWzBdKTtcbiAgICBjb25zdCBzZWdtZW50czogTGluZVN0cmluZ1tdID0gW107XG4gICAgbGluZS5mb3JFYWNoU2VnbWVudCgoczEsIHMyKSA9PiB7XG4gICAgICBjb25zdCBsID0gbmV3IExpbmVTdHJpbmcoW3MxLCBzMl0pO1xuICAgICAgbC5zY2FsZSgwLjk5OSk7IC8vIGJ1ZyBvZiB0aGUgT0wsIGFzIEkgc2VlXG4gICAgICBzZWdtZW50cy5wdXNoKGwpO1xuICAgIH0pO1xuICAgIHJldHVybiBzZWdtZW50cztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNlZ21lbnRJbnRlcnNlY3Rpb24oczE6IG51bWJlcltdW10sIHMyOiBudW1iZXJbXVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYSA9IHMxWzBdLFxuICAgICAgYiA9IHMxWzFdLFxuICAgICAgYyA9IHMyWzBdLFxuICAgICAgZCA9IHMyWzFdO1xuICAgIGNvbnN0IG8xID0gdGhpcy5vcmllbnRhdGlvbihhLCBiLCBjKTtcbiAgICBjb25zdCBvMiA9IHRoaXMub3JpZW50YXRpb24oYSwgYiwgZCk7XG4gICAgY29uc3QgbzMgPSB0aGlzLm9yaWVudGF0aW9uKGMsIGQsIGEpO1xuICAgIGNvbnN0IG80ID0gdGhpcy5vcmllbnRhdGlvbihjLCBkLCBiKTtcbiAgICByZXR1cm4gKFxuICAgICAgKG8xICE9IG8yICYmIG8zICE9IG80KSB8fFxuICAgICAgKG8xID09IDAgJiYgdGhpcy5vblNlZ21lbnQoYSwgZCwgYikpIHx8XG4gICAgICAobzIgPT0gMCAmJiB0aGlzLm9uU2VnbWVudChhLCBkLCBiKSkgfHxcbiAgICAgIChvMyA9PSAwICYmIHRoaXMub25TZWdtZW50KGQsIGEsIGQpKSB8fFxuICAgICAgKG80ID09IDAgJiYgdGhpcy5vblNlZ21lbnQoZCwgYiwgZCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9yaWVudGF0aW9uKHA6IG51bWJlcltdLCBxOiBudW1iZXJbXSwgcjogbnVtYmVyW10pOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbCA9IChxWzFdIC0gcFsxXSkgKiAoclswXSAtIHFbMF0pIC0gKHFbMF0gLSBwWzBdKSAqIChyWzFdIC0gcVsxXSk7XG4gICAgaWYgKHZhbCA9PSAwKSByZXR1cm4gMDsgLy8gY29sbGluZWFyXG4gICAgcmV0dXJuIHZhbCA+IDAgPyAxIDogMjsgLy8gY2xvY2sgb3IgY291bnRlcmNsb2NrIHdpc2VcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9uU2VnbWVudChwOiBudW1iZXJbXSwgcTogbnVtYmVyW10sIHI6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHFbMF0gPD0gKHBbMF0gPiByWzBdID8gcFswXSA6IHJbMF0pICYmXG4gICAgICBxWzBdID49IChwWzBdIDwgclswXSA/IHBbMF0gOiByWzBdKSAmJlxuICAgICAgcVsxXSA8PSAocFsxXSA+IHJbMV0gPyBwWzFdIDogclsxXSkgJiZcbiAgICAgIHFbMV0gPj0gKHBbMV0gPCByWzFdID8gcFsxXSA6IHJbMV0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { FitToPolygonsCommand, MapRenderedEvent } from '../messages';
2
+ import { Feature } from 'ol';
3
+ import { FitToPolygonsCommand, MapPointerMoveEvent, MapRenderedEvent } from '../messages';
3
4
  import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
4
5
  import { createEmpty, extend } from 'ol/extent';
6
+ import { MapFeatureHoveredEvent } from '../messages/events/map-feature-hovered.event';
7
+ import { MapConstants } from '../models';
5
8
  import * as i0 from "@angular/core";
6
9
  import * as i1 from "./map-postboy.service";
7
10
  export class MapFeatureService {
@@ -15,6 +18,7 @@ export class MapFeatureService {
15
18
  this.observeMapRender();
16
19
  this.observeFitToFeatures();
17
20
  this.observeFitToPolygons();
21
+ this.observePointerMove();
18
22
  }
19
23
  observeMapRender() {
20
24
  this.postboy.sub(MapRenderedEvent).subscribe((m) => {
@@ -23,6 +27,22 @@ export class MapFeatureService {
23
27
  this.postboy.fire(this.fitPolygonsWaiting);
24
28
  });
25
29
  }
30
+ observePointerMove() {
31
+ this.postboy.sub(MapPointerMoveEvent).subscribe((ev) => {
32
+ if (!this.map)
33
+ return;
34
+ let featureFound = false;
35
+ this.map.forEachFeatureAtPixel(ev.point, (f) => {
36
+ if (f instanceof Feature) {
37
+ this.postboy.fire(new MapFeatureHoveredEvent(f, f.get(MapConstants.FeatureLayerName)));
38
+ featureFound = true;
39
+ }
40
+ return true;
41
+ });
42
+ if (!featureFound)
43
+ this.postboy.fire(new MapFeatureHoveredEvent(null, null));
44
+ });
45
+ }
26
46
  observeFitToFeatures() {
27
47
  this.postboy.sub(FitToFeaturesCommand).subscribe((cmd) => {
28
48
  this.fitToGeometries(cmd.features.map((f) => f.getGeometry()), cmd.zoomAfter);
@@ -52,4 +72,4 @@ export class MapFeatureService {
52
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapFeatureService, decorators: [{
53
73
  type: Injectable
54
74
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFIWixHQUFHLENBQU87SUFDVixrQkFBa0IsQ0FBd0I7SUFFbEQsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsZUFBZSxDQUNsQixHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRyxDQUFDLEVBQ3pDLEdBQUcsQ0FBQyxTQUFTLENBQ2QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUM7Z0JBQzlCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFHLENBQUMsRUFDakQsR0FBRyxDQUFDLFNBQVMsQ0FDZCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQXNCLEVBQUUsU0FBaUI7UUFDL0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFDN0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDN0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFHLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FoRFUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb1BvbHlnb25zQ29tbWFuZCwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5LCBleHRlbmQgfSBmcm9tICdvbC9leHRlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwRmVhdHVyZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcbiAgcHJpdmF0ZSBmaXRQb2x5Z29uc1dhaXRpbmc/OiBGaXRUb1BvbHlnb25zQ29tbWFuZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKTtcbiAgICB0aGlzLm9ic2VydmVGaXRUb1BvbHlnb25zKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihNYXBSZW5kZXJlZEV2ZW50KS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICBpZiAodGhpcy5maXRQb2x5Z29uc1dhaXRpbmcpIHRoaXMucG9zdGJveS5maXJlKHRoaXMuZml0UG9seWdvbnNXYWl0aW5nKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihGaXRUb0ZlYXR1cmVzQ29tbWFuZCkuc3Vic2NyaWJlKChjbWQpID0+IHtcbiAgICAgIHRoaXMuZml0VG9HZW9tZXRyaWVzKFxuICAgICAgICBjbWQuZmVhdHVyZXMubWFwKChmKSA9PiBmLmdldEdlb21ldHJ5KCkhKSxcbiAgICAgICAgY21kLnpvb21BZnRlcixcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGaXRUb1BvbHlnb25zKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoRml0VG9Qb2x5Z29uc0NvbW1hbmQpLnN1YnNjcmliZSgoY21kKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSB7XG4gICAgICAgIHRoaXMuZml0UG9seWdvbnNXYWl0aW5nID0gY21kO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmZpdFBvbHlnb25zV2FpdGluZyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZml0VG9HZW9tZXRyaWVzKFxuICAgICAgICBjbWQuZmVhdHVyZXMubWFwKChmKSA9PiBmLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEpLFxuICAgICAgICBjbWQuem9vbUFmdGVyLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZml0VG9HZW9tZXRyaWVzKGdlb21ldHJpZXM6IEdlb21ldHJ5W10sIHpvb21BZnRlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCFnZW9tZXRyaWVzPy5sZW5ndGggfHwgIXRoaXMubWFwKSByZXR1cm47XG4gICAgY29uc3QgZXh0ZW50ID0gY3JlYXRlRW1wdHkoKTtcbiAgICBnZW9tZXRyaWVzLmZvckVhY2goKGcpID0+IGV4dGVuZChleHRlbnQsIGcuZ2V0RXh0ZW50KCkpKTtcbiAgICB0aGlzLm1hcC5nZXRWaWV3KCkuZml0KGV4dGVudCk7XG4gICAgdGhpcy5tYXAuZ2V0VmlldygpLnNldFpvb20odGhpcy5tYXAuZ2V0VmlldygpLmdldFpvb20oKSEgKyB6b29tQWZ0ZXIpO1xuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFPLE1BQU0sSUFBSSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGlCQUFpQjtJQUlSO0lBSFosR0FBRyxDQUFPO0lBQ1Ysa0JBQWtCLENBQXdCO0lBRWxELFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FB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QUFDLE9BQU8sRUFBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBaEVVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgRmVhdHVyZSwgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgRml0VG9Qb2x5Z29uc0NvbW1hbmQsIE1hcFBvaW50ZXJNb3ZlRXZlbnQsIE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eSwgZXh0ZW5kIH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCB7IE1hcEZlYXR1cmVIb3ZlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWZlYXR1cmUtaG92ZXJlZC5ldmVudCc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwRmVhdHVyZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcbiAgcHJpdmF0ZSBmaXRQb2x5Z29uc1dhaXRpbmc/OiBGaXRUb1BvbHlnb25zQ29tbWFuZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKTtcbiAgICB0aGlzLm9ic2VydmVGaXRUb1BvbHlnb25zKCk7XG4gICAgdGhpcy5vYnNlcnZlUG9pbnRlck1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKE1hcFJlbmRlcmVkRXZlbnQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICAgIGlmICh0aGlzLmZpdFBvbHlnb25zV2FpdGluZykgdGhpcy5wb3N0Ym95LmZpcmUodGhpcy5maXRQb2x5Z29uc1dhaXRpbmcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUG9pbnRlck1vdmUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihNYXBQb2ludGVyTW92ZUV2ZW50KS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICBsZXQgZmVhdHVyZUZvdW5kID0gZmFsc2U7XG4gICAgICB0aGlzLm1hcC5mb3JFYWNoRmVhdHVyZUF0UGl4ZWwoZXYucG9pbnQsIChmKSA9PiB7XG4gICAgICAgIGlmIChmIGluc3RhbmNlb2YgRmVhdHVyZSkge1xuICAgICAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBGZWF0dXJlSG92ZXJlZEV2ZW50KGYgYXMgRmVhdHVyZTxHZW9tZXRyeT4sIGYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlTGF5ZXJOYW1lKSkpO1xuICAgICAgICAgIGZlYXR1cmVGb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICAgIGlmICghZmVhdHVyZUZvdW5kKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwRmVhdHVyZUhvdmVyZWRFdmVudChudWxsLCBudWxsKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGaXRUb0ZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoRml0VG9GZWF0dXJlc0NvbW1hbmQpLnN1YnNjcmliZSgoY21kKSA9PiB7XG4gICAgICB0aGlzLmZpdFRvR2VvbWV0cmllcyhcbiAgICAgICAgY21kLmZlYXR1cmVzLm1hcCgoZikgPT4gZi5nZXRHZW9tZXRyeSgpISksXG4gICAgICAgIGNtZC56b29tQWZ0ZXIsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRml0VG9Qb2x5Z29ucygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEZpdFRvUG9seWdvbnNDb21tYW5kKS5zdWJzY3JpYmUoKGNtZCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkge1xuICAgICAgICB0aGlzLmZpdFBvbHlnb25zV2FpdGluZyA9IGNtZDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5maXRQb2x5Z29uc1dhaXRpbmcgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmZpdFRvR2VvbWV0cmllcyhcbiAgICAgICAgY21kLmZlYXR1cmVzLm1hcCgoZikgPT4gZi5mZWF0dXJlLmdldEdlb21ldHJ5KCkhKSxcbiAgICAgICAgY21kLnpvb21BZnRlcixcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpdFRvR2VvbWV0cmllcyhnZW9tZXRyaWVzOiBHZW9tZXRyeVtdLCB6b29tQWZ0ZXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghZ2VvbWV0cmllcz8ubGVuZ3RoIHx8ICF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIGNvbnN0IGV4dGVudCA9IGNyZWF0ZUVtcHR5KCk7XG4gICAgZ2VvbWV0cmllcy5mb3JFYWNoKChnKSA9PiBleHRlbmQoZXh0ZW50LCBnLmdldEV4dGVudCgpKSk7XG4gICAgdGhpcy5tYXAuZ2V0VmlldygpLmZpdChleHRlbnQpO1xuICAgIHRoaXMubWFwLmdldFZpZXcoKS5zZXRab29tKHRoaXMubWFwLmdldFZpZXcoKS5nZXRab29tKCkhICsgem9vbUFmdGVyKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { FitToPolygonsCommand, GetFeaturesInPointQuery, MapRenderedEvent } from '../messages';
2
+ import { FitToPolygonsCommand, GetFeaturesInPointQuery, MapPointerMoveEvent, MapRenderedEvent, PolygonSelfIntersectionExecutor, } from '../messages';
3
3
  import { AddLayerCommand } from '../messages/commands/add-layer.command';
4
4
  import { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';
5
5
  import { RemoveLayerCommand } from '../messages/commands/remove-layer.command';
@@ -30,6 +30,9 @@ import { SetMapCenterCommand } from '../messages/commands/set-map-center.command
30
30
  import { CalculateAreaExecutor } from '../messages/executors/calculate-area.executor';
31
31
  import { GetMapPositionExecutor } from '../messages/executors/get-map-position.executor';
32
32
  import { FilterFeaturesInPointExecutor } from '../messages/executors/filter-features-in-point.executor';
33
+ import { Subject } from 'rxjs';
34
+ import { debounceTime } from 'rxjs/operators';
35
+ import { MapFeatureHoveredEvent } from '../messages/events/map-feature-hovered.event';
33
36
  import * as i0 from "@angular/core";
34
37
  import * as i1 from "./map-postboy.service";
35
38
  import * as i2 from "./map-management.service";
@@ -64,6 +67,8 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
64
67
  this.recordSubject(CancelDrawingCommand);
65
68
  this.recordSubject(StartDrawingCommand);
66
69
  this.recordSubject(GetLayerQuery);
70
+ this.recordSubject(MapFeatureHoveredEvent);
71
+ this.recordWithPipe(MapPointerMoveEvent, new Subject(), (s) => s.pipe(debounceTime(150)));
67
72
  this.recordSubject(DrawingFinishedEvent);
68
73
  this.recordSubject(GetFeaturesInAreaQuery);
69
74
  this.recordSubject(DrawSelectionAreaCommand);
@@ -76,6 +81,7 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
76
81
  this.recordExecutor(FilterFeaturesInAreaExecutor, (e) => FeatureService.filterFeaturesInArea(e));
77
82
  this.recordExecutor(FilterFeaturesInPointExecutor, (e) => FeatureService.filterFeaturesInPoint(e));
78
83
  this.recordExecutor(CalculateAreaExecutor, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
84
+ this.recordExecutor(PolygonSelfIntersectionExecutor, (e) => FeatureService.polygonSelfIntersects(e.polygon.feature));
79
85
  this.recordExecutor(GenerateDrawExecutor, (e) => DrawingGenerationService.getDraw(e));
80
86
  this.recordExecutor(GenerateZoomControlExecutor, (e) => ZoomControlFactory.build(e.settings));
81
87
  this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
@@ -86,4 +92,4 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
86
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
87
93
  type: Injectable
88
94
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.FeatureModificationService }, { type: i8.ControlsService }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFF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QUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO3dHQWpEVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvUG9seWdvbnNDb21tYW5kLCBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3IgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4vbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuaW1wb3J0IHsgQ2xvc2VUb29sdGlwQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2Nsb3NlLXRvb2x0aXAuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vbWFwLWZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcE1vdmVFbmRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtbW92ZS1lbmQuZXZlbnQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdldExheWVyUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1sYXllci5xdWVyeSc7XG5pbXBvcnQgeyBEcmF3aW5nRmluaXNoZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9kcmF3aW5nLWZpbmlzaGVkLmV2ZW50JztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLWdlbmVyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2RyYXctc2VsZWN0aW9uLWFyZWEuY29tbWFuZCc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1mZWF0dXJlLW1vZGlmaWNhdGlvbi5jb21tYW5kJztcbmltcG9ydCB7IE1vZGlmeUZlYXR1cmVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvbW9kaWZ5LWZlYXR1cmUuY29tbWFuZCc7XG5pbXBvcnQgeyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtem9vbS1jb250cm9sLmV4ZWN1dG9yJztcbmltcG9ydCB7IFpvb21Db250cm9sRmFjdG9yeSB9IGZyb20gJy4uL21hcC1wbGF0ZS9jb250cm9scy9tYXAtY29udHJvbC16b29tL3pvb20tY29udHJvbC5mYWN0b3J5JztcbmltcG9ydCB7IFJlbW92ZUNvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWNvbnRyb2wuY29tbWFuZCc7XG5pbXBvcnQgeyBBZGRDb250cm9sQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1jb250cm9sLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ29udHJvbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb250cm9scy9jb250cm9scy5zZXJ2aWNlJztcbmltcG9ydCB7IFNldE1hcENlbnRlckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9zZXQtbWFwLWNlbnRlci5jb21tYW5kJztcbmltcG9ydCB7IENhbGN1bGF0ZUFyZWFFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9jYWxjdWxhdGUtYXJlYS5leGVjdXRvcic7XG5pbXBvcnQgeyBHZXRNYXBQb3NpdGlvbkV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dldC1tYXAtcG9zaXRpb24uZXhlY3V0b3InO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLXBvaW50LmV4ZWN1dG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgZXh0ZW5kcyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIG1hbmFnZW1lbnQ6IE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBtYXBGZWF0dXJlOiBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIGRyYXdpbmc6IERyYXdpbmdTZXJ2aWNlLFxuICAgIGZlYXR1cmVNb2RpZmljYXRpb246IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlLFxuICAgIGNvbnRyb2xzOiBDb250cm9sc1NlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uLCBtYXBGZWF0dXJlLCBkcmF3aW5nLCBmZWF0dXJlTW9kaWZpY2F0aW9uLCBjb250cm9sc10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29yZFJlcGxheShNYXBSZW5kZXJlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShSZW1vdmVDb250cm9sQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoQWRkQ29udHJvbENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFNldE1hcENlbnRlckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRUaWxlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZVRpbGVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwQ2xpY2tFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENsb3NlVG9vbHRpcENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChGaXRUb0ZlYXR1cmVzQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEZpdFRvUG9seWdvbnNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwTW92ZUVuZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2FuY2VsRHJhd2luZ0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChTdGFydERyYXdpbmdDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0TGF5ZXJRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdpbmdGaW5pc2hlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTW9kaWZ5RmVhdHVyZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSk7XG4gICAgdGhpcy5zZXRFeGVjdXRvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RXhlY3V0b3JzKCkge1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmZpbHRlckZlYXR1cmVzSW5BcmVhKGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yLCAoZSkgPT4gRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJblBvaW50KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKENhbGN1bGF0ZUFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmNhbGN1bGF0ZUFyZWEoZS5wb2x5Z29uPy5mZWF0dXJlPy5nZXRHZW9tZXRyeSgpKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZW5lcmF0ZURyYXdFeGVjdXRvciwgKGUpID0+IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZS5nZXREcmF3KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciwgKGUpID0+IFpvb21Db250cm9sRmFjdG9yeS5idWlsZChlLnNldHRpbmdzKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZXRNYXBQb3NpdGlvbkV4ZWN1dG9yLCAoKSA9PiB0aGlzLnN0YXRlLmdldE1hcFBvc2l0aW9uKCkpO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQiwrQkFBK0IsR0FDaEMsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FB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QyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxjQUFjLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6RCxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO3dHQXREVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEZpdFRvUG9seWdvbnNDb21tYW5kLFxuICBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSxcbiAgTWFwUG9pbnRlck1vdmVFdmVudCxcbiAgTWFwUmVuZGVyZWRFdmVudCxcbiAgUG9seWdvblNlbGZJbnRlcnNlY3Rpb25FeGVjdXRvcixcbn0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4vbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBDbG9zZVRvb2x0aXBDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3RXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtZHJhdy5leGVjdXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xGYWN0b3J5IH0gZnJvbSAnLi4vbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLmZhY3RvcnknO1xuaW1wb3J0IHsgUmVtb3ZlQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWNvbnRyb2wuY29tbWFuZCc7XG5pbXBvcnQgeyBDb250cm9sc1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0TWFwQ2VudGVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2NhbGN1bGF0ZS1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdldE1hcFBvc2l0aW9uRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2V0LW1hcC1wb3NpdGlvbi5leGVjdXRvcic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tcG9pbnQuZXhlY3V0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZUhvdmVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtZmVhdHVyZS1ob3ZlcmVkLmV2ZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgZXh0ZW5kcyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIG1hbmFnZW1lbnQ6IE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBtYXBGZWF0dXJlOiBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIGRyYXdpbmc6IERyYXdpbmdTZXJ2aWNlLFxuICAgIGZlYXR1cmVNb2RpZmljYXRpb246IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlLFxuICAgIGNvbnRyb2xzOiBDb250cm9sc1NlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uLCBtYXBGZWF0dXJlLCBkcmF3aW5nLCBmZWF0dXJlTW9kaWZpY2F0aW9uLCBjb250cm9sc10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29yZFJlcGxheShNYXBSZW5kZXJlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShSZW1vdmVDb250cm9sQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoQWRkQ29udHJvbENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFNldE1hcENlbnRlckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRUaWxlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZVRpbGVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwQ2xpY2tFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENsb3NlVG9vbHRpcENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChGaXRUb0ZlYXR1cmVzQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEZpdFRvUG9seWdvbnNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwTW92ZUVuZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2FuY2VsRHJhd2luZ0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChTdGFydERyYXdpbmdDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0TGF5ZXJRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1hcEZlYXR1cmVIb3ZlcmVkRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkV2l0aFBpcGUoTWFwUG9pbnRlck1vdmVFdmVudCwgbmV3IFN1YmplY3QoKSwgKHMpID0+IHMucGlwZShkZWJvdW5jZVRpbWUoMTUwKSkpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChEcmF3aW5nRmluaXNoZWRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEdldEZlYXR1cmVzSW5BcmVhUXVlcnkpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1vZGlmeUZlYXR1cmVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0RmVhdHVyZXNJblBvaW50UXVlcnkpO1xuICAgIHRoaXMuc2V0RXhlY3V0b3JzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV4ZWN1dG9ycygpIHtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IsIChlKSA9PiBGZWF0dXJlU2VydmljZS5maWx0ZXJGZWF0dXJlc0luQXJlYShlKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmZpbHRlckZlYXR1cmVzSW5Qb2ludChlKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihDYWxjdWxhdGVBcmVhRXhlY3V0b3IsIChlKSA9PiBGZWF0dXJlU2VydmljZS5jYWxjdWxhdGVBcmVhKGUucG9seWdvbj8uZmVhdHVyZT8uZ2V0R2VvbWV0cnkoKSkpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoUG9seWdvblNlbGZJbnRlcnNlY3Rpb25FeGVjdXRvciwgKGUpID0+XG4gICAgICBGZWF0dXJlU2VydmljZS5wb2x5Z29uU2VsZkludGVyc2VjdHMoZS5wb2x5Z29uLmZlYXR1cmUpLFxuICAgICk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZW5lcmF0ZURyYXdFeGVjdXRvciwgKGUpID0+IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZS5nZXREcmF3KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciwgKGUpID0+IFpvb21Db250cm9sRmFjdG9yeS5idWlsZChlLnNldHRpbmdzKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZXRNYXBQb3NpdGlvbkV4ZWN1dG9yLCAoKSA9PiB0aGlzLnN0YXRlLmdldE1hcFBvc2l0aW9uKCkpO1xuICB9XG59XG4iXX0=