@igo2/common 16.0.0-rc.4 → 16.0.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { CommonModule } from '@angular/common';
1
3
  import { NgModule } from '@angular/core';
2
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { MatButtonModule } from '@angular/material/button';
3
6
  import { MatFormFieldModule } from '@angular/material/form-field';
4
7
  import { MatInputModule } from '@angular/material/input';
5
- import { CommonModule } from '@angular/common';
6
- import { OverlayModule } from '@angular/cdk/overlay';
7
- import { ColorChromeModule } from 'ngx-color/chrome';
8
- import { MatButtonModule } from '@angular/material/button';
9
8
  import { TranslateModule } from '@ngx-translate/core';
9
+ import { ColorChromeModule } from 'ngx-color/chrome';
10
10
  import { ColorPickerFormFieldComponent } from './color-picker-form-field.component';
11
11
  import * as i0 from "@angular/core";
12
12
  export class ColorPickerFormFieldModule {
@@ -49,4 +49,4 @@ export class ColorPickerFormFieldModule {
49
49
  OverlayModule,
50
50
  ColorChromeModule,
51
51
  TranslateModule], exports: [ColorPickerFormFieldComponent] }); })();
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLWZvcm0tZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sb3ItcGlja2VyLWZvcm0tZmllbGQvY29sb3ItcGlja2VyLWZvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBaUJwRixNQUFNLE9BQU8sMEJBQTBCO29GQUExQiwwQkFBMEI7NERBQTFCLDBCQUEwQjtnRUFibkMsV0FBVztZQUNYLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlOzt1RkFLTiwwQkFBMEI7Y0FmdEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQ3pDOzt3RkFDWSwwQkFBMEIsbUJBSHRCLDZCQUE2QixhQVYxQyxXQUFXO1FBQ1gsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGVBQWUsYUFHUCw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb2xvckNocm9tZU1vZHVsZSB9IGZyb20gJ25neC1jb2xvci9jaHJvbWUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbG9yUGlja2VyRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1waWNrZXItZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBDb2xvckNocm9tZU1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbQ29sb3JQaWNrZXJGb3JtRmllbGRDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtDb2xvclBpY2tlckZvcm1GaWVsZENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbG9yUGlja2VyRm9ybUZpZWxkTW9kdWxlIHt9XHJcbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLWZvcm0tZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sb3ItcGlja2VyLWZvcm0tZmllbGQvY29sb3ItcGlja2VyLWZvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBaUJwRixNQUFNLE9BQU8sMEJBQTBCO29GQUExQiwwQkFBMEI7NERBQTFCLDBCQUEwQjtnRUFibkMsV0FBVztZQUNYLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlOzt1RkFLTiwwQkFBMEI7Y0FmdEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQ3pDOzt3RkFDWSwwQkFBMEIsbUJBSHRCLDZCQUE2QixhQVYxQyxXQUFXO1FBQ1gsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGVBQWUsYUFHUCw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbG9yQ2hyb21lTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yL2Nocm9tZSc7XHJcblxyXG5pbXBvcnQgeyBDb2xvclBpY2tlckZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGlja2VyLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBPdmVybGF5TW9kdWxlLFxyXG4gICAgQ29sb3JDaHJvbWVNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW0NvbG9yUGlja2VyRm9ybUZpZWxkQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbQ29sb3JQaWNrZXJGb3JtRmllbGRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2xvclBpY2tlckZvcm1GaWVsZE1vZHVsZSB7fVxyXG4iXX0=
@@ -3,4 +3,4 @@ export * from './entity-selector/entity-selector.component';
3
3
  export * from './entity-table/entity-table.component';
4
4
  export * from './entity-table-paginator/entity-table-paginator.component';
5
5
  export * from './entity-table-paginator/entity-table-paginator.interface';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXNlbGVjdG9yL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUvZW50aXR5LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuaW50ZXJmYWNlJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVRvdXJTdGVwIHtcclxuICBlbGVtZW50Pzogc3RyaW5nO1xyXG4gIHBvc2l0aW9uPzogUGxhY2VtZW50O1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBiZWZvcmVTaG93PzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGJlZm9yZUNoYW5nZT86IEludGVyYWN0aXZlVG91ckFjdGlvbjtcclxuICBvblNob3c/OiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb247XHJcbiAgb25IaWRlPzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodENsYXNzPzogc3RyaW5nO1xyXG4gIHNjcm9sbFRvRWxlbWVudD86IGJvb2xlYW47XHJcbiAgZGlzYWJsZUludGVyYWN0aW9uPzogYm9vbGVhbjtcclxuICBub0JhY2tCdXR0b24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ckFjdGlvbiB7XHJcbiAgZWxlbWVudD86IHN0cmluZztcclxuICBhY3Rpb246ICdjbGljayc7XHJcbiAgY29uZGl0aW9uPzogc3RyaW5nO1xyXG4gIHdhaXRGb3I/OiBzdHJpbmc7XHJcbiAgbWF4V2FpdD86IG51bWJlcjsgLy8gaW4gbWlsbGlzZWNvbmRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zIHtcclxuICBzdGVwczogSW50ZXJhY3RpdmVUb3VyU3RlcFtdO1xyXG4gIHBvc2l0aW9uPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qIENTUyBjbGFzcyB0aGF0IGlzIGFkZGVkIHRvIHRoZSBoaWdodGxpZ2h0IGVsZW1lbnQgKi9cclxuICBoaWdobGlnaHRDbGFzcz86IHN0cmluZztcclxuICAvKiBDU1MgY2xhc3MgdGhhdCBpcyBhZGRlZCB0byB0aGUgbW9kYWwgY29udGFpbmVyICovXHJcbiAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgLyogU2Nyb2xsIHRvIGhpZ2hsaWdodGVkIGVsZW1lbnQ/ICovXHJcbiAgc2Nyb2xsVG9FbGVtZW50PzogYm9vbGVhbjtcclxuICAvKiBEaXNhYmxlIGFuIGludGVyYWN0aW9uIHdpdGggZWxlbWVudD8gKi9cclxuICBkaXNhYmxlSW50ZXJhY3Rpb24/OiBib29sZWFuO1xyXG4gIC8qIEVsZW1lbnQgdG8gY2hlY2sgdG8gYmUgYWJsZSB0byBzdGFydCB0aGUgdG91ciAqL1xyXG4gIGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVRvdXJTdGVwIHtcclxuICBlbGVtZW50Pzogc3RyaW5nO1xyXG4gIHBvc2l0aW9uPzogSW50ZXJhY3RpdmVUb3VyUGxhY2VtZW50O1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBiZWZvcmVTaG93PzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGJlZm9yZUNoYW5nZT86IEludGVyYWN0aXZlVG91ckFjdGlvbjtcclxuICBvblNob3c/OiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb247XHJcbiAgb25IaWRlPzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodENsYXNzPzogc3RyaW5nO1xyXG4gIHNjcm9sbFRvRWxlbWVudD86IGJvb2xlYW47XHJcbiAgZGlzYWJsZUludGVyYWN0aW9uPzogYm9vbGVhbjtcclxuICBub0JhY2tCdXR0b24/OiBib29sZWFuO1xyXG59XHJcblxyXG50eXBlIEludGVyYWN0aXZlVG91clBsYWNlbWVudCA9ICdhdXRvJyB8IFBsYWNlbWVudDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3RpdmVUb3VyQWN0aW9uIHtcclxuICBlbGVtZW50Pzogc3RyaW5nO1xyXG4gIGFjdGlvbjogJ2NsaWNrJztcclxuICBjb25kaXRpb24/OiBzdHJpbmc7XHJcbiAgd2FpdEZvcj86IHN0cmluZztcclxuICBtYXhXYWl0PzogbnVtYmVyOyAvLyBpbiBtaWxsaXNlY29uZFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ck9wdGlvbnMge1xyXG4gIHN0ZXBzOiBJbnRlcmFjdGl2ZVRvdXJTdGVwW107XHJcbiAgcG9zaXRpb24/OiBJbnRlcmFjdGl2ZVRvdXJQbGFjZW1lbnQ7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyogQ1NTIGNsYXNzIHRoYXQgaXMgYWRkZWQgdG8gdGhlIGhpZ2h0bGlnaHQgZWxlbWVudCAqL1xyXG4gIGhpZ2hsaWdodENsYXNzPzogc3RyaW5nO1xyXG4gIC8qIENTUyBjbGFzcyB0aGF0IGlzIGFkZGVkIHRvIHRoZSBtb2RhbCBjb250YWluZXIgKi9cclxuICBjbGFzcz86IHN0cmluZztcclxuICAvKiBTY3JvbGwgdG8gaGlnaGxpZ2h0ZWQgZWxlbWVudD8gKi9cclxuICBzY3JvbGxUb0VsZW1lbnQ/OiBib29sZWFuO1xyXG4gIC8qIERpc2FibGUgYW4gaW50ZXJhY3Rpb24gd2l0aCBlbGVtZW50PyAqL1xyXG4gIGRpc2FibGVJbnRlcmFjdGlvbj86IGJvb2xlYW47XHJcbiAgLyogRWxlbWVudCB0byBjaGVjayB0byBiZSBhYmxlIHRvIHN0YXJ0IHRoZSB0b3VyICovXHJcbiAgY29uZGl0aW9ucz86IHN0cmluZ1tdO1xyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ConfigService, LanguageService, MediaService } from '@igo2/core';
3
- import { offset } from '@floating-ui/dom';
3
+ import { autoPlacement, offset } from '@floating-ui/dom';
4
4
  import { ShepherdService } from 'angular-shepherd';
5
5
  import { InteractiveTourLoader } from './interactive-tour.loader';
6
6
  import * as i0 from "@angular/core";
@@ -214,17 +214,21 @@ export class InteractiveTourService {
214
214
  }, 100);
215
215
  });
216
216
  }
217
- getShepherdSteps(stepConfig) {
217
+ getShepherdSteps(tourConfig) {
218
218
  const shepherdSteps = [];
219
219
  let i = 0;
220
- for (const step of stepConfig.steps) {
220
+ for (const step of tourConfig.steps) {
221
+ const position = step.position ?? tourConfig.position;
221
222
  shepherdSteps.push({
222
223
  attachTo: {
223
224
  element: step.element,
224
- on: (step.position || stepConfig.position) // PopperPlacement
225
+ on: position // PopperPlacement
225
226
  },
226
227
  floatingUIOptions: {
227
- middleware: [offset({ mainAxis: 15 })]
228
+ middleware: [
229
+ position === 'auto' && autoPlacement(),
230
+ offset({ mainAxis: 15 })
231
+ ].filter(Boolean)
228
232
  },
229
233
  beforeShowPromise: () => {
230
234
  return Promise.all([
@@ -234,18 +238,18 @@ export class InteractiveTourService {
234
238
  },
235
239
  buttons: this.getButtons(i === 0
236
240
  ? 'first'
237
- : i + 1 === stepConfig.steps.length
241
+ : i + 1 === tourConfig.steps.length
238
242
  ? 'last'
239
- : stepConfig.steps[i].noBackButton
243
+ : tourConfig.steps[i].noBackButton
240
244
  ? 'noBackButton'
241
245
  : undefined),
242
246
  classes: step.class,
243
247
  highlightClass: step.highlightClass,
244
- scrollTo: step.scrollToElement || stepConfig.scrollToElement || true,
248
+ scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,
245
249
  canClickTarget: step.disableInteraction
246
250
  ? !step.disableInteraction
247
251
  : undefined,
248
- title: this.languageService.translate.instant(step.title || stepConfig.title),
252
+ title: this.languageService.translate.instant(step.title || tourConfig.title),
249
253
  text: [this.languageService.translate.instant(step.text)],
250
254
  when: {
251
255
  show: () => {
@@ -292,4 +296,4 @@ export class InteractiveTourService {
292
296
  providedIn: 'root'
293
297
  }]
294
298
  }], function () { return [{ type: i1.ConfigService }, { type: i1.MediaService }, { type: i1.LanguageService }, { type: i2.InteractiveTourLoader }, { type: i3.ShepherdService }]; }, null); })();
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVFuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFLbEUsTUFBTSxPQUFPLHNCQUFzQjtJQUt2QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUkYsWUFBWSxDQUFzQjtJQUNsQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLFlBQ1UsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsZUFBZ0MsRUFDaEMscUJBQTRDLEVBQzVDLGVBQWdDO1FBSmhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDM0MseUNBQXlDLENBQzFDLENBQUM7UUFD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bmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IG9mZnNldCB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xyXG5pbXBvcnQgeyBTaGVwaGVyZFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLXNoZXBoZXJkJztcclxuaW1wb3J0IFNoZXBoZXJkIGZyb20gJ3NoZXBoZXJkLmpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3RpdmVUb3VyQWN0aW9uLFxyXG4gIEludGVyYWN0aXZlVG91ck9wdGlvbnMsXHJcbiAgSW50ZXJhY3RpdmVUb3VyU3RlcFxyXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVG91clNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJldmlvdXNTdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwO1xyXG4gIHByaXZhdGUgbmV4dEluZGV4ID0gMTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50ZXJhY3RpdmVUb3VyTG9hZGVyOiBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIsXHJcbiAgICBwcml2YXRlIHNoZXBoZXJkU2VydmljZTogU2hlcGhlcmRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5pc0FwcEhhdmVUb3VyKCkpIHtcclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIubG9hZENvbmZpZ1RvdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FwcEhhdmVUb3VyKCkge1xyXG4gICAgY29uc3QgaGF2ZVRvdXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW50ZXJhY3RpdmVUb3VyLmFjdGl2YXRlSW50ZXJhY3RpdmVUb3VyJ1xyXG4gICAgKTtcclxuICAgIGlmIChoYXZlVG91ciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGhhdmVUb3VyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG9vbEhhdmVUb3VyQ29uZmlnKHRvb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrVG91ckFjdGl2ZU9wdGlvbnMgPVxyXG4gICAgICB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk7XHJcbiAgICBpZiAoY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkVG91ckJ1dHRvbih0b29sTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zID1cclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIuZ2V0VG91ck9wdGlvbkRhdGEodG9vbE5hbWUpO1xyXG5cclxuICAgIGlmIChzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0ZXBDb25maWc/LmNvbmRpdGlvbnMpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb25kaXRpb24pID09PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG91ckRpc3BsYXlJbk1vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJbk1vYmlsZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdpbnRlcmFjdGl2ZVRvdXIudG91ckluTW9iaWxlJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gc2hvd0luTW9iaWxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luTW9iaWxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdXR0b25zKGJ1dHRvbktpbmQ/OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ25vQmFja0J1dHRvbicpIHtcclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbm9CYWNrQnV0dG9uJykge1xyXG4gICAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbktpbmQgPT09ICdmaXJzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmV4aXRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbGFzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmJhY2tCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2JhY2snXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXByaW1hcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICdjYW5jZWwnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYmFja0J1dHRvbidcclxuICAgICAgICApLFxyXG4gICAgICAgIHR5cGU6ICdiYWNrJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcclxuICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xyXG4gICAgICAgICksXHJcbiAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGlvbihhY3Rpb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHtcclxuICAgICAgY2xpY2s6ICdjbGljaydcclxuICAgIH07XHJcbiAgICByZXR1cm4gYWN0aW9uW2FjdGlvbk5hbWUudG9Mb3dlckNhc2UoKV07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByb2dyZXNzKCkge1xyXG4gICAgY29uc3Qgc2VsZiA9IHRoaXMgYXMgYW55O1xyXG4gICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgIGNvbnN0IG1heFRyeSA9IDIxO1xyXG4gICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICAgICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICBzZWxmLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBzZWxmLmNhbmNlbCgpO1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0V4aXN0KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgY3VycmVudFN0ZXBFbGVtZW50ID0gc2VsZi5nZXRDdXJyZW50U3RlcCgpLmdldEVsZW1lbnQoKTtcclxuICAgICAgICAgIGlmIChjdXJyZW50U3RlcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2hlcGhlcmRMaXN0ID0gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAgICAgJy5zaGVwaGVyZC1jb250ZW50LCAuc2hlcGhlcmQtdGV4dCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgc2hlcGhlcmRMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC10eXBvZ3JhcGh5Jyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gY3VycmVudFN0ZXBFbGVtZW50XHJcbiAgICAgICAgICAgID8gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1oZWFkZXInKVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgICBuYlRyeSsrO1xyXG4gICAgICAgICAgaWYgKGhlYWRlciB8fCBuYlRyeSA+IG1heFRyeSkge1xyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChoZWFkZXIpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RlcHNBcnJheSA9IHNlbGYuc3RlcHM7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb2dyZXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5jbGFzc05hbWUgPSAnc2hlcGhlcmQtcHJvZ3Jlc3MnO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5pbm5lclRleHQgPSBgJHtcclxuICAgICAgICAgICAgICBzdGVwc0FycmF5LmluZGV4T2Yoc2VsZi5nZXRDdXJyZW50U3RlcCgpKSArIDFcclxuICAgICAgICAgICAgfS8ke3N0ZXBzQXJyYXkubGVuZ3RofWA7XHJcbiAgICAgICAgICAgIGhlYWRlci5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgICAgICAgcHJvZ3Jlc3MsXHJcbiAgICAgICAgICAgICAgY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1jYW5jZWwtaWNvbicpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpIHtcclxuICAgIGlmICh0b3VyLmdldEN1cnJlbnRTdGVwKCkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRvdXIuY29tcGxldGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleC5pbmRleCA9PT0gdG91ci5zdGVwcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgdG91ci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG91ci5zdGVwcy5zcGxpY2UoaW5kZXguaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBuZXh0U3RlcCA9IHRvdXIuc3RlcHNbaW5kZXguaW5kZXhdO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgbmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmXHJcbiAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KVxyXG4gICAgICApIHtcclxuICAgICAgICBzZXJ2aWNlLmNoZWNrTmV4dChpbmRleCwgdG91ciwgc2VydmljZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG91ci5fc2V0dXBNb2RhbCgpO1xyXG4gICAgICAgIHRvdXIuc2hvdyhuZXh0U3RlcC5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbihcclxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXHJcbiAgICBhY3Rpb25Db25maWc6IEludGVyYWN0aXZlVG91ckFjdGlvblxyXG4gICkge1xyXG4gICAgaWYgKCFhY3Rpb25Db25maWcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgYWN0aW9uQ29uZmlnLmNvbmRpdGlvbiAmJlxyXG4gICAgICAoKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uY2hhckF0KDApID09PSAnIScgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uc2xpY2UoMSkpKSB8fFxyXG4gICAgICAgIChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSAhPT0gJyEnICYmXHJcbiAgICAgICAgICAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcuY29uZGl0aW9uKSkpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgYWN0aW9uQ29uZmlnLmVsZW1lbnQgfHwgc3RlcC5lbGVtZW50XHJcbiAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oYWN0aW9uQ29uZmlnLmFjdGlvbik7XHJcbiAgICBpZiAoZWxlbWVudCAmJiBhY3Rpb24pIHtcclxuICAgICAgZWxlbWVudFthY3Rpb25dKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgc3RlcDogSW50ZXJhY3RpdmVUb3VyU3RlcCxcclxuICAgIGFjdGlvbkNvbmZpZzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5leGVjdXRlQWN0aW9uKHN0ZXAsIGFjdGlvbkNvbmZpZyk7XHJcbiAgICAgIGlmICghYWN0aW9uQ29uZmlnIHx8ICFhY3Rpb25Db25maWcud2FpdEZvcikge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgICAgY29uc3QgbWF4VHJ5ID0gYWN0aW9uQ29uZmlnLm1heFdhaXQgPyBhY3Rpb25Db25maWcubWF4V2FpdCAvIDEwMCA6IDIwO1xyXG4gICAgICBjb25zdCBjaGVja0V4aXN0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIG5iVHJ5Kys7XHJcbiAgICAgICAgaWYgKG5iVHJ5ID4gbWF4VHJ5IHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLndhaXRGb3IpKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHNoZXBoZXJkU3RlcHM6IFNoZXBoZXJkLlN0ZXAuU3RlcE9wdGlvbnNbXSA9IFtdO1xyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3Qgc3RlcCBvZiBzdGVwQ29uZmlnLnN0ZXBzKSB7XHJcbiAgICAgIHNoZXBoZXJkU3RlcHMucHVzaCh7XHJcbiAgICAgICAgYXR0YWNoVG86IHtcclxuICAgICAgICAgIGVsZW1lbnQ6IHN0ZXAuZWxlbWVudCxcclxuICAgICAgICAgIG9uOiAoc3RlcC5wb3NpdGlvbiB8fCBzdGVwQ29uZmlnLnBvc2l0aW9uKSBhcyBhbnkgLy8gUG9wcGVyUGxhY2VtZW50XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmbG9hdGluZ1VJT3B0aW9uczoge1xyXG4gICAgICAgICAgbWlkZGxld2FyZTogW29mZnNldCh7IG1haW5BeGlzOiAxNSB9KV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGJlZm9yZVNob3dQcm9taXNlOiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwLFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwID8gdGhpcy5wcmV2aW91c1N0ZXAuYmVmb3JlQ2hhbmdlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2Uoc3RlcCwgc3RlcC5iZWZvcmVTaG93KVxyXG4gICAgICAgICAgXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBidXR0b25zOiB0aGlzLmdldEJ1dHRvbnMoXHJcbiAgICAgICAgICBpID09PSAwXHJcbiAgICAgICAgICAgID8gJ2ZpcnN0J1xyXG4gICAgICAgICAgICA6IGkgKyAxID09PSBzdGVwQ29uZmlnLnN0ZXBzLmxlbmd0aFxyXG4gICAgICAgICAgICA/ICdsYXN0J1xyXG4gICAgICAgICAgICA6IHN0ZXBDb25maWcuc3RlcHNbaV0ubm9CYWNrQnV0dG9uXHJcbiAgICAgICAgICAgID8gJ25vQmFja0J1dHRvbidcclxuICAgICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgICAgICApLFxyXG4gICAgICAgIGNsYXNzZXM6IHN0ZXAuY2xhc3MsXHJcbiAgICAgICAgaGlnaGxpZ2h0Q2xhc3M6IHN0ZXAuaGlnaGxpZ2h0Q2xhc3MsXHJcbiAgICAgICAgc2Nyb2xsVG86IHN0ZXAuc2Nyb2xsVG9FbGVtZW50IHx8IHN0ZXBDb25maWcuc2Nyb2xsVG9FbGVtZW50IHx8IHRydWUsXHJcbiAgICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXHJcbiAgICAgICAgICA/ICFzdGVwLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgc3RlcC50aXRsZSB8fCBzdGVwQ29uZmlnLnRpdGxlXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0ZXh0OiBbdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoc3RlcC50ZXh0KV0sXHJcbiAgICAgICAgd2hlbjoge1xyXG4gICAgICAgICAgc2hvdzogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vblNob3cpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBzdGVwO1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vbkhpZGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBzYXRpc2ZpZXMgU2hlcGhlcmQuU3RlcC5TdGVwT3B0aW9ucyk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2hlcGhlcmRTdGVwcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydFRvdXIodG9vbE5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3RlcENvbmZpZzogSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKHRvb2xOYW1lKTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5kZWZhdWx0U3RlcE9wdGlvbnMgPSB7XHJcbiAgICAgIGNsYXNzZXM6IHN0ZXBDb25maWcuY2xhc3MsXHJcbiAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwQ29uZmlnLmhpZ2hsaWdodENsYXNzLFxyXG4gICAgICBjYW5DbGlja1RhcmdldDogc3RlcENvbmZpZy5kaXNhYmxlSW50ZXJhY3Rpb25cclxuICAgICAgICA/ICFzdGVwQ29uZmlnLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgIDogdHJ1ZSxcclxuICAgICAgY2FuY2VsSWNvbjoge1xyXG4gICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gdGhpcy5nZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWcpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLm1vZGFsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmNvbmZpcm1DYW5jZWwgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmFkZFN0ZXBzKHNoZXBoZXJkU3RlcHMpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ3Nob3cnLCB0aGlzLmFkZFByb2dyZXNzKTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ2NhbmNlbCcsIChpbmRleCkgPT4ge1xyXG4gICAgICB0aGlzLmNoZWNrTmV4dChpbmRleCwgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdCwgdGhpcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5zdGFydCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFRbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBS2xFLE1BQU0sT0FBTyxzQkFBc0I7SUFLdkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVJGLFlBQVksQ0FBc0I7SUFDbEMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUV0QixZQUNVLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLHFCQUE0QyxFQUM1QyxlQUFnQztRQUpoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVNLGFBQWE7UUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQzNDLHlDQUF5QyxDQUMx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c0I7Y0FIbEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IGF1dG9QbGFjZW1lbnQsIG9mZnNldCB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xyXG5pbXBvcnQgeyBTaGVwaGVyZFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLXNoZXBoZXJkJztcclxuaW1wb3J0IFNoZXBoZXJkIGZyb20gJ3NoZXBoZXJkLmpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3RpdmVUb3VyQWN0aW9uLFxyXG4gIEludGVyYWN0aXZlVG91ck9wdGlvbnMsXHJcbiAgSW50ZXJhY3RpdmVUb3VyU3RlcFxyXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVG91clNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJldmlvdXNTdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwO1xyXG4gIHByaXZhdGUgbmV4dEluZGV4ID0gMTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50ZXJhY3RpdmVUb3VyTG9hZGVyOiBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIsXHJcbiAgICBwcml2YXRlIHNoZXBoZXJkU2VydmljZTogU2hlcGhlcmRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5pc0FwcEhhdmVUb3VyKCkpIHtcclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIubG9hZENvbmZpZ1RvdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FwcEhhdmVUb3VyKCkge1xyXG4gICAgY29uc3QgaGF2ZVRvdXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW50ZXJhY3RpdmVUb3VyLmFjdGl2YXRlSW50ZXJhY3RpdmVUb3VyJ1xyXG4gICAgKTtcclxuICAgIGlmIChoYXZlVG91ciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGhhdmVUb3VyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG9vbEhhdmVUb3VyQ29uZmlnKHRvb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrVG91ckFjdGl2ZU9wdGlvbnMgPVxyXG4gICAgICB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk7XHJcbiAgICBpZiAoY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkVG91ckJ1dHRvbih0b29sTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zID1cclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIuZ2V0VG91ck9wdGlvbkRhdGEodG9vbE5hbWUpO1xyXG5cclxuICAgIGlmIChzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0ZXBDb25maWc/LmNvbmRpdGlvbnMpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb25kaXRpb24pID09PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG91ckRpc3BsYXlJbk1vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJbk1vYmlsZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdpbnRlcmFjdGl2ZVRvdXIudG91ckluTW9iaWxlJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gc2hvd0luTW9iaWxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luTW9iaWxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdXR0b25zKGJ1dHRvbktpbmQ/OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ25vQmFja0J1dHRvbicpIHtcclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbm9CYWNrQnV0dG9uJykge1xyXG4gICAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbktpbmQgPT09ICdmaXJzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmV4aXRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbGFzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmJhY2tCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2JhY2snXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXByaW1hcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICdjYW5jZWwnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYmFja0J1dHRvbidcclxuICAgICAgICApLFxyXG4gICAgICAgIHR5cGU6ICdiYWNrJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcclxuICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xyXG4gICAgICAgICksXHJcbiAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGlvbihhY3Rpb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHtcclxuICAgICAgY2xpY2s6ICdjbGljaydcclxuICAgIH07XHJcbiAgICByZXR1cm4gYWN0aW9uW2FjdGlvbk5hbWUudG9Mb3dlckNhc2UoKV07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByb2dyZXNzKCkge1xyXG4gICAgY29uc3Qgc2VsZiA9IHRoaXMgYXMgYW55O1xyXG4gICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgIGNvbnN0IG1heFRyeSA9IDIxO1xyXG4gICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICAgICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICBzZWxmLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBzZWxmLmNhbmNlbCgpO1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0V4aXN0KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgY3VycmVudFN0ZXBFbGVtZW50ID0gc2VsZi5nZXRDdXJyZW50U3RlcCgpLmdldEVsZW1lbnQoKTtcclxuICAgICAgICAgIGlmIChjdXJyZW50U3RlcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2hlcGhlcmRMaXN0ID0gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAgICAgJy5zaGVwaGVyZC1jb250ZW50LCAuc2hlcGhlcmQtdGV4dCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgc2hlcGhlcmRMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC10eXBvZ3JhcGh5Jyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gY3VycmVudFN0ZXBFbGVtZW50XHJcbiAgICAgICAgICAgID8gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1oZWFkZXInKVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgICBuYlRyeSsrO1xyXG4gICAgICAgICAgaWYgKGhlYWRlciB8fCBuYlRyeSA+IG1heFRyeSkge1xyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChoZWFkZXIpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RlcHNBcnJheSA9IHNlbGYuc3RlcHM7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb2dyZXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5jbGFzc05hbWUgPSAnc2hlcGhlcmQtcHJvZ3Jlc3MnO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5pbm5lclRleHQgPSBgJHtcclxuICAgICAgICAgICAgICBzdGVwc0FycmF5LmluZGV4T2Yoc2VsZi5nZXRDdXJyZW50U3RlcCgpKSArIDFcclxuICAgICAgICAgICAgfS8ke3N0ZXBzQXJyYXkubGVuZ3RofWA7XHJcbiAgICAgICAgICAgIGhlYWRlci5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgICAgICAgcHJvZ3Jlc3MsXHJcbiAgICAgICAgICAgICAgY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1jYW5jZWwtaWNvbicpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpIHtcclxuICAgIGlmICh0b3VyLmdldEN1cnJlbnRTdGVwKCkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRvdXIuY29tcGxldGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleC5pbmRleCA9PT0gdG91ci5zdGVwcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgdG91ci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG91ci5zdGVwcy5zcGxpY2UoaW5kZXguaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBuZXh0U3RlcCA9IHRvdXIuc3RlcHNbaW5kZXguaW5kZXhdO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgbmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmXHJcbiAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KVxyXG4gICAgICApIHtcclxuICAgICAgICBzZXJ2aWNlLmNoZWNrTmV4dChpbmRleCwgdG91ciwgc2VydmljZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG91ci5fc2V0dXBNb2RhbCgpO1xyXG4gICAgICAgIHRvdXIuc2hvdyhuZXh0U3RlcC5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbihcclxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXHJcbiAgICBhY3Rpb25Db25maWc6IEludGVyYWN0aXZlVG91ckFjdGlvblxyXG4gICkge1xyXG4gICAgaWYgKCFhY3Rpb25Db25maWcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgYWN0aW9uQ29uZmlnLmNvbmRpdGlvbiAmJlxyXG4gICAgICAoKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uY2hhckF0KDApID09PSAnIScgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uc2xpY2UoMSkpKSB8fFxyXG4gICAgICAgIChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSAhPT0gJyEnICYmXHJcbiAgICAgICAgICAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcuY29uZGl0aW9uKSkpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgYWN0aW9uQ29uZmlnLmVsZW1lbnQgfHwgc3RlcC5lbGVtZW50XHJcbiAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oYWN0aW9uQ29uZmlnLmFjdGlvbik7XHJcbiAgICBpZiAoZWxlbWVudCAmJiBhY3Rpb24pIHtcclxuICAgICAgZWxlbWVudFthY3Rpb25dKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgc3RlcDogSW50ZXJhY3RpdmVUb3VyU3RlcCxcclxuICAgIGFjdGlvbkNvbmZpZzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5leGVjdXRlQWN0aW9uKHN0ZXAsIGFjdGlvbkNvbmZpZyk7XHJcbiAgICAgIGlmICghYWN0aW9uQ29uZmlnIHx8ICFhY3Rpb25Db25maWcud2FpdEZvcikge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgICAgY29uc3QgbWF4VHJ5ID0gYWN0aW9uQ29uZmlnLm1heFdhaXQgPyBhY3Rpb25Db25maWcubWF4V2FpdCAvIDEwMCA6IDIwO1xyXG4gICAgICBjb25zdCBjaGVja0V4aXN0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIG5iVHJ5Kys7XHJcbiAgICAgICAgaWYgKG5iVHJ5ID4gbWF4VHJ5IHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLndhaXRGb3IpKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTaGVwaGVyZFN0ZXBzKHRvdXJDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHNoZXBoZXJkU3RlcHM6IFNoZXBoZXJkLlN0ZXAuU3RlcE9wdGlvbnNbXSA9IFtdO1xyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3Qgc3RlcCBvZiB0b3VyQ29uZmlnLnN0ZXBzKSB7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gc3RlcC5wb3NpdGlvbiA/PyB0b3VyQ29uZmlnLnBvc2l0aW9uO1xyXG4gICAgICBzaGVwaGVyZFN0ZXBzLnB1c2goe1xyXG4gICAgICAgIGF0dGFjaFRvOiB7XHJcbiAgICAgICAgICBlbGVtZW50OiBzdGVwLmVsZW1lbnQsXHJcbiAgICAgICAgICBvbjogcG9zaXRpb24gYXMgYW55IC8vIFBvcHBlclBsYWNlbWVudFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmxvYXRpbmdVSU9wdGlvbnM6IHtcclxuICAgICAgICAgIG1pZGRsZXdhcmU6IFtcclxuICAgICAgICAgICAgcG9zaXRpb24gPT09ICdhdXRvJyAmJiBhdXRvUGxhY2VtZW50KCksXHJcbiAgICAgICAgICAgIG9mZnNldCh7IG1haW5BeGlzOiAxNSB9KVxyXG4gICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbilcclxuICAgICAgICB9LFxyXG4gICAgICAgIGJlZm9yZVNob3dQcm9taXNlOiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwLFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwID8gdGhpcy5wcmV2aW91c1N0ZXAuYmVmb3JlQ2hhbmdlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2Uoc3RlcCwgc3RlcC5iZWZvcmVTaG93KVxyXG4gICAgICAgICAgXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBidXR0b25zOiB0aGlzLmdldEJ1dHRvbnMoXHJcbiAgICAgICAgICBpID09PSAwXHJcbiAgICAgICAgICAgID8gJ2ZpcnN0J1xyXG4gICAgICAgICAgICA6IGkgKyAxID09PSB0b3VyQ29uZmlnLnN0ZXBzLmxlbmd0aFxyXG4gICAgICAgICAgICA/ICdsYXN0J1xyXG4gICAgICAgICAgICA6IHRvdXJDb25maWcuc3RlcHNbaV0ubm9CYWNrQnV0dG9uXHJcbiAgICAgICAgICAgID8gJ25vQmFja0J1dHRvbidcclxuICAgICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgICAgICApLFxyXG4gICAgICAgIGNsYXNzZXM6IHN0ZXAuY2xhc3MsXHJcbiAgICAgICAgaGlnaGxpZ2h0Q2xhc3M6IHN0ZXAuaGlnaGxpZ2h0Q2xhc3MsXHJcbiAgICAgICAgc2Nyb2xsVG86IHN0ZXAuc2Nyb2xsVG9FbGVtZW50IHx8IHRvdXJDb25maWcuc2Nyb2xsVG9FbGVtZW50IHx8IHRydWUsXHJcbiAgICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXHJcbiAgICAgICAgICA/ICFzdGVwLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgc3RlcC50aXRsZSB8fCB0b3VyQ29uZmlnLnRpdGxlXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0ZXh0OiBbdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoc3RlcC50ZXh0KV0sXHJcbiAgICAgICAgd2hlbjoge1xyXG4gICAgICAgICAgc2hvdzogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vblNob3cpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBzdGVwO1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vbkhpZGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBzYXRpc2ZpZXMgU2hlcGhlcmQuU3RlcC5TdGVwT3B0aW9ucyk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2hlcGhlcmRTdGVwcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydFRvdXIodG9vbE5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3RlcENvbmZpZzogSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKHRvb2xOYW1lKTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5kZWZhdWx0U3RlcE9wdGlvbnMgPSB7XHJcbiAgICAgIGNsYXNzZXM6IHN0ZXBDb25maWcuY2xhc3MsXHJcbiAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwQ29uZmlnLmhpZ2hsaWdodENsYXNzLFxyXG4gICAgICBjYW5DbGlja1RhcmdldDogc3RlcENvbmZpZy5kaXNhYmxlSW50ZXJhY3Rpb25cclxuICAgICAgICA/ICFzdGVwQ29uZmlnLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgIDogdHJ1ZSxcclxuICAgICAgY2FuY2VsSWNvbjoge1xyXG4gICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gdGhpcy5nZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWcpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLm1vZGFsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmNvbmZpcm1DYW5jZWwgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmFkZFN0ZXBzKHNoZXBoZXJkU3RlcHMpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ3Nob3cnLCB0aGlzLmFkZFByb2dyZXNzKTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ2NhbmNlbCcsIChpbmRleCkgPT4ge1xyXG4gICAgICB0aGlzLmNoZWNrTmV4dChpbmRleCwgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdCwgdGhpcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5zdGFydCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -57,7 +57,7 @@ import { MatBadgeModule } from '@angular/material/badge';
57
57
  import * as i1$6 from '@angular/material/dialog';
58
58
  import { MatDialogModule } from '@angular/material/dialog';
59
59
  import { TemplatePortal } from '@angular/cdk/portal';
60
- import { offset } from '@floating-ui/dom';
60
+ import { autoPlacement, offset } from '@floating-ui/dom';
61
61
  import * as i3$3 from 'angular-shepherd';
62
62
  import * as i1$7 from '@angular/material/sidenav';
63
63
  import * as i2$4 from '@angular/material/progress-spinner';
@@ -7538,17 +7538,21 @@ class InteractiveTourService {
7538
7538
  }, 100);
7539
7539
  });
7540
7540
  }
7541
- getShepherdSteps(stepConfig) {
7541
+ getShepherdSteps(tourConfig) {
7542
7542
  const shepherdSteps = [];
7543
7543
  let i = 0;
7544
- for (const step of stepConfig.steps) {
7544
+ for (const step of tourConfig.steps) {
7545
+ const position = step.position ?? tourConfig.position;
7545
7546
  shepherdSteps.push({
7546
7547
  attachTo: {
7547
7548
  element: step.element,
7548
- on: (step.position || stepConfig.position) // PopperPlacement
7549
+ on: position // PopperPlacement
7549
7550
  },
7550
7551
  floatingUIOptions: {
7551
- middleware: [offset({ mainAxis: 15 })]
7552
+ middleware: [
7553
+ position === 'auto' && autoPlacement(),
7554
+ offset({ mainAxis: 15 })
7555
+ ].filter(Boolean)
7552
7556
  },
7553
7557
  beforeShowPromise: () => {
7554
7558
  return Promise.all([
@@ -7558,18 +7562,18 @@ class InteractiveTourService {
7558
7562
  },
7559
7563
  buttons: this.getButtons(i === 0
7560
7564
  ? 'first'
7561
- : i + 1 === stepConfig.steps.length
7565
+ : i + 1 === tourConfig.steps.length
7562
7566
  ? 'last'
7563
- : stepConfig.steps[i].noBackButton
7567
+ : tourConfig.steps[i].noBackButton
7564
7568
  ? 'noBackButton'
7565
7569
  : undefined),
7566
7570
  classes: step.class,
7567
7571
  highlightClass: step.highlightClass,
7568
- scrollTo: step.scrollToElement || stepConfig.scrollToElement || true,
7572
+ scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,
7569
7573
  canClickTarget: step.disableInteraction
7570
7574
  ? !step.disableInteraction
7571
7575
  : undefined,
7572
- title: this.languageService.translate.instant(step.title || stepConfig.title),
7576
+ title: this.languageService.translate.instant(step.title || tourConfig.title),
7573
7577
  text: [this.languageService.translate.instant(step.text)],
7574
7578
  when: {
7575
7579
  show: () => {