@smarterplan/ngx-smarterplan-core 0.3.13 → 0.3.16

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 (27) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/csv-export/csv-export.component.mjs +3 -3
  3. package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
  4. package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
  5. package/esm2020/lib/components/menu-bar/range-date-picker/range-date-picker.component.mjs +3 -3
  6. package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
  7. package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
  8. package/esm2020/lib/components/support-modal/support-modal.component.mjs +5 -4
  9. package/esm2020/lib/ngx-smarterplan-core.service.mjs +1 -1
  10. package/esm2020/lib/pipes/duration-to-string.pipe.mjs +1 -1
  11. package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
  12. package/esm2020/lib/pipes/safe-url.pipe.mjs +1 -1
  13. package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
  14. package/esm2020/lib/services/booking.service.mjs +14 -1
  15. package/esm2020/lib/services/matterport.service.mjs +21 -4
  16. package/esm2020/lib/services/validators.service.mjs +8 -5
  17. package/esm2020/lib/services/viewer.service.mjs +2 -2
  18. package/esm2020/lib/validators/text.directive.mjs +7 -0
  19. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +57 -22
  20. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  21. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +57 -22
  22. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  23. package/lib/services/booking.service.d.ts +3 -0
  24. package/lib/services/matterport.service.d.ts +1 -0
  25. package/lib/services/validators.service.d.ts +1 -1
  26. package/lib/validators/text.directive.d.ts +2 -0
  27. package/package.json +2 -2
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # NgxSmarterplanCore
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project ngx-smarterplan-core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-smarterplan-core`.
8
- > Note: Don't forget to add `--project ngx-smarterplan-core` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build ngx-smarterplan-core` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build ngx-smarterplan-core`, go to the dist folder `cd dist/ngx-smarterplan-core` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test ngx-smarterplan-core` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # NgxSmarterplanCore
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project ngx-smarterplan-core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-smarterplan-core`.
8
+ > Note: Don't forget to add `--project ngx-smarterplan-core` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build ngx-smarterplan-core` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build ngx-smarterplan-core`, go to the dist folder `cd dist/ngx-smarterplan-core` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test ngx-smarterplan-core` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -41,10 +41,10 @@ export class CsvExportComponent {
41
41
  }
42
42
  }
43
43
  CsvExportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CsvExportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- CsvExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CsvExportComponent, selector: "lib-csv-export", inputs: { headers: "headers", rowsInput: "rowsInput", getRows: "getRows", title: "title", buttonLabel: "buttonLabel" }, ngImport: i0, template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\r\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\r\n {{ buttonLabel | translate}}\r\n</span>\r\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"], pipes: { "translate": i1.TranslatePipe } });
44
+ CsvExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CsvExportComponent, selector: "lib-csv-export", inputs: { headers: "headers", rowsInput: "rowsInput", getRows: "getRows", title: "title", buttonLabel: "buttonLabel" }, ngImport: i0, template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\n {{ buttonLabel | translate}}\n</span>\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"], pipes: { "translate": i1.TranslatePipe } });
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CsvExportComponent, decorators: [{
46
46
  type: Component,
47
- args: [{ selector: 'lib-csv-export', template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\r\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\r\n {{ buttonLabel | translate}}\r\n</span>\r\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"] }]
47
+ args: [{ selector: 'lib-csv-export', template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\n {{ buttonLabel | translate}}\n</span>\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"] }]
48
48
  }], propDecorators: { headers: [{
49
49
  type: Input
50
50
  }], rowsInput: [{
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
56
56
  }], buttonLabel: [{
57
57
  type: Input
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvY3N2LWV4cG9ydC9jc3YtZXhwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9jc3YtZXhwb3J0L2Nzdi1leHBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0ksaURBQWlEO1FBQ3hDLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFFaEMsK0dBQStHO1FBQ3RHLGNBQVMsR0FBZSxTQUFTLENBQUM7UUFFM0MsOEhBQThIO1FBQ3JILFlBQU8sR0FBRyxTQUFTLENBQUM7UUFFN0Isb0NBQW9DO1FBQzNCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFFaEMsb0NBQW9DO1FBQzNCLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRXhDLDRCQUE0QjtRQUM1QixjQUFTLEdBQVcsR0FBRyxDQUFDO0tBK0IzQjtJQTdCRyxLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLElBQUksR0FBZSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsTUFBTSxJQUFJLEdBQUcsK0JBQStCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN6RCxJQUFJLENBQUMsU0FBUyxDQUNqQixLQUFLLElBQUk7YUFDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNULDRCQUE0QjtRQUM1QixHQUFHO2FBQ0UsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDWCxLQUFLO2FBQ0EsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2FBQ2xCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQzFCO2FBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDNUI7YUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVsQix5Q0FBeUM7UUFDekMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOzsrR0FoRFEsa0JBQWtCO21HQUFsQixrQkFBa0IsOEtDUC9CLG1PQUlBOzJGREdhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBT2YsT0FBTztzQkFBZixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3N2LWV4cG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nzdi1leHBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nzdi1leHBvcnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3N2RXhwb3J0Q29tcG9uZW50IHtcclxuICAgIFxyXG4gICAgLyoqIEhlYWRlciBvZiB0aGUgQ1NWLCB0aXRsZXMgZm9yIGVhY2ggY29sdW1ucyAqL1xyXG4gICAgQElucHV0KCkgaGVhZGVyczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvKiogQXJyYXkgb2YgZWFjaCByb3dzIChhcnJheSBvZiBhcnJheSBvZiBzdHJpbmcpLCBpZiBpdCdzIG5vdCBzZXQsIHRoZW4gdGhlIGZ1bmN0aW9uIGdldFJvd3MoKSB3aWxsIGJlIHVzZWQgKi9cclxuICAgIEBJbnB1dCgpIHJvd3NJbnB1dDogc3RyaW5nW11bXSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKiogRnVuY3Rpb24gdXNlZCB0byBnZXQgcm93cyBpZiByb3dzSW5wdXQgaXMgbm90IHNldCwgY2FsbCBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgb24gdGhlIGJ1dHRvbiB0byBnZW5lcmF0ZSB0aGUgQ1NWIGZpbGUgKi9cclxuICAgIEBJbnB1dCgpIGdldFJvd3MgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqIFRpdGxlIG9mIHRoZSBmaWxlIHRvIGRvd25sb2FkICovXHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gXCJmaWxlXCI7XHJcblxyXG4gICAgLyoqIExhYmVsIGZvciB0aGUgYnV0dG9uIHRvIGNsaWNrICovXHJcbiAgICBASW5wdXQoKSBidXR0b25MYWJlbDogc3RyaW5nID0gXCJFeHBvcnRcIjtcclxuXHJcbiAgICAvKiogRGVsaW1pdGVyIGZvciB0aGUgQ1NWICovXHJcbiAgICBkZWxpbWV0ZXI6IHN0cmluZyA9IFwiO1wiO1xyXG5cclxuICAgIGFzeW5jIG9uQ2xpY2tEb3dubG9hZCgpIHtcclxuICAgICAgICBsZXQgcm93czogc3RyaW5nW11bXSA9IHRoaXMucm93c0lucHV0O1xyXG4gICAgICAgIGlmICghcm93cykge1xyXG4gICAgICAgICAgICByb3dzID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMuZ2V0Um93cygpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGBkYXRhOnRleHQvY3N2O2NoYXJzZXQ9dXRmLTgsJHt0aGlzLmhlYWRlcnMuam9pbihcclxuICAgICAgICAgICAgdGhpcy5kZWxpbWV0ZXIsXHJcbiAgICAgICAgKX1cXG4ke3Jvd3NcclxuICAgICAgICAgICAgLm1hcCgocm93KSA9PlxyXG4gICAgICAgICAgICAgICAgLyoqIENsZWFuIGVhY2ggcm93cy9jZWxscyAqL1xyXG4gICAgICAgICAgICAgICAgcm93XHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSh0aGlzLmRlbGltZXRlciwgXCIgXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcIlxcblwiLCBcIiBcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiXFxyXCIsIFwiIFwiKSxcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4odGhpcy5kZWxpbWV0ZXIpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpfWA7XHJcblxyXG4gICAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlICovXHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBlbmNvZGVVUkkoZGF0YSkpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKFwiZG93bmxvYWRcIiwgYCR7dGhpcy50aXRsZX0uY3N2YCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQobGluayk7XHJcbiAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgIGxpbmsucmVtb3ZlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4gW3N0eWxlLmN1cnNvcl09XCIncG9pbnRlcidcIiAoY2xpY2spPVwib25DbGlja0Rvd25sb2FkKClcIiBjbGFzcz1cImRvd25sb2FkLWNzdiBkLWZsZXhcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbmlmeVwiIGRhdGEtaWNvbj1cIm1kaTpmaWxlLWRvd25sb2FkLW91dGxpbmVcIj48L3NwYW4+XHJcbiAgICB7eyBidXR0b25MYWJlbCB8IHRyYW5zbGF0ZX19XHJcbjwvc3Bhbj5cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvY3N2LWV4cG9ydC9jc3YtZXhwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9jc3YtZXhwb3J0L2Nzdi1leHBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0ksaURBQWlEO1FBQ3hDLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFFaEMsK0dBQStHO1FBQ3RHLGNBQVMsR0FBZSxTQUFTLENBQUM7UUFFM0MsOEhBQThIO1FBQ3JILFlBQU8sR0FBRyxTQUFTLENBQUM7UUFFN0Isb0NBQW9DO1FBQzNCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFFaEMsb0NBQW9DO1FBQzNCLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRXhDLDRCQUE0QjtRQUM1QixjQUFTLEdBQVcsR0FBRyxDQUFDO0tBK0IzQjtJQTdCRyxLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLElBQUksR0FBZSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsTUFBTSxJQUFJLEdBQUcsK0JBQStCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN6RCxJQUFJLENBQUMsU0FBUyxDQUNqQixLQUFLLElBQUk7YUFDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNULDRCQUE0QjtRQUM1QixHQUFHO2FBQ0UsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDWCxLQUFLO2FBQ0EsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2FBQ2xCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQzFCO2FBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDNUI7YUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVsQix5Q0FBeUM7UUFDekMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOzsrR0FoRFEsa0JBQWtCO21HQUFsQixrQkFBa0IsOEtDUC9CLDJOQUlBOzJGREdhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBT2YsT0FBTztzQkFBZixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3N2LWV4cG9ydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jc3YtZXhwb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3N2LWV4cG9ydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENzdkV4cG9ydENvbXBvbmVudCB7XG4gICAgXG4gICAgLyoqIEhlYWRlciBvZiB0aGUgQ1NWLCB0aXRsZXMgZm9yIGVhY2ggY29sdW1ucyAqL1xuICAgIEBJbnB1dCgpIGhlYWRlcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvKiogQXJyYXkgb2YgZWFjaCByb3dzIChhcnJheSBvZiBhcnJheSBvZiBzdHJpbmcpLCBpZiBpdCdzIG5vdCBzZXQsIHRoZW4gdGhlIGZ1bmN0aW9uIGdldFJvd3MoKSB3aWxsIGJlIHVzZWQgKi9cbiAgICBASW5wdXQoKSByb3dzSW5wdXQ6IHN0cmluZ1tdW10gPSB1bmRlZmluZWQ7XG5cbiAgICAvKiogRnVuY3Rpb24gdXNlZCB0byBnZXQgcm93cyBpZiByb3dzSW5wdXQgaXMgbm90IHNldCwgY2FsbCBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgb24gdGhlIGJ1dHRvbiB0byBnZW5lcmF0ZSB0aGUgQ1NWIGZpbGUgKi9cbiAgICBASW5wdXQoKSBnZXRSb3dzID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqIFRpdGxlIG9mIHRoZSBmaWxlIHRvIGRvd25sb2FkICovXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiZmlsZVwiO1xuXG4gICAgLyoqIExhYmVsIGZvciB0aGUgYnV0dG9uIHRvIGNsaWNrICovXG4gICAgQElucHV0KCkgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiRXhwb3J0XCI7XG5cbiAgICAvKiogRGVsaW1pdGVyIGZvciB0aGUgQ1NWICovXG4gICAgZGVsaW1ldGVyOiBzdHJpbmcgPSBcIjtcIjtcblxuICAgIGFzeW5jIG9uQ2xpY2tEb3dubG9hZCgpIHtcbiAgICAgICAgbGV0IHJvd3M6IHN0cmluZ1tdW10gPSB0aGlzLnJvd3NJbnB1dDtcbiAgICAgICAgaWYgKCFyb3dzKSB7XG4gICAgICAgICAgICByb3dzID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMuZ2V0Um93cygpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhID0gYGRhdGE6dGV4dC9jc3Y7Y2hhcnNldD11dGYtOCwke3RoaXMuaGVhZGVycy5qb2luKFxuICAgICAgICAgICAgdGhpcy5kZWxpbWV0ZXIsXG4gICAgICAgICl9XFxuJHtyb3dzXG4gICAgICAgICAgICAubWFwKChyb3cpID0+XG4gICAgICAgICAgICAgICAgLyoqIENsZWFuIGVhY2ggcm93cy9jZWxscyAqL1xuICAgICAgICAgICAgICAgIHJvd1xuICAgICAgICAgICAgICAgICAgICAubWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UodGhpcy5kZWxpbWV0ZXIsIFwiIFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiXFxuXCIsIFwiIFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiXFxyXCIsIFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuam9pbih0aGlzLmRlbGltZXRlciksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuam9pbihcIlxcblwiKX1gO1xuXG4gICAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlICovXG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsIGVuY29kZVVSSShkYXRhKSk7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKFwiZG93bmxvYWRcIiwgYCR7dGhpcy50aXRsZX0uY3N2YCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGxpbmspO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGxpbmsucmVtb3ZlKCk7XG4gICAgfVxufVxuIiwiPHNwYW4gW3N0eWxlLmN1cnNvcl09XCIncG9pbnRlcidcIiAoY2xpY2spPVwib25DbGlja0Rvd25sb2FkKClcIiBjbGFzcz1cImRvd25sb2FkLWNzdiBkLWZsZXhcIj5cbiAgICA8c3BhbiBjbGFzcz1cImljb25pZnlcIiBkYXRhLWljb249XCJtZGk6ZmlsZS1kb3dubG9hZC1vdXRsaW5lXCI+PC9zcGFuPlxuICAgIHt7IGJ1dHRvbkxhYmVsIHwgdHJhbnNsYXRlfX1cbjwvc3Bhbj5cbiJdfQ==
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
72
72
  }], userID: [{
73
73
  type: Input
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUV0QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFNakIsTUFBTSxPQUFPLGVBQWU7SUFVeEIsWUFDWSxXQUE0QixFQUM1QixjQUE4QjtRQUQ5QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVmpDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFZdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLElBQUksT0FBTyxFQUFFO2dCQUNULE1BQU0sSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFtQjtRQUMvQixNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFbkMseUVBQXlFO1FBQ3pFLGdEQUFnRDtRQUNoRCw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUU7Z0JBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sTUFBTSxHQUFHLHdDQUF3QyxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUM7Z0JBQ2xHLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQztxQkFDMUIsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3pCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFO3dCQUN6QyxJQUFJLEVBQUUsWUFBWTtxQkFDckIsQ0FBQyxDQUFDO29CQUNILE9BQU8sY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxDQUFDO2dCQUNQLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO2dCQUNsQixLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsOERBQThEO2dCQUM5RCw2REFBNkQ7Z0JBQzdELEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3ZEO1NBQ0o7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDOzs0R0FqRVEsZUFBZTtnR0FBZixlQUFlLDhGQUhoQix3QkFBd0I7MkZBR3ZCLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLHdCQUF3QjttSUFLdkIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVscy9wcm9maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB1cGxvYWRGaWxlVG9TMywgZ2V0U2lnbmVkSW1hZ2VVcmxGb3JQcm9maWxlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvczMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2ZpbGVFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi90eXBlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSBcInRzLW1kNS9kaXN0L21kNVwiO1xyXG5cclxuY29uc3QgY2FjaGUgPSB7fTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXZhdGFyJyxcclxuICB0ZW1wbGF0ZTogYDxpbWcgW3NyY109XCJhdmF0YXJcIiAvPmAsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2F2YXRhci5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgc2l6ZTogbnVtYmVyID0gNDU7XHJcblxyXG4gICAgQElucHV0KCkgdXNlcklEOiBzdHJpbmc7XHJcblxyXG4gICAgY3VycmVudFVzZXI6IFByb2ZpbGVFbnRpdHk7XHJcblxyXG4gICAgYXZhdGFyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IEJhc2VVc2VyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VXNlcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMudXNlclNlcnZpY2UuY3U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF2YXRhcih0aGlzLmN1cnJlbnRVc2VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLnVzZXJJRCkge1xyXG4gICAgICAgICAgICBjb25zdCBwcm9maWxlID0gYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS5nZXRQcm9maWxlKHRoaXMudXNlcklEKTtcclxuICAgICAgICAgICAgaWYgKHByb2ZpbGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0QXZhdGFyKHVzZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMudXNlclNlcnZpY2UuY3U7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0QXZhdGFyKHRoaXMuY3VycmVudFVzZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXRBdmF0YXIodXNlcjogUHJvZmlsZUVudGl0eSkge1xyXG4gICAgICAgIGNvbnN0IHsgaWQsIGF2YXRhciwgZW1haWwgfSA9IHVzZXI7XHJcblxyXG4gICAgICAgIC8vIElmIGF2YXRhciBpcyBub3QgY2FjaGVkLCBjaGVjayBmaXJzdCBpZiB3ZSBoYXZlIGFuIGF2YXRhciBVUkwgdG8gZmV0Y2hcclxuICAgICAgICAvLyBmcm9tIFMzLiBJZiBub3QsIHJldHJpZXZlIGl0IGZyb20gbGlicmF2YXRhci5cclxuICAgICAgICAvLyBUT0RPIHVzZSBpbiBhIFNlcnZpY2UgdG8gYmUgYWJsZSB0byBjaGFuZ2UvdXBsb2FkIGZyZWVseS5cclxuICAgICAgICBpZiAoIWNhY2hlLmhhc093blByb3BlcnR5KGlkKSkge1xyXG4gICAgICAgICAgICBpZiAoIWF2YXRhciAmJiBlbWFpbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWQ1ID0gbmV3IE1kNSgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWQ1aGFzaCA9IG1kNS5hcHBlbmRTdHIoZW1haWwpLmVuZCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXZhdGFyID0gYGh0dHBzOi8vc2VjY2RuLmxpYnJhdmF0YXIub3JnL2F2YXRhci8ke21kNWhhc2h9P3M9JHt0aGlzLnNpemV9JmRlZmF1bHQ9aWRlbnRpY29uYDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IGZldGNoKGF2YXRhcilcclxuICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiByZXMuYmxvYigpKVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChibG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIFwiYXZhdGFyLmpwZWdcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJpbWFnZS9qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXBsb2FkRmlsZVRvUzMoXCJhdmF0YXJzL1wiLCBmaWxlLCBpZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUoeyBpZCwgYXZhdGFyOiB1cmwgfSk7XHJcbiAgICAgICAgICAgICAgICB1c2VyLmF2YXRhciA9IHVybDtcclxuICAgICAgICAgICAgICAgIGNhY2hlW2lkXSA9IGF2YXRhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYXZhdGFyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPIGdlbmVyYXRpbmcgc2lnbmVkIHVybHMgZm9yIGF2YXRhciBtYWtlcyBOTyBTRU5TRSAoJCQkKVxyXG4gICAgICAgICAgICAgICAgLy8gU29ycnkgZ290IHRvIGNvcHlwYXN0ZSB0aGF0LCBidXQgcmVhbGx5IG5lZWQgdG8gZ2V0IHJpZCBvZlxyXG4gICAgICAgICAgICAgICAgY2FjaGVbaWRdID0gYXdhaXQgZ2V0U2lnbmVkSW1hZ2VVcmxGb3JQcm9maWxlKHVzZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXZhdGFyID0gY2FjaGVbaWRdO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUV0QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFNakIsTUFBTSxPQUFPLGVBQWU7SUFVeEIsWUFDWSxXQUE0QixFQUM1QixjQUE4QjtRQUQ5QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVmpDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFZdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLElBQUksT0FBTyxFQUFFO2dCQUNULE1BQU0sSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFtQjtRQUMvQixNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFbkMseUVBQXlFO1FBQ3pFLGdEQUFnRDtRQUNoRCw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUU7Z0JBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sTUFBTSxHQUFHLHdDQUF3QyxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUM7Z0JBQ2xHLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQztxQkFDMUIsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3pCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFO3dCQUN6QyxJQUFJLEVBQUUsWUFBWTtxQkFDckIsQ0FBQyxDQUFDO29CQUNILE9BQU8sY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxDQUFDO2dCQUNQLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO2dCQUNsQixLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsOERBQThEO2dCQUM5RCw2REFBNkQ7Z0JBQzdELEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3ZEO1NBQ0o7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDOzs0R0FqRVEsZUFBZTtnR0FBZixlQUFlLDhGQUhoQix3QkFBd0I7MkZBR3ZCLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLHdCQUF3QjttSUFLdkIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IHVwbG9hZEZpbGVUb1MzLCBnZXRTaWduZWRJbWFnZVVybEZvclByb2ZpbGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zMy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBNZDUgfSBmcm9tIFwidHMtbWQ1L2Rpc3QvbWQ1XCI7XG5cbmNvbnN0IGNhY2hlID0ge307XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXZhdGFyJyxcbiAgdGVtcGxhdGU6IGA8aW1nIFtzcmNdPVwiYXZhdGFyXCIgLz5gLFxuICBzdHlsZVVybHM6IFtcIi4vYXZhdGFyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgc2l6ZTogbnVtYmVyID0gNDU7XG5cbiAgICBASW5wdXQoKSB1c2VySUQ6IHN0cmluZztcblxuICAgIGN1cnJlbnRVc2VyOiBQcm9maWxlRW50aXR5O1xuXG4gICAgYXZhdGFyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IEJhc2VVc2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY3VycmVudFVzZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy51c2VyU2VydmljZS5jdTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF2YXRhcih0aGlzLmN1cnJlbnRVc2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLnVzZXJJRCkge1xuICAgICAgICAgICAgY29uc3QgcHJvZmlsZSA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0UHJvZmlsZSh0aGlzLnVzZXJJRCk7XG4gICAgICAgICAgICBpZiAocHJvZmlsZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF2YXRhcih1c2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmN1O1xuICAgICAgICAgICAgdGhpcy5zZXRBdmF0YXIodGhpcy5jdXJyZW50VXNlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBzZXRBdmF0YXIodXNlcjogUHJvZmlsZUVudGl0eSkge1xuICAgICAgICBjb25zdCB7IGlkLCBhdmF0YXIsIGVtYWlsIH0gPSB1c2VyO1xuXG4gICAgICAgIC8vIElmIGF2YXRhciBpcyBub3QgY2FjaGVkLCBjaGVjayBmaXJzdCBpZiB3ZSBoYXZlIGFuIGF2YXRhciBVUkwgdG8gZmV0Y2hcbiAgICAgICAgLy8gZnJvbSBTMy4gSWYgbm90LCByZXRyaWV2ZSBpdCBmcm9tIGxpYnJhdmF0YXIuXG4gICAgICAgIC8vIFRPRE8gdXNlIGluIGEgU2VydmljZSB0byBiZSBhYmxlIHRvIGNoYW5nZS91cGxvYWQgZnJlZWx5LlxuICAgICAgICBpZiAoIWNhY2hlLmhhc093blByb3BlcnR5KGlkKSkge1xuICAgICAgICAgICAgaWYgKCFhdmF0YXIgJiYgZW1haWwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZDUgPSBuZXcgTWQ1KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWQ1aGFzaCA9IG1kNS5hcHBlbmRTdHIoZW1haWwpLmVuZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGF2YXRhciA9IGBodHRwczovL3NlY2Nkbi5saWJyYXZhdGFyLm9yZy9hdmF0YXIvJHttZDVoYXNofT9zPSR7dGhpcy5zaXplfSZkZWZhdWx0PWlkZW50aWNvbmA7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gYXdhaXQgZmV0Y2goYXZhdGFyKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiByZXMuYmxvYigpKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoYmxvYikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgXCJhdmF0YXIuanBlZ1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJpbWFnZS9qcGVnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGxvYWRGaWxlVG9TMyhcImF2YXRhcnMvXCIsIGZpbGUsIGlkKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS51cGRhdGVQcm9maWxlKHsgaWQsIGF2YXRhcjogdXJsIH0pO1xuICAgICAgICAgICAgICAgIHVzZXIuYXZhdGFyID0gdXJsO1xuICAgICAgICAgICAgICAgIGNhY2hlW2lkXSA9IGF2YXRhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhdmF0YXIpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPIGdlbmVyYXRpbmcgc2lnbmVkIHVybHMgZm9yIGF2YXRhciBtYWtlcyBOTyBTRU5TRSAoJCQkKVxuICAgICAgICAgICAgICAgIC8vIFNvcnJ5IGdvdCB0byBjb3B5cGFzdGUgdGhhdCwgYnV0IHJlYWxseSBuZWVkIHRvIGdldCByaWQgb2ZcbiAgICAgICAgICAgICAgICBjYWNoZVtpZF0gPSBhd2FpdCBnZXRTaWduZWRJbWFnZVVybEZvclByb2ZpbGUodXNlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hdmF0YXIgPSBjYWNoZVtpZF07XG4gICAgfVxufVxuIl19
@@ -243,12 +243,12 @@ export class NavigationBarComponent {
243
243
  }
244
244
  }
245
245
  NavigationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, deps: [{ token: i1.Router }, { token: i2.SpaceService }, { token: i3.ZoneService }, { token: i4.VisitService }, { token: i5.ViewerService }, { token: i6.NavigatorService }], target: i0.ɵɵFactoryTarget.Component });
246
- NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\r\n <div class=\"d-flex col-12\">\r\n <div class=\"me-3\">\r\n <span class=\"iconify\" data-icon=\"mdi:map-marker-outline\" style=\"color: white;\" data-width=\"30\" data-height=\"30\"></span>\r\n </div>\r\n\r\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\r\n <div class=\"d-flex flex-column flex-md-row \">\r\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\r\n (ngModelChange)=\"onLocationClick()\">\r\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\r\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\r\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\r\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\r\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\r\n </option>\r\n </select>\r\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\r\n (ngModelChange)=\"onFloorClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\r\n <option *ngFor=\"let zone of floorsPerSpace\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\r\n (ngModelChange)=\"onZoneClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\r\n *ngIf=\"childrenZones && childrenZones.length>0\">\r\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <!-- <select class=\"form-control flex-fill\">\r\n <option i18n>{{'Favorites' | translate}}</option>\r\n </select> -->\r\n </div>\r\n <div class=\"row\" style=\"margin-left: 0;\">\r\n <div class=\"outer_circle\">\r\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\r\n (click)=\"goTo()\"></button>\r\n </div>\r\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\r\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\r\n </div>\r\n </div>\r\n\r\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\r\n {{ showLocation() }}\r\n </h4>\r\n </div>\r\n</nav>\r\n", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"], directives: [{ type: i7.NgbNavbar, selector: ".navbar" }, { type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i10.TranslatePipe } });
246
+ NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div class=\"me-3\">\n <span class=\"iconify\" data-icon=\"mdi:map-marker-outline\" style=\"color: white;\" data-width=\"30\" data-height=\"30\"></span>\n </div>\n\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let zone of floorsPerSpace\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>\n", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"], directives: [{ type: i7.NgbNavbar, selector: ".navbar" }, { type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i10.TranslatePipe } });
247
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, decorators: [{
248
248
  type: Component,
249
- args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\r\n <div class=\"d-flex col-12\">\r\n <div class=\"me-3\">\r\n <span class=\"iconify\" data-icon=\"mdi:map-marker-outline\" style=\"color: white;\" data-width=\"30\" data-height=\"30\"></span>\r\n </div>\r\n\r\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\r\n <div class=\"d-flex flex-column flex-md-row \">\r\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\r\n (ngModelChange)=\"onLocationClick()\">\r\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\r\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\r\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\r\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\r\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\r\n </option>\r\n </select>\r\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\r\n (ngModelChange)=\"onFloorClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\r\n <option *ngFor=\"let zone of floorsPerSpace\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\r\n (ngModelChange)=\"onZoneClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\r\n *ngIf=\"childrenZones && childrenZones.length>0\">\r\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <!-- <select class=\"form-control flex-fill\">\r\n <option i18n>{{'Favorites' | translate}}</option>\r\n </select> -->\r\n </div>\r\n <div class=\"row\" style=\"margin-left: 0;\">\r\n <div class=\"outer_circle\">\r\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\r\n (click)=\"goTo()\"></button>\r\n </div>\r\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\r\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\r\n </div>\r\n </div>\r\n\r\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\r\n {{ showLocation() }}\r\n </h4>\r\n </div>\r\n</nav>\r\n", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"] }]
249
+ args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div class=\"me-3\">\n <span class=\"iconify\" data-icon=\"mdi:map-marker-outline\" style=\"color: white;\" data-width=\"30\" data-height=\"30\"></span>\n </div>\n\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let zone of floorsPerSpace\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>\n", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"] }]
250
250
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SpaceService }, { type: i3.ZoneService }, { type: i4.VisitService }, { type: i5.ViewerService }, { type: i6.NavigatorService }]; }, propDecorators: { navbarSelectMenu: [{
251
251
  type: ViewChild,
252
252
  args: ["navbarSelectMenu"]
253
253
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL25hdmlnYXRpb24tYmFyL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9uYXZpZ2F0aW9uLWJhci9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZTdELE1BQU0sT0FBTyxzQkFBc0I7SUF1Qy9CLFlBQ1ksTUFBYyxFQUNkLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTlCOUMscUJBQWdCLEdBQVUsSUFBSSxDQUFDO1FBSS9CLGtCQUFhLEdBQVMsSUFBSSxDQUFDO1FBRTNCLGlCQUFZLEdBQVMsSUFBSSxDQUFDO1FBRTFCLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixtQkFBYyxHQUFXLElBQUksQ0FBQztRQUU5QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU3QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU3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U0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3hELENBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFDdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDckM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7O21IQXpUUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixnTENmbkMseTZHQXFEQTsyRkR0Q2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjt3T0FLRyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3BhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kZWxzL3NwYWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaXNpdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvdmlzaXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kZWxzL3pvbmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy92aWV3ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNwYWNlLCBWaXNpdCwgWm9uZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbmF2aWdhdGlvbi1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKFwibmF2YmFyU2VsZWN0TWVudVwiKSBuYXZiYXJTZWxlY3RNZW51ITogYW55O1xyXG5cclxuICAgIGxvY2F0aW9uczogU3BhY2VbXTtcclxuXHJcbiAgICBzcGFjZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHZpZXdlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIGxvY2F0aW9uSURTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjdXJyZW50TG9jYXRpb25JRDogc3RyaW5nO1xyXG5cclxuICAgIGN1cnJlbnRNb2RlbDNkOiBzdHJpbmc7XHJcblxyXG4gICAgc2VsZWN0ZWRMb2NhdGlvbjogU3BhY2UgPSBudWxsO1xyXG5cclxuICAgIHNlbGVjdGVkTW9kZWwzZDogc3RyaW5nO1xyXG5cclxuICAgIHNlbGVjdGVkRmxvb3I6IFpvbmUgPSBudWxsO1xyXG5cclxuICAgIHNlbGVjdGVkWm9uZTogWm9uZSA9IG51bGw7XHJcblxyXG4gICAgc2VsZWN0ZWRDaGlsZFpvbmU6IFpvbmUgPSBudWxsO1xyXG5cclxuICAgIHZpc2l0c1BlclNwYWNlOiBWaXNpdFtdID0gbnVsbDtcclxuXHJcbiAgICBmbG9vcnNQZXJTcGFjZTogWm9uZVtdID0gbnVsbDtcclxuXHJcbiAgICB6b25lc1BlclNwYWNlOiBab25lW10gPSBudWxsO1xyXG5cclxuICAgIHpvbmVzUGVyRmxvb3I6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gICAgY2hpbGRyZW5ab25lczogWm9uZVtdID0gbnVsbDtcclxuXHJcbiAgICBzd2VlcFRvR286IHN0cmluZztcclxuXHJcbiAgICBmbG9vclRvR286IFpvbmU7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIHNwYWNlU2VydmljZTogU3BhY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgem9uZVNlcnZpY2U6IFpvbmVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdmlzaXRTZXJ2aWNlOiBWaXNpdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3ZXJTZXJ2aWNlOiBWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdG9yU2VydmljZTogTmF2aWdhdG9yU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc3BhY2VTdWJzY3JpcHRpb24gPSB0aGlzLnNwYWNlU2VydmljZS5sb2NhdGlvblVwZGF0ZWQuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAobG9jcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbnMgPSBsb2NzO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICk7IC8vIFVwZGF0ZSBPYmplY3QgKG9iamVjdCBhZGRyZXNzIHdpbGwgY2hhbmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMudmlld2VyU3Vic2NyaXB0aW9uID0gdGhpcy52aWV3ZXJTZXJ2aWNlLnZpZXdlcklzT24uc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoZGF0YToge1xyXG4gICAgICAgICAgICAgICAgc3BhY2VJRDogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgbW9kZWwzRDogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgc3dlZXA6IHN0cmluZyB8IG51bGw7XHJcbiAgICAgICAgICAgIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibWVudSBuYXZpZ2F0aW9uIHJlY2VpdmVkIHVwZGF0ZVwiLCBkYXRhKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudExvY2F0aW9uSUQgPSBkYXRhLnNwYWNlSUQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRNb2RlbDNkID0gZGF0YS5tb2RlbDNEO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLnNwYWNlSUQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VuZFVwZGF0ZUxvY2F0aW9uRXZlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb24gfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkICE9PSBkYXRhLnNwYWNlSUQpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbnNcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChkYXRhLnNwYWNlSUQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VuZFVwZGF0ZUxvY2F0aW9uRXZlbnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBXZSBsaXN0ZW4gZm9yIExvY2F0aW9uIGNoYW5nZSBldmVudFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMubG9jYXRpb25JRFN1YnNjcmlwdGlvbiA9XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlLnN1YnNjcmliZSgoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChpZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhckxvY2F0aW9uSUQgPSBpZDtcclxuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RlZExvY2F0aW9uQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmluaXRMb2NhdGlvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnNwYWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB0aGlzLmxvY2F0aW9uSURTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbml0TG9jYXRpb25zKCkge1xyXG4gICAgICAgIHRoaXMubG9jYXRpb25zID0gdGhpcy5zcGFjZVNlcnZpY2UubG9jYXRpb25zRm9yVXNlcjtcclxuICAgICAgICBpZiAodGhpcy5sb2NhdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25zID1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3BhY2VTZXJ2aWNlLmdldExvY2F0aW9uc0ZvckN1cnJlbnRVc2VyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2NhdGlvbklEICYmIHRoaXMubG9jYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZCBhIGxvY2F0aW9uIHdpdGggYSBnaXZlbiBJRFxyXG4gICAgICogQHBhcmFtIGlkIElEIGZvciB0aGUgbG9jYXRpb25cclxuICAgICAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbiBvciBudWxsIGlmIG5vIGxvY2F0aW9uIHdlcmUgZm91bmRcclxuICAgICAqL1xyXG4gICAgZmluZExvY2F0aW9uQnlJRChpZDogc3RyaW5nKTogU3BhY2Uge1xyXG4gICAgICAgIGNvbnN0IHNwYWNlID0gdGhpcy5sb2NhdGlvbnMuZmluZCgobG9jKSA9PiBsb2MuaWQgPT09IGlkKTtcclxuICAgICAgICByZXR1cm4gc3BhY2UgfHwgbnVsbDsgLyoqIENvbnZlcnQgdG8gbnVsbCBpZiB1bmRlZmluZWQgKi9cclxuICAgIH1cclxuXHJcbiAgICBjbGVhckRhdGEoY2xlYXJWaXNpdHM6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZsb29yID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmVzUGVyRmxvb3IgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW5ab25lcyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc3dlZXBUb0dvID0gbnVsbDtcclxuICAgICAgICB0aGlzLmZsb29yVG9HbyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmUgPSBudWxsO1xyXG4gICAgICAgIGlmIChjbGVhclZpc2l0cykge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2l0c1BlclNwYWNlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy56b25lc1BlclNwYWNlID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuIHRoZSBzZWxlY3RlZExvY2F0aW9uIGNoYW5nZXNcclxuICAgICAqIFNlbmQgYSBldmVudCB0byBsb2NhdGlvbklEQ2hhbmdlIGZyb20gTmF2aWdhdG9yU2VydmljZVxyXG4gICAgICogVGhlIGV2ZW50IHdpbGwgYmUgY2F0Y2ggYnkgdGhpcyBjb21wb25lbnQgYW5kIHRoZSBmaWx0ZXIgYmFyIHdpbGwgYmUgdXBkYXRlXHJcbiAgICAgKi9cclxuICAgIHNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uSUQgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25cclxuICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlLm5leHQobG9jYXRpb25JRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25TZWxlY3RlZExvY2F0aW9uQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaXRzUGVyU3BhY2UgPVxyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy52aXNpdFNlcnZpY2UuZ2V0VmlzaXRzRm9yU3BhY2VGb3JVc2VyKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZXNQZXJTcGFjZSA9IGF3YWl0IHRoaXMuem9uZVNlcnZpY2UuZ2V0Wm9uZXNCeVNwYWNlRm9yVXNlcihcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmlzaXRzUGVyU3BhY2UubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwzZCA9IHRoaXMudmlzaXRzUGVyU3BhY2VbMF0ubW9kZWwzZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmxvb3JzUGVyU3BhY2UgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgICh6b25lKSA9PiB6b25lLmxheWVyICYmIHpvbmUubGF5ZXIubmFtZS5pbmNsdWRlcyhcIkZMT09SXCIpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZsb29yc1BlclNwYWNlLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIFt0aGlzLnNlbGVjdGVkRmxvb3JdID0gdGhpcy5mbG9vcnNQZXJTcGFjZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRmxvb3JDbGljayhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yIG9uQ2hvc2VuTG9jYXRpb25cIiwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkxvY2F0aW9uQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25GbG9vckNsaWNrKGVtaXRFdmVudCA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnN3ZWVwVG9HbyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmUgPSBudWxsO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLm5hdkJhclpvbmVJRENoYW5nZS5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhclpvbmVJRCA9IG51bGw7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVtaXRFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxvb3IuaWQsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhclpvbmVJRCA9IHRoaXMuc2VsZWN0ZWRGbG9vci5pZDtcclxuICAgICAgICB0aGlzLnpvbmVzUGVyRmxvb3IgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAgICAgICAoem9uZSkgPT5cclxuICAgICAgICAgICAgICAgIC8vIHpvbmUuaWQgPT09IHRoaXMuc2VsZWN0ZWRGbG9vci5pZCB8fFxyXG4gICAgICAgICAgICAgICAgem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZEZsb29yLmlkLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25ab25lQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaWxkWm9uZSA9IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gbnVsbDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxvb3IuaWQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbG9vci5pZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hpbGRyZW5ab25lcyA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICAgICAgICh6b25lKSA9PiB6b25lLnBhcmVudElEID09PSB0aGlzLnNlbGVjdGVkWm9uZS5pZCxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkWm9uZS5pZCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSB0aGlzLnNlbGVjdGVkWm9uZS5pZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvblZpc2l0Q2xpY2soZXZlbnQpIHtcclxuICAgICAgICB0aGlzLmNsZWFyRGF0YShmYWxzZSk7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgY29uc3QgdmlzaXQgPSB0aGlzLnZpc2l0c1BlclNwYWNlW2luZGV4XTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwzZCA9IHZpc2l0Lm1vZGVsM2Q7XHJcbiAgICAgICAgY29uc3QgcGFyZW50Wm9uZUZvclZpc2l0ID1cclxuICAgICAgICAgICAgYXdhaXQgdGhpcy52aXNpdFNlcnZpY2UuZ2V0RGVmYXVsdFpvbmVGb3JWaXNpdCh2aXNpdCk7XHJcbiAgICAgICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICAgICAgICh6b25lKSA9PlxyXG4gICAgICAgICAgICAgICAgem9uZS5sYXllciAmJlxyXG4gICAgICAgICAgICAgICAgem9uZS5sYXllci5uYW1lLmluY2x1ZGVzKFwiRkxPT1JcIikgJiZcclxuICAgICAgICAgICAgICAgIHpvbmUucGFyZW50SUQgPT09IHBhcmVudFpvbmVGb3JWaXNpdC5pZCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdvVG8oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lICYmICF0aGlzLnNlbGVjdGVkWm9uZS52aXJ0dWFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3dlZXBUb0dvID0gdGhpcy5zZWxlY3RlZENoaWxkWm9uZVxyXG4gICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkQ2hpbGRab25lLnN3ZWVwSURzWzBdXHJcbiAgICAgICAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWRab25lLnN3ZWVwSURzWzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEZsb29yICYmICF0aGlzLnNlbGVjdGVkWm9uZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZsb29yVG9HbyA9IHRoaXMuc2VsZWN0ZWRGbG9vcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzVG9DaGFuZ2VWaXNpdCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ29Ub1N3ZWVwT3JGbG9vcigpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN3ZWVwVG9Hbykge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJiZWZvcmUgc2V0IHN3ZWVwXCIsIHRoaXMuc3dlZXBUb0dvKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld2VyU2VydmljZS5zZXRTd2VlcFRvTW92ZSh0aGlzLnN3ZWVwVG9Hbyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuZmxvb3JUb0dvICYmIHRoaXMuZmxvb3JzUGVyU3BhY2UubGVuZ3RoICE9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuZmxvb3JUb0dvID0gdGhpcy5mbG9vclRvR287XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1widmlzaXRcIiwgdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkXSwge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbW9kZWwzRDogdGhpcy5zZWxlY3RlZE1vZGVsM2QgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhc1RvQ2hhbmdlVmlzaXQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCA9PT0gdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkICYmXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID09PSB0aGlzLmN1cnJlbnRNb2RlbDNkXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnb1RvU3dlZXBPckZsb29yKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN3ZWVwVG9Hbykge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuZ29Ub1N3ZWVwV2l0aFJvdGF0aW9uKHRoaXMuc3dlZXBUb0dvKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZmxvb3JUb0dvKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvRmxvb3IodGhpcy5mbG9vclRvR28pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBoYXNIaXN0b3J5KCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLm5hdmlnYXRvclNlcnZpY2UubW9kZWxIYXNIaXN0b3J5KHRoaXMuc2VsZWN0ZWRNb2RlbDNkKTtcclxuICAgIC8vIH1cclxuXHJcbiAgICBjYW5HbygpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2aWV3ZXJJc1JlYWR5ID1cclxuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLmlzTG9hZGVkICYmIHRoaXMudmlld2VyU2VydmljZS5zaG93aW5nVmlld2VyO1xyXG4gICAgICAgIGNvbnN0IG5vVmlld2VyID0gIXRoaXMudmlld2VyU2VydmljZS5zaG93aW5nVmlld2VyO1xyXG4gICAgICAgIHJldHVybiB2aWV3ZXJJc1JlYWR5IHx8IG5vVmlld2VyO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dMb2NhdGlvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgd2luZG93LmlubmVyV2lkdGggPCA3NTAgJiZcclxuICAgICAgICAgICAgdGhpcy5uYXZiYXJTZWxlY3RNZW51ICYmXHJcbiAgICAgICAgICAgIHRoaXMubmF2YmFyU2VsZWN0TWVudS5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5zZWFyY2goXCJzaG93XCIpID09PVxyXG4gICAgICAgICAgICAgICAgLTEgJiZcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTG9jYXRpb24ubmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLW1kIG5hdmJhci1kYXJrIG5hdmJhci1pbnZlcnNlIHNlY29uZC1uYXZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggY29sLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lLTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uaWZ5XCIgZGF0YS1pY29uPVwibWRpOm1hcC1tYXJrZXItb3V0bGluZVwiIHN0eWxlPVwiY29sb3I6IHdoaXRlO1wiIGRhdGEtd2lkdGg9XCIzMFwiIGRhdGEtaGVpZ2h0PVwiMzBcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgI25hdmJhclNlbGVjdE1lbnUgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2VcIiBpZD1cIm5hdi1pdGVtLWNvbnRhaW5lci1ibHVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgXCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBsb2NhdGlvbiBzZWxlY3QtbWVudVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Mb2NhdGlvbkNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD57eyAnTG9jYXRpb24nIHwgdHJhbnNsYXRlIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgbG9jIG9mIGxvY2F0aW9uczsgaW5kZXggYXMgaW5kZXhcIiBbbmdWYWx1ZV09XCJsb2NcIj4ge3sgbG9jLm5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGwgc2VsZWN0LW1lbnVcIiAoY2hhbmdlKT1cIm9uVmlzaXRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInZpc2l0c1BlclNwYWNlICYmIHZpc2l0c1BlclNwYWNlLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVmYXVsdFwiIHNlbGVjdGVkIGRpc2FibGVkIGhpZGRlbj57eydWaXNpdCcgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHZpc2l0IG9mIHZpc2l0c1BlclNwYWNlOyBpbmRleCBhcyBpbmRleFwiIHZhbHVlPVwie3tpbmRleH19XCI+e3sgdmlzaXQubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIGZsb29yIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZsb29yXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZsb29yQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkPnt7J0Zsb29yJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiBmbG9vcnNQZXJTcGFjZVwiIFtuZ1ZhbHVlXT1cInpvbmVcIj57eyB6b25lLm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBzZWxlY3QtbWVudSB6b25lXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFpvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uWm9uZUNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD57eydab25lJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiB6b25lc1BlckZsb29yXCIgW25nVmFsdWVdPVwiem9uZVwiPnt7IHpvbmUubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENoaWxkWm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZHJlblpvbmVzICYmIGNoaWxkcmVuWm9uZXMubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZCBkaXNhYmxlZD57eydab25lJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiBjaGlsZHJlblpvbmVzXCIgW25nVmFsdWVdPVwiem9uZVwiPnt7IHpvbmUubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGkxOG4+e3snRmF2b3JpdGVzJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdXRlcl9jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSdidG4taWNvbicgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZExvY2F0aW9uIHx8ICFzZWxlY3RlZE1vZGVsM2QgfHwgIWNhbkdvKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29UbygpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImdvVG8oKVwiIGNsYXNzPVwiYnRuIHJvdW5kZWQtcGlsbCBidG4tM2RcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRMb2NhdGlvbiB8fCAhc2VsZWN0ZWRNb2RlbDNkIHx8ICFjYW5HbygpXCI+e3snM0QgdmlzaXQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxoNCBzdHlsZT1cImxpbmUtaGVpZ2h0OiAyOXB4O21hcmdpbjogMDtcIiAqbmdJZj1cInNob3dMb2NhdGlvbigpXCI+XHJcbiAgICAgICAgICAgIHt7IHNob3dMb2NhdGlvbigpIH19XHJcbiAgICAgICAgPC9oND5cclxuICAgIDwvZGl2PlxyXG48L25hdj5cclxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL25hdmlnYXRpb24tYmFyL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9uYXZpZ2F0aW9uLWJhci9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZTdELE1BQU0sT0FBTyxzQkFBc0I7SUF1Qy9CLFlBQ1ksTUFBYyxFQUNkLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTlCOUMscUJBQWdCLEdBQVUsSUFBSSxDQUFDO1FBSS9CLGtCQUFhLEdBQVMsSUFBSSxDQUFDO1FBRTNCLGlCQUFZLEdBQVMsSUFBSSxDQUFDO1FBRTFCLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixtQkFBYyxHQUFXLElBQUksQ0FBQztRQUU5QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU3QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU3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U0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3hELENBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFDdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDckM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7O21IQXpUUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixnTENmbkMsK3pHQXFEQTsyRkR0Q2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjt3T0FLRyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3BhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kZWxzL3NwYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlzaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kZWxzL3Zpc2l0LnNlcnZpY2UnO1xuaW1wb3J0IHsgWm9uZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvem9uZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3BhY2UsIFZpc2l0LCBab25lIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1uYXZpZ2F0aW9uLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZChcIm5hdmJhclNlbGVjdE1lbnVcIikgbmF2YmFyU2VsZWN0TWVudSE6IGFueTtcblxuICAgIGxvY2F0aW9uczogU3BhY2VbXTtcblxuICAgIHNwYWNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICB2aWV3ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGxvY2F0aW9uSURTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGN1cnJlbnRMb2NhdGlvbklEOiBzdHJpbmc7XG5cbiAgICBjdXJyZW50TW9kZWwzZDogc3RyaW5nO1xuXG4gICAgc2VsZWN0ZWRMb2NhdGlvbjogU3BhY2UgPSBudWxsO1xuXG4gICAgc2VsZWN0ZWRNb2RlbDNkOiBzdHJpbmc7XG5cbiAgICBzZWxlY3RlZEZsb29yOiBab25lID0gbnVsbDtcblxuICAgIHNlbGVjdGVkWm9uZTogWm9uZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZENoaWxkWm9uZTogWm9uZSA9IG51bGw7XG5cbiAgICB2aXNpdHNQZXJTcGFjZTogVmlzaXRbXSA9IG51bGw7XG5cbiAgICBmbG9vcnNQZXJTcGFjZTogWm9uZVtdID0gbnVsbDtcblxuICAgIHpvbmVzUGVyU3BhY2U6IFpvbmVbXSA9IG51bGw7XG5cbiAgICB6b25lc1BlckZsb29yOiBab25lW10gPSBudWxsO1xuXG4gICAgY2hpbGRyZW5ab25lczogWm9uZVtdID0gbnVsbDtcblxuICAgIHN3ZWVwVG9Hbzogc3RyaW5nO1xuXG4gICAgZmxvb3JUb0dvOiBab25lO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgc3BhY2VTZXJ2aWNlOiBTcGFjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgem9uZVNlcnZpY2U6IFpvbmVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpc2l0U2VydmljZTogVmlzaXRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdlclNlcnZpY2U6IFZpZXdlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdG9yU2VydmljZTogTmF2aWdhdG9yU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5zcGFjZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3BhY2VTZXJ2aWNlLmxvY2F0aW9uVXBkYXRlZC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAobG9jcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb25zID0gbG9jcztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZExvY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgKTsgLy8gVXBkYXRlIE9iamVjdCAob2JqZWN0IGFkZHJlc3Mgd2lsbCBjaGFuZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmlld2VyU3Vic2NyaXB0aW9uID0gdGhpcy52aWV3ZXJTZXJ2aWNlLnZpZXdlcklzT24uc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGE6IHtcbiAgICAgICAgICAgICAgICBzcGFjZUlEOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbW9kZWwzRDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHN3ZWVwOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibWVudSBuYXZpZ2F0aW9uIHJlY2VpdmVkIHVwZGF0ZVwiLCBkYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRMb2NhdGlvbklEID0gZGF0YS5zcGFjZUlEO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsM2QgPSBkYXRhLm1vZGVsM0Q7XG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLnNwYWNlSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCAhPT0gZGF0YS5zcGFjZUlEKSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uc1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSB0aGlzLmZpbmRMb2NhdGlvbkJ5SUQoZGF0YS5zcGFjZUlEKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGxpc3RlbiBmb3IgTG9jYXRpb24gY2hhbmdlIGV2ZW50XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmxvY2F0aW9uSURTdWJzY3JpcHRpb24gPVxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmxvY2F0aW9uSURDaGFuZ2Uuc3Vic2NyaWJlKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSB0aGlzLmZpbmRMb2NhdGlvbkJ5SUQoaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyTG9jYXRpb25JRCA9IGlkO1xuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RlZExvY2F0aW9uQ2hhbmdlZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdExvY2F0aW9ucygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnNwYWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudmlld2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubG9jYXRpb25JRFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXRMb2NhdGlvbnMoKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25zID0gdGhpcy5zcGFjZVNlcnZpY2UubG9jYXRpb25zRm9yVXNlcjtcbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbnMgPVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3BhY2VTZXJ2aWNlLmdldExvY2F0aW9uc0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvY2F0aW9uSUQgJiYgdGhpcy5sb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKFxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudExvY2F0aW9uSUQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VuZFVwZGF0ZUxvY2F0aW9uRXZlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmQgYSBsb2NhdGlvbiB3aXRoIGEgZ2l2ZW4gSURcbiAgICAgKiBAcGFyYW0gaWQgSUQgZm9yIHRoZSBsb2NhdGlvblxuICAgICAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbiBvciBudWxsIGlmIG5vIGxvY2F0aW9uIHdlcmUgZm91bmRcbiAgICAgKi9cbiAgICBmaW5kTG9jYXRpb25CeUlEKGlkOiBzdHJpbmcpOiBTcGFjZSB7XG4gICAgICAgIGNvbnN0IHNwYWNlID0gdGhpcy5sb2NhdGlvbnMuZmluZCgobG9jKSA9PiBsb2MuaWQgPT09IGlkKTtcbiAgICAgICAgcmV0dXJuIHNwYWNlIHx8IG51bGw7IC8qKiBDb252ZXJ0IHRvIG51bGwgaWYgdW5kZWZpbmVkICovXG4gICAgfVxuXG4gICAgY2xlYXJEYXRhKGNsZWFyVmlzaXRzOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZsb29yID0gbnVsbDtcbiAgICAgICAgdGhpcy56b25lc1BlckZsb29yID0gbnVsbDtcbiAgICAgICAgdGhpcy5jaGlsZHJlblpvbmVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPSBudWxsO1xuICAgICAgICB0aGlzLnN3ZWVwVG9HbyA9IG51bGw7XG4gICAgICAgIHRoaXMuZmxvb3JUb0dvID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpbGRab25lID0gbnVsbDtcbiAgICAgICAgaWYgKGNsZWFyVmlzaXRzKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2l0c1BlclNwYWNlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuem9uZXNQZXJTcGFjZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRoZSBzZWxlY3RlZExvY2F0aW9uIGNoYW5nZXNcbiAgICAgKiBTZW5kIGEgZXZlbnQgdG8gbG9jYXRpb25JRENoYW5nZSBmcm9tIE5hdmlnYXRvclNlcnZpY2VcbiAgICAgKiBUaGUgZXZlbnQgd2lsbCBiZSBjYXRjaCBieSB0aGlzIGNvbXBvbmVudCBhbmQgdGhlIGZpbHRlciBiYXIgd2lsbCBiZSB1cGRhdGVcbiAgICAgKi9cbiAgICBzZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpIHtcbiAgICAgICAgY29uc3QgbG9jYXRpb25JRCA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvblxuICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmxvY2F0aW9uSURDaGFuZ2UubmV4dChsb2NhdGlvbklEKTtcbiAgICB9XG5cbiAgICBhc3luYyBvblNlbGVjdGVkTG9jYXRpb25DaGFuZ2VkKCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnZpc2l0c1BlclNwYWNlID1cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnZpc2l0U2VydmljZS5nZXRWaXNpdHNGb3JTcGFjZUZvclVzZXIoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy56b25lc1BlclNwYWNlID0gYXdhaXQgdGhpcy56b25lU2VydmljZS5nZXRab25lc0J5U3BhY2VGb3JVc2VyKFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAodGhpcy52aXNpdHNQZXJTcGFjZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwzZCA9IHRoaXMudmlzaXRzUGVyU3BhY2VbMF0ubW9kZWwzZDtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gdGhpcy56b25lc1BlclNwYWNlLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKHpvbmUpID0+IHpvbmUubGF5ZXIgJiYgem9uZS5sYXllci5uYW1lLmluY2x1ZGVzKFwiRkxPT1JcIiksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbG9vcnNQZXJTcGFjZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgW3RoaXMuc2VsZWN0ZWRGbG9vcl0gPSB0aGlzLmZsb29yc1BlclNwYWNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRmxvb3JDbGljayhmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvciBvbkNob3NlbkxvY2F0aW9uXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIG9uTG9jYXRpb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xuICAgIH1cblxuICAgIGFzeW5jIG9uRmxvb3JDbGljayhlbWl0RXZlbnQgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuc3dlZXBUb0dvID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpbGRab25lID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLm5hdkJhclpvbmVJRENoYW5nZS5uZXh0KG51bGwpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dChcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxvb3IuaWQsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSB0aGlzLnNlbGVjdGVkRmxvb3IuaWQ7XG4gICAgICAgIHRoaXMuem9uZXNQZXJGbG9vciA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXG4gICAgICAgICAgICAoem9uZSkgPT5cbiAgICAgICAgICAgICAgICAvLyB6b25lLmlkID09PSB0aGlzLnNlbGVjdGVkRmxvb3IuaWQgfHxcbiAgICAgICAgICAgICAgICB6b25lLnBhcmVudElEID09PSB0aGlzLnNlbGVjdGVkRmxvb3IuaWQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25ab25lQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmUgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFpvbmUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbG9vci5pZCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsb29yLmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hpbGRyZW5ab25lcyA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXG4gICAgICAgICAgICAoem9uZSkgPT4gem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZFpvbmUuaWQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkWm9uZS5pZCk7XG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gdGhpcy5zZWxlY3RlZFpvbmUuaWQ7XG4gICAgfVxuXG4gICAgYXN5bmMgb25WaXNpdENsaWNrKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJEYXRhKGZhbHNlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIGNvbnN0IHZpc2l0ID0gdGhpcy52aXNpdHNQZXJTcGFjZVtpbmRleF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID0gdmlzaXQubW9kZWwzZDtcbiAgICAgICAgY29uc3QgcGFyZW50Wm9uZUZvclZpc2l0ID1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMudmlzaXRTZXJ2aWNlLmdldERlZmF1bHRab25lRm9yVmlzaXQodmlzaXQpO1xuICAgICAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gdGhpcy56b25lc1BlclNwYWNlLmZpbHRlcihcbiAgICAgICAgICAgICh6b25lKSA9PlxuICAgICAgICAgICAgICAgIHpvbmUubGF5ZXIgJiZcbiAgICAgICAgICAgICAgICB6b25lLmxheWVyLm5hbWUuaW5jbHVkZXMoXCJGTE9PUlwiKSAmJlxuICAgICAgICAgICAgICAgIHpvbmUucGFyZW50SUQgPT09IHBhcmVudFpvbmVGb3JWaXNpdC5pZCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnb1RvKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFpvbmUgJiYgIXRoaXMuc2VsZWN0ZWRab25lLnZpcnR1YWwpIHtcbiAgICAgICAgICAgIHRoaXMuc3dlZXBUb0dvID0gdGhpcy5zZWxlY3RlZENoaWxkWm9uZVxuICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZENoaWxkWm9uZS5zd2VlcElEc1swXVxuICAgICAgICAgICAgICAgIDogdGhpcy5zZWxlY3RlZFpvbmUuc3dlZXBJRHNbMF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciAmJiAhdGhpcy5zZWxlY3RlZFpvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZmxvb3JUb0dvID0gdGhpcy5zZWxlY3RlZEZsb29yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc1RvQ2hhbmdlVmlzaXQoKSkge1xuICAgICAgICAgICAgdGhpcy5nb1RvU3dlZXBPckZsb29yKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zd2VlcFRvR28pIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImJlZm9yZSBzZXQgc3dlZXBcIiwgdGhpcy5zd2VlcFRvR28pO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld2VyU2VydmljZS5zZXRTd2VlcFRvTW92ZSh0aGlzLnN3ZWVwVG9Hbyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5mbG9vclRvR28gJiYgdGhpcy5mbG9vcnNQZXJTcGFjZS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuZmxvb3JUb0dvID0gdGhpcy5mbG9vclRvR287XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJ2aXNpdFwiLCB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRdLCB7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbW9kZWwzRDogdGhpcy5zZWxlY3RlZE1vZGVsM2QgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzVG9DaGFuZ2VWaXNpdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExvY2F0aW9uSUQgPT09IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCAmJlxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPT09IHRoaXMuY3VycmVudE1vZGVsM2RcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnb1RvU3dlZXBPckZsb29yKCkge1xuICAgICAgICBpZiAodGhpcy5zd2VlcFRvR28pIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvU3dlZXBXaXRoUm90YXRpb24odGhpcy5zd2VlcFRvR28pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZsb29yVG9Hbykge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmdvVG9GbG9vcih0aGlzLmZsb29yVG9Hbyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBoYXNIaXN0b3J5KCk6IGJvb2xlYW4ge1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLm1vZGVsSGFzSGlzdG9yeSh0aGlzLnNlbGVjdGVkTW9kZWwzZCk7XG4gICAgLy8gfVxuXG4gICAgY2FuR28oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpZXdlcklzUmVhZHkgPVxuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLmlzTG9hZGVkICYmIHRoaXMudmlld2VyU2VydmljZS5zaG93aW5nVmlld2VyO1xuICAgICAgICBjb25zdCBub1ZpZXdlciA9ICF0aGlzLnZpZXdlclNlcnZpY2Uuc2hvd2luZ1ZpZXdlcjtcbiAgICAgICAgcmV0dXJuIHZpZXdlcklzUmVhZHkgfHwgbm9WaWV3ZXI7XG4gICAgfVxuXG4gICAgc2hvd0xvY2F0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHdpbmRvdy5pbm5lcldpZHRoIDwgNzUwICYmXG4gICAgICAgICAgICB0aGlzLm5hdmJhclNlbGVjdE1lbnUgJiZcbiAgICAgICAgICAgIHRoaXMubmF2YmFyU2VsZWN0TWVudS5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5zZWFyY2goXCJzaG93XCIpID09PVxuICAgICAgICAgICAgICAgIC0xICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExvY2F0aW9uLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxufVxuIiwiPG5hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLW1kIG5hdmJhci1kYXJrIG5hdmJhci1pbnZlcnNlIHNlY29uZC1uYXZcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGNvbC0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWUtM1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uaWZ5XCIgZGF0YS1pY29uPVwibWRpOm1hcC1tYXJrZXItb3V0bGluZVwiIHN0eWxlPVwiY29sb3I6IHdoaXRlO1wiIGRhdGEtd2lkdGg9XCIzMFwiIGRhdGEtaGVpZ2h0PVwiMzBcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgI25hdmJhclNlbGVjdE1lbnUgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2VcIiBpZD1cIm5hdi1pdGVtLWNvbnRhaW5lci1ibHVlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93IFwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIGxvY2F0aW9uIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZExvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Mb2NhdGlvbkNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQ+e3sgJ0xvY2F0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBsb2Mgb2YgbG9jYXRpb25zOyBpbmRleCBhcyBpbmRleFwiIFtuZ1ZhbHVlXT1cImxvY1wiPiB7eyBsb2MubmFtZSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIHNlbGVjdC1tZW51XCIgKGNoYW5nZSk9XCJvblZpc2l0Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidmlzaXRzUGVyU3BhY2UgJiYgdmlzaXRzUGVyU3BhY2UubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVmYXVsdFwiIHNlbGVjdGVkIGRpc2FibGVkIGhpZGRlbj57eydWaXNpdCcgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB2aXNpdCBvZiB2aXNpdHNQZXJTcGFjZTsgaW5kZXggYXMgaW5kZXhcIiB2YWx1ZT1cInt7aW5kZXh9fVwiPnt7IHZpc2l0Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBmbG9vciBzZWxlY3QtbWVudVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGbG9vclwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmxvb3JDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkPnt7J0Zsb29yJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHpvbmUgb2YgZmxvb3JzUGVyU3BhY2VcIiBbbmdWYWx1ZV09XCJ6b25lXCI+e3sgem9uZS5uYW1lfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBzZWxlY3QtbWVudSB6b25lXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblpvbmVDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkPnt7J1pvbmUnIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiB6b25lc1BlckZsb29yXCIgW25nVmFsdWVdPVwiem9uZVwiPnt7IHpvbmUubmFtZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGwgc2VsZWN0LW1lbnVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ2hpbGRab25lXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZHJlblpvbmVzICYmIGNoaWxkcmVuWm9uZXMubGVuZ3RoPjBcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+e3snWm9uZScgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB6b25lIG9mIGNoaWxkcmVuWm9uZXNcIiBbbmdWYWx1ZV09XCJ6b25lXCI+e3sgem9uZS5uYW1lfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gaTE4bj57eydGYXZvcml0ZXMnIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdXRlcl9jaXJjbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0nYnRuLWljb24nIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRMb2NhdGlvbiB8fCAhc2VsZWN0ZWRNb2RlbDNkIHx8ICFjYW5HbygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvKClcIiBjbGFzcz1cImJ0biByb3VuZGVkLXBpbGwgYnRuLTNkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZExvY2F0aW9uIHx8ICFzZWxlY3RlZE1vZGVsM2QgfHwgIWNhbkdvKClcIj57eyczRCB2aXNpdCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxoNCBzdHlsZT1cImxpbmUtaGVpZ2h0OiAyOXB4O21hcmdpbjogMDtcIiAqbmdJZj1cInNob3dMb2NhdGlvbigpXCI+XG4gICAgICAgICAgICB7eyBzaG93TG9jYXRpb24oKSB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuPC9uYXY+XG4iXX0=
@@ -73,9 +73,9 @@ export class RangeDatePickerComponent {
73
73
  }
74
74
  }
75
75
  RangeDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: RangeDatePickerComponent, deps: [{ token: i1.NgbCalendar }, { token: i1.NgbDateParserFormatter }, { token: i2.FilterService }], target: i0.ɵɵFactoryTarget.Component });
76
- RangeDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: RangeDatePickerComponent, selector: "lib-range-date-picker", ngImport: i0, template: "<form class=\"form-inline\">\r\n <div class=\"mb-3 hidden\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\" [dayTemplate]=\"t\"\r\n outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\">\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.focused]=\"focused\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 ms-2\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onApply()\" [disabled]=\"!toDate\">{{'Apply' |\r\n translate}}</button>\r\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onClearDates()\">{{'Clear' |\r\n translate}}</button>\r\n</form>\r\n", styles: [".mb-3.hidden{width:0;margin:0;border:none;padding:0}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:var(--smarterplan-primary-lighter);color:#fff}.custom-day.faded{background-color:var(--smarterplan-primary-transparent)}.calendar{height:100%}\n"], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }], pipes: { "translate": i4.TranslatePipe } });
76
+ RangeDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: RangeDatePickerComponent, selector: "lib-range-date-picker", ngImport: i0, template: "<form class=\"form-inline\">\n <div class=\"mb-3 hidden\">\n <div class=\"input-group\">\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\" [dayTemplate]=\"t\"\n outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\">\n <ng-template #t let-date let-focused=\"focused\">\n <span class=\"custom-day\" [class.focused]=\"focused\" [class.range]=\"isRange(date)\"\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\n (mouseleave)=\"hoveredDate = null\">\n {{ date.day }}\n </span>\n </ng-template>\n </div>\n </div>\n <div>\n <div class=\"input-group\">\n <input #dpFromDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpFromDate\"\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\n </div>\n </div>\n </div>\n <div class=\"mb-3 ms-2\">\n <div class=\"input-group\">\n <input #dpToDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpToDate\"\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\n </div>\n </div>\n </div>\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onApply()\" [disabled]=\"!toDate\">{{'Apply' |\n translate}}</button>\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onClearDates()\">{{'Clear' |\n translate}}</button>\n</form>\n", styles: [".mb-3.hidden{width:0;margin:0;border:none;padding:0}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:var(--smarterplan-primary-lighter);color:#fff}.custom-day.faded{background-color:var(--smarterplan-primary-transparent)}.calendar{height:100%}\n"], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }], pipes: { "translate": i4.TranslatePipe } });
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: RangeDatePickerComponent, decorators: [{
78
78
  type: Component,
79
- args: [{ selector: 'lib-range-date-picker', template: "<form class=\"form-inline\">\r\n <div class=\"mb-3 hidden\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\" [dayTemplate]=\"t\"\r\n outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\">\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.focused]=\"focused\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 ms-2\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onApply()\" [disabled]=\"!toDate\">{{'Apply' |\r\n translate}}</button>\r\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onClearDates()\">{{'Clear' |\r\n translate}}</button>\r\n</form>\r\n", styles: [".mb-3.hidden{width:0;margin:0;border:none;padding:0}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:var(--smarterplan-primary-lighter);color:#fff}.custom-day.faded{background-color:var(--smarterplan-primary-transparent)}.calendar{height:100%}\n"] }]
79
+ args: [{ selector: 'lib-range-date-picker', template: "<form class=\"form-inline\">\n <div class=\"mb-3 hidden\">\n <div class=\"input-group\">\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\" [dayTemplate]=\"t\"\n outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\">\n <ng-template #t let-date let-focused=\"focused\">\n <span class=\"custom-day\" [class.focused]=\"focused\" [class.range]=\"isRange(date)\"\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\n (mouseleave)=\"hoveredDate = null\">\n {{ date.day }}\n </span>\n </ng-template>\n </div>\n </div>\n <div>\n <div class=\"input-group\">\n <input #dpFromDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpFromDate\"\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\n </div>\n </div>\n </div>\n <div class=\"mb-3 ms-2\">\n <div class=\"input-group\">\n <input #dpToDate class=\"form-control\" placeholder=\"dd/MM/yyyy\" name=\"dpToDate\"\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary calendar\" (click)=\"datepicker.toggle()\" type=\"button\"></button>\n </div>\n </div>\n </div>\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onApply()\" [disabled]=\"!toDate\">{{'Apply' |\n translate}}</button>\n <button class=\"btn btn-outline-primary rounded-pill ms-3\" (click)=\"onClearDates()\">{{'Clear' |\n translate}}</button>\n</form>\n", styles: [".mb-3.hidden{width:0;margin:0;border:none;padding:0}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:var(--smarterplan-primary-lighter);color:#fff}.custom-day.faded{background-color:var(--smarterplan-primary-transparent)}.calendar{height:100%}\n"] }]
80
80
  }], ctorParameters: function () { return [{ type: i1.NgbCalendar }, { type: i1.NgbDateParserFormatter }, { type: i2.FilterService }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL3JhbmdlLWRhdGUtcGlja2VyL3JhbmdlLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9yYW5nZS1kYXRlLXBpY2tlci9yYW5nZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVExRixNQUFNLE9BQU8sd0JBQXdCO0lBT2pDLFlBQ1ksUUFBcUIsRUFDdEIsU0FBaUMsRUFDaEMsYUFBNEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVR4QyxnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFXL0Isa0VBQWtFO1FBQ2xFLHFDQUFxQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjthQUFNLElBQ0gsSUFBSSxDQUFDLFFBQVE7WUFDYixDQUFDLElBQUks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LHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZEQ1RyQyxnc0VBc0NBOzJGRDdCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZSwgTmdiQ2FsZW5kYXIsIE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWx0ZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yYW5nZS1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgaG92ZXJlZERhdGU6IE5nYkRhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XHJcblxyXG4gICAgdG9EYXRlOiBOZ2JEYXRlIHwgbnVsbDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNhbGVuZGFyOiBOZ2JDYWxlbmRhcixcclxuICAgICAgICBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLFxyXG4gICAgICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIC8vIHRoaXMuZnJvbURhdGUgPSBjYWxlbmRhci5nZXRQcmV2KGNhbGVuZGFyLmdldFRvZGF5KCksIFwiZFwiLCAzMCk7XHJcbiAgICAgICAgLy8gdGhpcy50b0RhdGUgPSBjYWxlbmRhci5nZXRUb2RheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5kYXRlRmlsdGVyVXBkYXRlZChudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGVTZWxlY3Rpb24oZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSAmJlxyXG4gICAgICAgICAgICAhdGhpcy50b0RhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZSAmJlxyXG4gICAgICAgICAgICBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBkYXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0hvdmVyZWQoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlICYmIGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgJiYgZGF0ZS5iZWZvcmUodGhpcy50b0RhdGUpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1JhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSB8fFxyXG4gICAgICAgICAgICAodGhpcy50b0RhdGUgJiYgZGF0ZS5lcXVhbHModGhpcy50b0RhdGUpKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmlzSW5zaWRlKGRhdGUpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNIb3ZlcmVkKGRhdGUpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGF0ZUlucHV0KGN1cnJlbnRWYWx1ZTogTmdiRGF0ZSB8IG51bGwsIGlucHV0OiBzdHJpbmcpOiBOZ2JEYXRlIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgcGFyc2VkID0gdGhpcy5mb3JtYXR0ZXIucGFyc2UoaW5wdXQpO1xyXG4gICAgICAgIHJldHVybiBwYXJzZWQgJiYgdGhpcy5jYWxlbmRhci5pc1ZhbGlkKE5nYkRhdGUuZnJvbShwYXJzZWQpKVxyXG4gICAgICAgICAgICA/IE5nYkRhdGUuZnJvbShwYXJzZWQpXHJcbiAgICAgICAgICAgIDogY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGVtaXRSYW5nZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmcm9tID0gbmV3IERhdGUoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlLnllYXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlLm1vbnRoIC0gMSxcclxuICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUuZGF5LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCB0byA9IG5ldyBEYXRlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUueWVhcixcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlLm1vbnRoIC0gMSxcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlLmRheSxcclxuICAgICAgICAgICAgICAgIDIzLFxyXG4gICAgICAgICAgICAgICAgNTksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5kYXRlRmlsdGVyVXBkYXRlZChbZnJvbSwgdG9dKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGVhckRhdGVzKCkge1xyXG4gICAgICAgIHRoaXMuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMudG9EYXRlID0gbnVsbDtcclxuICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZGF0ZUZpbHRlclVwZGF0ZWQobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25BcHBseSgpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmVtaXRSYW5nZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcbiIsIjxmb3JtIGNsYXNzPVwiZm9ybS1pbmxpbmVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0zIGhpZGRlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgbmFtZT1cImRhdGVwaWNrZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIG5nYkRhdGVwaWNrZXIgI2RhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgIFthdXRvQ2xvc2VdPVwiJ291dHNpZGUnXCIgKGRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKCRldmVudClcIiBbZGlzcGxheU1vbnRoc109XCIyXCIgW2RheVRlbXBsYXRlXT1cInRcIlxyXG4gICAgICAgICAgICAgICAgb3V0c2lkZURheXM9XCJoaWRkZW5cIiBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiIHRhYmluZGV4PVwiLTFcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0IGxldC1kYXRlIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXN0b20tZGF5XCIgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiIFtjbGFzcy5yYW5nZV09XCJpc1JhbmdlKGRhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmFkZWRdPVwiaXNIb3ZlcmVkKGRhdGUpIHx8IGlzSW5zaWRlKGRhdGUpXCIgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRlLmRheSB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgI2RwRnJvbURhdGUgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cImRkL01NL3l5eXlcIiBuYW1lPVwiZHBGcm9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZm9ybWF0dGVyLmZvcm1hdChmcm9tRGF0ZSlcIiAoaW5wdXQpPVwiZnJvbURhdGUgPSB2YWxpZGF0ZUlucHV0KGZyb21EYXRlLCBkcEZyb21EYXRlLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBjYWxlbmRhclwiIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgbXMtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgI2RwVG9EYXRlIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJkZC9NTS95eXl5XCIgbmFtZT1cImRwVG9EYXRlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtYXR0ZXIuZm9ybWF0KHRvRGF0ZSlcIiAoaW5wdXQpPVwidG9EYXRlID0gdmFsaWRhdGVJbnB1dCh0b0RhdGUsIGRwVG9EYXRlLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBjYWxlbmRhclwiIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IHJvdW5kZWQtcGlsbCBtcy0zXCIgKGNsaWNrKT1cIm9uQXBwbHkoKVwiIFtkaXNhYmxlZF09XCIhdG9EYXRlXCI+e3snQXBwbHknIHxcclxuICAgICAgICB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IHJvdW5kZWQtcGlsbCBtcy0zXCIgKGNsaWNrKT1cIm9uQ2xlYXJEYXRlcygpXCI+e3snQ2xlYXInIHxcclxuICAgICAgICB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG48L2Zvcm0+XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL3JhbmdlLWRhdGUtcGlja2VyL3JhbmdlLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9yYW5nZS1kYXRlLXBpY2tlci9yYW5nZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVExRixNQUFNLE9BQU8sd0JBQXdCO0lBT2pDLFlBQ1ksUUFBcUIsRUFDdEIsU0FBaUMsRUFDaEMsYUFBNEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVR4QyxnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFXL0Isa0VBQWtFO1FBQ2xFLHFDQUFxQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjthQUFNLElBQ0gsSUFBSSxDQUFDLFFBQVE7WUFDYixDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ1osSUFBSTtZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMzQjtZQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBYTtRQUNuQixPQUFPLENBQ0gsSUFBSSxDQUFDLFFBQVE7WUFDYixDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ1osSUFBSSxDQUFDLFdBQVc7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNoQyxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFhO1FBQ2xCLE9BQU8sQ0FDSCxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ2pCLE9BQU8sQ0FDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDMUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRUQsYUFBYSxDQUFDLFlBQTRCLEVBQUUsS0FBYTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxPQUFPLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0QixDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNwQixDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ2YsRUFBRSxFQUNGLEVBQUUsQ0FDTCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQzs7cUhBaEdRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZEQ1RyQyxvbkVBc0NBOzJGRDdCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkRhdGUsIE5nYkNhbGVuZGFyLCBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpbHRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJhbmdlLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2UtZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGhvdmVyZWREYXRlOiBOZ2JEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XG5cbiAgICB0b0RhdGU6IE5nYkRhdGUgfCBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLFxuICAgICAgICBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLFxuICAgICAgICBwcml2YXRlIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIC8vIHRoaXMuZnJvbURhdGUgPSBjYWxlbmRhci5nZXRQcmV2KGNhbGVuZGFyLmdldFRvZGF5KCksIFwiZFwiLCAzMCk7XG4gICAgICAgIC8vIHRoaXMudG9EYXRlID0gY2FsZW5kYXIuZ2V0VG9kYXkoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmRhdGVGaWx0ZXJVcGRhdGVkKG51bGwpO1xuICAgIH1cblxuICAgIG9uRGF0ZVNlbGVjdGlvbihkYXRlOiBOZ2JEYXRlKSB7XG4gICAgICAgIGlmICghdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBkYXRlO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSAmJlxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXG4gICAgICAgICAgICBkYXRlICYmXG4gICAgICAgICAgICBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0hvdmVyZWQoZGF0ZTogTmdiRGF0ZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSAmJlxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXG4gICAgICAgICAgICB0aGlzLmhvdmVyZWREYXRlICYmXG4gICAgICAgICAgICBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpICYmXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzSW5zaWRlKGRhdGU6IE5nYkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudG9EYXRlICYmIGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgJiYgZGF0ZS5iZWZvcmUodGhpcy50b0RhdGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSB8fFxuICAgICAgICAgICAgKHRoaXMudG9EYXRlICYmIGRhdGUuZXF1YWxzKHRoaXMudG9EYXRlKSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNJbnNpZGUoZGF0ZSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNIb3ZlcmVkKGRhdGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGVJbnB1dChjdXJyZW50VmFsdWU6IE5nYkRhdGUgfCBudWxsLCBpbnB1dDogc3RyaW5nKTogTmdiRGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLmZvcm1hdHRlci5wYXJzZShpbnB1dCk7XG4gICAgICAgIHJldHVybiBwYXJzZWQgJiYgdGhpcy5jYWxlbmRhci5pc1ZhbGlkKE5nYkRhdGUuZnJvbShwYXJzZWQpKVxuICAgICAgICAgICAgPyBOZ2JEYXRlLmZyb20ocGFyc2VkKVxuICAgICAgICAgICAgOiBjdXJyZW50VmFsdWU7XG4gICAgfVxuXG4gICAgZW1pdFJhbmdlKCkge1xuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUueWVhcixcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlLm1vbnRoIC0gMSxcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlLmRheSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCB0byA9IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlLnllYXIsXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUubW9udGggLSAxLFxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlLmRheSxcbiAgICAgICAgICAgICAgICAyMyxcbiAgICAgICAgICAgICAgICA1OSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZGF0ZUZpbHRlclVwZGF0ZWQoW2Zyb20sIHRvXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsZWFyRGF0ZXMoKSB7XG4gICAgICAgIHRoaXMuZnJvbURhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnRvRGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5kYXRlRmlsdGVyVXBkYXRlZChudWxsKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KCkge1xuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0UmFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG4iLCI8Zm9ybSBjbGFzcz1cImZvcm0taW5saW5lXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgaGlkZGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgPGlucHV0IG5hbWU9XCJkYXRlcGlja2VyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBuZ2JEYXRlcGlja2VyICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXG4gICAgICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIiAoZGF0ZVNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oJGV2ZW50KVwiIFtkaXNwbGF5TW9udGhzXT1cIjJcIiBbZGF5VGVtcGxhdGVdPVwidFwiXG4gICAgICAgICAgICAgICAgb3V0c2lkZURheXM9XCJoaWRkZW5cIiBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdCBsZXQtZGF0ZSBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1c3RvbS1kYXlcIiBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCIgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmFkZWRdPVwiaXNIb3ZlcmVkKGRhdGUpIHx8IGlzSW5zaWRlKGRhdGUpXCIgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXJlZERhdGUgPSBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRhdGUuZGF5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8aW5wdXQgI2RwRnJvbURhdGUgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cImRkL01NL3l5eXlcIiBuYW1lPVwiZHBGcm9tRGF0ZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZvcm1hdHRlci5mb3JtYXQoZnJvbURhdGUpXCIgKGlucHV0KT1cImZyb21EYXRlID0gdmFsaWRhdGVJbnB1dChmcm9tRGF0ZSwgZHBGcm9tRGF0ZS52YWx1ZSlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBjYWxlbmRhclwiIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYi0zIG1zLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8aW5wdXQgI2RwVG9EYXRlIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJkZC9NTS95eXl5XCIgbmFtZT1cImRwVG9EYXRlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZm9ybWF0dGVyLmZvcm1hdCh0b0RhdGUpXCIgKGlucHV0KT1cInRvRGF0ZSA9IHZhbGlkYXRlSW5wdXQodG9EYXRlLCBkcFRvRGF0ZS52YWx1ZSlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBjYWxlbmRhclwiIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSByb3VuZGVkLXBpbGwgbXMtM1wiIChjbGljayk9XCJvbkFwcGx5KClcIiBbZGlzYWJsZWRdPVwiIXRvRGF0ZVwiPnt7J0FwcGx5JyB8XG4gICAgICAgIHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IHJvdW5kZWQtcGlsbCBtcy0zXCIgKGNsaWNrKT1cIm9uQ2xlYXJEYXRlcygpXCI+e3snQ2xlYXInIHxcbiAgICAgICAgdHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
@@ -23,10 +23,10 @@ export class ModalSwitchVisitComponent {
23
23
  }
24
24
  }
25
25
  ModalSwitchVisitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.Router }, { token: i3.ViewerService }], target: i0.ɵɵFactoryTarget.Component });
26
- ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<p>modal-switch-visit works!</p>\r\n", styles: [""] });
26
+ ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<p>modal-switch-visit works!</p>\n", styles: [""] });
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'lib-modal-switch-visit', template: "<p>modal-switch-visit works!</p>\r\n", styles: [""] }]
29
+ args: [{ selector: 'lib-modal-switch-visit', template: "<p>modal-switch-visit works!</p>\n", styles: [""] }]
30
30
  }], ctorParameters: function () { return [{ type: i1.NgbActiveModal }, { type: i2.Router }, { type: i3.ViewerService }]; }, propDecorators: { content: [{
31
31
  type: Input
32
32
  }], model3D: [{
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
36
36
  }], dataToMove: [{
37
37
  type: Input
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV6RCxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQW1CLFdBQTJCLEVBQVUsTUFBYyxFQUFVLGFBQTRCO1FBQXpGLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUVyRyxDQUFDO0lBRVIsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQ3RELENBQUMsQ0FBQztJQUNQLENBQUM7O3NIQXJCUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixnS0NWdEMsc0NBQ0E7MkZEU2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjtzSkFLdkIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVmlld2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW1vZGFsLXN3aXRjaC12aXNpdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLXN3aXRjaC12aXNpdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsU3dpdGNoVmlzaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY29udGVudDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbW9kZWwzRDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc3BhY2VJRDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGF0YVRvTW92ZToge3N3ZWVwVG9Nb3ZlOnN0cmluZywgcm90YXRpb246YW55fTtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgdmlld2VyU2VydmljZTogVmlld2VyU2VydmljZSwgXHJcbiAgICAgICAgLy8gcHJpdmF0ZSBvYmplY3RTdWJTZXJ2aWNlOiBPYmplY3RTdWJzY3JpcHRpb25TZXJ2aWNlXHJcbiAgICAgICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBzd2l0Y2hWaXNpdCgpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YVRvTW92ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdlclNlcnZpY2Uuc2V0U3dlZXBUb01vdmUodGhpcy5kYXRhVG9Nb3ZlLnN3ZWVwVG9Nb3ZlKTtcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFJvdGF0aW9uVG9Nb3ZlKHRoaXMuZGF0YVRvTW92ZS5yb3RhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMub2JqZWN0U3ViU2VydmljZS5mb3JjZVJlbW92ZSA9IHRydWU7IC8vIHdlIHJlc2V0IHRoZSB0YWdzIHdoZW4gY2hhbmdpbmcgdmlzaXRcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJ2aXNpdFwiLCB0aGlzLnNwYWNlSURdLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHRoaXMubW9kZWwzRCwgc3dlZXA6IHRydWUgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPHA+bW9kYWwtc3dpdGNoLXZpc2l0IHdvcmtzITwvcD5cclxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV6RCxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQW1CLFdBQTJCLEVBQVUsTUFBYyxFQUFVLGFBQTRCO1FBQXpGLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUVyRyxDQUFDO0lBRVIsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQ3RELENBQUMsQ0FBQztJQUNQLENBQUM7O3NIQXJCUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixnS0NWdEMsb0NBQ0E7MkZEU2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjtzSkFLdkIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgVmlld2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1vZGFsLXN3aXRjaC12aXNpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1zd2l0Y2gtdmlzaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1zd2l0Y2gtdmlzaXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFN3aXRjaFZpc2l0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjb250ZW50OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbW9kZWwzRDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNwYWNlSUQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBkYXRhVG9Nb3ZlOiB7c3dlZXBUb01vdmU6c3RyaW5nLCByb3RhdGlvbjphbnl9O1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgdmlld2VyU2VydmljZTogVmlld2VyU2VydmljZSwgXG4gICAgICAgIC8vIHByaXZhdGUgb2JqZWN0U3ViU2VydmljZTogT2JqZWN0U3Vic2NyaXB0aW9uU2VydmljZVxuICAgICAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBzd2l0Y2hWaXNpdCgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xuICAgICAgICBpZiAodGhpcy5kYXRhVG9Nb3ZlKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdlclNlcnZpY2Uuc2V0U3dlZXBUb01vdmUodGhpcy5kYXRhVG9Nb3ZlLnN3ZWVwVG9Nb3ZlKTtcbiAgICAgICAgICAgIHRoaXMudmlld2VyU2VydmljZS5zZXRSb3RhdGlvblRvTW92ZSh0aGlzLmRhdGFUb01vdmUucm90YXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMub2JqZWN0U3ViU2VydmljZS5mb3JjZVJlbW92ZSA9IHRydWU7IC8vIHdlIHJlc2V0IHRoZSB0YWdzIHdoZW4gY2hhbmdpbmcgdmlzaXRcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1widmlzaXRcIiwgdGhpcy5zcGFjZUlEXSwge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbW9kZWwzRDogdGhpcy5tb2RlbDNELCBzd2VlcDogdHJ1ZSB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxwPm1vZGFsLXN3aXRjaC12aXNpdCB3b3JrcyE8L3A+XG4iXX0=
@@ -49,10 +49,10 @@ export class SearchBarComponent {
49
49
  }
50
50
  }
51
51
  SearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, deps: [{ token: i1.SearchService }], target: i0.ɵɵFactoryTarget.Component });
52
- SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\r\n <div class=\"row depend\">\r\n <div class=\"col-md-5\">\r\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\r\n </div>\r\n <div class=\"col-md-5\">\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\r\n translate}}</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".searchbar{margin-bottom:10px}\n"], pipes: { "translate": i2.TranslatePipe } });
52
+ SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"], pipes: { "translate": i2.TranslatePipe } });
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\r\n <div class=\"row depend\">\r\n <div class=\"col-md-5\">\r\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\r\n </div>\r\n <div class=\"col-md-5\">\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\r\n translate}}</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".searchbar{margin-bottom:10px}\n"] }]
55
+ args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"] }]
56
56
  }], ctorParameters: function () { return [{ type: i1.SearchService }]; }, propDecorators: { searchable: [{
57
57
  type: Input
58
58
  }], objectType: [{
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
60
60
  }], searchEvent: [{
61
61
  type: Output
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sa0JBQWtCO0lBVTNCLHdEQUF3RDtJQUV4RCwwREFBMEQ7SUFDMUQsaUNBQWlDO0lBQ2pDLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLHdFQUF3RTtJQUN4RSx3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLGFBQWE7SUFDYixTQUFTO0lBRVQsMENBQTBDO0lBRTFDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBekJ0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUF5QlMsQ0FBQztJQUVyRCxRQUFRO1FBQ0osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQXFCLENBQUM7UUFDdkUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUMxQyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBcUIsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLElBQUksV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUM5RCxJQUFJLEVBQ0osSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7K0dBM0RRLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtKQ1IvQixvY0FVTTsyRkRGTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO29HQU1mLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hPYmplY3RUeXBlLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNoLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBhbnk7XHJcblxyXG4gICAgQElucHV0KCkgb2JqZWN0VHlwZTogU2VhcmNoT2JqZWN0VHlwZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgcHVibGljIG1vZGVsOiBhbnk7XHJcblxyXG4gICAgLy8gZm9ybWF0dGVyID0gKHJlc3VsdDogc3RyaW5nKSA9PiByZXN1bHQudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgICAvLyBzZWFyY2g6IE9wZXJhdG9yRnVuY3Rpb248c3RyaW5nLCByZWFkb25seSBzdHJpbmdbXT4gPSAoXHJcbiAgICAvLyAgICAgdGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcclxuICAgIC8vICkgPT5cclxuICAgIC8vICAgICB0ZXh0JC5waXBlKFxyXG4gICAgLy8gICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcclxuICAgIC8vICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgIC8vICAgICAgICAgbWFwKCh0ZXJtKSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgdGVybSA9PT0gXCJcIlxyXG4gICAgLy8gICAgICAgICAgICAgICAgID8gW11cclxuICAgIC8vICAgICAgICAgICAgICAgICA6IHRoaXMuc2VhcmNoYWJsZVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCh2KSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgdi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSksXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIClcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIDEwKSxcclxuICAgIC8vICAgICAgICAgKSxcclxuICAgIC8vICAgICApO1xyXG5cclxuICAgIC8vIGZpbHRlciA9IChpbnB1dDogc3RyaW5nW10pID0+IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsICh7IGtleSB9KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiRW50ZXJcIikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWJtaXQoKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gaW5wdXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXIoc2VhcmNoVmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmlsdGVyKHRlcm06IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoRm9yVGVybUZvclR5cGVJbk1hcChcclxuICAgICAgICAgICAgdGVybSxcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RUeXBlLFxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaGFibGUsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQocmVzdWx0cyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbC1tZC04IHNlYXJjaGJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBkZXBlbmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwic2VhcmNoYmFyXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwia2V5d29yZFwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSByb3VuZGVkLXBpbGxcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPnt7ICdTZWFyY2gnIHxcclxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sa0JBQWtCO0lBVTNCLHdEQUF3RDtJQUV4RCwwREFBMEQ7SUFDMUQsaUNBQWlDO0lBQ2pDLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLHdFQUF3RTtJQUN4RSx3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLGFBQWE7SUFDYixTQUFTO0lBRVQsMENBQTBDO0lBRTFDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBekJ0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUF5QlMsQ0FBQztJQUVyRCxRQUFRO1FBQ0osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQXFCLENBQUM7UUFDdkUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUMxQyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBcUIsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLElBQUksV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUM5RCxJQUFJLEVBQ0osSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7K0dBM0RRLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtKQ1IvQixnYkFVTTsyRkRGTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO29HQU1mLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hPYmplY3RUeXBlLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNoLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBhbnk7XHJcblxyXG4gICAgQElucHV0KCkgb2JqZWN0VHlwZTogU2VhcmNoT2JqZWN0VHlwZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgcHVibGljIG1vZGVsOiBhbnk7XHJcblxyXG4gICAgLy8gZm9ybWF0dGVyID0gKHJlc3VsdDogc3RyaW5nKSA9PiByZXN1bHQudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgICAvLyBzZWFyY2g6IE9wZXJhdG9yRnVuY3Rpb248c3RyaW5nLCByZWFkb25seSBzdHJpbmdbXT4gPSAoXHJcbiAgICAvLyAgICAgdGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcclxuICAgIC8vICkgPT5cclxuICAgIC8vICAgICB0ZXh0JC5waXBlKFxyXG4gICAgLy8gICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcclxuICAgIC8vICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgIC8vICAgICAgICAgbWFwKCh0ZXJtKSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgdGVybSA9PT0gXCJcIlxyXG4gICAgLy8gICAgICAgICAgICAgICAgID8gW11cclxuICAgIC8vICAgICAgICAgICAgICAgICA6IHRoaXMuc2VhcmNoYWJsZVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCh2KSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgdi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSksXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIClcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIDEwKSxcclxuICAgIC8vICAgICAgICAgKSxcclxuICAgIC8vICAgICApO1xyXG5cclxuICAgIC8vIGZpbHRlciA9IChpbnB1dDogc3RyaW5nW10pID0+IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsICh7IGtleSB9KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiRW50ZXJcIikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWJtaXQoKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gaW5wdXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXIoc2VhcmNoVmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmlsdGVyKHRlcm06IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoRm9yVGVybUZvclR5cGVJbk1hcChcclxuICAgICAgICAgICAgdGVybSxcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RUeXBlLFxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaGFibGUsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQocmVzdWx0cyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbC1tZC04IHNlYXJjaGJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgZGVwZW5kXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiPlxuICAgICAgICAgICAgPGlucHV0IGlkPVwic2VhcmNoYmFyXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwia2V5d29yZFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSByb3VuZGVkLXBpbGxcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPnt7ICdTZWFyY2gnIHxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==