@artstesh/maps 5.2.2 → 5.2.4

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 (29) hide show
  1. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +8 -5
  2. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +10 -0
  3. package/dist/esm2022/map/messages/index.mjs +2 -1
  4. package/dist/esm2022/map/public-api.mjs +2 -1
  5. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +3 -2
  6. package/dist/esm2022/map/services/feature.service.mjs +53 -2
  7. package/dist/esm2022/map/services/message-registrator.service.mjs +3 -2
  8. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +8 -5
  9. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +10 -0
  10. package/dist/esm2022/src/map/messages/index.mjs +2 -1
  11. package/dist/esm2022/src/map/public-api.mjs +2 -1
  12. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +3 -2
  13. package/dist/esm2022/src/map/services/feature.service.mjs +53 -2
  14. package/dist/esm2022/src/map/services/message-registrator.service.mjs +3 -2
  15. package/dist/fesm2022/maps-components-src-map.mjs +73 -7
  16. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  17. package/dist/fesm2022/maps-components.mjs +73 -7
  18. package/dist/fesm2022/maps-components.mjs.map +1 -1
  19. package/dist/map/messages/commands/modify-feature.command.d.ts +6 -4
  20. package/dist/map/messages/executors/polygon-self-intersection.executor.d.ts +7 -0
  21. package/dist/map/messages/index.d.ts +1 -0
  22. package/dist/map/public-api.d.ts +1 -0
  23. package/dist/map/services/feature.service.d.ts +5 -0
  24. package/dist/src/map/messages/commands/modify-feature.command.d.ts +6 -4
  25. package/dist/src/map/messages/executors/polygon-self-intersection.executor.d.ts +7 -0
  26. package/dist/src/map/messages/index.d.ts +1 -0
  27. package/dist/src/map/public-api.d.ts +1 -0
  28. package/dist/src/map/services/feature.service.d.ts +5 -0
  29. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { FitToPolygonsCommand, GetFeaturesInPointQuery, MapPointerMoveEvent, 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';
@@ -81,6 +81,7 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
81
81
  this.recordExecutor(FilterFeaturesInAreaExecutor, (e) => FeatureService.filterFeaturesInArea(e));
82
82
  this.recordExecutor(FilterFeaturesInPointExecutor, (e) => FeatureService.filterFeaturesInPoint(e));
83
83
  this.recordExecutor(CalculateAreaExecutor, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
84
+ this.recordExecutor(PolygonSelfIntersectionExecutor, (e) => FeatureService.polygonSelfIntersects(e.polygon.feature));
84
85
  this.recordExecutor(GenerateDrawExecutor, (e) => DrawingGenerationService.getDraw(e));
85
86
  this.recordExecutor(GenerateZoomControlExecutor, (e) => ZoomControlFactory.build(e.settings));
86
87
  this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
@@ -91,4 +92,4 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
91
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
92
93
  type: Injectable
93
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 }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxF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QUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQzt3R0FuRFUseUJBQXlCOzRHQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb1BvbHlnb25zQ29tbWFuZCwgR2V0RmVhdHVyZXNJblBvaW50UXVlcnksIE1hcFBvaW50ZXJNb3ZlRXZlbnQsIE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuL21hcC1jbGljay5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IENsb3NlVG9vbHRpcENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmltcG9ydCB7IENhbmNlbERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBTdGFydERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvc3RhcnQtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IERyYXdpbmdTZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgRHJhd2luZ0ZpbmlzaGVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvZHJhd2luZy1maW5pc2hlZC5ldmVudCc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuL2ZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtZmVhdHVyZXMtaW4tYXJlYS5xdWVyeSc7XG5pbXBvcnQgeyBEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9kcmF3LXNlbGVjdGlvbi1hcmVhLmNvbW1hbmQnO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5leGVjdXRvcic7XG5pbXBvcnQgeyBHZW5lcmF0ZURyYXdFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS1kcmF3LmV4ZWN1dG9yJztcbmltcG9ydCB7IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2ZlYXR1cmUtbW9kaWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZmVhdHVyZS1tb2RpZmljYXRpb24uY29tbWFuZCc7XG5pbXBvcnQgeyBNb2RpZnlGZWF0dXJlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL21vZGlmeS1mZWF0dXJlLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLXpvb20tY29udHJvbC5leGVjdXRvcic7XG5pbXBvcnQgeyBab29tQ29udHJvbEZhY3RvcnkgfSBmcm9tICcuLi9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS96b29tLWNvbnRyb2wuZmFjdG9yeSc7XG5pbXBvcnQgeyBSZW1vdmVDb250cm9sQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1jb250cm9sLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IENvbnRyb2xzU2VydmljZSB9IGZyb20gJy4vY29udHJvbHMvY29udHJvbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTZXRNYXBDZW50ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvc2V0LW1hcC1jZW50ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVBcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvY2FsY3VsYXRlLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2V0TWFwUG9zaXRpb25FeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZXQtbWFwLXBvc2l0aW9uLmV4ZWN1dG9yJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1wb2ludC5leGVjdXRvcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlSG92ZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1mZWF0dXJlLWhvdmVyZWQuZXZlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSBleHRlbmRzIFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgbWFuYWdlbWVudDogTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0ZTogTWFwU3RhdGVTZXJ2aWNlLFxuICAgIG1hcEZlYXR1cmU6IE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIGludGVyYWN0aW9uOiBNYXBDbGlja1NlcnZpY2UsXG4gICAgZHJhd2luZzogRHJhd2luZ1NlcnZpY2UsXG4gICAgZmVhdHVyZU1vZGlmaWNhdGlvbjogRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICAgY29udHJvbHM6IENvbnRyb2xzU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSk7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VzKFttYW5hZ2VtZW50LCBzdGF0ZSwgaW50ZXJhY3Rpb24sIG1hcEZlYXR1cmUsIGRyYXdpbmcsIGZlYXR1cmVNb2RpZmljYXRpb24sIGNvbnRyb2xzXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwKCk6IHZvaWQge1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KE1hcFJlbmRlcmVkRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFJlbW92ZUNvbnRyb2xDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShBZGRDb250cm9sQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoU2V0TWFwQ2VudGVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEFkZExheWVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZUxheWVyQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEFkZFRpbGVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoUmVtb3ZlVGlsZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNYXBDbGlja0V2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2xvc2VUb29sdGlwQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEZpdFRvRmVhdHVyZXNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoRml0VG9Qb2x5Z29uc0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChNYXBNb3ZlRW5kRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChDYW5jZWxEcmF3aW5nQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFN0YXJ0RHJhd2luZ0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRMYXllclF1ZXJ5KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwRmVhdHVyZUhvdmVyZWRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRXaXRoUGlwZShNYXBQb2ludGVyTW92ZUV2ZW50LCBuZXcgU3ViamVjdCgpLCAocykgPT4gcy5waXBlKGRlYm91bmNlVGltZSgxNTApKSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdpbmdGaW5pc2hlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTW9kaWZ5RmVhdHVyZUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSk7XG4gICAgdGhpcy5zZXRFeGVjdXRvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RXhlY3V0b3JzKCkge1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmZpbHRlckZlYXR1cmVzSW5BcmVhKGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yLCAoZSkgPT4gRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJblBvaW50KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKENhbGN1bGF0ZUFyZWFFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmNhbGN1bGF0ZUFyZWEoZS5wb2x5Z29uPy5mZWF0dXJlPy5nZXRHZW9tZXRyeSgpKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZW5lcmF0ZURyYXdFeGVjdXRvciwgKGUpID0+IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZS5nZXREcmF3KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciwgKGUpID0+IFpvb21Db250cm9sRmFjdG9yeS5idWlsZChlLnNldHRpbmdzKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZXRNYXBQb3NpdGlvbkV4ZWN1dG9yLCAoKSA9PiB0aGlzLnN0YXRlLmdldE1hcFBvc2l0aW9uKCkpO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQiwrQkFBK0IsR0FDaEMsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMs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Q0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxjQUFjLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6RCxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO3dHQXREVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEZpdFRvUG9seWdvbnNDb21tYW5kLFxuICBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSxcbiAgTWFwUG9pbnRlck1vdmVFdmVudCxcbiAgTWFwUmVuZGVyZWRFdmVudCxcbiAgUG9seWdvblNlbGZJbnRlcnNlY3Rpb25FeGVjdXRvcixcbn0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4vbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBDbG9zZVRvb2x0aXBDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3RXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtZHJhdy5leGVjdXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xGYWN0b3J5IH0gZnJvbSAnLi4vbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLmZhY3RvcnknO1xuaW1wb3J0IHsgUmVtb3ZlQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWNvbnRyb2wuY29tbWFuZCc7XG5pbXBvcnQgeyBDb250cm9sc1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0TWFwQ2VudGVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2NhbGN1bGF0ZS1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdldE1hcFBvc2l0aW9uRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2V0LW1hcC1wb3NpdGlvbi5leGVjdXRvcic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tcG9pbnQuZXhlY3V0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZUhvdmVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtZmVhdHVyZS1ob3ZlcmVkLmV2ZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgZXh0ZW5kcyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIG1hbmFnZW1lbnQ6IE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBtYXBGZWF0dXJlOiBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIGRyYXdpbmc6IERyYXdpbmdTZXJ2aWNlLFxuICAgIGZlYXR1cmVNb2RpZmljYXRpb246IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlLFxuICAgIGNvbnRyb2xzOiBDb250cm9sc1NlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uLCBtYXBGZWF0dXJlLCBkcmF3aW5nLCBmZWF0dXJlTW9kaWZpY2F0aW9uLCBjb250cm9sc10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29yZFJlcGxheShNYXBSZW5kZXJlZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFJlcGxheShSZW1vdmVDb250cm9sQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRSZXBsYXkoQWRkQ29udHJvbENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkUmVwbGF5KFNldE1hcENlbnRlckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChSZW1vdmVMYXllckNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChBZGRUaWxlQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KFJlbW92ZVRpbGVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwQ2xpY2tFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KENsb3NlVG9vbHRpcENvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChGaXRUb0ZlYXR1cmVzQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEZpdFRvUG9seWdvbnNDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoTWFwTW92ZUVuZEV2ZW50KTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoQ2FuY2VsRHJhd2luZ0NvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChTdGFydERyYXdpbmdDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0TGF5ZXJRdWVyeSk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1hcEZlYXR1cmVIb3ZlcmVkRXZlbnQpO1xuICAgIHRoaXMucmVjb3JkV2l0aFBpcGUoTWFwUG9pbnRlck1vdmVFdmVudCwgbmV3IFN1YmplY3QoKSwgKHMpID0+IHMucGlwZShkZWJvdW5jZVRpbWUoMTUwKSkpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChEcmF3aW5nRmluaXNoZWRFdmVudCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KEdldEZlYXR1cmVzSW5BcmVhUXVlcnkpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQpO1xuICAgIHRoaXMucmVjb3JkU3ViamVjdChDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZCk7XG4gICAgdGhpcy5yZWNvcmRTdWJqZWN0KE1vZGlmeUZlYXR1cmVDb21tYW5kKTtcbiAgICB0aGlzLnJlY29yZFN1YmplY3QoR2V0RmVhdHVyZXNJblBvaW50UXVlcnkpO1xuICAgIHRoaXMuc2V0RXhlY3V0b3JzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV4ZWN1dG9ycygpIHtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IsIChlKSA9PiBGZWF0dXJlU2VydmljZS5maWx0ZXJGZWF0dXJlc0luQXJlYShlKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciwgKGUpID0+IEZlYXR1cmVTZXJ2aWNlLmZpbHRlckZlYXR1cmVzSW5Qb2ludChlKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihDYWxjdWxhdGVBcmVhRXhlY3V0b3IsIChlKSA9PiBGZWF0dXJlU2VydmljZS5jYWxjdWxhdGVBcmVhKGUucG9seWdvbj8uZmVhdHVyZT8uZ2V0R2VvbWV0cnkoKSkpO1xuICAgIHRoaXMucmVjb3JkRXhlY3V0b3IoUG9seWdvblNlbGZJbnRlcnNlY3Rpb25FeGVjdXRvciwgKGUpID0+XG4gICAgICBGZWF0dXJlU2VydmljZS5wb2x5Z29uU2VsZkludGVyc2VjdHMoZS5wb2x5Z29uLmZlYXR1cmUpLFxuICAgICk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZW5lcmF0ZURyYXdFeGVjdXRvciwgKGUpID0+IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZS5nZXREcmF3KGUpKTtcbiAgICB0aGlzLnJlY29yZEV4ZWN1dG9yKEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciwgKGUpID0+IFpvb21Db250cm9sRmFjdG9yeS5idWlsZChlLnNldHRpbmdzKSk7XG4gICAgdGhpcy5yZWNvcmRFeGVjdXRvcihHZXRNYXBQb3NpdGlvbkV4ZWN1dG9yLCAoKSA9PiB0aGlzLnN0YXRlLmdldE1hcFBvc2l0aW9uKCkpO1xuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { Component, Injectable, ChangeDetectionStrategy, Input, ViewChild, NgMod
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { Feature, Collection } from 'ol';
6
- import { Point } from 'ol/geom';
6
+ import { Point, LineString } from 'ol/geom';
7
7
  import { GeoJSON, WKT } from 'ol/format';
8
8
  import { getCenter, createEmpty, extend } from 'ol/extent';
9
9
  import Polygon, { circular, fromExtent } from 'ol/geom/Polygon';
@@ -27,6 +27,7 @@ import View from 'ol/View';
27
27
  import Overlay from 'ol/Overlay';
28
28
  import Style from 'ol/style/Style';
29
29
  import { Icon, Circle, Fill, Stroke, Text } from 'ol/style';
30
+ export { Style } from 'ol/style';
30
31
  import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
31
32
 
32
33
  class DestructibleComponent {
@@ -402,19 +403,22 @@ class ModifyFeatureCommand extends PostboyCallbackMessage {
402
403
  model;
403
404
  style;
404
405
  format;
406
+ draggable;
405
407
  static ID = '8f76507e-f18d-4232-bab7-f3d4e3d707bb';
406
408
  /**
407
409
  * Constructs an instance of the class.
408
410
  *
409
- * @param {PolygonModel} model - The polygon model to be used.
410
- * @param {Style} style - The style configuration for the polygon.
411
- * @param {FeatureOutputFormat} [format=FeatureOutputFormat.GeoJson] - The output format of the features. Default is GeoJson.
411
+ * @param {PolygonModel} model - The model representing the polygon data.
412
+ * @param {Style} style - The style to be applied to the polygon.
413
+ * @param {FeatureOutputFormat} [format=FeatureOutputFormat.GeoJson] - The output format of the feature, defaults to GeoJson.
414
+ * @param {boolean} [draggable=true] - Determines whether the polygon is draggable, defaults to true.
412
415
  */
413
- constructor(model, style, format = FeatureOutputFormat.GeoJson) {
416
+ constructor(model, style, format = FeatureOutputFormat.GeoJson, draggable = true) {
414
417
  super();
415
418
  this.model = model;
416
419
  this.style = style;
417
420
  this.format = format;
421
+ this.draggable = draggable;
418
422
  }
419
423
  }
420
424
 
@@ -664,6 +668,15 @@ class GetMapPositionExecutor extends PostboyExecutor {
664
668
  }
665
669
  }
666
670
 
671
+ class PolygonSelfIntersectionExecutor extends PostboyGenericMessage {
672
+ polygon;
673
+ static ID = 'a4ef116d-fe40-4e92-9d4a-653f8b398c62';
674
+ constructor(polygon) {
675
+ super();
676
+ this.polygon = polygon;
677
+ }
678
+ }
679
+
667
680
  /**
668
681
  * Class representing a query to get features within a specified geographical area.
669
682
  * The query optionally takes a set of layer names to ignore during the operation.
@@ -815,6 +828,20 @@ class FeatureService {
815
828
  return 0;
816
829
  return Sphere.getArea(g, { projection: 'EPSG:4326' });
817
830
  }
831
+ static polygonSelfIntersects(feature) {
832
+ if (feature.getGeometry().getType() !== 'Polygon')
833
+ return false;
834
+ let intersections = 0;
835
+ const segments = FeatureService.getSegmentsFromCoordinates(feature.getGeometry());
836
+ for (let i = 0; i < segments.length; i++) {
837
+ for (let z = i + 1; z < segments.length; z++) {
838
+ if (!intersections && this.segmentIntersection(segments[i].getCoordinates(), segments[z].getCoordinates())) {
839
+ intersections++;
840
+ }
841
+ }
842
+ }
843
+ return intersections !== 0;
844
+ }
818
845
  static booleanIntersects(g1, g2) {
819
846
  if (g2.getType() === 'Point')
820
847
  return g1.intersectsCoordinate(g2.getCoordinates());
@@ -824,6 +851,43 @@ class FeatureService {
824
851
  return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
825
852
  return false;
826
853
  }
854
+ static getSegmentsFromCoordinates(geom) {
855
+ if (!geom)
856
+ return [];
857
+ const coords = geom.getCoordinates();
858
+ const line = new LineString(coords[0]);
859
+ const segments = [];
860
+ line.forEachSegment((s1, s2) => {
861
+ const l = new LineString([s1, s2]);
862
+ l.scale(0.999); // bug of the OL, as I see
863
+ segments.push(l);
864
+ });
865
+ return segments;
866
+ }
867
+ static segmentIntersection(s1, s2) {
868
+ const a = s1[0], b = s1[1], c = s2[0], d = s2[1];
869
+ const o1 = this.orientation(a, b, c);
870
+ const o2 = this.orientation(a, b, d);
871
+ const o3 = this.orientation(c, d, a);
872
+ const o4 = this.orientation(c, d, b);
873
+ return ((o1 != o2 && o3 != o4) ||
874
+ (o1 == 0 && this.onSegment(a, d, b)) ||
875
+ (o2 == 0 && this.onSegment(a, d, b)) ||
876
+ (o3 == 0 && this.onSegment(d, a, d)) ||
877
+ (o4 == 0 && this.onSegment(d, b, d)));
878
+ }
879
+ static orientation(p, q, r) {
880
+ const val = (q[1] - p[1]) * (r[0] - q[0]) - (q[0] - p[0]) * (r[1] - q[1]);
881
+ if (val == 0)
882
+ return 0; // collinear
883
+ return val > 0 ? 1 : 2; // clock or counterclock wise
884
+ }
885
+ static onSegment(p, q, r) {
886
+ return (q[0] <= (p[0] > r[0] ? p[0] : r[0]) &&
887
+ q[0] >= (p[0] < r[0] ? p[0] : r[0]) &&
888
+ q[1] <= (p[1] > r[1] ? p[1] : r[1]) &&
889
+ q[1] >= (p[1] < r[1] ? p[1] : r[1]));
890
+ }
827
891
  }
828
892
 
829
893
  class GenerateDrawExecutor extends PostboyExecutor {
@@ -1238,7 +1302,8 @@ class FeatureModificationService {
1238
1302
  this.observeCancelation(ev, l);
1239
1303
  this.initFeature(l, ev.model.feature);
1240
1304
  this.addModify(ev);
1241
- this.addDragging(ev);
1305
+ if (ev.draggable)
1306
+ this.addDragging(ev);
1242
1307
  });
1243
1308
  });
1244
1309
  }
@@ -1377,6 +1442,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
1377
1442
  this.recordExecutor(FilterFeaturesInAreaExecutor, (e) => FeatureService.filterFeaturesInArea(e));
1378
1443
  this.recordExecutor(FilterFeaturesInPointExecutor, (e) => FeatureService.filterFeaturesInPoint(e));
1379
1444
  this.recordExecutor(CalculateAreaExecutor, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
1445
+ this.recordExecutor(PolygonSelfIntersectionExecutor, (e) => FeatureService.polygonSelfIntersects(e.polygon.feature));
1380
1446
  this.recordExecutor(GenerateDrawExecutor, (e) => DrawingGenerationService.getDraw(e));
1381
1447
  this.recordExecutor(GenerateZoomControlExecutor, (e) => ZoomControlFactory.build(e.settings));
1382
1448
  this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
@@ -2884,5 +2950,5 @@ class StringifyFeatureHelper {
2884
2950
  * Generated bundle index. Do not edit.
2885
2951
  */
2886
2952
 
2887
- export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FilterFeaturesInAreaExecutor, FilterFeaturesInPointExecutor, FitToFeaturesCommand, FitToPolygonsCommand, GetFeaturesInAreaQuery, GetFeaturesInPointQuery, GetMapPositionExecutor, MapClickEvent, MapConstants, MapControl, MapControlZoomComponent, MapFeatureHoveredEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPointerMoveEvent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2953
+ export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FilterFeaturesInAreaExecutor, FilterFeaturesInPointExecutor, FitToFeaturesCommand, FitToPolygonsCommand, GetFeaturesInAreaQuery, GetFeaturesInPointQuery, GetMapPositionExecutor, MapClickEvent, MapConstants, MapControl, MapControlZoomComponent, MapFeatureHoveredEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPointerMoveEvent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonSelfIntersectionExecutor, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2888
2954
  //# sourceMappingURL=maps-components-src-map.mjs.map