@igo2/integration 17.0.0-next.4 → 17.0.0-next.6

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 (75) hide show
  1. package/esm2022/lib/about/about-tool/about-tool.component.mjs +4 -4
  2. package/esm2022/lib/about/about.module.mjs +1 -1
  3. package/esm2022/lib/analytics/analytics-listener.service.mjs +1 -1
  4. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +1 -2
  5. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +1 -1
  6. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +4 -4
  7. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +1 -1
  8. package/esm2022/lib/catalog/catalog.module.mjs +1 -1
  9. package/esm2022/lib/catalog/catalog.state.mjs +1 -1
  10. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +1 -1
  11. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +1 -1
  12. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +1 -1
  13. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +2 -2
  14. package/esm2022/lib/context/context.module.mjs +1 -1
  15. package/esm2022/lib/context/context.state.mjs +1 -1
  16. package/esm2022/lib/context/index.mjs +1 -1
  17. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +3 -3
  18. package/esm2022/lib/directions/directions.module.mjs +1 -1
  19. package/esm2022/lib/draw/draw.module.mjs +1 -1
  20. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +2 -2
  21. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +1 -1
  22. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +1 -1
  23. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +3 -3
  24. package/esm2022/lib/filter/filter.module.mjs +1 -1
  25. package/esm2022/lib/filter/index.mjs +1 -1
  26. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +1 -1
  27. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +5 -5
  28. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +1 -1
  29. package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +4 -4
  30. package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +1 -1
  31. package/esm2022/lib/geometry-form/geometry-form.module.mjs +1 -1
  32. package/esm2022/lib/geometry-form/index.mjs +1 -1
  33. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +4 -4
  34. package/esm2022/lib/import-export/import-export.module.mjs +1 -1
  35. package/esm2022/lib/integration.module.mjs +1 -1
  36. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +3 -3
  37. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +2 -2
  38. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +3 -3
  39. package/esm2022/lib/map/index.mjs +1 -1
  40. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +3 -3
  41. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +2 -2
  42. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +4 -4
  43. package/esm2022/lib/map/map-proximity.state.mjs +1 -1
  44. package/esm2022/lib/map/map-tool/map-tool.component.mjs +3 -3
  45. package/esm2022/lib/map/map-tools/map-tools.component.mjs +3 -3
  46. package/esm2022/lib/map/map.module.mjs +1 -1
  47. package/esm2022/lib/map/map.state.mjs +1 -1
  48. package/esm2022/lib/measure/measure.module.mjs +1 -1
  49. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +2 -2
  50. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +1 -1
  51. package/esm2022/lib/print/print-tool/print-tool.component.mjs +2 -2
  52. package/esm2022/lib/print/print.module.mjs +1 -1
  53. package/esm2022/lib/search/index.mjs +1 -1
  54. package/esm2022/lib/search/query.state.mjs +1 -1
  55. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +1 -1
  56. package/esm2022/lib/search/search-bar/search-bar.module.mjs +1 -1
  57. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +4 -4
  58. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +1 -1
  59. package/esm2022/lib/search/search.module.mjs +1 -1
  60. package/esm2022/lib/search/search.state.mjs +8 -6
  61. package/esm2022/lib/storage/storage.state.mjs +1 -1
  62. package/esm2022/lib/tool/tool.state.mjs +1 -1
  63. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +1 -1
  64. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +1 -1
  65. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +1 -1
  66. package/esm2022/lib/workspace/shared/workspace.utils.mjs +5 -5
  67. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +3 -3
  68. package/esm2022/lib/workspace/workspace.module.mjs +1 -1
  69. package/esm2022/lib/workspace/workspace.state.mjs +1 -1
  70. package/esm2022/public_api.mjs +1 -1
  71. package/fesm2022/igo2-integration.mjs +55 -54
  72. package/fesm2022/igo2-integration.mjs.map +1 -1
  73. package/locale/en.integration.json +143 -143
  74. package/locale/fr.integration.json +143 -143
  75. package/package.json +4 -4
@@ -94,7 +94,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
94
94
  });
95
95
  }
96
96
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsToolComponent, deps: [{ token: i1.DirectionState }, { token: i2.MapState }, { token: i3.LanguageService }, { token: i4.MessageService }, { token: i5.StorageService }, { token: i6.ContextState }, { token: i7.AuthService }], target: i0.ɵɵFactoryTarget.Component });
97
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\r\n [contextUri]=\"currentContextUri\"\r\n [debounce]=\"debounceTime\"\r\n [stopsStore]=\"stopsStore\"\r\n [stopsFeatureStore]=\"stopsFeatureStore\"\r\n [stepFeatureStore]=\"stepFeatureStore\"\r\n [routesFeatureStore]=\"routesFeatureStore\"\r\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\r\n>\r\n</igo-directions>\r\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i8.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepFeatureStore", "debounce", "length", "coordRoundedDecimals", "zoomToActiveRoute$"] }] });
97
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\n>\n</igo-directions>\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i8.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepFeatureStore", "debounce", "length", "coordRoundedDecimals", "zoomToActiveRoute$"] }] });
98
98
  };
99
99
  DirectionsToolComponent = __decorate([
100
100
  ToolComponent({
@@ -113,6 +113,6 @@ DirectionsToolComponent = __decorate([
113
113
  export { DirectionsToolComponent };
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsToolComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'igo-directions-tool', standalone: true, imports: [IgoDirectionsModule], template: "<igo-directions\r\n [contextUri]=\"currentContextUri\"\r\n [debounce]=\"debounceTime\"\r\n [stopsStore]=\"stopsStore\"\r\n [stopsFeatureStore]=\"stopsFeatureStore\"\r\n [stepFeatureStore]=\"stepFeatureStore\"\r\n [routesFeatureStore]=\"routesFeatureStore\"\r\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\r\n>\r\n</igo-directions>\r\n" }]
116
+ args: [{ selector: 'igo-directions-tool', standalone: true, imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\n>\n</igo-directions>\n" }]
117
117
  }], ctorParameters: () => [{ type: i1.DirectionState }, { type: i2.MapState }, { type: i3.LanguageService }, { type: i4.MessageService }, { type: i5.StorageService }, { type: i6.ContextState }, { type: i7.AuthService }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUNMLG1CQUFtQixFQU1wQixNQUFNLFdBQVcsQ0FBQztBQUluQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQWE5QyxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQXVEeEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUE1REgsaUJBQWlCLENBQVM7SUFDakM7OztPQUdHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUNVLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGNBQThCLEVBQy9CLFlBQTBCLEVBQ3pCLFdBQXdCO1FBTnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQy9CLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQzFDLHlCQUF5QixDQUNmLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLDRDQUE0QyxFQUM1QywwQ0FBMEMsRUFDMUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIseUJBQXlCLEVBQ3pCLElBQUksRUFDSixZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXJGVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwrRUNqQ3BDLHVWQVVBLDJDRHFCWSxtQkFBbUI7O0FBRWxCLHVCQUF1QjtJQVhuQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsa0NBQWtDO1FBQ3pDLElBQUksRUFBRSxZQUFZO0tBQ25CLENBQUM7cUNBOEQwQixjQUFjO1FBQ3BCLFFBQVE7UUFDRCxlQUFlO1FBQ2hCLGNBQWM7UUFDZCxjQUFjO1FBQ2pCLFlBQVk7UUFDWixXQUFXO0dBN0R2Qix1QkFBdUIsQ0FzRm5DOzsyRkF0RlksdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNjb3BlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XHJcbmltcG9ydCB7XHJcbiAgSWdvRGlyZWN0aW9uc01vZHVsZSxcclxuICBJZ29NYXAsXHJcbiAgUm91dGVzRmVhdHVyZVN0b3JlLFxyXG4gIFN0ZXBGZWF0dXJlU3RvcmUsXHJcbiAgU3RvcHNGZWF0dXJlU3RvcmUsXHJcbiAgU3RvcHNTdG9yZVxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0U3RhdGUgfSBmcm9tICcuLi8uLi9jb250ZXh0L2NvbnRleHQuc3RhdGUnO1xyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25TdGF0ZSB9IGZyb20gJy4uL2RpcmVjdGlvbnMuc3RhdGUnO1xyXG5cclxuQFRvb2xDb21wb25lbnQoe1xyXG4gIG5hbWU6ICdkaXJlY3Rpb25zJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5kaXJlY3Rpb25zJyxcclxuICBpY29uOiAnZGlyZWN0aW9ucydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZGlyZWN0aW9ucy10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJZ29EaXJlY3Rpb25zTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1Rvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBjdXJyZW50Q29udGV4dFVyaTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIHN0b3BzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHN0b3BzU3RvcmUoKTogU3RvcHNTdG9yZSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuZGVib3VuY2VUaW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3RvcHNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgc3RvcHNGZWF0dXJlU3RvcmUoKTogU3RvcHNGZWF0dXJlU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNGZWF0dXJlU3RvcmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByb3V0ZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgcm91dGVzRmVhdHVyZVN0b3JlKCk6IFJvdXRlc0ZlYXR1cmVTdG9yZSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS5yb3V0ZXNGZWF0dXJlU3RvcmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzdGVwIHN0b3JlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHN0ZXBGZWF0dXJlU3RvcmUoKTogU3RlcEZlYXR1cmVTdG9yZSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdGVwRmVhdHVyZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3RlcCBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB6b29tVG9BY3RpdmVSb3V0ZSQoKTogU3ViamVjdDx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS56b29tVG9BY3RpdmVSb3V0ZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXAgdG8gbWVhc3VyZSBvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25TdGF0ZTogRGlyZWN0aW9uU3RhdGUsXHJcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIGNvbnRleHRTdGF0ZTogQ29udGV4dFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2FybmluZ1Nob3duID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICdkaXJlY3Rpb24ud2FybmluZy5zaG93bidcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICghd2FybmluZ1Nob3duKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmRpcmVjdGlvbnMud2FybmluZy5tZXNzYWdlJyxcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLmRpcmVjdGlvbnMud2FybmluZy50aXRsZScsXHJcbiAgICAgICAgeyB0aW1lT3V0OiAyMDAwMCB9XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICdkaXJlY3Rpb24ud2FybmluZy5zaG93bicsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICBTdG9yYWdlU2NvcGUuU0VTU0lPTlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb250ZXh0U3RhdGUuY29udGV4dCQuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFVyaSA9IGMudXJpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1kaXJlY3Rpb25zXHJcbiAgW2NvbnRleHRVcmldPVwiY3VycmVudENvbnRleHRVcmlcIlxyXG4gIFtkZWJvdW5jZV09XCJkZWJvdW5jZVRpbWVcIlxyXG4gIFtzdG9wc1N0b3JlXT1cInN0b3BzU3RvcmVcIlxyXG4gIFtzdG9wc0ZlYXR1cmVTdG9yZV09XCJzdG9wc0ZlYXR1cmVTdG9yZVwiXHJcbiAgW3N0ZXBGZWF0dXJlU3RvcmVdPVwic3RlcEZlYXR1cmVTdG9yZVwiXHJcbiAgW3JvdXRlc0ZlYXR1cmVTdG9yZV09XCJyb3V0ZXNGZWF0dXJlU3RvcmVcIlxyXG4gIFt6b29tVG9BY3RpdmVSb3V0ZSRdPVwiem9vbVRvQWN0aXZlUm91dGUkXCJcclxuPlxyXG48L2lnby1kaXJlY3Rpb25zPlxyXG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUNMLG1CQUFtQixFQU1wQixNQUFNLFdBQVcsQ0FBQztBQUluQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQWE5QyxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQXVEeEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUE1REgsaUJBQWlCLENBQVM7SUFDakM7OztPQUdHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUNVLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGNBQThCLEVBQy9CLFlBQTBCLEVBQ3pCLFdBQXdCO1FBTnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQy9CLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQzFDLHlCQUF5QixDQUNmLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLDRDQUE0QyxFQUM1QywwQ0FBMEMsRUFDMUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIseUJBQXlCLEVBQ3pCLElBQUksRUFDSixZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXJGVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwrRUNqQ3BDLG1VQVVBLDJDRHFCWSxtQkFBbUI7O0FBRWxCLHVCQUF1QjtJQVhuQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsa0NBQWtDO1FBQ3pDLElBQUksRUFBRSxZQUFZO0tBQ25CLENBQUM7cUNBOEQwQixjQUFjO1FBQ3BCLFFBQVE7UUFDRCxlQUFlO1FBQ2hCLGNBQWM7UUFDZCxjQUFjO1FBQ2pCLFlBQVk7UUFDWixXQUFXO0dBN0R2Qix1QkFBdUIsQ0FzRm5DOzsyRkF0RlksdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNjb3BlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5pbXBvcnQge1xuICBJZ29EaXJlY3Rpb25zTW9kdWxlLFxuICBJZ29NYXAsXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcbiAgU3RlcEZlYXR1cmVTdG9yZSxcbiAgU3RvcHNGZWF0dXJlU3RvcmUsXG4gIFN0b3BzU3RvcmVcbn0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb250ZXh0U3RhdGUgfSBmcm9tICcuLi8uLi9jb250ZXh0L2NvbnRleHQuc3RhdGUnO1xuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcbmltcG9ydCB7IERpcmVjdGlvblN0YXRlIH0gZnJvbSAnLi4vZGlyZWN0aW9ucy5zdGF0ZSc7XG5cbkBUb29sQ29tcG9uZW50KHtcbiAgbmFtZTogJ2RpcmVjdGlvbnMnLFxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5kaXJlY3Rpb25zJyxcbiAgaWNvbjogJ2RpcmVjdGlvbnMnXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWRpcmVjdGlvbnMtdG9vbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXJlY3Rpb25zLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWdvRGlyZWN0aW9uc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1Rvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY3VycmVudENvbnRleHRVcmk6IHN0cmluZztcbiAgLyoqXG4gICAqIHN0b3BzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHN0b3BzU3RvcmUoKTogU3RvcHNTdG9yZSB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZTtcbiAgfVxuXG4gIGdldCBkZWJvdW5jZVRpbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS5kZWJvdW5jZVRpbWU7XG4gIH1cblxuICAvKipcbiAgICogc3RvcHNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgc3RvcHNGZWF0dXJlU3RvcmUoKTogU3RvcHNGZWF0dXJlU3RvcmUge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLnN0b3BzRmVhdHVyZVN0b3JlO1xuICB9XG5cbiAgLyoqXG4gICAqIHJvdXRlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCByb3V0ZXNGZWF0dXJlU3RvcmUoKTogUm91dGVzRmVhdHVyZVN0b3JlIHtcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25TdGF0ZS5yb3V0ZXNGZWF0dXJlU3RvcmU7XG4gIH1cblxuICAvKipcbiAgICogc3RlcCBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBzdGVwRmVhdHVyZVN0b3JlKCk6IFN0ZXBGZWF0dXJlU3RvcmUge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLnN0ZXBGZWF0dXJlU3RvcmU7XG4gIH1cblxuICAvKipcbiAgICogc3RlcCBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCB6b29tVG9BY3RpdmVSb3V0ZSQoKTogU3ViamVjdDx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuem9vbVRvQWN0aXZlUm91dGUkO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB0byBtZWFzdXJlIG9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlyZWN0aW9uU3RhdGU6IERpcmVjdGlvblN0YXRlLFxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTdGF0ZTogQ29udGV4dFN0YXRlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB3YXJuaW5nU2hvd24gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcbiAgICAgICdkaXJlY3Rpb24ud2FybmluZy5zaG93bidcbiAgICApIGFzIGJvb2xlYW47XG4gICAgaWYgKCF3YXJuaW5nU2hvd24pIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5kaXJlY3Rpb25zLndhcm5pbmcubWVzc2FnZScsXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24uZGlyZWN0aW9ucy53YXJuaW5nLnRpdGxlJyxcbiAgICAgICAgeyB0aW1lT3V0OiAyMDAwMCB9XG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoXG4gICAgICAgICdkaXJlY3Rpb24ud2FybmluZy5zaG93bicsXG4gICAgICAgIHRydWUsXG4gICAgICAgIFN0b3JhZ2VTY29wZS5TRVNTSU9OXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNvbnRleHRTdGF0ZS5jb250ZXh0JC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRVcmkgPSBjLnVyaTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGlnby1kaXJlY3Rpb25zXG4gIFtjb250ZXh0VXJpXT1cImN1cnJlbnRDb250ZXh0VXJpXCJcbiAgW2RlYm91bmNlXT1cImRlYm91bmNlVGltZVwiXG4gIFtzdG9wc1N0b3JlXT1cInN0b3BzU3RvcmVcIlxuICBbc3RvcHNGZWF0dXJlU3RvcmVdPVwic3RvcHNGZWF0dXJlU3RvcmVcIlxuICBbc3RlcEZlYXR1cmVTdG9yZV09XCJzdGVwRmVhdHVyZVN0b3JlXCJcbiAgW3JvdXRlc0ZlYXR1cmVTdG9yZV09XCJyb3V0ZXNGZWF0dXJlU3RvcmVcIlxuICBbem9vbVRvQWN0aXZlUm91dGUkXT1cInpvb21Ub0FjdGl2ZVJvdXRlJFwiXG4+XG48L2lnby1kaXJlY3Rpb25zPlxuIl19
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
22
22
  exports: [DirectionsToolComponent]
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBRXRGOztHQUVHO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7dUdBTlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsWUFIdkIsdUJBQXVCLGFBQ3ZCLHVCQUF1Qjt3R0FFdEIsc0JBQXNCLFlBSHZCLHVCQUF1Qjs7MkZBR3RCLHNCQUFzQjtrQkFKbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpcmVjdGlvbnNUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBEaXJlY3Rpb25zVG9vbENvbXBvbmVudCBkaXJlY3RseVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbRGlyZWN0aW9uc1Rvb2xDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtEaXJlY3Rpb25zVG9vbENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcERpcmVjdGlvbnNNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQXBwRGlyZWN0aW9uc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0FwcERpcmVjdGlvbnNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW11cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBRXRGOztHQUVHO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7dUdBTlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsWUFIdkIsdUJBQXVCLGFBQ3ZCLHVCQUF1Qjt3R0FFdEIsc0JBQXNCLFlBSHZCLHVCQUF1Qjs7MkZBR3RCLHNCQUFzQjtrQkFKbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uc1Rvb2xDb21wb25lbnQgfSBmcm9tICcuL2RpcmVjdGlvbnMtdG9vbC9kaXJlY3Rpb25zLXRvb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIERpcmVjdGlvbnNUb29sQ29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEaXJlY3Rpb25zVG9vbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtEaXJlY3Rpb25zVG9vbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwRGlyZWN0aW9uc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQXBwRGlyZWN0aW9uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvQXBwRGlyZWN0aW9uc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
15
15
  exports: [IgoAppDrawingToolModule]
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2RyYXcvZHJhdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixZQUZqQix1QkFBdUI7d0dBRXRCLGdCQUFnQixZQUZqQix1QkFBdUI7OzJGQUV0QixnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb0FwcERyYXdpbmdUb29sTW9kdWxlIH0gZnJvbSAnLi9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBEcmF3aW5nVG9vbENvbXBvbmVudCBkaXJlY3RseVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbSWdvQXBwRHJhd2luZ1Rvb2xNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29BcHBEcmF3TW9kdWxlIHt9XHJcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2RyYXcvZHJhdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixZQUZqQix1QkFBdUI7d0dBRXRCLGdCQUFnQixZQUZqQix1QkFBdUI7OzJGQUV0QixnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWdvQXBwRHJhd2luZ1Rvb2xNb2R1bGUgfSBmcm9tICcuL2RyYXdpbmctdG9vbC9kcmF3aW5nLXRvb2wubW9kdWxlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIERyYXdpbmdUb29sQ29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtJZ29BcHBEcmF3aW5nVG9vbE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwRHJhd01vZHVsZSB7fVxuIl19
@@ -59,7 +59,7 @@ DrawingToolComponent = __decorate([
59
59
  ToolComponent({
60
60
  name: 'draw',
61
61
  title: 'igo.integration.tools.draw',
62
- icon: 'draw'
62
+ icon: 'stylus_note'
63
63
  }),
64
64
  __metadata("design:paramtypes", [DrawState,
65
65
  MapState])
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
69
69
  type: Component,
70
70
  args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DrawComponent], template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\"\n>\n</igo-draw>\n" }]
71
71
  }], ctorParameters: () => [{ type: i1.DrawState }, { type: i2.MapState }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFNZCxNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxQzs7R0FFRztBQWFJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBNENyQjtJQUNBO0lBNUNWOzs7T0FHRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEVBQTJCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLGtCQUFrQixDQUFDLEtBQWtCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sZUFBZSxDQUFDLEVBQTJCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNVLFNBQW9CLEVBQ3BCLFFBQWtCO1FBRGxCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6QixDQUFDO3VHQTlDTyxvQkFBb0I7MkZBQXBCLG9CQUFvQiw0RUM5QmpDLDRTQVVBLDRDRGtCWSxhQUFhOztBQUVaLG9CQUFvQjtJQVpoQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRSw0QkFBNEI7UUFDbkMsSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDO3FDQW9EcUIsU0FBUztRQUNWLFFBQVE7R0E3Q2pCLG9CQUFvQixDQStDaEM7OzJGQS9DWSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgRHJhd0NvbXBvbmVudCxcclxuICBEcmF3Q29udHJvbCxcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVdpdGhEcmF3LFxyXG4gIElnb01hcCxcclxuICBWZWN0b3JMYXllclxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xyXG5pbXBvcnQgeyBEcmF3U3RhdGUgfSBmcm9tICcuLi9kcmF3LnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIG1lYXN1cmUgbGVuZ3RocyBhbmQgYXJlYXNcclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnZHJhdycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZHJhdycsXHJcbiAgaWNvbjogJ2RyYXcnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRyYXdpbmctdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdpbmctdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRHJhd0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdpbmdUb29sQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBNYXAgdG8gbWVhc3VyZSBvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9yZXMoKTogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz5bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuc3RvcmVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgbGF5ZXJzSUQoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLmxheWVyc0lEO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRyYXdDb250cm9scygpOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzO1xyXG4gIH1cclxuICBzZXQgZHJhd0NvbnRyb2xzKGRjOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSkge1xyXG4gICAgdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzID0gZGM7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlRHJhd2luZ0xheWVyKCk6IFZlY3RvckxheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBhY3RpdmVEcmF3aW5nTGF5ZXIodmFsdWU6IFZlY3RvckxheWVyKSB7XHJcbiAgICB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRMYXllcnNJRChsYXllcklEOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubGF5ZXJzSUQucHVzaChsYXllcklEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGREcmF3Q29udHJvbHMoZGM6IFtzdHJpbmcsIERyYXdDb250cm9sXVtdKSB7XHJcbiAgICB0aGlzLmRyYXdDb250cm9scyA9IGRjO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRyYXdTdGF0ZTogRHJhd1N0YXRlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGVcclxuICApIHt9XHJcbn1cclxuIiwiPGlnby1kcmF3XG4gIFtzdG9yZXNdPVwic3RvcmVzXCJcbiAgW21hcF09XCJtYXBcIlxuICAobGF5ZXJzSURFdmVudCk9XCJhZGRMYXllcnNJRCgkZXZlbnQpXCJcbiAgW2FjdGl2ZURyYXdpbmdMYXllcl09XCJhY3RpdmVEcmF3aW5nTGF5ZXJcIlxuICBbZHJhd0NvbnRyb2xzXT1cImRyYXdDb250cm9sc1wiXG4gIChkcmF3Q29udHJvbHNFdmVudCk9XCJhZGREcmF3Q29udHJvbHMoJGV2ZW50KVwiXG4gIChhY3RpdmVMYXllckNoYW5nZSk9XCJhY3RpdmVEcmF3aW5nTGF5ZXIgPSAkZXZlbnRcIlxuPlxuPC9pZ28tZHJhdz5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFNZCxNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxQzs7R0FFRztBQWFJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBNENyQjtJQUNBO0lBNUNWOzs7T0FHRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEVBQTJCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLGtCQUFrQixDQUFDLEtBQWtCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sZUFBZSxDQUFDLEVBQTJCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNVLFNBQW9CLEVBQ3BCLFFBQWtCO1FBRGxCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6QixDQUFDO3VHQTlDTyxvQkFBb0I7MkZBQXBCLG9CQUFvQiw0RUM5QmpDLDRTQVVBLDRDRGtCWSxhQUFhOztBQUVaLG9CQUFvQjtJQVpoQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRSw0QkFBNEI7UUFDbkMsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztxQ0FvRHFCLFNBQVM7UUFDVixRQUFRO0dBN0NqQixvQkFBb0IsQ0ErQ2hDOzsyRkEvQ1ksb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQge1xuICBEcmF3Q29tcG9uZW50LFxuICBEcmF3Q29udHJvbCxcbiAgRmVhdHVyZVN0b3JlLFxuICBGZWF0dXJlV2l0aERyYXcsXG4gIElnb01hcCxcbiAgVmVjdG9yTGF5ZXJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcbmltcG9ydCB7IERyYXdTdGF0ZSB9IGZyb20gJy4uL2RyYXcuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gbWVhc3VyZSBsZW5ndGhzIGFuZCBhcmVhc1xuICovXG5AVG9vbENvbXBvbmVudCh7XG4gIG5hbWU6ICdkcmF3JyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZHJhdycsXG4gIGljb246ICdzdHlsdXNfbm90ZSdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZHJhd2luZy10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdpbmctdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRHJhd0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRHJhd2luZ1Rvb2xDb21wb25lbnQge1xuICAvKipcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgc3RvcmVzKCk6IEZlYXR1cmVTdG9yZTxGZWF0dXJlV2l0aERyYXc+W10ge1xuICAgIHJldHVybiB0aGlzLmRyYXdTdGF0ZS5zdG9yZXM7XG4gIH1cblxuICAvKipcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGxheWVyc0lEKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUubGF5ZXJzSUQ7XG4gIH1cblxuICBnZXQgZHJhd0NvbnRyb2xzKCk6IFtzdHJpbmcsIERyYXdDb250cm9sXVtdIHtcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzO1xuICB9XG4gIHNldCBkcmF3Q29udHJvbHMoZGM6IFtzdHJpbmcsIERyYXdDb250cm9sXVtdKSB7XG4gICAgdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzID0gZGM7XG4gIH1cblxuICBnZXQgYWN0aXZlRHJhd2luZ0xheWVyKCk6IFZlY3RvckxheWVyIHtcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuYWN0aXZlRHJhd2luZ0xheWVyO1xuICB9XG4gIHNldCBhY3RpdmVEcmF3aW5nTGF5ZXIodmFsdWU6IFZlY3RvckxheWVyKSB7XG4gICAgdGhpcy5kcmF3U3RhdGUuYWN0aXZlRHJhd2luZ0xheWVyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgYWRkTGF5ZXJzSUQobGF5ZXJJRDogc3RyaW5nKSB7XG4gICAgdGhpcy5sYXllcnNJRC5wdXNoKGxheWVySUQpO1xuICB9XG5cbiAgcHVibGljIGFkZERyYXdDb250cm9scyhkYzogW3N0cmluZywgRHJhd0NvbnRyb2xdW10pIHtcbiAgICB0aGlzLmRyYXdDb250cm9scyA9IGRjO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkcmF3U3RhdGU6IERyYXdTdGF0ZSxcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZVxuICApIHt9XG59XG4iLCI8aWdvLWRyYXdcbiAgW3N0b3Jlc109XCJzdG9yZXNcIlxuICBbbWFwXT1cIm1hcFwiXG4gIChsYXllcnNJREV2ZW50KT1cImFkZExheWVyc0lEKCRldmVudClcIlxuICBbYWN0aXZlRHJhd2luZ0xheWVyXT1cImFjdGl2ZURyYXdpbmdMYXllclwiXG4gIFtkcmF3Q29udHJvbHNdPVwiZHJhd0NvbnRyb2xzXCJcbiAgKGRyYXdDb250cm9sc0V2ZW50KT1cImFkZERyYXdDb250cm9scygkZXZlbnQpXCJcbiAgKGFjdGl2ZUxheWVyQ2hhbmdlKT1cImFjdGl2ZURyYXdpbmdMYXllciA9ICRldmVudFwiXG4+XG48L2lnby1kcmF3PlxuIl19
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
16
16
  exports: [DrawingToolComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVoRTs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLFlBSHhCLG9CQUFvQixhQUNwQixvQkFBb0I7d0dBRW5CLHVCQUF1QixZQUh4QixvQkFBb0I7OzJGQUduQix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEcmF3aW5nVG9vbENvbXBvbmVudCB9IGZyb20gJy4vZHJhd2luZy10b29sLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBEcmF3aW5nVG9vbENvbXBvbmVudCBkaXJlY3RseVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbRHJhd2luZ1Rvb2xDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtEcmF3aW5nVG9vbENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcERyYXdpbmdUb29sTW9kdWxlIHt9XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVoRTs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLFlBSHhCLG9CQUFvQixhQUNwQixvQkFBb0I7d0dBRW5CLHVCQUF1QixZQUh4QixvQkFBb0I7OzJGQUduQix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYXdpbmdUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3aW5nLXRvb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIERyYXdpbmdUb29sQ29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEcmF3aW5nVG9vbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtEcmF3aW5nVG9vbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwRHJhd2luZ1Rvb2xNb2R1bGUge31cbiJdfQ==
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
40
40
  type: Component,
41
41
  args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut()], standalone: true, imports: [OgcFilterableItemComponent], template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n>\n</igo-ogc-filterable-item>\n" }]
42
42
  }], ctorParameters: () => [{ type: i1.MapState }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLW9nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9hY3RpdmUtb2djLWZpbHRlci10b29sL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLW9nYy1maWx0ZXItdG9vbC9hY3RpdmUtb2djLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFpQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFlN0QsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFnQnBCO0lBZm5CLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO3VHQWhCOUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsc0ZDckJ6Qyx3SkFPQSw0Q0RZWSwwQkFBMEIsMEZBRnhCLENBQUMsY0FBYyxFQUFFLENBQUM7O0FBSW5CLDRCQUE0QjtJQWJ4QyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO3FDQXdCNkIsUUFBUTtHQWhCMUIsNEJBQTRCLENBaUJ4Qzs7MkZBakJZLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSw0QkFBNEIsY0FFMUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxjQUNsQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb01hcCwgTGF5ZXIsIE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IHRvb2xTbGlkZUluT3V0IH0gZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZU9nY0ZpbHRlcicsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcclxuICBpY29uOiAnZmlsdGVyJyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLW9nYy1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFt0b29sU2xpZGVJbk91dCgpXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtPZ2NGaWx0ZXJhYmxlSXRlbUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2ZU9nY0ZpbHRlclRvb2xDb21wb25lbnQge1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLm1hcC5sYXllcnMpIHtcclxuICAgICAgaWYgKGxheS5vcHRpb25zLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiBsYXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbmltYXRlID0gJ2VudGVyJztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSkge31cclxufVxyXG4iLCI8aWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW1cbiAgW21hcF09XCJtYXBcIlxuICBbbGF5ZXJdPVwibGF5ZXJcIlxuICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgW0B0b29sU2xpZGVJbk91dF09XCJhbmltYXRlXCJcbj5cbjwvaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLW9nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9hY3RpdmUtb2djLWZpbHRlci10b29sL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLW9nYy1maWx0ZXItdG9vbC9hY3RpdmUtb2djLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFpQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFlN0QsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFnQnBCO0lBZm5CLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO3VHQWhCOUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsc0ZDckJ6Qyx3SkFPQSw0Q0RZWSwwQkFBMEIsMEZBRnhCLENBQUMsY0FBYyxFQUFFLENBQUM7O0FBSW5CLDRCQUE0QjtJQWJ4QyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO3FDQXdCNkIsUUFBUTtHQWhCMUIsNEJBQTRCLENBaUJ4Qzs7MkZBakJZLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSw0QkFBNEIsY0FFMUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxjQUNsQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IElnb01hcCwgTGF5ZXIsIE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcbmltcG9ydCB7IHRvb2xTbGlkZUluT3V0IH0gZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sLmFuaW1hdGlvbic7XG5cbkBUb29sQ29tcG9uZW50KHtcbiAgbmFtZTogJ2FjdGl2ZU9nY0ZpbHRlcicsXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLm9nY0ZpbHRlcicsXG4gIGljb246ICdmaWx0ZXInLFxuICBwYXJlbnQ6ICdtYXBUb29scydcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLW9nYy1maWx0ZXItdG9vbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW3Rvb2xTbGlkZUluT3V0KCldLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbT2djRmlsdGVyYWJsZUl0ZW1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2ZU9nY0ZpbHRlclRvb2xDb21wb25lbnQge1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLm1hcC5sYXllcnMpIHtcbiAgICAgIGlmIChsYXkub3B0aW9ucy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGxheTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXBTdGF0ZTogTWFwU3RhdGUpIHt9XG59XG4iLCI8aWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW1cbiAgW21hcF09XCJtYXBcIlxuICBbbGF5ZXJdPVwibGF5ZXJcIlxuICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgW0B0b29sU2xpZGVJbk91dF09XCJhbmltYXRlXCJcbj5cbjwvaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0+XG4iXX0=
@@ -24,7 +24,7 @@ let ActiveTimeFilterToolComponent = class ActiveTimeFilterToolComponent {
24
24
  this.mapState = mapState;
25
25
  }
26
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActiveTimeFilterToolComponent, deps: [{ token: i1.MapState }], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActiveTimeFilterToolComponent, isStandalone: true, selector: "igo-active-time-filter-tool", ngImport: i0, template: "<igo-time-filter-item\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\"\r\n>\r\n</igo-time-filter-item>\r\n", dependencies: [{ kind: "component", type: TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }], animations: [toolSlideInOut()] });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActiveTimeFilterToolComponent, isStandalone: true, selector: "igo-active-time-filter-tool", ngImport: i0, template: "<igo-time-filter-item\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n>\n</igo-time-filter-item>\n", dependencies: [{ kind: "component", type: TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }], animations: [toolSlideInOut()] });
28
28
  };
29
29
  ActiveTimeFilterToolComponent = __decorate([
30
30
  ToolComponent({
@@ -38,6 +38,6 @@ ActiveTimeFilterToolComponent = __decorate([
38
38
  export { ActiveTimeFilterToolComponent };
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActiveTimeFilterToolComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut()], standalone: true, imports: [TimeFilterItemComponent], template: "<igo-time-filter-item\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\"\r\n>\r\n</igo-time-filter-item>\r\n" }]
41
+ args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut()], standalone: true, imports: [TimeFilterItemComponent], template: "<igo-time-filter-item\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n>\n</igo-time-filter-item>\n" }]
42
42
  }], ctorParameters: () => [{ type: i1.MapState }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQWU5RCxJQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE2QjtJQWdCckI7SUFmbkIsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFekIsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7dUdBaEI5Qiw2QkFBNkI7MkZBQTdCLDZCQUE2Qix1RkNyQjFDLDZJQU1BLDRDRGFZLHVCQUF1QixnRkFGckIsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7QUFJbkIsNkJBQTZCO0lBYnpDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLGtDQUFrQztRQUN6QyxJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7cUNBd0I2QixRQUFRO0dBaEIxQiw2QkFBNkIsQ0FpQnpDOzsyRkFqQlksNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNFLDZCQUE2QixjQUUzQixDQUFDLGNBQWMsRUFBRSxDQUFDLGNBQ2xCLElBQUksV0FDUCxDQUFDLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgSWdvTWFwLCBMYXllciwgVGltZUZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgdG9vbFNsaWRlSW5PdXQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZVRpbWVGaWx0ZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnRpbWVGaWx0ZXInLFxyXG4gIGljb246ICdoaXN0b3J5JyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtdGltZS1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3Rvb2xTbGlkZUluT3V0KCldLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1RpbWVGaWx0ZXJJdGVtQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQge1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLm1hcC5sYXllcnMpIHtcclxuICAgICAgaWYgKGxheS5vcHRpb25zLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiBsYXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbmltYXRlID0gJ2VudGVyJztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSkge31cclxufVxyXG4iLCI8aWdvLXRpbWUtZmlsdGVyLWl0ZW1cclxuICBbbGF5ZXJdPVwibGF5ZXJcIlxyXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxyXG4gIFtAdG9vbFNsaWRlSW5PdXRdPVwiYW5pbWF0ZVwiXHJcbj5cclxuPC9pZ28tdGltZS1maWx0ZXItaXRlbT5cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQWU5RCxJQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE2QjtJQWdCckI7SUFmbkIsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFekIsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7dUdBaEI5Qiw2QkFBNkI7MkZBQTdCLDZCQUE2Qix1RkNyQjFDLGlJQU1BLDRDRGFZLHVCQUF1QixnRkFGckIsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7QUFJbkIsNkJBQTZCO0lBYnpDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLGtDQUFrQztRQUN6QyxJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7cUNBd0I2QixRQUFRO0dBaEIxQiw2QkFBNkIsQ0FpQnpDOzsyRkFqQlksNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNFLDZCQUE2QixjQUUzQixDQUFDLGNBQWMsRUFBRSxDQUFDLGNBQ2xCLElBQUksV0FDUCxDQUFDLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgSWdvTWFwLCBMYXllciwgVGltZUZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xuaW1wb3J0IHsgdG9vbFNsaWRlSW5PdXQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmFuaW1hdGlvbic7XG5cbkBUb29sQ29tcG9uZW50KHtcbiAgbmFtZTogJ2FjdGl2ZVRpbWVGaWx0ZXInLFxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy50aW1lRmlsdGVyJyxcbiAgaWNvbjogJ2hpc3RvcnknLFxuICBwYXJlbnQ6ICdtYXBUb29scydcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbdG9vbFNsaWRlSW5PdXQoKV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtUaW1lRmlsdGVySXRlbUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQge1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLm1hcC5sYXllcnMpIHtcbiAgICAgIGlmIChsYXkub3B0aW9ucy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGxheTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXBTdGF0ZTogTWFwU3RhdGUpIHt9XG59XG4iLCI8aWdvLXRpbWUtZmlsdGVyLWl0ZW1cbiAgW2xheWVyXT1cImxheWVyXCJcbiAgW2hlYWRlcl09XCJmYWxzZVwiXG4gIFtAdG9vbFNsaWRlSW5PdXRdPVwiYW5pbWF0ZVwiXG4+XG48L2lnby10aW1lLWZpbHRlci1pdGVtPlxuIl19
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
50
50
  ]
51
51
  }]
52
52
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL2ZpbHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBRXhGOztHQUVHO0FBaUJILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDO3VHQU5VLGtCQUFrQjt3R0FBbEIsa0JBQWtCLFlBZDNCLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFHMUIsc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQjt3R0FHakIsa0JBQWtCLFlBZDNCLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEI7OzJGQVVqQixrQkFBa0I7a0JBaEI5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBY3RpdmVPZ2NGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9nY0ZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL29nYy1maWx0ZXItdG9vbC9vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BhdGlhbEZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL3NwYXRpYWwtZmlsdGVyLXRvb2wvc3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vdGltZS1maWx0ZXItdG9vbC90aW1lLWZpbHRlci10b29sLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBjb21wb25lbnRzIGRpcmVjdGx5IG9yIElOVEVHUkFUSU9OX0ZJTFRFUl9ESVJFQ1RJVkVTIGZvciB0aGUgc2V0XHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE9nY0ZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgICBBY3RpdmVPZ2NGaWx0ZXJUb29sQ29tcG9uZW50LFxyXG4gICAgVGltZUZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgICBBY3RpdmVUaW1lRmlsdGVyVG9vbENvbXBvbmVudCxcclxuICAgIFNwYXRpYWxGaWx0ZXJUb29sQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBPZ2NGaWx0ZXJUb29sQ29tcG9uZW50LFxyXG4gICAgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCxcclxuICAgIFRpbWVGaWx0ZXJUb29sQ29tcG9uZW50LFxyXG4gICAgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgICBTcGF0aWFsRmlsdGVyVG9vbENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcEZpbHRlck1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29BcHBGaWx0ZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29BcHBGaWx0ZXJNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW11cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL2ZpbHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBRXhGOztHQUVHO0FBaUJILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDO3VHQU5VLGtCQUFrQjt3R0FBbEIsa0JBQWtCLFlBZDNCLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFHMUIsc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQjt3R0FHakIsa0JBQWtCLFlBZDNCLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEI7OzJGQVVqQixrQkFBa0I7a0JBaEI5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGl2ZU9nY0ZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wvYWN0aXZlLW9nYy1maWx0ZXItdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9vZ2MtZmlsdGVyLXRvb2wvb2djLWZpbHRlci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGF0aWFsRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vc3BhdGlhbC1maWx0ZXItdG9vbC9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vdGltZS1maWx0ZXItdG9vbC90aW1lLWZpbHRlci10b29sLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBjb21wb25lbnRzIGRpcmVjdGx5IG9yIElOVEVHUkFUSU9OX0ZJTFRFUl9ESVJFQ1RJVkVTIGZvciB0aGUgc2V0XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBPZ2NGaWx0ZXJUb29sQ29tcG9uZW50LFxuICAgIEFjdGl2ZU9nY0ZpbHRlclRvb2xDb21wb25lbnQsXG4gICAgVGltZUZpbHRlclRvb2xDb21wb25lbnQsXG4gICAgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQsXG4gICAgU3BhdGlhbEZpbHRlclRvb2xDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE9nY0ZpbHRlclRvb2xDb21wb25lbnQsXG4gICAgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCxcbiAgICBUaW1lRmlsdGVyVG9vbENvbXBvbmVudCxcbiAgICBBY3RpdmVUaW1lRmlsdGVyVG9vbENvbXBvbmVudCxcbiAgICBTcGF0aWFsRmlsdGVyVG9vbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb0FwcEZpbHRlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQXBwRmlsdGVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29BcHBGaWx0ZXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -15,4 +15,4 @@ export const INTEGRATION_FILTER_DIRECTIVES = [
15
15
  ActiveTimeFilterToolComponent,
16
16
  SpatialFilterToolComponent
17
17
  ];
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDM0Msc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLDBCQUEwQjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZlLW9nYy1maWx0ZXItdG9vbCc7XHJcbmltcG9ydCB7IEFjdGl2ZVRpbWVGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9hY3RpdmUtdGltZS1maWx0ZXItdG9vbCc7XHJcbmltcG9ydCB7IE9nY0ZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL29nYy1maWx0ZXItdG9vbCc7XHJcbmltcG9ydCB7IFNwYXRpYWxGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9zcGF0aWFsLWZpbHRlci10b29sJztcclxuaW1wb3J0IHsgVGltZUZpbHRlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtZmlsdGVyLXRvb2wnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9vZ2MtZmlsdGVyLXRvb2wnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NwYXRpYWwtZmlsdGVyLXRvb2wnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RpbWUtZmlsdGVyLXRvb2wnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sJztcclxuXHJcbmV4cG9ydCBjb25zdCBJTlRFR1JBVElPTl9GSUxURVJfRElSRUNUSVZFUyA9IFtcclxuICBPZ2NGaWx0ZXJUb29sQ29tcG9uZW50LFxyXG4gIEFjdGl2ZU9nY0ZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgVGltZUZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgQWN0aXZlVGltZUZpbHRlclRvb2xDb21wb25lbnQsXHJcbiAgU3BhdGlhbEZpbHRlclRvb2xDb21wb25lbnRcclxuXTtcclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDM0Msc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLDBCQUEwQjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZlLW9nYy1maWx0ZXItdG9vbCc7XG5pbXBvcnQgeyBBY3RpdmVUaW1lRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wnO1xuaW1wb3J0IHsgT2djRmlsdGVyVG9vbENvbXBvbmVudCB9IGZyb20gJy4vb2djLWZpbHRlci10b29sJztcbmltcG9ydCB7IFNwYXRpYWxGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9zcGF0aWFsLWZpbHRlci10b29sJztcbmltcG9ydCB7IFRpbWVGaWx0ZXJUb29sQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLWZpbHRlci10b29sJztcblxuZXhwb3J0ICogZnJvbSAnLi9vZ2MtZmlsdGVyLXRvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sJztcbmV4cG9ydCAqIGZyb20gJy4vc3BhdGlhbC1maWx0ZXItdG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtZmlsdGVyLXRvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtdGltZS1maWx0ZXItdG9vbCc7XG5cbmV4cG9ydCBjb25zdCBJTlRFR1JBVElPTl9GSUxURVJfRElSRUNUSVZFUyA9IFtcbiAgT2djRmlsdGVyVG9vbENvbXBvbmVudCxcbiAgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCxcbiAgVGltZUZpbHRlclRvb2xDb21wb25lbnQsXG4gIEFjdGl2ZVRpbWVGaWx0ZXJUb29sQ29tcG9uZW50LFxuICBTcGF0aWFsRmlsdGVyVG9vbENvbXBvbmVudFxuXTtcbiJdfQ==
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
21
21
  type: Component,
22
22
  args: [{ selector: 'igo-ogc-filter-tool', standalone: true, imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\n" }]
23
23
  }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdG9vbC9vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10b29sL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzNCLE1BQU0sV0FBVyxDQUFDOztBQWFaLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBQ2pDLGdCQUFlLENBQUM7dUdBREwsc0JBQXNCOzJGQUF0QixzQkFBc0IsK0VDbkJuQyxtRkFDQSw0Q0RnQlksMEJBQTBCLCtGQUFFLGlDQUFpQzs7QUFFNUQsc0JBQXNCO0lBWGxDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDOztHQU9XLHNCQUFzQixDQUVsQzs7MkZBRlksc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgT2djRmlsdGVyYWJsZUxpc3RCaW5kaW5nRGlyZWN0aXZlLFxyXG4gIE9nY0ZpbHRlcmFibGVMaXN0Q29tcG9uZW50XHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnb2djRmlsdGVyJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5vZ2NGaWx0ZXInLFxyXG4gIGljb246ICdmaWx0ZXInXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbT2djRmlsdGVyYWJsZUxpc3RDb21wb25lbnQsIE9nY0ZpbHRlcmFibGVMaXN0QmluZGluZ0RpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlclRvb2xDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iLCI8aWdvLW9nYy1maWx0ZXJhYmxlLWxpc3QgaWdvT2djRmlsdGVyYWJsZUxpc3RCaW5kaW5nPjwvaWdvLW9nYy1maWx0ZXJhYmxlLWxpc3Q+XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdG9vbC9vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10b29sL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzNCLE1BQU0sV0FBVyxDQUFDOztBQWFaLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBQ2pDLGdCQUFlLENBQUM7dUdBREwsc0JBQXNCOzJGQUF0QixzQkFBc0IsK0VDbkJuQyxtRkFDQSw0Q0RnQlksMEJBQTBCLCtGQUFFLGlDQUFpQzs7QUFFNUQsc0JBQXNCO0lBWGxDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDOztHQU9XLHNCQUFzQixDQUVsQzs7MkZBRlksc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7XG4gIE9nY0ZpbHRlcmFibGVMaXN0QmluZGluZ0RpcmVjdGl2ZSxcbiAgT2djRmlsdGVyYWJsZUxpc3RDb21wb25lbnRcbn0gZnJvbSAnQGlnbzIvZ2VvJztcblxuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnb2djRmlsdGVyJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcbiAgaWNvbjogJ2ZpbHRlcidcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tb2djLWZpbHRlci10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtPZ2NGaWx0ZXJhYmxlTGlzdENvbXBvbmVudCwgT2djRmlsdGVyYWJsZUxpc3RCaW5kaW5nRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBPZ2NGaWx0ZXJUb29sQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGlnby1vZ2MtZmlsdGVyYWJsZS1saXN0IGlnb09nY0ZpbHRlcmFibGVMaXN0QmluZGluZz48L2lnby1vZ2MtZmlsdGVyYWJsZS1saXN0PlxuIl19
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { AsyncPipe, NgIf } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
4
4
  import { MatIconRegistry } from '@angular/material/icon';
5
- import { EntityStore, PanelComponent, ToolComponent } from '@igo2/common';
5
+ import { EntityStore, PanelComponent, SELECTION_MARKER_ICON, ToolComponent } from '@igo2/common';
6
6
  import { LanguageService } from '@igo2/core/language';
7
7
  import { MessageService } from '@igo2/core/message';
8
8
  import { DataSourceService, FeatureDetailsComponent, FeatureMotion, LayerService, MeasureLengthUnit, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, createOverlayMarkerStyle, featureToOl, moveToOlFeatures } from '@igo2/geo';
@@ -543,13 +543,13 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
543
543
  this.activeLayers.push(layer);
544
544
  }
545
545
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SpatialFilterToolComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.SpatialFilterService }, { token: i2.DataSourceService }, { token: i2.LayerService }, { token: i3.MapState }, { token: i4.MessageService }, { token: i5.LanguageService }, { token: i6.ImportExportState }, { token: i7.ToolState }, { token: i8.WorkspaceState }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
546
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SpatialFilterToolComponent, isStandalone: true, selector: "igo-spatial-filter-tool", inputs: { type: "type", itemType: "itemType", freehandDrawIsActive: "freehandDrawIsActive" }, ngImport: i0, template: "<igo-spatial-filter-type\r\n [store]=\"spatialListStore\"\r\n [selectedQueryType]=\"queryType\"\r\n [zone]=\"zone\"\r\n [layers]=\"activeLayers\"\r\n (eventType)=\"getOutputType($event)\"\r\n (eventQueryType)=\"getOutputQueryType($event)\"\r\n (zoneChange)=\"onZoneChange($event)\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (bufferChange)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n>\r\n</igo-spatial-filter-type>\r\n\r\n<igo-spatial-filter-item\r\n [type]=\"type\"\r\n [queryType]=\"queryType\"\r\n [map]=\"map\"\r\n [zone]=\"zone\"\r\n [loading]=\"loading\"\r\n [store]=\"store\"\r\n [layers]=\"activeLayers\"\r\n [allLayers]=\"layers\"\r\n [thematicLength]=\"thematicLength\"\r\n (radiusEvent)=\"buffer = $event\"\r\n (bufferEvent)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n (freehandControl)=\"freehandDrawIsActive = $event\"\r\n (drawZoneEvent)=\"zone = $event\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (itemTypeChange)=\"itemType = $event\"\r\n (thematicChange)=\"thematics = $event\"\r\n (toggleSearch)=\"getOutputToggleSearch()\"\r\n (clearButtonEvent)=\"clearMap()\"\r\n (clearSearchEvent)=\"getOutputClearSearch()\"\r\n (export)=\"activateExportTool()\"\r\n (openWorkspace)=\"activateWorkspace()\"\r\n (entityChange)=\"activateWorkspace($event)\"\r\n>\r\n</igo-spatial-filter-item>\r\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n</ng-container>\r\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"], dependencies: [{ kind: "component", type: SpatialFilterTypeComponent, selector: "igo-spatial-filter-type", inputs: ["store", "selectedQueryType", "zone", "layers"], outputs: ["eventType", "eventQueryType", "zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"] }, { kind: "component", type: SpatialFilterItemComponent, selector: "igo-spatial-filter-item", inputs: ["map", "type", "queryType", "zone", "loading", "store", "layers", "allLayers", "thematicLength"], outputs: ["toggleSearch", "itemTypeChange", "thematicChange", "drawZoneEvent", "bufferEvent", "zoneWithBufferChange", "measureUnitChange", "radiusEvent", "freehandControl", "predefinedRadius", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
546
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SpatialFilterToolComponent, isStandalone: true, selector: "igo-spatial-filter-tool", inputs: { type: "type", itemType: "itemType", freehandDrawIsActive: "freehandDrawIsActive" }, ngImport: i0, template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n>\n</igo-spatial-filter-type>\n\n<igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $event\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n>\n</igo-spatial-filter-item>\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n</ng-container>\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"], dependencies: [{ kind: "component", type: SpatialFilterTypeComponent, selector: "igo-spatial-filter-type", inputs: ["store", "selectedQueryType", "zone", "layers"], outputs: ["eventType", "eventQueryType", "zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"] }, { kind: "component", type: SpatialFilterItemComponent, selector: "igo-spatial-filter-item", inputs: ["map", "type", "queryType", "zone", "loading", "store", "layers", "allLayers", "thematicLength"], outputs: ["toggleSearch", "itemTypeChange", "thematicChange", "drawZoneEvent", "bufferEvent", "zoneWithBufferChange", "measureUnitChange", "radiusEvent", "freehandControl", "predefinedRadius", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
547
547
  };
548
548
  SpatialFilterToolComponent = __decorate([
549
549
  ToolComponent({
550
550
  name: 'spatialFilter',
551
551
  title: 'igo.integration.tools.spatialFilter',
552
- icon: 'selection-marker'
552
+ icon: SELECTION_MARKER_ICON
553
553
  })
554
554
  /**
555
555
  * Spatial Filter Type
@@ -577,7 +577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
577
577
  FeatureDetailsComponent,
578
578
  NgIf,
579
579
  AsyncPipe
580
- ], template: "<igo-spatial-filter-type\r\n [store]=\"spatialListStore\"\r\n [selectedQueryType]=\"queryType\"\r\n [zone]=\"zone\"\r\n [layers]=\"activeLayers\"\r\n (eventType)=\"getOutputType($event)\"\r\n (eventQueryType)=\"getOutputQueryType($event)\"\r\n (zoneChange)=\"onZoneChange($event)\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (bufferChange)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n>\r\n</igo-spatial-filter-type>\r\n\r\n<igo-spatial-filter-item\r\n [type]=\"type\"\r\n [queryType]=\"queryType\"\r\n [map]=\"map\"\r\n [zone]=\"zone\"\r\n [loading]=\"loading\"\r\n [store]=\"store\"\r\n [layers]=\"activeLayers\"\r\n [allLayers]=\"layers\"\r\n [thematicLength]=\"thematicLength\"\r\n (radiusEvent)=\"buffer = $event\"\r\n (bufferEvent)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n (freehandControl)=\"freehandDrawIsActive = $event\"\r\n (drawZoneEvent)=\"zone = $event\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (itemTypeChange)=\"itemType = $event\"\r\n (thematicChange)=\"thematics = $event\"\r\n (toggleSearch)=\"getOutputToggleSearch()\"\r\n (clearButtonEvent)=\"clearMap()\"\r\n (clearSearchEvent)=\"getOutputClearSearch()\"\r\n (export)=\"activateExportTool()\"\r\n (openWorkspace)=\"activateWorkspace()\"\r\n (entityChange)=\"activateWorkspace($event)\"\r\n>\r\n</igo-spatial-filter-item>\r\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n</ng-container>\r\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"] }]
580
+ ], template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n>\n</igo-spatial-filter-type>\n\n<igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $event\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n>\n</igo-spatial-filter-item>\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n</ng-container>\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"] }]
581
581
  }], ctorParameters: () => [{ type: i1.MatIconRegistry }, { type: i2.SpatialFilterService }, { type: i2.DataSourceService }, { type: i2.LayerService }, { type: i3.MapState }, { type: i4.MessageService }, { type: i5.LanguageService }, { type: i6.ImportExportState }, { type: i7.ToolState }, { type: i8.WorkspaceState }, { type: i0.ChangeDetectorRef }], propDecorators: { type: [{
582
582
  type: Input
583
583
  }], itemType: [{
@@ -585,4 +585,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
585
585
  }], freehandDrawIsActive: [{
586
586
  type: Input
587
587
  }] } });
588
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci10b29sL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXItdG9vbC9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFHTCxpQkFBaUIsRUFHakIsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFHYixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFFckIsb0JBQW9CLEVBRXBCLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFFMUIsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxnQkFBZ0IsRUFDakIsTUFBTSxXQUFXLENBQUM7QUFHbkIsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFJaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFV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QTBCLENBdWxCdEM7OzJGQXZsQlksMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixJQUFJO3dCQUNKLFNBQVM7cUJBQ1Y7eVhBT1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlLCBQYW5lbENvbXBvbmVudCwgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2x1c3RlckRhdGFTb3VyY2UsXHJcbiAgRGF0YVNvdXJjZSxcclxuICBEYXRhU291cmNlU2VydmljZSxcclxuICBFeHBvcnRPcHRpb25zLFxyXG4gIEZlYXR1cmUsXHJcbiAgRmVhdHVyZURldGFpbHNDb21wb25lbnQsXHJcbiAgRmVhdHVyZU1vdGlvbixcclxuICBJZ29NYXAsXHJcbiAgTGF5ZXIsXHJcbiAgTGF5ZXJTZXJ2aWNlLFxyXG4gIE1lYXN1cmVMZW5ndGhVbml0LFxyXG4gIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zLFxyXG4gIFNwYXRpYWxGaWx0ZXJJdGVtQ29tcG9uZW50LFxyXG4gIFNwYXRpYWxGaWx0ZXJJdGVtVHlwZSxcclxuICBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlLFxyXG4gIFNwYXRpYWxGaWx0ZXJTZXJ2aWNlLFxyXG4gIFNwYXRpYWxGaWx0ZXJUaGVtYXRpYyxcclxuICBTcGF0aWFsRmlsdGVyVHlwZSxcclxuICBTcGF0aWFsRmlsdGVyVHlwZUNvbXBvbmVudCxcclxuICBWZWN0b3JMYXllcixcclxuICBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUsXHJcbiAgZmVhdHVyZVRvT2wsXHJcbiAgbW92ZVRvT2xGZWF0dXJlc1xyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBFdmVudHNLZXkgfSBmcm9tICdvbC9ldmVudHMnO1xyXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IG9sU291cmNlQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XHJcbmltcG9ydCBvbFNvdXJjZVZlY3RvciBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcclxuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xyXG5pbXBvcnQgeyBUb29sU3RhdGUgfSBmcm9tICcuLi8uLi90b29sL3Rvb2wuc3RhdGUnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2VTdGF0ZSB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZS93b3Jrc3BhY2Uuc3RhdGUnO1xyXG5pbXBvcnQge1xyXG4gIEltcG9ydEV4cG9ydE1vZGUsXHJcbiAgSW1wb3J0RXhwb3J0U3RhdGVcclxufSBmcm9tICcuLy4uLy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogVG9vbCB0byBhcHBseSBzcGF0aWFsIGZpbHRlclxyXG4gKi9cclxuQFRvb2xDb21wb25lbnQoe1xyXG4gIG5hbWU6ICdzcGF0aWFsRmlsdGVyJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5zcGF0aWFsRmlsdGVyJyxcclxuICBpY29uOiAnc2VsZWN0aW9uLW1hcmtlcidcclxufSlcclxuLyoqXHJcbiAqIFNwYXRpYWwgRmlsdGVyIFR5cGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNwYXRpYWwtZmlsdGVyLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBTcGF0aWFsRmlsdGVyVHlwZUNvbXBvbmVudCxcclxuICAgIFNwYXRpYWxGaWx0ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgUGFuZWxDb21wb25lbnQsXHJcbiAgICBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcclxuICAgIE5nSWYsXHJcbiAgICBBc3luY1BpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGF0aWFsRmlsdGVyVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSB0eXBlOiBTcGF0aWFsRmlsdGVyVHlwZTtcclxuICBASW5wdXQoKSBpdGVtVHlwZTogU3BhdGlhbEZpbHRlckl0ZW1UeXBlID0gU3BhdGlhbEZpbHRlckl0ZW1UeXBlLkFkZHJlc3M7XHJcbiAgQElucHV0KCkgZnJlZWhhbmREcmF3SXNBY3RpdmU6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBsYXllcnM6IExheWVyW10gPSBbXTtcclxuICBwdWJsaWMgYWN0aXZlTGF5ZXJzOiBMYXllcltdID0gW107XHJcblxyXG4gIHB1YmxpYyBxdWVyeVR5cGU6IFNwYXRpYWxGaWx0ZXJRdWVyeVR5cGU7XHJcbiAgcHVibGljIHRoZW1hdGljczogU3BhdGlhbEZpbHRlclRoZW1hdGljW107XHJcbiAgcHVibGljIHpvbmU6IEZlYXR1cmU7XHJcbiAgcHVibGljIHpvbmVXaXRoQnVmZmVyOiBGZWF0dXJlO1xyXG4gIHB1YmxpYyBidWZmZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgaXRlcmF0b3IgPSAxO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRGZWF0dXJlJDogQmVoYXZpb3JTdWJqZWN0PEZlYXR1cmU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBwdWJsaWMgc3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+ID0gbmV3IEVudGl0eVN0b3JlPEZlYXR1cmU+KFtdKTsgLy8gU3RvcmUgdG8gcHJpbnQgcmVzdWx0cyBhdCB0aGUgZW5kXHJcblxyXG4gIHB1YmxpYyBzcGF0aWFsTGlzdFN0b3JlOiBFbnRpdHlTdG9yZTxGZWF0dXJlPiA9IG5ldyBFbnRpdHlTdG9yZTxGZWF0dXJlPihbXSk7XHJcblxyXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyB0aGVtYXRpY0xlbmd0aCA9IDA7XHJcblxyXG4gIHB1YmxpYyBtZWFzdXJlVW5pdDogTWVhc3VyZUxlbmd0aFVuaXQgPSBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnM7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIG1vdmVlbmRLZXk6IEV2ZW50c0tleTtcclxuXHJcbiAgcHVibGljIGRlZmF1bHRTdHlsZTogb2xzdHlsZS5TdHlsZSB8ICgoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4gb2xzdHlsZS5TdHlsZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHByaXZhdGUgc3BhdGlhbEZpbHRlclNlcnZpY2U6IFNwYXRpYWxGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZSxcclxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXHJcbiAgICBwcml2YXRlIHdvcmtzcGFjZVN0YXRlOiBXb3Jrc3BhY2VTdGF0ZSxcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5tYXAubGF5ZXJzKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBsYXllci50aXRsZSAmJlxyXG4gICAgICAgIGxheWVyLnRpdGxlLmluY2x1ZGVzKFxyXG4gICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubGF5ZXJzLnB1c2gobGF5ZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRPdXRwdXRUeXBlKGV2ZW50OiBTcGF0aWFsRmlsdGVyVHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gZXZlbnQ7XHJcbiAgICB0aGlzLnF1ZXJ5VHlwZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGdldE91dHB1dFF1ZXJ5VHlwZShldmVudDogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSkge1xyXG4gICAgdGhpcy5xdWVyeVR5cGUgPSBldmVudDtcclxuICAgIGlmICh0aGlzLnF1ZXJ5VHlwZSkge1xyXG4gICAgICB0aGlzLmxvYWRGaWx0ZXJMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZUV4cG9ydFRvb2woKSB7XHJcbiAgICBjb25zdCBpZHMgPSBbXTtcclxuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCgnXlpvbmUgXFxcXGQrJyk7XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XHJcbiAgICAgIGlmICghbGF5ZXIudGl0bGUubWF0Y2gocmUpKSB7XHJcbiAgICAgICAgaWRzLnB1c2gobGF5ZXIuaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldE1vZGUoSW1wb3J0RXhwb3J0TW9kZS5leHBvcnQpO1xyXG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyh7IGxheWVyczogaWRzIH0gYXMgRXhwb3J0T3B0aW9ucyk7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnaW1wb3J0RXhwb3J0Jyk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZVdvcmtzcGFjZShyZWNvcmQ/KSB7XHJcbiAgICBsZXQgbGF5ZXJUb09wZW5Xa3M7XHJcbiAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnN0b3JlLmVudGl0aWVzJFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAhcmVjb3JkICYmXHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5sZW5ndGggJiZcclxuICAgICAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuYWxsKCkubGVuZ3RoID4gMVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXRlbVR5cGUgPT09IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZS5UaGVtYXRpY3MpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB0aGVtYXRpYyBvZiB0aGlzLnRoZW1hdGljcykge1xyXG4gICAgICAgICAgICAgIGlmICghdGhlbWF0aWMuemVyb1Jlc3VsdHMpIHtcclxuICAgICAgICAgICAgICAgIGxheWVyVG9PcGVuV2tzID0gdGhpcy5hY3RpdmVMYXllcnMuZmluZCgobGF5ZXIpID0+XHJcbiAgICAgICAgICAgICAgICAgIGxheWVyLnRpdGxlLmluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoZW1hdGljLm5hbWUgKyAnICcgKyB0aGlzLml0ZXJhdG9yLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSAnQWRyZXNzZXMgJyArIHRoaXMuaXRlcmF0b3IudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMuZm9yRWFjaCgobGF5ZXIpID0+IHtcclxuICAgICAgICAgICAgICBpZiAobGF5ZXIudGl0bGUuaW5jbHVkZXModGl0bGUpKSB7XHJcbiAgICAgICAgICAgICAgICBsYXllclRvT3BlbldrcyA9IGxheWVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGxheWVyVG9PcGVuV2tzKSB7XHJcbiAgICAgICAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlUGFuZWxFeHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc2V0QWN0aXZlV29ya3NwYWNlQnlJZChsYXllclRvT3Blbldrcy5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgIHJlY29yZCAmJlxyXG4gICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMubGVuZ3RoICYmXHJcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnN0b3JlLmFsbCgpLmxlbmd0aCA+IDFcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0V29ya3NwYWNlRW50aXR5KHJlY29yZCk7XHJcbiAgICAgICAgICB0aGlzLm1vdmVlbmRLZXkgPSB0aGlzLm1hcC5vbC5vbignbW92ZWVuZCcsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RXb3Jrc3BhY2VFbnRpdHkocmVjb3JkKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdFdvcmtzcGFjZUVudGl0eShyZWNvcmQpIHtcclxuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuYWxsKCkuZm9yRWFjaCgod29ya3NwYWNlKSA9PiB7XHJcbiAgICAgIHdvcmtzcGFjZS5lbnRpdHlTdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBzZWxlY3RlZDogZmFsc2UgfSk7XHJcbiAgICAgIGlmICh3b3Jrc3BhY2UudGl0bGUuaW5jbHVkZXMocmVjb3JkLmFkZGVkWzBdLm1ldGEudGl0bGUpKSB7XHJcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKHdvcmtzcGFjZS5pZCk7XHJcbiAgICAgICAgd29ya3NwYWNlLmVudGl0eVN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkocmVjb3JkLmFkZGVkLCB7XHJcbiAgICAgICAgICBzZWxlY3RlZDogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEZpbHRlckxpc3QoKSB7XHJcbiAgICB0aGlzLnNwYXRpYWxGaWx0ZXJTZXJ2aWNlXHJcbiAgICAgIC5sb2FkRmlsdGVyTGlzdCh0aGlzLnF1ZXJ5VHlwZSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4ge1xyXG4gICAgICAgIGZlYXR1cmVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgIGlmIChhLnByb3BlcnRpZXMubm9tIDwgYi5wcm9wZXJ0aWVzLm5vbSkge1xyXG4gICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoYS5wcm9wZXJ0aWVzLm5vbSA+IGIucHJvcGVydGllcy5ub20pIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNwYXRpYWxMaXN0U3RvcmUuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnNwYXRpYWxMaXN0U3RvcmUubG9hZChmZWF0dXJlcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3V0cHV0VG9nZ2xlU2VhcmNoKCkge1xyXG4gICAgdGhpcy5sb2FkVGhlbWF0aWNzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRPdXRwdXRDbGVhclNlYXJjaCgpIHtcclxuICAgIHRoaXMuem9uZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucXVlcnlUeXBlID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJNYXAoKSB7XHJcbiAgICB0aGlzLm1hcC5yZW1vdmVMYXllcnModGhpcy5sYXllcnMpO1xyXG4gICAgdGhpcy5sYXllcnMgPSBbXTtcclxuICAgIHRoaXMuYWN0aXZlTGF5ZXJzID0gW107XHJcbiAgICB0aGlzLnRoZW1hdGljTGVuZ3RoID0gMDtcclxuICAgIHRoaXMuaXRlcmF0b3IgPSAxO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnpvbmUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMucXVlcnlUeXBlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkVGhlbWF0aWNzKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCB6ZXJvUmVzdWx0cyA9IHRydWU7XHJcbiAgICBsZXQgdGhlbWF0aWNzO1xyXG4gICAgaWYgKHRoaXMuYnVmZmVyID09PSAwIHx8IHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUG9pbnQpIHtcclxuICAgICAgdGhpcy50cnlBZGRGZWF0dXJlc1RvTWFwKFt0aGlzLnpvbmVdKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLml0ZW1UeXBlICE9PSBTcGF0aWFsRmlsdGVySXRlbVR5cGUuVGhlbWF0aWNzKSB7XHJcbiAgICAgIGNvbnN0IHRoZW1lOiBTcGF0aWFsRmlsdGVyVGhlbWF0aWMgPSB7XHJcbiAgICAgICAgbmFtZTogJydcclxuICAgICAgfTtcclxuICAgICAgdGhlbWF0aWNzID0gW3RoZW1lXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoZW1hdGljcyA9IHRoaXMudGhlbWF0aWNzO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm1lYXN1cmVVbml0ID09PSBNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzICYmXHJcbiAgICAgIHRoaXMudHlwZSAhPT0gU3BhdGlhbEZpbHRlclR5cGUuUG9pbnRcclxuICAgICkge1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyICogMTAwMDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlBvbHlnb24pIHtcclxuICAgICAgdGhpcy5idWZmZXIgPSAwOyAvLyB0byBhdm9pZCBidWZmZXIgZW50ZXIgYSBzZWNvbmQgdGltZSBpbiB0ZXJyQVBJXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMkOiBPYnNlcnZhYmxlPEZlYXR1cmVbXT5bXSA9IFtdO1xyXG4gICAgdGhlbWF0aWNzLmZvckVhY2goKHRoZW1hdGljKSA9PiB7XHJcbiAgICAgIG9ic2VydmFibGVzJC5wdXNoKFxyXG4gICAgICAgIHRoaXMuc3BhdGlhbEZpbHRlclNlcnZpY2VcclxuICAgICAgICAgIC5sb2FkRmlsdGVySXRlbShcclxuICAgICAgICAgICAgdGhpcy56b25lLFxyXG4gICAgICAgICAgICB0aGlzLml0ZW1UeXBlLFxyXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5VHlwZSxcclxuICAgICAgICAgICAgdGhlbWF0aWMsXHJcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgdGFwKChmZWF0dXJlczogRmVhdHVyZVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5pbnNlcnRNYW55KGZlYXR1cmVzKTtcclxuICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlc1BvaW50OiBGZWF0dXJlW10gPSBbXTtcclxuICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlc0xpbmVQb2x5OiBGZWF0dXJlW10gPSBbXTtcclxuICAgICAgICAgICAgICBsZXQgaWRQb2ludDtcclxuICAgICAgICAgICAgICBsZXQgaWRMaW5lUG9seTtcclxuICAgICAgICAgICAgICBmZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmVhdHVyZS5nZW9tZXRyeS50eXBlID09PSAnUG9pbnQnKSB7XHJcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy5sb25naXR1ZGUgPVxyXG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF07XHJcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy5sYXRpdHVkZSA9IGZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV07XHJcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVzUG9pbnQucHVzaChmZWF0dXJlKTtcclxuICAgICAgICAgICAgICAgICAgaWRQb2ludCA9IGZlYXR1cmUubWV0YS5pZDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVzTGluZVBvbHkucHVzaChmZWF0dXJlKTtcclxuICAgICAgICAgICAgICAgICAgaWRMaW5lUG9seSA9IGZlYXR1cmUubWV0YS5pZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy50cnlBZGRQb2ludFRvTWFwKGZlYXR1cmVzUG9pbnQsIGlkUG9pbnQpO1xyXG4gICAgICAgICAgICAgIHRoaXMudHJ5QWRkTGF5ZXJUb01hcChmZWF0dXJlc0xpbmVQb2x5LCBpZExpbmVQb2x5KTtcclxuICAgICAgICAgICAgICBpZiAoZmVhdHVyZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB6ZXJvUmVzdWx0cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aGVtYXRpY0xlbmd0aCArPSAxO1xyXG4gICAgICAgICAgICAgICAgdGhlbWF0aWMuemVyb1Jlc3VsdHMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGVtYXRpYy56ZXJvUmVzdWx0cyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID49IDEwMDAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFsZXJ0KFxyXG4gICAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLm1heFNpemVBbGVydCcsXHJcbiAgICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIud2FybmluZycsXHJcbiAgICAgICAgICAgICAgICAgIHsgdGltZU91dDogMTAwMDAgfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBmb3JrSm9pbihvYnNlcnZhYmxlcyQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh6ZXJvUmVzdWx0cykge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci56ZXJvUmVzdWx0cycsXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIud2FybmluZycsXHJcbiAgICAgICAgICAgIHsgdGltZU91dDogMTAwMDAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25ab25lQ2hhbmdlKGZlYXR1cmU6IEZlYXR1cmUsIGJ1ZmZlcj86IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuem9uZSA9IGZlYXR1cmU7XHJcbiAgICBpZiAoZmVhdHVyZSkge1xyXG4gICAgICBidWZmZXJcclxuICAgICAgICA/IHRoaXMudHJ5QWRkRmVhdHVyZXNUb01hcChbZmVhdHVyZV0sIHRydWUpXHJcbiAgICAgICAgOiB0aGlzLnRyeUFkZEZlYXR1cmVzVG9NYXAoW2ZlYXR1cmVdKTtcclxuICAgICAgdGhpcy56b29tVG9GZWF0dXJlRXh0ZW50KGZlYXR1cmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGFkZCB6b25lIGZlYXR1cmUgdG8gdGhlIG1hcCBvdmVybGF5XHJcbiAgICovXHJcbiAgcHVibGljIHRyeUFkZEZlYXR1cmVzVG9NYXAoZmVhdHVyZXM6IEZlYXR1cmVbXSwgYnVmZmVyPzogYm9vbGVhbikge1xyXG4gICAgbGV0IGkgPSAxO1xyXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIGZlYXR1cmVzKSB7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGxheWVyLm9wdGlvbnMuX2ludGVybmFsICYmXHJcbiAgICAgICAgICAgIGxheWVyLm9wdGlvbnMuX2ludGVybmFsLmNvZGUgPT09IGZlYXR1cmUucHJvcGVydGllcy5jb2RlICYmXHJcbiAgICAgICAgICAgICFidWZmZXJcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpZiAoIWxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJykpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzLmluZGV4T2YobGF5ZXIpO1xyXG4gICAgICAgICAgICAgIHRoaXMubGF5ZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJykpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMgPSBbXTtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxheWVycy5pbmRleE9mKGxheWVyKTtcclxuICAgICAgICAgICAgdGhpcy5sYXllcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIobGF5ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoYnVmZmVyKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMuYWN0aXZlTGF5ZXJzKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5sZW5ndGggPT09IDEgJiZcclxuICAgICAgICAgICAgICBsYXllci50aXRsZT8uc3RhcnRzV2l0aCgnWm9uZScpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sYXllcnMuaW5kZXhPZihsYXllcik7XHJcbiAgICAgICAgICAgICAgdGhpcy5sYXllcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihsYXllcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMgPSBbXTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XHJcbiAgICAgICAgaWYgKGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJykpIHtcclxuICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kZWZhdWx0U3R5bGUgPSAoX2ZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IChmZWF0dXJlc1swXSBhcyBhbnkpLmNvb3JkaW5hdGVzO1xyXG4gICAgICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgcmFkaXVzOiBjb29yZGluYXRlc1xyXG4gICAgICAgICAgICAgID8gdGhpcy5idWZmZXIgL1xyXG4gICAgICAgICAgICAgICAgTWF0aC5jb3MoKE1hdGguUEkgLyAxODApICogY29vcmRpbmF0ZXNbMV0pIC9cclxuICAgICAgICAgICAgICAgIHJlc29sdXRpb25cclxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDIwMCwgMjAwLCAyMCwgMC4yKSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICB3aWR0aDogMSxcclxuICAgICAgICAgICAgICBjb2xvcjogJ29yYW5nZSdcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICB3aWR0aDogMSxcclxuICAgICAgICAgICAgY29sb3I6ICdvcmFuZ2UnXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwLCAwLjIpJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlU2VydmljZVxyXG4gICAgICAgIC5jcmVhdGVBc3luY0RhdGFTb3VyY2Uoe1xyXG4gICAgICAgICAgdHlwZTogJ3ZlY3RvcicsXHJcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWVcclxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgb2xMYXllciA9IHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUxheWVyKHtcclxuICAgICAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogKCdab25lICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIHdvcmtzcGFjZTogeyBlbmFibGVkOiB0cnVlIH0sXHJcbiAgICAgICAgICAgIF9pbnRlcm5hbDoge1xyXG4gICAgICAgICAgICAgIGNvZGU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWRcclxuICAgICAgICAgICAgICAgICAgPyBmZWF0dXJlLnByb3BlcnRpZXMuY29kZVxyXG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXHJcbiAgICAgICAgICAgIHZpc2libGU6IHRydWVcclxuICAgICAgICAgIH0pIGFzIFZlY3RvckxheWVyO1xyXG4gICAgICAgICAgY29uc3QgZmVhdHVyZXNPbCA9IGZlYXR1cmVzLm1hcCgoZikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZmVhdHVyZVRvT2woZiwgdGhpcy5tYXAucHJvamVjdGlvbik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmICh0aGlzLnR5cGUgIT09IFNwYXRpYWxGaWx0ZXJUeXBlLlByZWRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgdHlwZSA9XHJcbiAgICAgICAgICAgICAgdGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludCA/ICdDZXJjbGUnIDogJ1BvbHlnb25lJztcclxuICAgICAgICAgICAgZmVhdHVyZXNPbFswXS5zZXQoJ25vbScsICdab25lJywgdHJ1ZSk7XHJcbiAgICAgICAgICAgIGZlYXR1cmVzT2xbMF0uc2V0KCd0eXBlJywgdHlwZSwgdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBvbCA9IGRhdGFTb3VyY2Uub2wgYXNcclxuICAgICAgICAgICAgfCBvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5PlxyXG4gICAgICAgICAgICB8IG9sU291cmNlQ2x1c3RlcjtcclxuICAgICAgICAgIG9sLmFkZEZlYXR1cmVzKGZlYXR1cmVzT2wpO1xyXG4gICAgICAgICAgb2xMYXllci5vbC5zZXRTdHlsZSh0aGlzLmRlZmF1bHRTdHlsZSk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRMYXllcihvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMubGF5ZXJzLnB1c2gob2xMYXllcik7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5wdXNoKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIHBvaW50IGZlYXR1cmVzIHRvIHRoZSBtYXBcclxuICAgKiBOZWNlc3NhcnkgdG8gY3JlYXRlIGNsdXN0ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0cnlBZGRQb2ludFRvTWFwKGZlYXR1cmVzOiBGZWF0dXJlW10sIGlkKSB7XHJcbiAgICBsZXQgaSA9IDE7XHJcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh0aGlzLm1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoZmVhdHVyZXNbMF0ubWV0YS50aXRsZSkpIHtcclxuICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kYXRhU291cmNlU2VydmljZVxyXG4gICAgICAgIC5jcmVhdGVBc3luY0RhdGFTb3VyY2Uoe1xyXG4gICAgICAgICAgdHlwZTogJ2NsdXN0ZXInLFxyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXHJcbiAgICAgICAgICBkaXN0YW5jZTogMTIwLFxyXG4gICAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NsdXN0ZXInXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBhcyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucylcclxuICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTb3VyY2U6IENsdXN0ZXJEYXRhU291cmNlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpY29uID0gZmVhdHVyZXNbMF0ubWV0YS5pY29uO1xyXG4gICAgICAgICAgbGV0IHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xyXG4gICAgICAgICAgaWYgKCFpY29uKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3ZnSWNvbihpY29uKSB8fCBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCBvbExheWVyID0gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlTGF5ZXIoe1xyXG4gICAgICAgICAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiAoZmVhdHVyZXNbMF0ubWV0YS50aXRsZSArXHJcbiAgICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgICBpICtcclxuICAgICAgICAgICAgICAnIC0gJyArXHJcbiAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNwYXRpYWxGaWx0ZXInXHJcbiAgICAgICAgICAgICAgKSkgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXHJcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIHN0eWxlXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3Qgb2wgPSBkYXRhU291cmNlLm9sIGFzIG9sU291cmNlQ2x1c3RlcjtcclxuICAgICAgICAgIG9sLmdldFNvdXJjZSgpLmFkZEZlYXR1cmVzKGZlYXR1cmVzT2wpO1xyXG4gICAgICAgICAgaWYgKHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyKSA9PiBsYXllci5pZCA9PT0gb2xMYXllci5pZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoXHJcbiAgICAgICAgICAgICAgdGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpID0gaSAtIDE7XHJcbiAgICAgICAgICAgIG9sTGF5ZXIudGl0bGUgPSAoZmVhdHVyZXNbMF0ubWV0YS50aXRsZSArXHJcbiAgICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgICBpICtcclxuICAgICAgICAgICAgICAnIC0gJyArXHJcbiAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNwYXRpYWxGaWx0ZXInXHJcbiAgICAgICAgICAgICAgKSkgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICBvbExheWVyLm9wdGlvbnMudGl0bGUgPSBvbExheWVyLnRpdGxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5pdGVyYXRvciA9IGk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRMYXllcihvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMubGF5ZXJzLnB1c2gob2xMYXllcik7XHJcbiAgICAgICAgICB0aGlzLnB1c2hMYXllcihvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVTdmdJY29uKGljb24pOiBvbHN0eWxlLlN0eWxlIHtcclxuICAgIGxldCBzdHlsZTogb2xzdHlsZS5TdHlsZTtcclxuICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmdldE5hbWVkU3ZnSWNvbihpY29uKS5zdWJzY3JpYmUoKHN2Z09iaikgPT4ge1xyXG4gICAgICBjb25zdCB4bWxTZXJpYWxpemVyID0gbmV3IFhNTFNlcmlhbGl6ZXIoKTtcclxuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMzAnKTtcclxuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgJzMwJyk7XHJcbiAgICAgIHN2Z09iai5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAncmdiYSgwLCAxMjgsIDI1NSknKTtcclxuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgJ3doaXRlJyk7XHJcbiAgICAgIGNvbnN0IHN2ZyA9IHhtbFNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmcoc3ZnT2JqKTtcclxuICAgICAgc3R5bGUgPSBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkljb24oe1xyXG4gICAgICAgICAgc3JjOiAnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJyArIHN2Z1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBhZGQgbGluZSBvciBwb2x5Z29uIGZlYXR1cmVzIHRvIHRoZSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIHRyeUFkZExheWVyVG9NYXAoZmVhdHVyZXM6IEZlYXR1cmVbXSwgaWQpIHtcclxuICAgIGxldCBpID0gMTtcclxuICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcclxuICAgICAgaWYgKHRoaXMubWFwID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLmxheWVycykge1xyXG4gICAgICAgIGlmIChsYXllci50aXRsZT8uc3RhcnRzV2l0aChmZWF0dXJlc1swXS5tZXRhLnRpdGxlKSkge1xyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgcXVlcnlhYmxlOiB0cnVlXHJcbiAgICAgICAgfSBhcyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucylcclxuICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG9sTGF5ZXIgPSB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVMYXllcih7XHJcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3Qgb2wgPSBkYXRhU291cmNlLm9sIGFzIG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+O1xyXG4gICAgICAgICAgb2wuYWRkRmVhdHVyZXMoZmVhdHVyZXNPbCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihcclxuICAgICAgICAgICAgICB0aGlzLmxheWVycy5maW5kKChsYXllcikgPT4gbGF5ZXIuaWQgPT09IG9sTGF5ZXIuaWQpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGkgPSBpIC0gMTtcclxuICAgICAgICAgICAgb2xMYXllci50aXRsZSA9IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIG9sTGF5ZXIub3B0aW9ucy50aXRsZSA9IG9sTGF5ZXIudGl0bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRMYXllcihvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMubGF5ZXJzLnB1c2gob2xMYXllcik7XHJcbiAgICAgICAgICB0aGlzLnB1c2hMYXllcihvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgem9vbVRvRmVhdHVyZUV4dGVudChmZWF0dXJlKSB7XHJcbiAgICBpZiAoZmVhdHVyZSkge1xyXG4gICAgICBjb25zdCBvbEZlYXR1cmUgPSB0aGlzLmZvcm1hdC5yZWFkRmVhdHVyZShmZWF0dXJlLCB7XHJcbiAgICAgICAgZGF0YVByb2plY3Rpb246IGZlYXR1cmUucHJvamVjdGlvbixcclxuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgICB9KTtcclxuICAgICAgbW92ZVRvT2xGZWF0dXJlcyhcclxuICAgICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlcixcclxuICAgICAgICBbb2xGZWF0dXJlXSxcclxuICAgICAgICBGZWF0dXJlTW90aW9uLlpvb21cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1c2hMYXllcihsYXllcikge1xyXG4gICAgZm9yIChjb25zdCBsYXkgb2YgdGhpcy5hY3RpdmVMYXllcnMpIHtcclxuICAgICAgaWYgKGxheS5pZCA9PT0gbGF5ZXIuaWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUxheWVycy5wdXNoKGxheWVyKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1zcGF0aWFsLWZpbHRlci10eXBlXHJcbiAgW3N0b3JlXT1cInNwYXRpYWxMaXN0U3RvcmVcIlxyXG4gIFtzZWxlY3RlZFF1ZXJ5VHlwZV09XCJxdWVyeVR5cGVcIlxyXG4gIFt6b25lXT1cInpvbmVcIlxyXG4gIFtsYXllcnNdPVwiYWN0aXZlTGF5ZXJzXCJcclxuICAoZXZlbnRUeXBlKT1cImdldE91dHB1dFR5cGUoJGV2ZW50KVwiXHJcbiAgKGV2ZW50UXVlcnlUeXBlKT1cImdldE91dHB1dFF1ZXJ5VHlwZSgkZXZlbnQpXCJcclxuICAoem9uZUNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKHpvbmVXaXRoQnVmZmVyQ2hhbmdlKT1cIm9uWm9uZUNoYW5nZSgkZXZlbnQsIHRydWUpXCJcclxuICAoYnVmZmVyQ2hhbmdlKT1cImJ1ZmZlciA9ICRldmVudFwiXHJcbiAgKG1lYXN1cmVVbml0Q2hhbmdlKT1cIm1lYXN1cmVVbml0ID0gJGV2ZW50XCJcclxuPlxyXG48L2lnby1zcGF0aWFsLWZpbHRlci10eXBlPlxyXG5cclxuPGlnby1zcGF0aWFsLWZpbHRlci1pdGVtXHJcbiAgW3R5cGVdPVwidHlwZVwiXHJcbiAgW3F1ZXJ5VHlwZV09XCJxdWVyeVR5cGVcIlxyXG4gIFttYXBdPVwibWFwXCJcclxuICBbem9uZV09XCJ6b25lXCJcclxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICBbc3RvcmVdPVwic3RvcmVcIlxyXG4gIFtsYXllcnNdPVwiYWN0aXZlTGF5ZXJzXCJcclxuICBbYWxsTGF5ZXJzXT1cImxheWVyc1wiXHJcbiAgW3RoZW1hdGljTGVuZ3RoXT1cInRoZW1hdGljTGVuZ3RoXCJcclxuICAocmFkaXVzRXZlbnQpPVwiYnVmZmVyID0gJGV2ZW50XCJcclxuICAoYnVmZmVyRXZlbnQpPVwiYnVmZmVyID0gJGV2ZW50XCJcclxuICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxyXG4gIChmcmVlaGFuZENvbnRyb2wpPVwiZnJlZWhhbmREcmF3SXNBY3RpdmUgPSAkZXZlbnRcIlxyXG4gIChkcmF3Wm9uZUV2ZW50KT1cInpvbmUgPSAkZXZlbnRcIlxyXG4gICh6b25lV2l0aEJ1ZmZlckNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50LCB0cnVlKVwiXHJcbiAgKGl0ZW1UeXBlQ2hhbmdlKT1cIml0ZW1UeXBlID0gJGV2ZW50XCJcclxuICAodGhlbWF0aWNDaGFuZ2UpPVwidGhlbWF0aWNzID0gJGV2ZW50XCJcclxuICAodG9nZ2xlU2VhcmNoKT1cImdldE91dHB1dFRvZ2dsZVNlYXJjaCgpXCJcclxuICAoY2xlYXJCdXR0b25FdmVudCk9XCJjbGVhck1hcCgpXCJcclxuICAoY2xlYXJTZWFyY2hFdmVudCk9XCJnZXRPdXRwdXRDbGVhclNlYXJjaCgpXCJcclxuICAoZXhwb3J0KT1cImFjdGl2YXRlRXhwb3J0VG9vbCgpXCJcclxuICAob3BlbldvcmtzcGFjZSk9XCJhY3RpdmF0ZVdvcmtzcGFjZSgpXCJcclxuICAoZW50aXR5Q2hhbmdlKT1cImFjdGl2YXRlV29ya3NwYWNlKCRldmVudClcIlxyXG4+XHJcbjwvaWdvLXNwYXRpYWwtZmlsdGVyLWl0ZW0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEZlYXR1cmUkIHwgYXN5bmMgYXMgZmVhdHVyZVwiPlxyXG4gIDxpZ28tZmVhdHVyZS1kZXRhaWxzIFtmZWF0dXJlXT1cImZlYXR1cmVcIj48L2lnby1mZWF0dXJlLWRldGFpbHM+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
588
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci10b29sL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXItdG9vbC9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sRUFDTCxXQUFXLEVBQ1gsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixhQUFhLEVBQ2QsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBR0wsaUJBQWlCLEVBR2pCLHVCQUF1QixFQUN2QixhQUFhLEVBR2IsWUFBWSxFQUNaLGlCQUFpQixFQUVqQiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBRXJCLG9CQUFvQixFQUVwQixpQkFBaUIsRUFDakIsMEJBQTBCLEVBRTFCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sV0FBVyxDQUFDO0FBR25CLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sS0FBSyxP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QWlCO0dBcER2QiwwQkFBMEIsQ0FxbEJ0Qzs7MkZBcmxCWSwwQkFBMEI7a0JBZnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLElBQUk7d0JBQ0osU0FBUztxQkFDVjt5WEFPUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQge1xuICBFbnRpdHlTdG9yZSxcbiAgUGFuZWxDb21wb25lbnQsXG4gIFNFTEVDVElPTl9NQVJLRVJfSUNPTixcbiAgVG9vbENvbXBvbmVudFxufSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5pbXBvcnQge1xuICBDbHVzdGVyRGF0YVNvdXJjZSxcbiAgRGF0YVNvdXJjZSxcbiAgRGF0YVNvdXJjZVNlcnZpY2UsXG4gIEV4cG9ydE9wdGlvbnMsXG4gIEZlYXR1cmUsXG4gIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxuICBGZWF0dXJlTW90aW9uLFxuICBJZ29NYXAsXG4gIExheWVyLFxuICBMYXllclNlcnZpY2UsXG4gIE1lYXN1cmVMZW5ndGhVbml0LFxuICBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgU3BhdGlhbEZpbHRlckl0ZW1Db21wb25lbnQsXG4gIFNwYXRpYWxGaWx0ZXJJdGVtVHlwZSxcbiAgU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZSxcbiAgU3BhdGlhbEZpbHRlclNlcnZpY2UsXG4gIFNwYXRpYWxGaWx0ZXJUaGVtYXRpYyxcbiAgU3BhdGlhbEZpbHRlclR5cGUsXG4gIFNwYXRpYWxGaWx0ZXJUeXBlQ29tcG9uZW50LFxuICBWZWN0b3JMYXllcixcbiAgY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlLFxuICBmZWF0dXJlVG9PbCxcbiAgbW92ZVRvT2xGZWF0dXJlc1xufSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQgeyBFdmVudHNLZXkgfSBmcm9tICdvbC9ldmVudHMnO1xuaW1wb3J0IG9sRm9ybWF0R2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XG5pbXBvcnQgb2xTb3VyY2VDbHVzdGVyIGZyb20gJ29sL3NvdXJjZS9DbHVzdGVyJztcbmltcG9ydCBvbFNvdXJjZVZlY3RvciBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCAqIGFzIG9sc3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTdGF0ZSB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZS93b3Jrc3BhY2Uuc3RhdGUnO1xuaW1wb3J0IHtcbiAgSW1wb3J0RXhwb3J0TW9kZSxcbiAgSW1wb3J0RXhwb3J0U3RhdGVcbn0gZnJvbSAnLi8uLi8uLi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gYXBwbHkgc3BhdGlhbCBmaWx0ZXJcbiAqL1xuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnc3BhdGlhbEZpbHRlcicsXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnNwYXRpYWxGaWx0ZXInLFxuICBpY29uOiBTRUxFQ1RJT05fTUFSS0VSX0lDT05cbn0pXG4vKipcbiAqIFNwYXRpYWwgRmlsdGVyIFR5cGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNwYXRpYWwtZmlsdGVyLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTcGF0aWFsRmlsdGVyVHlwZUNvbXBvbmVudCxcbiAgICBTcGF0aWFsRmlsdGVySXRlbUNvbXBvbmVudCxcbiAgICBQYW5lbENvbXBvbmVudCxcbiAgICBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBOZ0lmLFxuICAgIEFzeW5jUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNwYXRpYWxGaWx0ZXJUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgQElucHV0KCkgdHlwZTogU3BhdGlhbEZpbHRlclR5cGU7XG4gIEBJbnB1dCgpIGl0ZW1UeXBlOiBTcGF0aWFsRmlsdGVySXRlbVR5cGUgPSBTcGF0aWFsRmlsdGVySXRlbVR5cGUuQWRkcmVzcztcbiAgQElucHV0KCkgZnJlZWhhbmREcmF3SXNBY3RpdmU6IGJvb2xlYW47XG5cbiAgcHVibGljIGxheWVyczogTGF5ZXJbXSA9IFtdO1xuICBwdWJsaWMgYWN0aXZlTGF5ZXJzOiBMYXllcltdID0gW107XG5cbiAgcHVibGljIHF1ZXJ5VHlwZTogU3BhdGlhbEZpbHRlclF1ZXJ5VHlwZTtcbiAgcHVibGljIHRoZW1hdGljczogU3BhdGlhbEZpbHRlclRoZW1hdGljW107XG4gIHB1YmxpYyB6b25lOiBGZWF0dXJlO1xuICBwdWJsaWMgem9uZVdpdGhCdWZmZXI6IEZlYXR1cmU7XG4gIHB1YmxpYyBidWZmZXIgPSAwO1xuXG4gIHB1YmxpYyBpdGVyYXRvciA9IDE7XG5cbiAgcHVibGljIHNlbGVjdGVkRmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgcHJpdmF0ZSBmb3JtYXQgPSBuZXcgb2xGb3JtYXRHZW9KU09OKCk7XG5cbiAgcHVibGljIHN0b3JlOiBFbnRpdHlTdG9yZTxGZWF0dXJlPiA9IG5ldyBFbnRpdHlTdG9yZTxGZWF0dXJlPihbXSk7IC8vIFN0b3JlIHRvIHByaW50IHJlc3VsdHMgYXQgdGhlIGVuZFxuXG4gIHB1YmxpYyBzcGF0aWFsTGlzdFN0b3JlOiBFbnRpdHlTdG9yZTxGZWF0dXJlPiA9IG5ldyBFbnRpdHlTdG9yZTxGZWF0dXJlPihbXSk7XG5cbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgdGhlbWF0aWNMZW5ndGggPSAwO1xuXG4gIHB1YmxpYyBtZWFzdXJlVW5pdDogTWVhc3VyZUxlbmd0aFVuaXQgPSBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnM7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIG1vdmVlbmRLZXk6IEV2ZW50c0tleTtcblxuICBwdWJsaWMgZGVmYXVsdFN0eWxlOiBvbHN0eWxlLlN0eWxlIHwgKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiBvbHN0eWxlLlN0eWxlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxuICAgIHByaXZhdGUgc3BhdGlhbEZpbHRlclNlcnZpY2U6IFNwYXRpYWxGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZSxcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxuICAgIHByaXZhdGUgd29ya3NwYWNlU3RhdGU6IFdvcmtzcGFjZVN0YXRlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubWFwLmxheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBsYXllci50aXRsZSAmJlxuICAgICAgICBsYXllci50aXRsZS5pbmNsdWRlcyhcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICB0aGlzLmxheWVycy5wdXNoKGxheWVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldE91dHB1dFR5cGUoZXZlbnQ6IFNwYXRpYWxGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy50eXBlID0gZXZlbnQ7XG4gICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRPdXRwdXRRdWVyeVR5cGUoZXZlbnQ6IFNwYXRpYWxGaWx0ZXJRdWVyeVR5cGUpIHtcbiAgICB0aGlzLnF1ZXJ5VHlwZSA9IGV2ZW50O1xuICAgIGlmICh0aGlzLnF1ZXJ5VHlwZSkge1xuICAgICAgdGhpcy5sb2FkRmlsdGVyTGlzdCgpO1xuICAgIH1cbiAgfVxuXG4gIGFjdGl2YXRlRXhwb3J0VG9vbCgpIHtcbiAgICBjb25zdCBpZHMgPSBbXTtcbiAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoJ15ab25lIFxcXFxkKycpO1xuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcbiAgICAgIGlmICghbGF5ZXIudGl0bGUubWF0Y2gocmUpKSB7XG4gICAgICAgIGlkcy5wdXNoKGxheWVyLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRNb2RlKEltcG9ydEV4cG9ydE1vZGUuZXhwb3J0KTtcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldHNFeHBvcnRPcHRpb25zKHsgbGF5ZXJzOiBpZHMgfSBhcyBFeHBvcnRPcHRpb25zKTtcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnaW1wb3J0RXhwb3J0Jyk7XG4gIH1cblxuICBhY3RpdmF0ZVdvcmtzcGFjZShyZWNvcmQ/KSB7XG4gICAgbGV0IGxheWVyVG9PcGVuV2tzO1xuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuZW50aXRpZXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhcmVjb3JkICYmXG4gICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMubGVuZ3RoICYmXG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5sZW5ndGggPiAxXG4gICAgICAgICkge1xuICAgICAgICAgIGlmICh0aGlzLml0ZW1UeXBlID09PSBTcGF0aWFsRmlsdGVySXRlbVR5cGUuVGhlbWF0aWNzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRoZW1hdGljIG9mIHRoaXMudGhlbWF0aWNzKSB7XG4gICAgICAgICAgICAgIGlmICghdGhlbWF0aWMuemVyb1Jlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICBsYXllclRvT3BlbldrcyA9IHRoaXMuYWN0aXZlTGF5ZXJzLmZpbmQoKGxheWVyKSA9PlxuICAgICAgICAgICAgICAgICAgbGF5ZXIudGl0bGUuaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgICAgIHRoZW1hdGljLm5hbWUgKyAnICcgKyB0aGlzLml0ZXJhdG9yLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gJ0FkcmVzc2VzICcgKyB0aGlzLml0ZXJhdG9yLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgICAgICAgICBpZiAobGF5ZXIudGl0bGUuaW5jbHVkZXModGl0bGUpKSB7XG4gICAgICAgICAgICAgICAgbGF5ZXJUb09wZW5Xa3MgPSBsYXllcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxheWVyVG9PcGVuV2tzKSB7XG4gICAgICAgICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKGxheWVyVG9PcGVuV2tzLmlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgcmVjb3JkICYmXG4gICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMubGVuZ3RoICYmXG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5sZW5ndGggPiAxXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0V29ya3NwYWNlRW50aXR5KHJlY29yZCk7XG4gICAgICAgICAgdGhpcy5tb3ZlZW5kS2V5ID0gdGhpcy5tYXAub2wub24oJ21vdmVlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFdvcmtzcGFjZUVudGl0eShyZWNvcmQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0V29ya3NwYWNlRW50aXR5KHJlY29yZCkge1xuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuYWxsKCkuZm9yRWFjaCgod29ya3NwYWNlKSA9PiB7XG4gICAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlQWxsKHsgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgaWYgKHdvcmtzcGFjZS50aXRsZS5pbmNsdWRlcyhyZWNvcmQuYWRkZWRbMF0ubWV0YS50aXRsZSkpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKHdvcmtzcGFjZS5pZCk7XG4gICAgICAgIHdvcmtzcGFjZS5lbnRpdHlTdG9yZS5zdGF0ZS51cGRhdGVNYW55KHJlY29yZC5hZGRlZCwge1xuICAgICAgICAgIHNlbGVjdGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRmlsdGVyTGlzdCgpIHtcbiAgICB0aGlzLnNwYXRpYWxGaWx0ZXJTZXJ2aWNlXG4gICAgICAubG9hZEZpbHRlckxpc3QodGhpcy5xdWVyeVR5cGUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4ge1xuICAgICAgICBmZWF0dXJlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgaWYgKGEucHJvcGVydGllcy5ub20gPCBiLnByb3BlcnRpZXMubm9tKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhLnByb3BlcnRpZXMubm9tID4gYi5wcm9wZXJ0aWVzLm5vbSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zcGF0aWFsTGlzdFN0b3JlLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuc3BhdGlhbExpc3RTdG9yZS5sb2FkKGZlYXR1cmVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0T3V0cHV0VG9nZ2xlU2VhcmNoKCkge1xuICAgIHRoaXMubG9hZFRoZW1hdGljcygpO1xuICB9XG5cbiAgZ2V0T3V0cHV0Q2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy56b25lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucXVlcnlUeXBlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY2xlYXJNYXAoKSB7XG4gICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXJzKHRoaXMubGF5ZXJzKTtcbiAgICB0aGlzLmxheWVycyA9IFtdO1xuICAgIHRoaXMuYWN0aXZlTGF5ZXJzID0gW107XG4gICAgdGhpcy50aGVtYXRpY0xlbmd0aCA9IDA7XG4gICAgdGhpcy5pdGVyYXRvciA9IDE7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xuICAgICAgdGhpcy56b25lID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkVGhlbWF0aWNzKCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgbGV0IHplcm9SZXN1bHRzID0gdHJ1ZTtcbiAgICBsZXQgdGhlbWF0aWNzO1xuICAgIGlmICh0aGlzLmJ1ZmZlciA9PT0gMCB8fCB0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlBvaW50KSB7XG4gICAgICB0aGlzLnRyeUFkZEZlYXR1cmVzVG9NYXAoW3RoaXMuem9uZV0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pdGVtVHlwZSAhPT0gU3BhdGlhbEZpbHRlckl0ZW1UeXBlLlRoZW1hdGljcykge1xuICAgICAgY29uc3QgdGhlbWU6IFNwYXRpYWxGaWx0ZXJUaGVtYXRpYyA9IHtcbiAgICAgICAgbmFtZTogJydcbiAgICAgIH07XG4gICAgICB0aGVtYXRpY3MgPSBbdGhlbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGVtYXRpY3MgPSB0aGlzLnRoZW1hdGljcztcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy5tZWFzdXJlVW5pdCA9PT0gTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVycyAmJlxuICAgICAgdGhpcy50eXBlICE9PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludFxuICAgICkge1xuICAgICAgdGhpcy5idWZmZXIgPSB0aGlzLmJ1ZmZlciAqIDEwMDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlBvbHlnb24pIHtcbiAgICAgIHRoaXMuYnVmZmVyID0gMDsgLy8gdG8gYXZvaWQgYnVmZmVyIGVudGVyIGEgc2Vjb25kIHRpbWUgaW4gdGVyckFQSVxuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmFibGVzJDogT2JzZXJ2YWJsZTxGZWF0dXJlW10+W10gPSBbXTtcbiAgICB0aGVtYXRpY3MuZm9yRWFjaCgodGhlbWF0aWMpID0+IHtcbiAgICAgIG9ic2VydmFibGVzJC5wdXNoKFxuICAgICAgICB0aGlzLnNwYXRpYWxGaWx0ZXJTZXJ2aWNlXG4gICAgICAgICAgLmxvYWRGaWx0ZXJJdGVtKFxuICAgICAgICAgICAgdGhpcy56b25lLFxuICAgICAgICAgICAgdGhpcy5pdGVtVHlwZSxcbiAgICAgICAgICAgIHRoaXMucXVlcnlUeXBlLFxuICAgICAgICAgICAgdGhlbWF0aWMsXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlclxuICAgICAgICAgIClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRhcCgoZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmluc2VydE1hbnkoZmVhdHVyZXMpO1xuICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlc1BvaW50OiBGZWF0dXJlW10gPSBbXTtcbiAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZXNMaW5lUG9seTogRmVhdHVyZVtdID0gW107XG4gICAgICAgICAgICAgIGxldCBpZFBvaW50O1xuICAgICAgICAgICAgICBsZXQgaWRMaW5lUG9seTtcbiAgICAgICAgICAgICAgZmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy5sb25naXR1ZGUgPVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdO1xuICAgICAgICAgICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLmxhdGl0dWRlID0gZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXTtcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVzUG9pbnQucHVzaChmZWF0dXJlKTtcbiAgICAgICAgICAgICAgICAgIGlkUG9pbnQgPSBmZWF0dXJlLm1ldGEuaWQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVzTGluZVBvbHkucHVzaChmZWF0dXJlKTtcbiAgICAgICAgICAgICAgICAgIGlkTGluZVBvbHkgPSBmZWF0dXJlLm1ldGEuaWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICB0aGlzLnRyeUFkZFBvaW50VG9NYXAoZmVhdHVyZXNQb2ludCwgaWRQb2ludCk7XG4gICAgICAgICAgICAgIHRoaXMudHJ5QWRkTGF5ZXJUb01hcChmZWF0dXJlc0xpbmVQb2x5LCBpZExpbmVQb2x5KTtcbiAgICAgICAgICAgICAgaWYgKGZlYXR1cmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHplcm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVtYXRpY0xlbmd0aCArPSAxO1xuICAgICAgICAgICAgICAgIHRoZW1hdGljLnplcm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhlbWF0aWMuemVyb1Jlc3VsdHMgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGZlYXR1cmVzLmxlbmd0aCA+PSAxMDAwMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLm1heFNpemVBbGVydCcsXG4gICAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLndhcm5pbmcnLFxuICAgICAgICAgICAgICAgICAgeyB0aW1lT3V0OiAxMDAwMCB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHplcm9SZXN1bHRzKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcbiAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuemVyb1Jlc3VsdHMnLFxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJyxcbiAgICAgICAgICAgIHsgdGltZU91dDogMTAwMDAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25ab25lQ2hhbmdlKGZlYXR1cmU6IEZlYXR1cmUsIGJ1ZmZlcj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnpvbmUgPSBmZWF0dXJlO1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICBidWZmZXJcbiAgICAgICAgPyB0aGlzLnRyeUFkZEZlYXR1cmVzVG9NYXAoW2ZlYXR1cmVdLCB0cnVlKVxuICAgICAgICA6IHRoaXMudHJ5QWRkRmVhdHVyZXNUb01hcChbZmVhdHVyZV0pO1xuICAgICAgdGhpcy56b29tVG9GZWF0dXJlRXh0ZW50KGZlYXR1cmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gYWRkIHpvbmUgZmVhdHVyZSB0byB0aGUgbWFwIG92ZXJsYXlcbiAgICovXG4gIHB1YmxpYyB0cnlBZGRGZWF0dXJlc1RvTWFwKGZlYXR1cmVzOiBGZWF0dXJlW10sIGJ1ZmZlcj86IGJvb2xlYW4pIHtcbiAgICBsZXQgaSA9IDE7XG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIGZlYXR1cmVzKSB7XG4gICAgICBpZiAodGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5QcmVkZWZpbmVkKSB7XG4gICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXllci5vcHRpb25zLl9pbnRlcm5hbCAmJlxuICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5faW50ZXJuYWwuY29kZSA9PT0gZmVhdHVyZS5wcm9wZXJ0aWVzLmNvZGUgJiZcbiAgICAgICAgICAgICFidWZmZXJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICghbGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzLmluZGV4T2YobGF5ZXIpO1xuICAgICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sYXllcnMuaW5kZXhPZihsYXllcik7XG4gICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGJ1ZmZlcikge1xuICAgICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5hY3RpdmVMYXllcnMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVMYXllcnMubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICAgIGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzLmluZGV4T2YobGF5ZXIpO1xuICAgICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihsYXllcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzID0gW107XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XG4gICAgICAgIGlmIChsYXllci50aXRsZT8uc3RhcnRzV2l0aCgnWm9uZScpKSB7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmRlZmF1bHRTdHlsZSA9IChfZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IChmZWF0dXJlc1swXSBhcyBhbnkpLmNvb3JkaW5hdGVzO1xuICAgICAgICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xuICAgICAgICAgICAgcmFkaXVzOiBjb29yZGluYXRlc1xuICAgICAgICAgICAgICA/IHRoaXMuYnVmZmVyIC9cbiAgICAgICAgICAgICAgICBNYXRoLmNvcygoTWF0aC5QSSAvIDE4MCkgKiBjb29yZGluYXRlc1sxXSkgL1xuICAgICAgICAgICAgICAgIHJlc29sdXRpb25cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDIwMCwgMjAwLCAyMCwgMC4yKSdcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgICAgICAgY29sb3I6ICdvcmFuZ2UnXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIHdpZHRoOiAxLFxuICAgICAgICAgICAgY29sb3I6ICdvcmFuZ2UnXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwLCAwLjIpJ1xuICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XG4gICAgICAgICAgdHlwZTogJ3ZlY3RvcicsXG4gICAgICAgICAgcXVlcnlhYmxlOiB0cnVlXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBvbExheWVyID0gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlTGF5ZXIoe1xuICAgICAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgICAgICAgdGl0bGU6ICgnWm9uZSAnICtcbiAgICAgICAgICAgICAgaSArXG4gICAgICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXG4gICAgICAgICAgICB3b3Jrc3BhY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgX2ludGVybmFsOiB7XG4gICAgICAgICAgICAgIGNvZGU6XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5QcmVkZWZpbmVkXG4gICAgICAgICAgICAgICAgICA/IGZlYXR1cmUucHJvcGVydGllcy5jb2RlXG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWVcbiAgICAgICAgICB9KSBhcyBWZWN0b3JMYXllcjtcbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZmVhdHVyZVRvT2woZiwgdGhpcy5tYXAucHJvamVjdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHRoaXMudHlwZSAhPT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9XG4gICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUG9pbnQgPyAnQ2VyY2xlJyA6ICdQb2x5Z29uZSc7XG4gICAgICAgICAgICBmZWF0dXJlc09sWzBdLnNldCgnbm9tJywgJ1pvbmUnLCB0cnVlKTtcbiAgICAgICAgICAgIGZlYXR1cmVzT2xbMF0uc2V0KCd0eXBlJywgdHlwZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG9sID0gZGF0YVNvdXJjZS5vbCBhcyBvbFNvdXJjZVZlY3RvciB8IG9sU291cmNlQ2x1c3RlcjtcbiAgICAgICAgICBvbC5hZGRGZWF0dXJlcyhmZWF0dXJlc09sKTtcbiAgICAgICAgICBvbExheWVyLm9sLnNldFN0eWxlKHRoaXMuZGVmYXVsdFN0eWxlKTtcbiAgICAgICAgICB0aGlzLm1hcC5hZGRMYXllcihvbExheWVyKTtcbiAgICAgICAgICB0aGlzLmxheWVycy5wdXNoKG9sTGF5ZXIpO1xuICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLnB1c2gob2xMYXllcik7XG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gYWRkIHBvaW50IGZlYXR1cmVzIHRvIHRoZSBtYXBcbiAgICogTmVjZXNzYXJ5IHRvIGNyZWF0ZSBjbHVzdGVyc1xuICAgKi9cbiAgcHJpdmF0ZSB0cnlBZGRQb2ludFRvTWFwKGZlYXR1cmVzOiBGZWF0dXJlW10sIGlkKSB7XG4gICAgbGV0IGkgPSAxO1xuICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLm1hcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcbiAgICAgICAgaWYgKGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUpKSB7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAgIC5jcmVhdGVBc3luY0RhdGFTb3VyY2Uoe1xuICAgICAgICAgIHR5cGU6ICdjbHVzdGVyJyxcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXG4gICAgICAgICAgZGlzdGFuY2U6IDEyMCxcbiAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogJ0NsdXN0ZXInXG4gICAgICAgICAgfVxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBDbHVzdGVyRGF0YVNvdXJjZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGljb24gPSBmZWF0dXJlc1swXS5tZXRhLmljb247XG4gICAgICAgICAgbGV0IHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xuICAgICAgICAgIGlmICghaWNvbikge1xuICAgICAgICAgICAgc3R5bGUgPSBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN2Z0ljb24oaWNvbikgfHwgY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgb2xMYXllciA9IHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUxheWVyKHtcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcbiAgICAgICAgICAgIHRpdGxlOiAoZmVhdHVyZXNbMF0ubWV0YS50aXRsZSArXG4gICAgICAgICAgICAgICcgJyArXG4gICAgICAgICAgICAgIGkgK1xuICAgICAgICAgICAgICAnIC0gJyArXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcbiAgICAgICAgICAgICAgKSkgYXMgc3RyaW5nLFxuICAgICAgICAgICAgc291cmNlOiBkYXRhU291cmNlLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHN0eWxlXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmZWF0dXJlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZmVhdHVyZVRvT2woZmVhdHVyZSwgdGhpcy5tYXAucHJvamVjdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgb2wgPSBkYXRhU291cmNlLm9sIGFzIG9sU291cmNlQ2x1c3RlcjtcbiAgICAgICAgICBvbC5nZXRTb3VyY2UoKS5hZGRGZWF0dXJlcyhmZWF0dXJlc09sKTtcbiAgICAgICAgICBpZiAodGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKSkge1xuICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoXG4gICAgICAgICAgICAgIHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyKSA9PiBsYXllci5pZCA9PT0gb2xMYXllci5pZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpID0gaSAtIDE7XG4gICAgICAgICAgICBvbExheWVyLnRpdGxlID0gKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xuICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICBpICtcbiAgICAgICAgICAgICAgJyAtICcgK1xuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNwYXRpYWxGaWx0ZXInXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZztcbiAgICAgICAgICAgIG9sTGF5ZXIub3B0aW9ucy50aXRsZSA9IG9sTGF5ZXIudGl0bGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaXRlcmF0b3IgPSBpO1xuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xuICAgICAgICAgIHRoaXMubGF5ZXJzLnB1c2gob2xMYXllcik7XG4gICAgICAgICAgdGhpcy5wdXNoTGF5ZXIob2xMYXllcik7XG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnSWNvbihpY29uKTogb2xzdHlsZS5TdHlsZSB7XG4gICAgbGV0IHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xuICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmdldE5hbWVkU3ZnSWNvbihpY29uKS5zdWJzY3JpYmUoKHN2Z09iaikgPT4ge1xuICAgICAgY29uc3QgeG1sU2VyaWFsaXplciA9IG5ldyBYTUxTZXJpYWxpemVyKCk7XG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCd3aWR0aCcsICczMCcpO1xuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgJzMwJyk7XG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdmaWxsJywgJ3JnYmEoMCwgMTI4LCAyNTUpJyk7XG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdzdHJva2UnLCAnd2hpdGUnKTtcbiAgICAgIGNvbnN0IHN2ZyA9IHhtbFNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmcoc3ZnT2JqKTtcbiAgICAgIHN0eWxlID0gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuSWNvbih7XG4gICAgICAgICAgc3JjOiAnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJyArIHN2Z1xuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG4gIC8qKlxuICAgKiBUcnkgdG8gYWRkIGxpbmUgb3IgcG9seWdvbiBmZWF0dXJlcyB0byB0aGUgbWFwXG4gICAqL1xuICBwcml2YXRlIHRyeUFkZExheWVyVG9NYXAoZmVhdHVyZXM6IEZlYXR1cmVbXSwgaWQpIHtcbiAgICBsZXQgaSA9IDE7XG4gICAgaWYgKGZlYXR1cmVzLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMubWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLmxheWVycykge1xuICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoZmVhdHVyZXNbMF0ubWV0YS50aXRsZSkpIHtcbiAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XG4gICAgICAgICAgdHlwZTogJ3ZlY3RvcicsXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgcXVlcnlhYmxlOiB0cnVlXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBvbExheWVyID0gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlTGF5ZXIoe1xuICAgICAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgICAgICAgdGl0bGU6IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcbiAgICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgICAgaSArXG4gICAgICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXG4gICAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgZmVhdHVyZXNPbCA9IGZlYXR1cmVzLm1hcCgoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZlYXR1cmVUb09sKGZlYXR1cmUsIHRoaXMubWFwLnByb2plY3Rpb24pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IG9sID0gZGF0YVNvdXJjZS5vbCBhcyBvbFNvdXJjZVZlY3RvcjtcbiAgICAgICAgICBvbC5hZGRGZWF0dXJlcyhmZWF0dXJlc09sKTtcbiAgICAgICAgICBpZiAodGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKSkge1xuICAgICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoXG4gICAgICAgICAgICAgIHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyKSA9PiBsYXllci5pZCA9PT0gb2xMYXllci5pZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpID0gaSAtIDE7XG4gICAgICAgICAgICBvbExheWVyLnRpdGxlID0gKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xuICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICBpICtcbiAgICAgICAgICAgICAgJyAtICcgK1xuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnNwYXRpYWxGaWx0ZXInXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZztcbiAgICAgICAgICAgIG9sTGF5ZXIub3B0aW9ucy50aXRsZSA9IG9sTGF5ZXIudGl0bGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xuICAgICAgICAgIHRoaXMubGF5ZXJzLnB1c2gob2xMYXllcik7XG4gICAgICAgICAgdGhpcy5wdXNoTGF5ZXIob2xMYXllcik7XG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHpvb21Ub0ZlYXR1cmVFeHRlbnQoZmVhdHVyZSkge1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICBjb25zdCBvbEZlYXR1cmUgPSB0aGlzLmZvcm1hdC5yZWFkRmVhdHVyZShmZWF0dXJlLCB7XG4gICAgICAgIGRhdGFQcm9qZWN0aW9uOiBmZWF0dXJlLnByb2plY3Rpb24sXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICB9KTtcbiAgICAgIG1vdmVUb09sRmVhdHVyZXMoXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxuICAgICAgICBbb2xGZWF0dXJlXSxcbiAgICAgICAgRmVhdHVyZU1vdGlvbi5ab29tXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hMYXllcihsYXllcikge1xuICAgIGZvciAoY29uc3QgbGF5IG9mIHRoaXMuYWN0aXZlTGF5ZXJzKSB7XG4gICAgICBpZiAobGF5LmlkID09PSBsYXllci5pZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVMYXllcnMucHVzaChsYXllcik7XG4gIH1cbn1cbiIsIjxpZ28tc3BhdGlhbC1maWx0ZXItdHlwZVxuICBbc3RvcmVdPVwic3BhdGlhbExpc3RTdG9yZVwiXG4gIFtzZWxlY3RlZFF1ZXJ5VHlwZV09XCJxdWVyeVR5cGVcIlxuICBbem9uZV09XCJ6b25lXCJcbiAgW2xheWVyc109XCJhY3RpdmVMYXllcnNcIlxuICAoZXZlbnRUeXBlKT1cImdldE91dHB1dFR5cGUoJGV2ZW50KVwiXG4gIChldmVudFF1ZXJ5VHlwZSk9XCJnZXRPdXRwdXRRdWVyeVR5cGUoJGV2ZW50KVwiXG4gICh6b25lQ2hhbmdlKT1cIm9uWm9uZUNoYW5nZSgkZXZlbnQpXCJcbiAgKHpvbmVXaXRoQnVmZmVyQ2hhbmdlKT1cIm9uWm9uZUNoYW5nZSgkZXZlbnQsIHRydWUpXCJcbiAgKGJ1ZmZlckNoYW5nZSk9XCJidWZmZXIgPSAkZXZlbnRcIlxuICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxuPlxuPC9pZ28tc3BhdGlhbC1maWx0ZXItdHlwZT5cblxuPGlnby1zcGF0aWFsLWZpbHRlci1pdGVtXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbcXVlcnlUeXBlXT1cInF1ZXJ5VHlwZVwiXG4gIFttYXBdPVwibWFwXCJcbiAgW3pvbmVdPVwiem9uZVwiXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICBbc3RvcmVdPVwic3RvcmVcIlxuICBbbGF5ZXJzXT1cImFjdGl2ZUxheWVyc1wiXG4gIFthbGxMYXllcnNdPVwibGF5ZXJzXCJcbiAgW3RoZW1hdGljTGVuZ3RoXT1cInRoZW1hdGljTGVuZ3RoXCJcbiAgKHJhZGl1c0V2ZW50KT1cImJ1ZmZlciA9ICRldmVudFwiXG4gIChidWZmZXJFdmVudCk9XCJidWZmZXIgPSAkZXZlbnRcIlxuICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxuICAoZnJlZWhhbmRDb250cm9sKT1cImZyZWVoYW5kRHJhd0lzQWN0aXZlID0gJGV2ZW50XCJcbiAgKGRyYXdab25lRXZlbnQpPVwiem9uZSA9ICRldmVudFwiXG4gICh6b25lV2l0aEJ1ZmZlckNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50LCB0cnVlKVwiXG4gIChpdGVtVHlwZUNoYW5nZSk9XCJpdGVtVHlwZSA9ICRldmVudFwiXG4gICh0aGVtYXRpY0NoYW5nZSk9XCJ0aGVtYXRpY3MgPSAkZXZlbnRcIlxuICAodG9nZ2xlU2VhcmNoKT1cImdldE91dHB1dFRvZ2dsZVNlYXJjaCgpXCJcbiAgKGNsZWFyQnV0dG9uRXZlbnQpPVwiY2xlYXJNYXAoKVwiXG4gIChjbGVhclNlYXJjaEV2ZW50KT1cImdldE91dHB1dENsZWFyU2VhcmNoKClcIlxuICAoZXhwb3J0KT1cImFjdGl2YXRlRXhwb3J0VG9vbCgpXCJcbiAgKG9wZW5Xb3Jrc3BhY2UpPVwiYWN0aXZhdGVXb3Jrc3BhY2UoKVwiXG4gIChlbnRpdHlDaGFuZ2UpPVwiYWN0aXZhdGVXb3Jrc3BhY2UoJGV2ZW50KVwiXG4+XG48L2lnby1zcGF0aWFsLWZpbHRlci1pdGVtPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRmVhdHVyZSQgfCBhc3luYyBhcyBmZWF0dXJlXCI+XG4gIDxpZ28tZmVhdHVyZS1kZXRhaWxzIFtmZWF0dXJlXT1cImZlYXR1cmVcIj48L2lnby1mZWF0dXJlLWRldGFpbHM+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==