@posiwise/shared-components 0.0.110 → 0.0.111

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 (24) hide show
  1. package/esm2022/index.mjs +3 -2
  2. package/esm2022/lib/authenticator/authenticator.component.mjs +39 -0
  3. package/esm2022/lib/clearbit-icon/clearbit-icon.component.mjs +9 -9
  4. package/esm2022/lib/custom-uploader/custom-uploader.component.mjs +3 -3
  5. package/esm2022/lib/input-container/input-container.component.mjs +7 -4
  6. package/esm2022/lib/label-management/group-definition/group-definition.component.mjs +3 -3
  7. package/esm2022/lib/label-management/groups/groups.component.mjs +3 -3
  8. package/esm2022/lib/number-picker/number-picker.component.mjs +7 -8
  9. package/esm2022/lib/range-date-picker/date-range-picker.component.mjs +48 -0
  10. package/esm2022/lib/shared/shared-component.interface.mjs +1 -1
  11. package/esm2022/lib/shared-components.module.mjs +18 -10
  12. package/fesm2022/posiwise-shared-components.mjs +115 -63
  13. package/fesm2022/posiwise-shared-components.mjs.map +1 -1
  14. package/index.d.ts +2 -1
  15. package/lib/clearbit-icon/clearbit-icon.component.d.ts +4 -4
  16. package/lib/input-container/input-container.component.d.ts +2 -1
  17. package/lib/label-management/group-definition/group-definition.component.d.ts +1 -1
  18. package/lib/number-picker/number-picker.component.d.ts +2 -2
  19. package/lib/range-date-picker/date-range-picker.component.d.ts +26 -0
  20. package/lib/shared/shared-component.interface.d.ts +1 -1
  21. package/lib/shared-components.module.d.ts +37 -35
  22. package/package.json +1 -1
  23. package/esm2022/lib/autheticator/authenticator.component.mjs +0 -39
  24. /package/lib/{autheticator → authenticator}/authenticator.component.d.ts +0 -0
package/esm2022/index.mjs CHANGED
@@ -13,8 +13,9 @@ export * from './lib/privacy-policy/privacy-policy.component';
13
13
  export * from './lib/splash/splash.component';
14
14
  export * from './lib/terms-conditions/terms-conditions.component';
15
15
  export * from './lib/geo-template/geo-template.component';
16
- export * from './lib/autheticator/authenticator.component';
16
+ export * from './lib/authenticator/authenticator.component';
17
17
  export * from './lib/clearbit-icon/clearbit-icon.component';
18
+ export * from './lib/range-date-picker/date-range-picker.component';
18
19
  export * from './lib/coming-soon/coming-soon.component';
19
20
  export * from './lib/no-data/no-data.component';
20
21
  export * from './lib/label-management/entity-group/entity-group.component';
@@ -23,4 +24,4 @@ export * from './lib/label-management/group-definition/group-definition.componen
23
24
  export * from './lib/number-picker/number-picker.component';
24
25
  export * from './lib/header/header.component';
25
26
  export * from './lib/landing-page-footer-b/landing-page-footer-b.component';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZEQUE2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkLWNvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FiLXRlc3QvYWItdGVzdC1jb250YWluZXIvYWItdGVzdC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FiLXRlc3QvYWItYWx0ZXJuYXRpdmUvYWItYWx0ZXJuYXRpdmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bhc3N3b3JkLXZhbGlkYXRpb24vcGFzc3dvcmQtdmFsaWRhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tLXVwbG9hZGVyL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdy10YWJzL3B3LXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Blcm1pc3Npb24tdHJlZS9wZXJtaXNzaW9uLXRyZWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWNvbnRhaW5lci9pbnB1dC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpdmFjeS1hbmQtdG9zL3ByaXZhY3ktYW5kLXRvcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpdmFjeS1wb2xpY3kvcHJpdmFjeS1wb2xpY3kuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGFzaC9zcGxhc2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rlcm1zLWNvbmRpdGlvbnMvdGVybXMtY29uZGl0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VvLXRlbXBsYXRlL2dlby10ZW1wbGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aGV0aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsZWFyYml0LWljb24vY2xlYXJiaXQtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29taW5nLXNvb24vY29taW5nLXNvb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFiZWwtbWFuYWdlbWVudC9lbnRpdHktZ3JvdXAvZW50aXR5LWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYWJlbC1tYW5hZ2VtZW50L2dyb3Vwcy9ncm91cHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhYmVsLW1hbmFnZW1lbnQvZ3JvdXAtZGVmaW5pdGlvbi9ncm91cC1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9udW1iZXItcGlja2VyL251bWJlci1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmRpbmctcGFnZS1mb290ZXItYi9sYW5kaW5nLXBhZ2UtZm9vdGVyLWIuY29tcG9uZW50JztcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkRBQTZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQtY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWItdGVzdC9hYi10ZXN0LWNvbnRhaW5lci9hYi10ZXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWItdGVzdC9hYi1hbHRlcm5hdGl2ZS9hYi1hbHRlcm5hdGl2ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFzc3dvcmQtdmFsaWRhdGlvbi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B3LXRhYnMvcHctdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi10cmVlL3Blcm1pc3Npb24tdHJlZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtY29udGFpbmVyL2lucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcml2YWN5LWFuZC10b3MvcHJpdmFjeS1hbmQtdG9zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcml2YWN5LXBvbGljeS9wcml2YWN5LXBvbGljeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsYXNoL3NwbGFzaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVybXMtY29uZGl0aW9ucy90ZXJtcy1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW8tdGVtcGxhdGUvZ2VvLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsZWFyYml0LWljb24vY2xlYXJiaXQtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFuZ2UtZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbWluZy1zb29uL2NvbWluZy1zb29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhYmVsLW1hbmFnZW1lbnQvZW50aXR5LWdyb3VwL2VudGl0eS1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFiZWwtbWFuYWdlbWVudC9ncm91cHMvZ3JvdXBzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYWJlbC1tYW5hZ2VtZW50L2dyb3VwLWRlZmluaXRpb24vZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbnVtYmVyLXBpY2tlci9udW1iZXItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW5kaW5nLXBhZ2UtZm9vdGVyLWIvbGFuZGluZy1wYWdlLWZvb3Rlci1iLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { Component, Injector } from '@angular/core';
2
+ import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { AuthService } from '@posiwise/common-services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@posiwise/common-services";
6
+ export class AuthenticatorComponent extends AppBaseComponent {
7
+ constructor(authService, injector) {
8
+ super(injector);
9
+ this.authService = authService;
10
+ this.token = '';
11
+ }
12
+ ngOnInit() {
13
+ this.route.queryParams.subscribe(params => {
14
+ if (!params['token']) {
15
+ window.location.href = '/login';
16
+ }
17
+ else {
18
+ this.authService.storePlatform('app').subscribe(() => {
19
+ this.authService.setHeaderKey();
20
+ this.authService.storeToken(params['token']).subscribe({
21
+ next: () => {
22
+ this.router.navigate(['home']);
23
+ },
24
+ error: () => {
25
+ window.location.href = '/login';
26
+ }
27
+ });
28
+ });
29
+ }
30
+ });
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthenticatorComponent, deps: [{ token: i1.AuthService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AuthenticatorComponent, selector: "pw-authenticator", usesInheritance: true, ngImport: i0, template: "<!--Auth Page Starts-->\n<section>\n <div class=\"container-fluid\">\n <div class=\"row full-height-vh\">\n <div class=\"col-12 d-flex align-items-center justify-content-center\">\n <h2>Logging...</h2>\n </div>\n </div>\n </div>\n</section>\n<!--Auth Page Ends-->\n" }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthenticatorComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'pw-authenticator', template: "<!--Auth Page Starts-->\n<section>\n <div class=\"container-fluid\">\n <div class=\"row full-height-vh\">\n <div class=\"col-12 d-flex align-items-center justify-content-center\">\n <h2>Logging...</h2>\n </div>\n </div>\n </div>\n</section>\n<!--Auth Page Ends-->\n" }]
38
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i0.Injector }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNeEQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUd4RCxZQUNxQixXQUF3QixFQUN6QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUg3QyxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBT1gsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbkQsSUFBSSxFQUFFLEdBQUcsRUFBRTs0QkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQ25DLENBQUM7d0JBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTs0QkFDUixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7d0JBQ3BDLENBQUM7cUJBQ0osQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E1QlEsc0JBQXNCO21HQUF0QixzQkFBc0IsK0VDVG5DLG9TQVdBOzs0RkRGYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctYXV0aGVudGljYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICB0b2tlbiA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgaWYgKCFwYXJhbXNbJ3Rva2VuJ10pIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvbG9naW4nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnN0b3JlUGxhdGZvcm0oJ2FwcCcpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2V0SGVhZGVyS2V5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc3RvcmVUb2tlbihwYXJhbXNbJ3Rva2VuJ10pLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydob21lJ10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2xvZ2luJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjwhLS1BdXRoIFBhZ2UgU3RhcnRzLS0+XG48c2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgZnVsbC1oZWlnaHQtdmhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgIDxoMj5Mb2dnaW5nLi4uPC9oMj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbjwhLS1BdXRoIFBhZ2UgRW5kcy0tPlxuIl19
@@ -2,28 +2,28 @@ import { Component, Input } from '@angular/core';
2
2
  import { HelperService } from '@posiwise/helper-service';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@posiwise/directives";
5
- export class ClearbitIconComponent {
5
+ export class ClearBitIconComponent {
6
6
  constructor() {
7
7
  this.src = null;
8
8
  this.altText = 'Logo';
9
- this.clearbitSrc = null;
9
+ this.clearBitSrc = null;
10
10
  this.dummyPath = 'assets/img/icons/company.png';
11
11
  }
12
12
  ngOnChanges(simple) {
13
13
  if (simple['src']?.currentValue &&
14
14
  simple['src']?.currentValue !== simple['src']?.previousValue) {
15
- this.clearbitSrc = HelperService.getLogoByUrl(this.src);
15
+ this.clearBitSrc = HelperService.getLogoByUrl(this.src);
16
16
  }
17
17
  else {
18
- this.clearbitSrc = this.dummyPath;
18
+ this.clearBitSrc = this.dummyPath;
19
19
  }
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ClearbitIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ClearbitIconComponent, selector: "pw-clearbit-icon", inputs: { src: "src", altText: "altText", dummyPath: "dummyPath" }, usesOnChanges: true, ngImport: i0, template: "<img [src]=\"clearbitSrc\"\n [alt]=\"altText\"\n class=\"img-fluid company-logo me-2 mt-1\" />\n", styles: [".company-logo{height:25px;width:25px}\n"], dependencies: [{ kind: "directive", type: i1.LazyImgDirective, selector: "img" }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ClearBitIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ClearBitIconComponent, selector: "pw-clearbit-icon", inputs: { src: "src", altText: "altText", dummyPath: "dummyPath" }, usesOnChanges: true, ngImport: i0, template: "<img [src]=\"clearBitSrc\"\n [alt]=\"altText\"\n class=\"img-fluid company-logo me-2 mt-1\" />\n", styles: [".company-logo{height:25px;width:25px}\n"], dependencies: [{ kind: "directive", type: i1.LazyImgDirective, selector: "img" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ClearbitIconComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ClearBitIconComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'pw-clearbit-icon', template: "<img [src]=\"clearbitSrc\"\n [alt]=\"altText\"\n class=\"img-fluid company-logo me-2 mt-1\" />\n", styles: [".company-logo{height:25px;width:25px}\n"] }]
26
+ args: [{ selector: 'pw-clearbit-icon', template: "<img [src]=\"clearBitSrc\"\n [alt]=\"altText\"\n class=\"img-fluid company-logo me-2 mt-1\" />\n", styles: [".company-logo{height:25px;width:25px}\n"] }]
27
27
  }], propDecorators: { src: [{
28
28
  type: Input
29
29
  }], altText: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
31
31
  }], dummyPath: [{
32
32
  type: Input
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJiaXQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY2xlYXJiaXQtaWNvbi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jbGVhcmJpdC1pY29uL2NsZWFyYml0LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNYSxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUUxQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVWLGNBQVMsR0FBRyw4QkFBOEIsQ0FBQztLQVl2RDtJQVZHLFdBQVcsQ0FBQyxNQUFxQjtRQUM3QixJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFDOUQsQ0FBQztZQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUM7K0dBbEJRLHFCQUFxQjttR0FBckIscUJBQXFCLGlKQ1RsQyxvR0FHQTs7NEZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNJLGtCQUFrQjs4QkFLbkIsR0FBRztzQkFBWCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWNsZWFyYml0LWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2xlYXJiaXRJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBzcmMgPSBudWxsO1xuXG4gICAgQElucHV0KCkgYWx0VGV4dCA9ICdMb2dvJztcblxuICAgIGNsZWFyYml0U3JjID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIGR1bW15UGF0aCA9ICdhc3NldHMvaW1nL2ljb25zL2NvbXBhbnkucG5nJztcblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZTogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzaW1wbGVbJ3NyYyddPy5jdXJyZW50VmFsdWUgJiZcbiAgICAgICAgICAgIHNpbXBsZVsnc3JjJ10/LmN1cnJlbnRWYWx1ZSAhPT0gc2ltcGxlWydzcmMnXT8ucHJldmlvdXNWYWx1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJiaXRTcmMgPSBIZWxwZXJTZXJ2aWNlLmdldExvZ29CeVVybCh0aGlzLnNyYyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyYml0U3JjID0gdGhpcy5kdW1teVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8aW1nIFtzcmNdPVwiY2xlYXJiaXRTcmNcIlxuICBbYWx0XT1cImFsdFRleHRcIlxuICBjbGFzcz1cImltZy1mbHVpZCBjb21wYW55LWxvZ28gbWUtMiBtdC0xXCIgLz5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJiaXQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY2xlYXJiaXQtaWNvbi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jbGVhcmJpdC1pY29uL2NsZWFyYml0LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNYSxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUUxQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVWLGNBQVMsR0FBRyw4QkFBOEIsQ0FBQztLQVl2RDtJQVZHLFdBQVcsQ0FBQyxNQUFxQjtRQUM3QixJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFDOUQsQ0FBQztZQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUM7K0dBbEJRLHFCQUFxQjttR0FBckIscUJBQXFCLGlKQ1RsQyxvR0FHQTs7NEZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNJLGtCQUFrQjs4QkFLbkIsR0FBRztzQkFBWCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWNsZWFyYml0LWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jbGVhcmJpdC1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2xlYXJCaXRJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBzcmMgPSBudWxsO1xuXG4gICAgQElucHV0KCkgYWx0VGV4dCA9ICdMb2dvJztcblxuICAgIGNsZWFyQml0U3JjID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIGR1bW15UGF0aCA9ICdhc3NldHMvaW1nL2ljb25zL2NvbXBhbnkucG5nJztcblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZTogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzaW1wbGVbJ3NyYyddPy5jdXJyZW50VmFsdWUgJiZcbiAgICAgICAgICAgIHNpbXBsZVsnc3JjJ10/LmN1cnJlbnRWYWx1ZSAhPT0gc2ltcGxlWydzcmMnXT8ucHJldmlvdXNWYWx1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJCaXRTcmMgPSBIZWxwZXJTZXJ2aWNlLmdldExvZ29CeVVybCh0aGlzLnNyYyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQml0U3JjID0gdGhpcy5kdW1teVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8aW1nIFtzcmNdPVwiY2xlYXJCaXRTcmNcIlxuICBbYWx0XT1cImFsdFRleHRcIlxuICBjbGFzcz1cImltZy1mbHVpZCBjb21wYW55LWxvZ28gbWUtMiBtdC0xXCIgLz5cbiJdfQ==
@@ -85,11 +85,11 @@ export class CustomUploaderComponent extends AppBaseComponent {
85
85
  });
86
86
  }
87
87
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomUploaderComponent, deps: [{ token: i0.Injector }, { token: i1.NgbModal }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CustomUploaderComponent, selector: "pw-custom-uploader", inputs: { controlName: "controlName", previewData: "previewData", aspectRatio: "aspectRatio", title: "title" }, outputs: { saveEvent: "saveEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- exising images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"], dependencies: [{ kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i5.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CustomUploaderComponent, selector: "pw-custom-uploader", inputs: { controlName: "controlName", previewData: "previewData", aspectRatio: "aspectRatio", title: "title" }, outputs: { saveEvent: "saveEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- existing images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"], dependencies: [{ kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i5.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] }); }
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomUploaderComponent, decorators: [{
91
91
  type: Component,
92
- args: [{ selector: 'pw-custom-uploader', template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- exising images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"] }]
92
+ args: [{ selector: 'pw-custom-uploader', template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- existing images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgbModal }, { type: Document, decorators: [{
94
94
  type: Inject,
95
95
  args: [DOCUMENT]
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
104
104
  }], title: [{
105
105
  type: Input
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQW9CekQsWUFDSSxRQUFrQixFQUNELFlBQXNCLEVBQ0osUUFBa0I7UUFFckQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEIvQyxjQUFTLEdBQWlELElBQUksWUFBWSxFQUdoRixDQUFDO1FBTUksZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFJOUIsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFZcEIsQ0FBQztJQUVELGtCQUFrQjtRQUNkLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4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MUQsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQ3JDLDJFQUEyRSxDQUM5RSxDQUFDO1FBQ0YsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBekdRLHVCQUF1QixrRUF1QnBCLFFBQVE7bUdBdkJYLHVCQUF1QixzT0NacEMsd3lFQTBFQTs7NEZEOURhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxvQkFBb0I7OzBCQTJCekIsTUFBTTsyQkFBQyxRQUFRO3lDQXRCVixTQUFTO3NCQUFsQixNQUFNO2dCQUtFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctY3VzdG9tLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzYXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGU6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGZpbGU6IHN0cmluZztcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH0+KCk7XG5cbiAgICBASW5wdXQoKSBjb250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJldmlld0RhdGE6IHsgdXJsOiBzdHJpbmcgfTtcblxuICAgIEBJbnB1dCgpIGFzcGVjdFJhdGlvID0gJ2F1dG8nO1xuXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIHVwbG9hZGVkRmlsZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBidXR0b25CdXN5OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgZGVsZXRlRXhpc3RpbmdGaWxlKCkge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLnJhaXNlRGVsZXRlUG9wdXAoKS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3RGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVGaWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZUZpbGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZmlsZTogdGhpcy5wcmV2aWV3RGF0YT8udXJsID8gdGhpcy5wcmV2aWV3RGF0YSA6IHRoaXMudXBsb2FkZWRGaWxlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBtb2RhbCBpbWFnZSBjcm9wcGVyXG5cbiAgICBvbkZpbGVDaGFuZ2UodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVOYW1lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhVVJMdG9CbG9iKGRhdGFVcmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhcnIgPSBkYXRhVXJsPy5zcGxpdCgnLCcpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWdleHAtZXhlY1xuICAgICAgICBjb25zdCBtaW1lID0gL15bQS1aXSpbYS16XSo6KC4qPyk7W0EtWl0qLy5leGVjKGFyclswXSk/LlsxXTtcbiAgICAgICAgY29uc3QgYlN0ciA9IGF0b2IoYXJyWzFdKTtcbiAgICAgICAgbGV0IG4gPSBiU3RyLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdThhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBsdXNwbHVzXG4gICAgICAgIHdoaWxlIChuLS0pIHtcbiAgICAgICAgICAgIHU4YXJyW25dID0gYlN0ci5jaGFyQ29kZUF0KG4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKFt1OGFycl0sIHsgdHlwZTogbWltZSB9KTtcbiAgICB9XG5cbiAgICBvbkltYWdlU2VsZWN0aW9uKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSB0aGlzLmRhdGFVUkx0b0Jsb2IoZXZlbnQpO1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCB0aGlzLnNlbGVjdGVkRmlsZU5hbWUpO1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IGZpbGU7XG4gICAgICAgIHRoaXMub25TYXZlRmlsZSgpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChjb250ZW50KSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oY29udGVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgd2luZG93Q2xhc3M6ICdtb2RhbC1ob2xkZXInIH0pO1xuICAgIH1cblxuICAgIGNsZWFyVmFsdWVzKCkge1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhlaWdodCgpIHtcbiAgICAgICAgLy8gd2FpdCBmb3IgdXBkYXRlIGNhcmQgaGVpZ2h0XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkltZ0NoYW5nZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkltZ0NoYW5nZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgICAgICAgICB0YXJnZXQuc3JjID0gJ2Fzc2V0cy9pbWcvaWNvbnMvaW1hZ2Vub3RhdmFpbGFibGUucG5nJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICdwdy1kb21haW4tY29uZmlnLWludGVyZmFjZSxwdy1kb21haW4tY29uZmlnLWJ1aWxkIGRpdlttYXRjaGhlaWdodD1cImNhcmRcIl0nXG4gICAgICAgICk7XG4gICAgICAgIGVsLmZvckVhY2goKGl0ZW06IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UubWF0Y2hIZWlnaHRzKGl0ZW0gYXMgSFRNTEVsZW1lbnQsICdjYXJkJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHBiLTJcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHVwbG9hZC1idXR0b24tYmFyXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcmV2aWV3RGF0YT8udXJsIHx8IHVwbG9hZGVkRmlsZVwiXG4gICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGNvbnRlbnQpXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChjb250ZW50KVwiXG4gICAgICBpY29uPVwicGkgcGktcGx1c1wiXG4gICAgICBsYWJlbD1cIkNob29zZVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDwhLS0gbm8gZmlsZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwcmV2aWV3LXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCIhcHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ljb25zL25vZmlsZXNmb3VuZC5wbmdcIlxuICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0byBpbWctZmx1aWRcIlxuICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIGV4aXNpbmcgaW1hZ2VzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHJldmlldy13cmFwcGVyXCJcbiAgICAgICpuZ0lmPVwicHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGEgW2hyZWZdPVwicHJldmlld0RhdGE/LnVybFwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cInByZXZpZXdEYXRhPy51cmxcIlxuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uSW1nQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbWctZmx1aWRcIiAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUV4aXN0aW5nRmlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlRXhpc3RpbmdGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJkZWxldGVFeGlzdGluZ0ZpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjwhLS0gaW1hZ2UgY3JvcHBlciAtLT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFxuICBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJjYXJkIG0tMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuLWNsb3NlIGZsb2F0LWVuZCBmbG9hdC1lbmRcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxuXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgPHNtYWxsPiB7eyAnVXNlci5Qcm9maWxlLlBpY3R1cmVNZXNzYWdlJyB8IHRyYW5zbG9jbyB9fTwvc21hbGw+XG4gICAgICAgIDxwdy1pbWFnZS1jcm9wcGVyICNwcm9maWxlXG4gICAgICAgICAgW2FzcGVjdFJhdGlvXT1cImFzcGVjdFJhdGlvXCJcbiAgICAgICAgICAoZmlsZUNoYW5nZUV2ZW50KT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvbkltYWdlU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgICAgIChjbG9zZUV2ZW50KT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8L3B3LWltYWdlLWNyb3BwZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQW9CekQsWUFDSSxRQUFrQixFQUNELFlBQXNCLEVBQ0osUUFBa0I7UUFFckQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEIvQyxjQUFTLEdBQWlELElBQUksWUFBWSxFQUdoRixDQUFDO1FBTUksZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFJOUIsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFZcEIsQ0FBQztJQUVELGtCQUFrQjtRQUNkLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUNsRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDekIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHNCQUFzQjtJQUV0QixZQUFZLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUFlO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsaUVBQWlFO1FBQ2pFLE1BQU0sSUFBSSxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLHVDQUF1QztRQUN2QyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDVCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZO1FBQ1IsOEJBQThCO1FBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLEdBQUcsd0NBQXdDLENBQUM7UUFDMUQsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQ3JDLDJFQUEyRSxDQUM5RSxDQUFDO1FBQ0YsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBekdRLHVCQUF1QixrRUF1QnBCLFFBQVE7bUdBdkJYLHVCQUF1QixzT0NacEMseXlFQTBFQTs7NEZEOURhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxvQkFBb0I7OzBCQTJCekIsTUFBTTsyQkFBQyxRQUFRO3lDQXRCVixTQUFTO3NCQUFsQixNQUFNO2dCQUtFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctY3VzdG9tLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzYXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGU6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGZpbGU6IHN0cmluZztcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH0+KCk7XG5cbiAgICBASW5wdXQoKSBjb250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJldmlld0RhdGE6IHsgdXJsOiBzdHJpbmcgfTtcblxuICAgIEBJbnB1dCgpIGFzcGVjdFJhdGlvID0gJ2F1dG8nO1xuXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIHVwbG9hZGVkRmlsZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBidXR0b25CdXN5OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgZGVsZXRlRXhpc3RpbmdGaWxlKCkge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLnJhaXNlRGVsZXRlUG9wdXAoKS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3RGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVGaWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZUZpbGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZmlsZTogdGhpcy5wcmV2aWV3RGF0YT8udXJsID8gdGhpcy5wcmV2aWV3RGF0YSA6IHRoaXMudXBsb2FkZWRGaWxlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBtb2RhbCBpbWFnZSBjcm9wcGVyXG5cbiAgICBvbkZpbGVDaGFuZ2UodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVOYW1lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhVVJMdG9CbG9iKGRhdGFVcmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhcnIgPSBkYXRhVXJsPy5zcGxpdCgnLCcpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWdleHAtZXhlY1xuICAgICAgICBjb25zdCBtaW1lID0gL15bQS1aXSpbYS16XSo6KC4qPyk7W0EtWl0qLy5leGVjKGFyclswXSk/LlsxXTtcbiAgICAgICAgY29uc3QgYlN0ciA9IGF0b2IoYXJyWzFdKTtcbiAgICAgICAgbGV0IG4gPSBiU3RyLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdThhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBsdXNwbHVzXG4gICAgICAgIHdoaWxlIChuLS0pIHtcbiAgICAgICAgICAgIHU4YXJyW25dID0gYlN0ci5jaGFyQ29kZUF0KG4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKFt1OGFycl0sIHsgdHlwZTogbWltZSB9KTtcbiAgICB9XG5cbiAgICBvbkltYWdlU2VsZWN0aW9uKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSB0aGlzLmRhdGFVUkx0b0Jsb2IoZXZlbnQpO1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCB0aGlzLnNlbGVjdGVkRmlsZU5hbWUpO1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IGZpbGU7XG4gICAgICAgIHRoaXMub25TYXZlRmlsZSgpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChjb250ZW50KSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oY29udGVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgd2luZG93Q2xhc3M6ICdtb2RhbC1ob2xkZXInIH0pO1xuICAgIH1cblxuICAgIGNsZWFyVmFsdWVzKCkge1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhlaWdodCgpIHtcbiAgICAgICAgLy8gd2FpdCBmb3IgdXBkYXRlIGNhcmQgaGVpZ2h0XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkltZ0NoYW5nZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkltZ0NoYW5nZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgICAgICAgICB0YXJnZXQuc3JjID0gJ2Fzc2V0cy9pbWcvaWNvbnMvaW1hZ2Vub3RhdmFpbGFibGUucG5nJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICdwdy1kb21haW4tY29uZmlnLWludGVyZmFjZSxwdy1kb21haW4tY29uZmlnLWJ1aWxkIGRpdlttYXRjaGhlaWdodD1cImNhcmRcIl0nXG4gICAgICAgICk7XG4gICAgICAgIGVsLmZvckVhY2goKGl0ZW06IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UubWF0Y2hIZWlnaHRzKGl0ZW0gYXMgSFRNTEVsZW1lbnQsICdjYXJkJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHBiLTJcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHVwbG9hZC1idXR0b24tYmFyXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcmV2aWV3RGF0YT8udXJsIHx8IHVwbG9hZGVkRmlsZVwiXG4gICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGNvbnRlbnQpXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChjb250ZW50KVwiXG4gICAgICBpY29uPVwicGkgcGktcGx1c1wiXG4gICAgICBsYWJlbD1cIkNob29zZVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDwhLS0gbm8gZmlsZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwcmV2aWV3LXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCIhcHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ljb25zL25vZmlsZXNmb3VuZC5wbmdcIlxuICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0byBpbWctZmx1aWRcIlxuICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIGV4aXN0aW5nIGltYWdlcyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHByZXZpZXctd3JhcHBlclwiXG4gICAgICAqbmdJZj1cInByZXZpZXdEYXRhPy51cmxcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhIFtocmVmXT1cInByZXZpZXdEYXRhPy51cmxcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJwcmV2aWV3RGF0YT8udXJsXCJcbiAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAobG9hZCk9XCJvbkltZ0NoYW5nZSgpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkltZ0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkXCIgLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxuICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVFeGlzdGluZ0ZpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZUV4aXN0aW5nRmlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiZGVsZXRlRXhpc3RpbmdGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLXRyYXNoIGRlbGV0ZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIGltYWdlIGNyb3BwZXIgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRcbiAgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBtLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmbG9hdC1lbmQgZmxvYXQtZW5kXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgIDxzbWFsbD4ge3sgJ1VzZXIuUHJvZmlsZS5QaWN0dXJlTWVzc2FnZScgfCB0cmFuc2xvY28gfX08L3NtYWxsPlxuICAgICAgICA8cHctaW1hZ2UtY3JvcHBlciAjcHJvZmlsZVxuICAgICAgICAgIFthc3BlY3RSYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICAgICAgKGZpbGVDaGFuZ2VFdmVudCk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKGltYWdlU2VsZWN0aW9uRXZlbnQpPVwib25JbWFnZVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -13,6 +13,7 @@ export class InputContainerComponent {
13
13
  this.errorMsg = 'An error occurred';
14
14
  this.isReadOnly = false;
15
15
  this.showTriangle = false;
16
+ this.isLeftTooltip = false;
16
17
  }
17
18
  ngOnInit() {
18
19
  if (this.controlContainer) {
@@ -34,14 +35,14 @@ export class InputContainerComponent {
34
35
  }
35
36
  }
36
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputContainerComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputContainerComponent, selector: "pw-input-container", inputs: { name: "name", label: "label", labelClass: "labelClass", tooltipPosition: "tooltipPosition", required: "required", errorMsg: "errorMsg", isReadOnly: "isReadOnly", showTooltip: "showTooltip", tooltipText: "tooltipText", showTriangle: "showTriangle", afterLabel: "afterLabel", showAfterLabel: "showAfterLabel", showTriangleText: "showTriangleText" }, providers: [
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputContainerComponent, selector: "pw-input-container", inputs: { name: "name", label: "label", labelClass: "labelClass", tooltipPosition: "tooltipPosition", required: "required", errorMsg: "errorMsg", isReadOnly: "isReadOnly", showTooltip: "showTooltip", tooltipText: "tooltipText", showTriangle: "showTriangle", afterLabel: "afterLabel", showAfterLabel: "showAfterLabel", showTriangleText: "showTriangleText", isLeftTooltip: "isLeftTooltip" }, providers: [
38
39
  {
39
40
  provide: NG_VALUE_ACCESSOR,
40
41
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
41
42
  useExisting: InputContainerComponent,
42
43
  multi: true
43
44
  }
44
- ], ngImport: i0, template: "<label class=\"mb-2\" for=\"Label\">\n <span [class]=\"labelClass\"\n [ngClass]=\"{ mandatory: required && !control?.disabled }\">\n {{ label }}\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTriangle\"\n [pTooltip]=\"'Last month this value was set to ' + showTriangleText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-exclamation-triangle text-warning\"></i>\n </span>\n <!-- after label -->\n <span *ngIf=\"afterLabel && showAfterLabel\"\n [innerHTML]=\"afterLabel\"></span>\n <!-- after label end -->\n</label>\n\n<div class=\"mb-3\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"control?.errors\">\n <pw-field-error-display [displayError]=\"control?.invalid && control?.touched\"\n [errorMsg]=\"errorMsg | transloco\">\n </pw-field-error-display>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.mandatory:after{color:#ff586b;content:\"*\";padding-left:2px;font-size:15px}\n"], dependencies: [{ kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FieldErrorDisplayComponent, selector: "pw-field-error-display", inputs: ["errorMsg", "displayError"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] }); }
45
+ ], ngImport: i0, template: "<label class=\"mb-2\" for=\"Label\">\n <span [class]=\"labelClass\"\n [ngClass]=\"{ mandatory: required && !control?.disabled }\">\n {{ label }}\n </span>\n <span [ngClass]=\"{ 'left-info-circle': isLeftTooltip }\" class=\"info-circle tooltip-wrap ms-1\" *ngIf=\"showTooltip && tooltipText\">\n <span class=\"tooltiptext gradient-custom-branding\" [ngClass]=\"{ 'left-field-tooltip': isLeftTooltip }\">\n {{ tooltipText }}\n </span>\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTriangle\"\n [pTooltip]=\"'Last month this value was set to ' + showTriangleText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-exclamation-triangle text-warning\"></i>\n </span>\n <!-- after label -->\n <span *ngIf=\"afterLabel && showAfterLabel\"\n [innerHTML]=\"afterLabel\"></span>\n <!-- after label end -->\n</label>\n\n<div class=\"mb-3\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"control?.errors\">\n <pw-field-error-display [displayError]=\"control?.invalid && control?.touched\"\n [errorMsg]=\"errorMsg | transloco\">\n </pw-field-error-display>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.mandatory:after{color:#ff586b;content:\"*\";padding-left:2px;font-size:15px}\n"], dependencies: [{ kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FieldErrorDisplayComponent, selector: "pw-field-error-display", inputs: ["errorMsg", "displayError"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] }); }
45
46
  }
46
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputContainerComponent, decorators: [{
47
48
  type: Component,
@@ -52,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
52
53
  useExisting: InputContainerComponent,
53
54
  multi: true
54
55
  }
55
- ], template: "<label class=\"mb-2\" for=\"Label\">\n <span [class]=\"labelClass\"\n [ngClass]=\"{ mandatory: required && !control?.disabled }\">\n {{ label }}\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTriangle\"\n [pTooltip]=\"'Last month this value was set to ' + showTriangleText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-exclamation-triangle text-warning\"></i>\n </span>\n <!-- after label -->\n <span *ngIf=\"afterLabel && showAfterLabel\"\n [innerHTML]=\"afterLabel\"></span>\n <!-- after label end -->\n</label>\n\n<div class=\"mb-3\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"control?.errors\">\n <pw-field-error-display [displayError]=\"control?.invalid && control?.touched\"\n [errorMsg]=\"errorMsg | transloco\">\n </pw-field-error-display>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.mandatory:after{color:#ff586b;content:\"*\";padding-left:2px;font-size:15px}\n"] }]
56
+ ], template: "<label class=\"mb-2\" for=\"Label\">\n <span [class]=\"labelClass\"\n [ngClass]=\"{ mandatory: required && !control?.disabled }\">\n {{ label }}\n </span>\n <span [ngClass]=\"{ 'left-info-circle': isLeftTooltip }\" class=\"info-circle tooltip-wrap ms-1\" *ngIf=\"showTooltip && tooltipText\">\n <span class=\"tooltiptext gradient-custom-branding\" [ngClass]=\"{ 'left-field-tooltip': isLeftTooltip }\">\n {{ tooltipText }}\n </span>\n </span>\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTriangle\"\n [pTooltip]=\"'Last month this value was set to ' + showTriangleText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-exclamation-triangle text-warning\"></i>\n </span>\n <!-- after label -->\n <span *ngIf=\"afterLabel && showAfterLabel\"\n [innerHTML]=\"afterLabel\"></span>\n <!-- after label end -->\n</label>\n\n<div class=\"mb-3\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"control?.errors\">\n <pw-field-error-display [displayError]=\"control?.invalid && control?.touched\"\n [errorMsg]=\"errorMsg | transloco\">\n </pw-field-error-display>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.mandatory:after{color:#ff586b;content:\"*\";padding-left:2px;font-size:15px}\n"] }]
56
57
  }], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
57
58
  type: Optional
58
59
  }, {
@@ -85,5 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
85
86
  type: Input
86
87
  }], showTriangleText: [{
87
88
  type: Input
89
+ }], isLeftTooltip: [{
90
+ type: Input
88
91
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1jb250YWluZXIvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1jb250YWluZXIvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWV0RixNQUFNLE9BQU8sdUJBQXVCO0lBMENoQyxZQUlxQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTlCdkQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixhQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFHL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVNuQixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQWdCbEIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7b0JBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQXFCLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO3dCQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDekIsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLHNFQUFzRSxDQUN6RSxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0wsQ0FBQzsrR0FuRVEsdUJBQXVCO21HQUF2Qix1QkFBdUIsbVpBVHJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsbUVBQW1FO2dCQUNuRSxXQUFXLEVBQUUsdUJBQXVCO2dCQUNwQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDZEwsbW5DQWlDQTs7NEZEakJhLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDSSxvQkFBb0IsYUFHbkI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsbUVBQW1FOzRCQUNuRSxXQUFXLHlCQUF5Qjs0QkFDcEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OzBCQTZDSSxRQUFROzswQkFDUixJQUFJOzswQkFDSixRQUFRO3lDQXpDYixJQUFJO3NCQURILEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWlucHV0LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IElucHV0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcblxuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBsYWJlbENsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBlcnJvck1zZyA9ICdBbiBlcnJvciBvY2N1cnJlZCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGlzUmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHRvb2x0aXBUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUcmlhbmdsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhZnRlckxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dBZnRlckxhYmVsOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93VHJpYW5nbGVUZXh0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEhvc3QoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbENvbnRhaW5lcikge1xuICAgICAgICAgICAgaWYgKHRoaXMubmFtZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLmdldCh0aGlzLm5hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2w/LnZhbGlkYXRvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3I/LlsncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5jb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICdNaXNzaW5nIEZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgZnJvbSBob3N0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93LmNvbnNvbGUud2FybihcIkNhbid0IGZpbmQgcGFyZW50IEZvcm1Hcm91cCBkaXJlY3RpdmVcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJtYi0yXCIgZm9yPVwiTGFiZWxcIj5cbiAgPHNwYW4gW2NsYXNzXT1cImxhYmVsQ2xhc3NcIlxuICAgIFtuZ0NsYXNzXT1cInsgbWFuZGF0b3J5OiByZXF1aXJlZCAmJiAhY29udHJvbD8uZGlzYWJsZWQgfVwiPlxuICAgIHt7IGxhYmVsIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLXdyYXAgbXMtMVwiXG4gICAgKm5nSWY9XCJzaG93VG9vbHRpcCAmJiB0b29sdGlwVGV4dFwiXG4gICAgW3BUb29sdGlwXT1cInRvb2x0aXBUZXh0XCJcbiAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbiB8fCAndG9wJ1wiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCI+PC9pPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidG9vbHRpcC13cmFwIG1zLTFcIlxuICAgICpuZ0lmPVwic2hvd1RyaWFuZ2xlXCJcbiAgICBbcFRvb2x0aXBdPVwiJ0xhc3QgbW9udGggdGhpcyB2YWx1ZSB3YXMgc2V0IHRvICcgKyBzaG93VHJpYW5nbGVUZXh0XCJcbiAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbiB8fCAndG9wJ1wiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHRleHQtd2FybmluZ1wiPjwvaT5cbiAgPC9zcGFuPlxuICA8IS0tIGFmdGVyIGxhYmVsIC0tPlxuICA8c3BhbiAqbmdJZj1cImFmdGVyTGFiZWwgJiYgc2hvd0FmdGVyTGFiZWxcIlxuICAgIFtpbm5lckhUTUxdPVwiYWZ0ZXJMYWJlbFwiPjwvc3Bhbj5cbiAgPCEtLSBhZnRlciBsYWJlbCBlbmQgLS0+XG48L2xhYmVsPlxuXG48ZGl2IGNsYXNzPVwibWItM1wiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sPy5lcnJvcnNcIj5cbiAgICA8cHctZmllbGQtZXJyb3ItZGlzcGxheSBbZGlzcGxheUVycm9yXT1cImNvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8udG91Y2hlZFwiXG4gICAgICBbZXJyb3JNc2ddPVwiZXJyb3JNc2cgfCB0cmFuc2xvY29cIj5cbiAgICA8L3B3LWZpZWxkLWVycm9yLWRpc3BsYXk+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1jb250YWluZXIvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1jb250YWluZXIvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWV0RixNQUFNLE9BQU8sdUJBQXVCO0lBNkNoQyxZQUlxQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWpDdkQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixhQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFHL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVNuQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVlyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQU9uQixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztvQkFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBcUIsQ0FBQyxDQUFDO29CQUNoRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7d0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUN6QixDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2Ysc0VBQXNFLENBQ3pFLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDTCxDQUFDOytHQXRFUSx1QkFBdUI7bUdBQXZCLHVCQUF1QixtYkFUckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixtRUFBbUU7Z0JBQ25FLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwwQkNkTCw0cUNBK0JBOzs0RkRmYSx1QkFBdUI7a0JBYm5DLFNBQVM7K0JBQ0ksb0JBQW9CLGFBR25CO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLG1FQUFtRTs0QkFDbkUsV0FBVyx5QkFBeUI7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzswQkFnREksUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osUUFBUTt5Q0E1Q2IsSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctaW5wdXQtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSW5wdXRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGVycm9yTXNnID0gJ0FuIGVycm9yIG9jY3VycmVkJztcblxuICAgIEBJbnB1dCgpXG4gICAgaXNSZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcFRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1RyaWFuZ2xlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFmdGVyTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd0FmdGVyTGFiZWw6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUcmlhbmdsZVRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgaXNMZWZ0VG9vbHRpcCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBIb3N0KClcbiAgICAgICAgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQodGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sPy52YWxpZGF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAnTWlzc2luZyBGb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIGZyb20gaG9zdCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5jb25zb2xlLndhcm4oXCJDYW4ndCBmaW5kIHBhcmVudCBGb3JtR3JvdXAgZGlyZWN0aXZlXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGxhYmVsIGNsYXNzPVwibWItMlwiIGZvcj1cIkxhYmVsXCI+XG4gIDxzcGFuIFtjbGFzc109XCJsYWJlbENsYXNzXCJcbiAgICBbbmdDbGFzc109XCJ7IG1hbmRhdG9yeTogcmVxdWlyZWQgJiYgIWNvbnRyb2w/LmRpc2FibGVkIH1cIj5cbiAgICB7eyBsYWJlbCB9fVxuICA8L3NwYW4+XG4gIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ2xlZnQtaW5mby1jaXJjbGUnOiBpc0xlZnRUb29sdGlwIH1cIiBjbGFzcz1cImluZm8tY2lyY2xlIHRvb2x0aXAtd3JhcCBtcy0xXCIgKm5nSWY9XCJzaG93VG9vbHRpcCAmJiB0b29sdGlwVGV4dFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcHRleHQgZ3JhZGllbnQtY3VzdG9tLWJyYW5kaW5nXCIgW25nQ2xhc3NdPVwieyAnbGVmdC1maWVsZC10b29sdGlwJzogaXNMZWZ0VG9vbHRpcCB9XCI+XG4gICAgICB7eyB0b29sdGlwVGV4dCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtd3JhcCBtcy0xXCJcbiAgICAqbmdJZj1cInNob3dUcmlhbmdsZVwiXG4gICAgW3BUb29sdGlwXT1cIidMYXN0IG1vbnRoIHRoaXMgdmFsdWUgd2FzIHNldCB0byAnICsgc2hvd1RyaWFuZ2xlVGV4dFwiXG4gICAgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24gfHwgJ3RvcCdcIj5cbiAgICA8aSBjbGFzcz1cImZhcyBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSB0ZXh0LXdhcm5pbmdcIj48L2k+XG4gIDwvc3Bhbj5cbiAgPCEtLSBhZnRlciBsYWJlbCAtLT5cbiAgPHNwYW4gKm5nSWY9XCJhZnRlckxhYmVsICYmIHNob3dBZnRlckxhYmVsXCJcbiAgICBbaW5uZXJIVE1MXT1cImFmdGVyTGFiZWxcIj48L3NwYW4+XG4gIDwhLS0gYWZ0ZXIgbGFiZWwgZW5kIC0tPlxuPC9sYWJlbD5cblxuPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzXCI+XG4gICAgPHB3LWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJjb250cm9sPy5pbnZhbGlkICYmIGNvbnRyb2w/LnRvdWNoZWRcIlxuICAgICAgW2Vycm9yTXNnXT1cImVycm9yTXNnIHwgdHJhbnNsb2NvXCI+XG4gICAgPC9wdy1maWVsZC1lcnJvci1kaXNwbGF5PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -163,7 +163,7 @@ export class GroupDefinitionComponent extends AppBaseComponent {
163
163
  super.ngOnDestroy();
164
164
  }
165
165
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GroupDefinitionComponent, deps: [{ token: i1.GroupService }, { token: i2.UntypedFormBuilder }, { token: i1.SubscriptionService }, { token: i1.DataService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GroupDefinitionComponent, selector: "pw-groupdefinition", usesInheritance: true, ngImport: i0, template: "<section>\n <div class=\"row\">\n <div class=\"col-12 mb-3\">\n <h2>Enterprise Teams Categories</h2>\n\n <p>\n Here you can define the categories for your enterprise's groups. For example \"Sales\n Department\", \"Development Department\", etc.\n <br />\n Once the category created, you'll be able to add teams to them and see useful\n insight based on the members activity in the corresponding team.\n </p>\n </div>\n </div>\n\n <div class=\"row\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-6 d-flex align-items-center text-start mb-sm-3 mb-lg-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"previous()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n </div>\n <div class=\"col-6\"\n *ngIf=\"hasAccess\">\n <button class=\"float-end btn btn-sm btn-outline-primary me-2\"\n (click)=\"viewDefinitions()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create new Team Category\n </button>\n </div>\n </div>\n\n <div *ngIf=\"viewDefinition\">\n <h4 class=\"card-title d-inline mb-5\">\n {{ viewEdit ? 'Update the' : 'Create a new' }} category\n </h4>\n\n <div class=\"mt-4\"\n *ngIf=\"!viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"saveGroupDefinition()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">Add Category</button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"mt-4\"\n *ngIf=\"viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"updateDetails()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}: </label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}:</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">\n {{ 'Button.Update' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n\n <ng-container *ngIf=\"groupDefinition?.length !== 0\">\n <div class=\"row mb-last-3 group-definitions-wrapper\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-12 col-md-6 col-xl-4 mt-3\"\n *ngFor=\"let group of groupDefinition\">\n <div class=\"card\">\n <div class=\"card-content\">\n <div class=\"card-header\">\n <h5 class=\"mb-3\">{{ group.name }}</h5>\n <p>{{ group.description | slice: 0:200 }}</p>\n </div>\n <div class=\"card-footer\">\n <div class=\"float-end px-2\">\n <a class=\"btn btn-sm btn-outline-danger me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onDelete(group.id)\">{{ 'Button.Delete' | transloco }}</a>\n <a class=\"btn btn-sm btn-outline-primary me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onGroupDefinitionEdit(group.id)\">{{ 'Button.Edit' | transloco }}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <div *ngIf=\"groupDefinition?.length === 0 && hasAccess && !viewDefinition && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsMessage' | transloco\"> </pw-no-data>\n </div>\n <div *ngIf=\"groupDefinition?.length === 0 && !hasAccess && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsUserMessage' | transloco\"> </pw-no-data>\n </div>\n</section>\n", styles: [".mb-last-3{margin-bottom:3rem}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "component", type: i7.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "pipe", type: i8.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }] }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GroupDefinitionComponent, selector: "pw-group-definition", usesInheritance: true, ngImport: i0, template: "<section>\n <div class=\"row\">\n <div class=\"col-12 mb-3\">\n <h2>Enterprise Teams Categories</h2>\n\n <p>\n Here you can define the categories for your enterprise's groups. For example \"Sales\n Department\", \"Development Department\", etc.\n <br />\n Once the category created, you'll be able to add teams to them and see useful\n insight based on the members activity in the corresponding team.\n </p>\n </div>\n </div>\n\n <div class=\"row\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-6 d-flex align-items-center text-start mb-sm-3 mb-lg-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"previous()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n </div>\n <div class=\"col-6\"\n *ngIf=\"hasAccess\">\n <button class=\"float-end btn btn-sm btn-outline-primary me-2\"\n (click)=\"viewDefinitions()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create new Team Category\n </button>\n </div>\n </div>\n\n <div *ngIf=\"viewDefinition\">\n <h4 class=\"card-title d-inline mb-5\">\n {{ viewEdit ? 'Update the' : 'Create a new' }} category\n </h4>\n\n <div class=\"mt-4\"\n *ngIf=\"!viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"saveGroupDefinition()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">Add Category</button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"mt-4\"\n *ngIf=\"viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"updateDetails()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}: </label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}:</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">\n {{ 'Button.Update' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n\n <ng-container *ngIf=\"groupDefinition?.length !== 0\">\n <div class=\"row mb-last-3 group-definitions-wrapper\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-12 col-md-6 col-xl-4 mt-3\"\n *ngFor=\"let group of groupDefinition\">\n <div class=\"card\">\n <div class=\"card-content\">\n <div class=\"card-header\">\n <h5 class=\"mb-3\">{{ group.name }}</h5>\n <p>{{ group.description | slice: 0:200 }}</p>\n </div>\n <div class=\"card-footer\">\n <div class=\"float-end px-2\">\n <a class=\"btn btn-sm btn-outline-danger me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onDelete(group.id)\">{{ 'Button.Delete' | transloco }}</a>\n <a class=\"btn btn-sm btn-outline-primary me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onGroupDefinitionEdit(group.id)\">{{ 'Button.Edit' | transloco }}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <div *ngIf=\"groupDefinition?.length === 0 && hasAccess && !viewDefinition && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsMessage' | transloco\"> </pw-no-data>\n </div>\n <div *ngIf=\"groupDefinition?.length === 0 && !hasAccess && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsUserMessage' | transloco\"> </pw-no-data>\n </div>\n</section>\n", styles: [".mb-last-3{margin-bottom:3rem}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "component", type: i7.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "pipe", type: i8.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }] }); }
167
167
  }
168
168
  __decorate([
169
169
  ValidateForm('form'),
@@ -173,6 +173,6 @@ __decorate([
173
173
  ], GroupDefinitionComponent.prototype, "saveGroupDefinition", null);
174
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GroupDefinitionComponent, decorators: [{
175
175
  type: Component,
176
- args: [{ selector: 'pw-groupdefinition', template: "<section>\n <div class=\"row\">\n <div class=\"col-12 mb-3\">\n <h2>Enterprise Teams Categories</h2>\n\n <p>\n Here you can define the categories for your enterprise's groups. For example \"Sales\n Department\", \"Development Department\", etc.\n <br />\n Once the category created, you'll be able to add teams to them and see useful\n insight based on the members activity in the corresponding team.\n </p>\n </div>\n </div>\n\n <div class=\"row\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-6 d-flex align-items-center text-start mb-sm-3 mb-lg-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"previous()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n </div>\n <div class=\"col-6\"\n *ngIf=\"hasAccess\">\n <button class=\"float-end btn btn-sm btn-outline-primary me-2\"\n (click)=\"viewDefinitions()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create new Team Category\n </button>\n </div>\n </div>\n\n <div *ngIf=\"viewDefinition\">\n <h4 class=\"card-title d-inline mb-5\">\n {{ viewEdit ? 'Update the' : 'Create a new' }} category\n </h4>\n\n <div class=\"mt-4\"\n *ngIf=\"!viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"saveGroupDefinition()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">Add Category</button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"mt-4\"\n *ngIf=\"viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"updateDetails()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}: </label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}:</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">\n {{ 'Button.Update' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n\n <ng-container *ngIf=\"groupDefinition?.length !== 0\">\n <div class=\"row mb-last-3 group-definitions-wrapper\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-12 col-md-6 col-xl-4 mt-3\"\n *ngFor=\"let group of groupDefinition\">\n <div class=\"card\">\n <div class=\"card-content\">\n <div class=\"card-header\">\n <h5 class=\"mb-3\">{{ group.name }}</h5>\n <p>{{ group.description | slice: 0:200 }}</p>\n </div>\n <div class=\"card-footer\">\n <div class=\"float-end px-2\">\n <a class=\"btn btn-sm btn-outline-danger me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onDelete(group.id)\">{{ 'Button.Delete' | transloco }}</a>\n <a class=\"btn btn-sm btn-outline-primary me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onGroupDefinitionEdit(group.id)\">{{ 'Button.Edit' | transloco }}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <div *ngIf=\"groupDefinition?.length === 0 && hasAccess && !viewDefinition && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsMessage' | transloco\"> </pw-no-data>\n </div>\n <div *ngIf=\"groupDefinition?.length === 0 && !hasAccess && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsUserMessage' | transloco\"> </pw-no-data>\n </div>\n</section>\n", styles: [".mb-last-3{margin-bottom:3rem}\n"] }]
176
+ args: [{ selector: 'pw-group-definition', template: "<section>\n <div class=\"row\">\n <div class=\"col-12 mb-3\">\n <h2>Enterprise Teams Categories</h2>\n\n <p>\n Here you can define the categories for your enterprise's groups. For example \"Sales\n Department\", \"Development Department\", etc.\n <br />\n Once the category created, you'll be able to add teams to them and see useful\n insight based on the members activity in the corresponding team.\n </p>\n </div>\n </div>\n\n <div class=\"row\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-6 d-flex align-items-center text-start mb-sm-3 mb-lg-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"previous()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n </div>\n <div class=\"col-6\"\n *ngIf=\"hasAccess\">\n <button class=\"float-end btn btn-sm btn-outline-primary me-2\"\n (click)=\"viewDefinitions()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create new Team Category\n </button>\n </div>\n </div>\n\n <div *ngIf=\"viewDefinition\">\n <h4 class=\"card-title d-inline mb-5\">\n {{ viewEdit ? 'Update the' : 'Create a new' }} category\n </h4>\n\n <div class=\"mt-4\"\n *ngIf=\"!viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"saveGroupDefinition()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">Add Category</button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"mt-4\"\n *ngIf=\"viewEdit\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"updateDetails()\">\n <div class=\"row\">\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"name\">{{ 'Label.Name' | transloco }}: </label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"description\">{{ 'Enterprise.Teams.Description' | transloco }}:</label>\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"description\" />\n </div>\n <div class=\"mb-3 col-xs-12 col-sm-6 col-md-3\">\n <label for=\"is_private\">{{ 'Enterprise.Teams.IsPrivate' | transloco }}</label>\n <div class=\"display-block\">\n <ui-switch size=\"small\"\n checkedLabel=\"True\"\n uncheckedLabel=\"false\"\n formControlName=\"is_private\">\n </ui-switch>\n </div>\n </div>\n </div>\n <div class=\"row text-end mt-4\">\n <div class=\"col-12\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCancel()\"\n (keydown.enter)=\"onCancel()\" >\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"categoryBusyButton\"\n class=\"btn btn-primary\">\n {{ 'Button.Update' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n\n <ng-container *ngIf=\"groupDefinition?.length !== 0\">\n <div class=\"row mb-last-3 group-definitions-wrapper\"\n *ngIf=\"!viewDefinition\">\n <div class=\"col-12 col-md-6 col-xl-4 mt-3\"\n *ngFor=\"let group of groupDefinition\">\n <div class=\"card\">\n <div class=\"card-content\">\n <div class=\"card-header\">\n <h5 class=\"mb-3\">{{ group.name }}</h5>\n <p>{{ group.description | slice: 0:200 }}</p>\n </div>\n <div class=\"card-footer\">\n <div class=\"float-end px-2\">\n <a class=\"btn btn-sm btn-outline-danger me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onDelete(group.id)\">{{ 'Button.Delete' | transloco }}</a>\n <a class=\"btn btn-sm btn-outline-primary me-2\"\n *ngIf=\"hasAccess\"\n (click)=\"onGroupDefinitionEdit(group.id)\">{{ 'Button.Edit' | transloco }}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <div *ngIf=\"groupDefinition?.length === 0 && hasAccess && !viewDefinition && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsMessage' | transloco\"> </pw-no-data>\n </div>\n <div *ngIf=\"groupDefinition?.length === 0 && !hasAccess && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Enterprise.Teams.NoLabelsUserMessage' | transloco\"> </pw-no-data>\n </div>\n</section>\n", styles: [".mb-last-3{margin-bottom:3rem}\n"] }]
177
177
  }], ctorParameters: () => [{ type: i1.GroupService }, { type: i2.UntypedFormBuilder }, { type: i1.SubscriptionService }, { type: i1.DataService }, { type: i0.Injector }], propDecorators: { saveGroupDefinition: [] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvbGFiZWwtbWFuYWdlbWVudC9ncm91cC1kZWZpbml0aW9uL2dyb3VwLWRlZmluaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL2xhYmVsLW1hbmFnZW1lbnQvZ3JvdXAtZGVmaW5pdGlvbi9ncm91cC1kZWZpbml0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQVEvQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBa0MxRCxZQUNxQixZQUEwQixFQUMxQixFQUFzQixFQUN0QixtQkFBd0MsRUFDeEMsSUFBaUIsRUFDbEMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsd0JBQW1CLEdB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QXdCLGlGQ3BCckMsOHhNQXFLQTs7QURWSTtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7bUVBdUJwQjs0RkE3SlEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLG9CQUFvQjtxTUEySTlCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gICAgVW50eXBlZEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgVEFHX0VOVElUWSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIEdyb3VwU2VydmljZSwgRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybSB9IGZyb20gJ0Bwb3Npd2lzZS91dGlscyc7XG5pbXBvcnQgeyBFbnJvbGxlZFVzZXIsIEdyb3VwRGVmaW5hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctZ3JvdXBkZWZpbml0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwRGVmaW5pdGlvbkNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3Vic2NyaXB0aW9ucyA9IFtdO1xuXG4gICAgbWVzc2FnZTogbnVtYmVyO1xuXG4gICAgZ3JvdXBEZWZpbml0aW9uOiBvYmplY3RbXTtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBpZDogbnVtYmVyO1xuXG4gICAgdmlld0RlZmluaXRpb246IGJvb2xlYW47XG5cbiAgICB2aWV3RWRpdDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgZ3JvdXBEZWZJZDogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBncm91cERlZmluaXRpb25EZXRhaWxzOiBHcm91cERlZmluYXRpb247XG5cbiAgICBoYXNBY2Nlc3M6IGJvb2xlYW47XG5cbiAgICBhZG1pbnMgPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbkluZm8gPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbk93bmVyOiBudW1iZXI7XG5cbiAgICBlbnJvbGxlZFVzZXJzOiBFbnJvbGxlZFVzZXJbXTtcblxuICAgIHVzZXI6IFVzZXI7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuICAgIGNhdGVnb3J5QnVzeUJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBTZXJ2aWNlOiBHcm91cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25TZXJ2aWNlOiBTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IERhdGFTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyksXG4gICAgICAgICAgICBpc19wcml2YXRlOiBbdHJ1ZV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKGlkID0+IHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0QWxsR3JvdXBEZWZpbml0aW9uKCk7XG4gICAgICAgIHRoaXMuZ2V0U3Vic2NyaWJlZFVzZXJzKCk7XG4gICAgICAgIHRoaXMudXNlclN0b3JlKCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGF0YS5jdXJyZW50TWVzc2FnZS5zdWJzY3JpYmUobWVzc2FnZSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbEdyb3VwRGVmaW5pdGlvbigpIHtcbiAgICAgICAgdGhpcy5ncm91cFNlcnZpY2VcbiAgICAgICAgICAgIC5ncm91cERlZmluaXRpb25HZXRBbGwodGhpcy5pZCwgJ1N1YnNjcmlwdGlvbicpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZ3JvdXBfZGVmaW5pdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwRGVmaW5pdGlvbiA9IHJlc3BvbnNlLmdyb3VwX2RlZmluaXRpb25zO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBEZWZpbml0aW9uID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTdWJzY3JpYmVkVXNlcnMoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU2VydmljZS5nZXRFbnJvbGxlZFN1YnNjcmlwdGlvbih0aGlzLmlkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Pd25lciA9IHJlc3BvbnNlLm93bmVyX2lkO1xuICAgICAgICAgICAgdGhpcy5hZG1pbnMgPSByZXNwb25zZS5hZG1pbnM7XG4gICAgICAgICAgICB0aGlzLmVucm9sbGVkVXNlcnMgPSByZXNwb25zZS5tZW1iZXJzO1xuICAgICAgICAgICAgdGhpcy5lbnJvbGxlZFVzZXJzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5pc19vd25lciA9IGVsZW1lbnQ/LmlkID09PSB0aGlzLnVzZXI/LmlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmhhc0FjY2VzcyA9XG4gICAgICAgICAgICAgICAgdGhpcy5hZG1pbnMuaW5jbHVkZXModGhpcy51c2VyPy5pZCkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXI/LmlkID09PSB0aGlzLnN1YnNjcmlwdGlvbk93bmVyIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeUJ1c3lCdXR0b24gPSB0cnVlO1xuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBmb3JtVmFsdWUubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBmb3JtVmFsdWUuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBpc19wcml2YXRlOiBmb3JtVmFsdWUuaXNfcHJpdmF0ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdyb3VwU2VydmljZVxuICAgICAgICAgICAgLmdyb3VwRGVmaW5pdGlvbnNVcGRhdGUodGhpcy5ncm91cERlZklkLCBkYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uU2hhcmVkLkRlZmluaXRpb24uVXBkYXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdEZWZpbml0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBbGxHcm91cERlZmluaXRpb24oKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5QnVzeUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Hcm91cERlZmluaXRpb25FZGl0KGlkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy52aWV3RWRpdCA9IHRydWU7XG4gICAgICAgIHRoaXMudmlld0RlZmluaXRpb24gPSB0cnVlO1xuICAgICAgICB0aGlzLmdyb3VwRGVmSWQgPSBpZDtcbiAgICAgICAgdGhpcy5nZXRTdWJzY3JpcHRpb25EZXRhaWxzKCk7XG4gICAgfVxuXG4gICAgZ2V0U3Vic2NyaXB0aW9uRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5ncm91cFNlcnZpY2UuZ2V0R3JvdXBEZWZpbml0aW9uQnlJZCh0aGlzLmdyb3VwRGVmSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwRGVmaW5pdGlvbkRldGFpbHMgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5ncm91cERlZmluaXRpb25EZXRhaWxzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuZ3JvdXBEZWZpbml0aW9uRGV0YWlscy5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgc2F2ZUdyb3VwRGVmaW5pdGlvbigpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeUJ1c3lCdXR0b24gPSB0cnVlO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtLnZhbHVlLm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5mb3JtLnZhbHVlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgcmVsYXRlZF9lbnRpdHlfaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgICByZWxhdGVkX2VudGl0eV90eXBlOiBUQUdfRU5USVRZLlNVQlNDUklQVElPTixcbiAgICAgICAgICAgIGlzX3ByaXZhdGU6IHRoaXMuZm9ybS52YWx1ZS5pc19wcml2YXRlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlXG4gICAgICAgICAgICAuZ3JvdXBEZWZpbml0aW9ucyhkYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uU2hhcmVkLkRlZmluaXRpb24uQWRkZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsR3JvdXBEZWZpbml0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3RGVmaW5pdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlCdXN5QnV0dG9uID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIHN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICB0ZXh0OiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGxhYmVsPycsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmdyb3VwRGVmaW5pdGlvbnNEZWxldGUoaWQpLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlNoYXJlZC5EZWZpbml0aW9uLkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbGxHcm91cERlZmluaXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmlld0RlZmluaXRpb25zKCkge1xuICAgICAgICB0aGlzLnZpZXdEZWZpbml0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy52aWV3RWRpdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByZXZpb3VzKCkge1xuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICAgICAgdGhpcy5kYXRhLmNoYW5nZU1lc3NhZ2UoMSk7XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB0aGlzLnZpZXdEZWZpbml0aW9uID0gIXRoaXMudmlld0RlZmluaXRpb247XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPHNlY3Rpb24+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTNcIj5cbiAgICAgIDxoMj5FbnRlcnByaXNlIFRlYW1zIENhdGVnb3JpZXM8L2gyPlxuXG4gICAgICA8cD5cbiAgICAgICAgSGVyZSB5b3UgY2FuIGRlZmluZSB0aGUgY2F0ZWdvcmllcyBmb3IgeW91ciBlbnRlcnByaXNlJ3MgZ3JvdXBzLiBGb3IgZXhhbXBsZSBcIlNhbGVzXG4gICAgICAgIERlcGFydG1lbnRcIiwgXCJEZXZlbG9wbWVudCBEZXBhcnRtZW50XCIsIGV0Yy5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIE9uY2UgdGhlIGNhdGVnb3J5IGNyZWF0ZWQsIHlvdSdsbCBiZSBhYmxlIHRvIGFkZCB0ZWFtcyB0byB0aGVtIGFuZCBzZWUgdXNlZnVsXG4gICAgICAgIGluc2lnaHQgYmFzZWQgb24gdGhlIG1lbWJlcnMgYWN0aXZpdHkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgdGVhbS5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInJvd1wiXG4gICAgKm5nSWY9XCIhdmlld0RlZmluaXRpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTYgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LXN0YXJ0IG1iLXNtLTMgbWItbGctMFwiPlxuICAgICAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgICAgIChjbGljayk9XCJwcmV2aW91cygpXCJcbiAgICAgICAgY2xhc3M9XCJwcmV2aW91c1wiPjxpIGNsYXNzPVwiZmEgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIlxuICAgICAgKm5nSWY9XCJoYXNBY2Nlc3NcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJmbG9hdC1lbmQgYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IG1lLTJcIlxuICAgICAgICAoY2xpY2spPVwidmlld0RlZmluaXRpb25zKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gQ3JlYXRlIG5ldyBUZWFtIENhdGVnb3J5XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZpZXdEZWZpbml0aW9uXCI+XG4gICAgPGg0IGNsYXNzPVwiY2FyZC10aXRsZSBkLWlubGluZSBtYi01XCI+XG4gICAgICB7eyB2aWV3RWRpdCA/ICdVcGRhdGUgdGhlJyA6ICdDcmVhdGUgYSBuZXcnIH19IGNhdGVnb3J5XG4gICAgPC9oND5cblxuICAgIDxkaXYgY2xhc3M9XCJtdC00XCJcbiAgICAgICpuZ0lmPVwiIXZpZXdFZGl0XCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAobmdTdWJtaXQpPVwic2F2ZUdyb3VwRGVmaW5pdGlvbigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJuYW1lXCI+e3sgJ0xhYmVsLk5hbWUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIj57eyAnRW50ZXJwcmlzZS5UZWFtcy5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaXNfcHJpdmF0ZVwiPnt7ICdFbnRlcnByaXNlLlRlYW1zLklzUHJpdmF0ZScgfCB0cmFuc2xvY28gfX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXktYmxvY2tcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNoZWNrZWRMYWJlbD1cIlRydWVcIlxuICAgICAgICAgICAgICAgIHVuY2hlY2tlZExhYmVsPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzX3ByaXZhdGVcIj5cbiAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgdGV4dC1lbmQgbXQtNFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25DYW5jZWwoKVwiID5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5DYW5jZWwnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFtidXR0b25CdXN5XT1cImNhdGVnb3J5QnVzeUJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+QWRkIENhdGVnb3J5PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm10LTRcIlxuICAgICAgKm5nSWY9XCJ2aWV3RWRpdFwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgKG5nU3VibWl0KT1cInVwZGF0ZURldGFpbHMoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiPnt7ICdMYWJlbC5OYW1lJyB8IHRyYW5zbG9jbyB9fTogPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIj57eyAnRW50ZXJwcmlzZS5UZWFtcy5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX06PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlzX3ByaXZhdGVcIj57eyAnRW50ZXJwcmlzZS5UZWFtcy5Jc1ByaXZhdGUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWJsb2NrXCI+XG4gICAgICAgICAgICAgIDx1aS1zd2l0Y2ggc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBjaGVja2VkTGFiZWw9XCJUcnVlXCJcbiAgICAgICAgICAgICAgICB1bmNoZWNrZWRMYWJlbD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc19wcml2YXRlXCI+XG4gICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRleHQtZW5kIG10LTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2FuY2VsKClcIiA+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJjYXRlZ29yeUJ1c3lCdXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgICAgICAgICAgICB7eyAnQnV0dG9uLlVwZGF0ZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAgICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBEZWZpbml0aW9uPy5sZW5ndGggIT09IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLWxhc3QtMyBncm91cC1kZWZpbml0aW9ucy13cmFwcGVyXCJcbiAgICAgICpuZ0lmPVwiIXZpZXdEZWZpbml0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC02IGNvbC14bC00IG10LTNcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBEZWZpbml0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1iLTNcIj57eyBncm91cC5uYW1lIH19PC9oNT5cbiAgICAgICAgICAgICAgPHA+e3sgZ3JvdXAuZGVzY3JpcHRpb24gfCBzbGljZTogMDoyMDAgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtZW5kIHB4LTJcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFuZ2VyIG1lLTJcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNBY2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGdyb3VwLmlkKVwiPnt7ICdCdXR0b24uRGVsZXRlJyB8IHRyYW5zbG9jbyB9fTwvYT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBtZS0yXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQWNjZXNzXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkdyb3VwRGVmaW5pdGlvbkVkaXQoZ3JvdXAuaWQpXCI+e3sgJ0J1dHRvbi5FZGl0JyB8IHRyYW5zbG9jbyB9fTwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgKm5nSWY9XCJncm91cERlZmluaXRpb24/Lmxlbmd0aCA9PT0gMCAmJiBoYXNBY2Nlc3MgJiYgIXZpZXdEZWZpbml0aW9uICYmIGlzTG9hZGVkXCI+XG4gICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0VudGVycHJpc2UuVGVhbXMuTm9MYWJlbHNNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZ3JvdXBEZWZpbml0aW9uPy5sZW5ndGggPT09IDAgJiYgIWhhc0FjY2VzcyAmJiBpc0xvYWRlZFwiPlxuICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidFbnRlcnByaXNlLlRlYW1zLk5vTGFiZWxzVXNlck1lc3NhZ2UnIHwgdHJhbnNsb2NvXCI+IDwvcHctbm8tZGF0YT5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZGVmaW5pdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvbGFiZWwtbWFuYWdlbWVudC9ncm91cC1kZWZpbml0aW9uL2dyb3VwLWRlZmluaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL2xhYmVsLW1hbmFnZW1lbnQvZ3JvdXAtZGVmaW5pdGlvbi9ncm91cC1kZWZpbml0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQVEvQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBa0MxRCxZQUNxQixZQUEwQixFQUMxQixFQUFzQixFQUN0QixtQkFBd0MsRUFDeEMsSUFBaUIsRUFDbEMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsd0JBQW1CLEdB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QXdCLGtGQ3BCckMsOHhNQXFLQTs7QURWSTtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7bUVBdUJwQjs0RkE3SlEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHFCQUFxQjtxTUEySS9CLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gICAgVW50eXBlZEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgVEFHX0VOVElUWSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIEdyb3VwU2VydmljZSwgRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybSB9IGZyb20gJ0Bwb3Npd2lzZS91dGlscyc7XG5pbXBvcnQgeyBFbnJvbGxlZFVzZXIsIEdyb3VwRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctZ3JvdXAtZGVmaW5pdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLWRlZmluaXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2dyb3VwLWRlZmluaXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcm91cERlZmluaXRpb25Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN1YnNjcmlwdGlvbnMgPSBbXTtcblxuICAgIG1lc3NhZ2U6IG51bWJlcjtcblxuICAgIGdyb3VwRGVmaW5pdGlvbjogb2JqZWN0W107XG5cbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHZpZXdEZWZpbml0aW9uOiBib29sZWFuO1xuXG4gICAgdmlld0VkaXQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGdyb3VwRGVmSWQ6IG51bWJlcjtcblxuICAgIHByaXZhdGUgZ3JvdXBEZWZpbml0aW9uRGV0YWlsczogR3JvdXBEZWZpbml0aW9uO1xuXG4gICAgaGFzQWNjZXNzOiBib29sZWFuO1xuXG4gICAgYWRtaW5zID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25JbmZvID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25Pd25lcjogbnVtYmVyO1xuXG4gICAgZW5yb2xsZWRVc2VyczogRW5yb2xsZWRVc2VyW107XG5cbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcbiAgICBjYXRlZ29yeUJ1c3lCdXR0b24gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3VwU2VydmljZTogR3JvdXBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uU2VydmljZTogU3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkYXRhOiBEYXRhU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpLFxuICAgICAgICAgICAgaXNfcHJpdmF0ZTogW3RydWVdXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShpZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldEFsbEdyb3VwRGVmaW5pdGlvbigpO1xuICAgICAgICB0aGlzLmdldFN1YnNjcmliZWRVc2VycygpO1xuICAgICAgICB0aGlzLnVzZXJTdG9yZSgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEuY3VycmVudE1lc3NhZ2Uuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxHcm91cERlZmluaXRpb24oKSB7XG4gICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlXG4gICAgICAgICAgICAuZ3JvdXBEZWZpbml0aW9uR2V0QWxsKHRoaXMuaWQsICdTdWJzY3JpcHRpb24nKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmdyb3VwX2RlZmluaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm91cERlZmluaXRpb24gPSByZXNwb25zZS5ncm91cF9kZWZpbml0aW9ucztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwRGVmaW5pdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3Vic2NyaWJlZFVzZXJzKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblNlcnZpY2UuZ2V0RW5yb2xsZWRTdWJzY3JpcHRpb24odGhpcy5pZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uT3duZXIgPSByZXNwb25zZS5vd25lcl9pZDtcbiAgICAgICAgICAgIHRoaXMuYWRtaW5zID0gcmVzcG9uc2UuYWRtaW5zO1xuICAgICAgICAgICAgdGhpcy5lbnJvbGxlZFVzZXJzID0gcmVzcG9uc2UubWVtYmVycztcbiAgICAgICAgICAgIHRoaXMuZW5yb2xsZWRVc2Vycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuaXNfb3duZXIgPSBlbGVtZW50Py5pZCA9PT0gdGhpcy51c2VyPy5pZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5oYXNBY2Nlc3MgPVxuICAgICAgICAgICAgICAgIHRoaXMuYWRtaW5zLmluY2x1ZGVzKHRoaXMudXNlcj8uaWQpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyPy5pZCA9PT0gdGhpcy5zdWJzY3JpcHRpb25Pd25lciB8fFxuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZURldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlCdXN5QnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogZm9ybVZhbHVlLm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogZm9ybVZhbHVlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgaXNfcHJpdmF0ZTogZm9ybVZhbHVlLmlzX3ByaXZhdGVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5ncm91cFNlcnZpY2VcbiAgICAgICAgICAgIC5ncm91cERlZmluaXRpb25zVXBkYXRlKHRoaXMuZ3JvdXBEZWZJZCwgZGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlNoYXJlZC5EZWZpbml0aW9uLlVwZGF0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3RGVmaW5pdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsR3JvdXBEZWZpbml0aW9uKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeUJ1c3lCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uR3JvdXBEZWZpbml0aW9uRWRpdChpZDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudmlld0VkaXQgPSB0cnVlO1xuICAgICAgICB0aGlzLnZpZXdEZWZpbml0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ncm91cERlZklkID0gaWQ7XG4gICAgICAgIHRoaXMuZ2V0U3Vic2NyaXB0aW9uRGV0YWlscygpO1xuICAgIH1cblxuICAgIGdldFN1YnNjcmlwdGlvbkRldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmdldEdyb3VwRGVmaW5pdGlvbkJ5SWQodGhpcy5ncm91cERlZklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncm91cERlZmluaXRpb25EZXRhaWxzID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZ3JvdXBEZWZpbml0aW9uRGV0YWlscy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdyb3VwRGVmaW5pdGlvbkRldGFpbHMubmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBWYWxpZGF0ZUZvcm0oJ2Zvcm0nKVxuICAgIHNhdmVHcm91cERlZmluaXRpb24oKSB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlCdXN5QnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuZm9ybS52YWx1ZS5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZm9ybS52YWx1ZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHJlbGF0ZWRfZW50aXR5X2lkOiB0aGlzLmlkLFxuICAgICAgICAgICAgcmVsYXRlZF9lbnRpdHlfdHlwZTogVEFHX0VOVElUWS5TVUJTQ1JJUFRJT04sXG4gICAgICAgICAgICBpc19wcml2YXRlOiB0aGlzLmZvcm0udmFsdWUuaXNfcHJpdmF0ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdyb3VwU2VydmljZVxuICAgICAgICAgICAgLmdyb3VwRGVmaW5pdGlvbnMoZGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlNoYXJlZC5EZWZpbml0aW9uLkFkZGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEFsbEdyb3VwRGVmaW5pdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld0RlZmluaXRpb24gPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5QnVzeUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaWQ6IG51bWJlcikge1xuICAgICAgICBzd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUnLFxuICAgICAgICAgICAgdGV4dDogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBsYWJlbD8nLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgIH0pLnRoZW4ocmVwID0+IHtcbiAgICAgICAgICAgIGlmIChyZXAudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwU2VydmljZS5ncm91cERlZmluaXRpb25zRGVsZXRlKGlkKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5TaGFyZWQuRGVmaW5pdGlvbi5EZWxldGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsR3JvdXBEZWZpbml0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZpZXdEZWZpbml0aW9ucygpIHtcbiAgICAgICAgdGhpcy52aWV3RGVmaW5pdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMudmlld0VkaXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICAgIHRoaXMuZGF0YS5jaGFuZ2VNZXNzYWdlKDEpO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgdGhpcy52aWV3RGVmaW5pdGlvbiA9ICF0aGlzLnZpZXdEZWZpbml0aW9uO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi0zXCI+XG4gICAgICA8aDI+RW50ZXJwcmlzZSBUZWFtcyBDYXRlZ29yaWVzPC9oMj5cblxuICAgICAgPHA+XG4gICAgICAgIEhlcmUgeW91IGNhbiBkZWZpbmUgdGhlIGNhdGVnb3JpZXMgZm9yIHlvdXIgZW50ZXJwcmlzZSdzIGdyb3Vwcy4gRm9yIGV4YW1wbGUgXCJTYWxlc1xuICAgICAgICBEZXBhcnRtZW50XCIsIFwiRGV2ZWxvcG1lbnQgRGVwYXJ0bWVudFwiLCBldGMuXG4gICAgICAgIDxiciAvPlxuICAgICAgICBPbmNlIHRoZSBjYXRlZ29yeSBjcmVhdGVkLCB5b3UnbGwgYmUgYWJsZSB0byBhZGQgdGVhbXMgdG8gdGhlbSBhbmQgc2VlIHVzZWZ1bFxuICAgICAgICBpbnNpZ2h0IGJhc2VkIG9uIHRoZSBtZW1iZXJzIGFjdGl2aXR5IGluIHRoZSBjb3JyZXNwb25kaW5nIHRlYW0uXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyb3dcIlxuICAgICpuZ0lmPVwiIXZpZXdEZWZpbml0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1zdGFydCBtYi1zbS0zIG1iLWxnLTBcIj5cbiAgICAgIDxhIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBUYXJnZXRcIlxuICAgICAgICAoY2xpY2spPVwicHJldmlvdXMoKVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCJcbiAgICAgICpuZ0lmPVwiaGFzQWNjZXNzXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZmxvYXQtZW5kIGJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBtZS0yXCJcbiAgICAgICAgKGNsaWNrKT1cInZpZXdEZWZpbml0aW9ucygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IENyZWF0ZSBuZXcgVGVhbSBDYXRlZ29yeVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJ2aWV3RGVmaW5pdGlvblwiPlxuICAgIDxoNCBjbGFzcz1cImNhcmQtdGl0bGUgZC1pbmxpbmUgbWItNVwiPlxuICAgICAge3sgdmlld0VkaXQgPyAnVXBkYXRlIHRoZScgOiAnQ3JlYXRlIGEgbmV3JyB9fSBjYXRlZ29yeVxuICAgIDwvaDQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwibXQtNFwiXG4gICAgICAqbmdJZj1cIiF2aWV3RWRpdFwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgKG5nU3VibWl0KT1cInNhdmVHcm91cERlZmluaXRpb24oKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiPnt7ICdMYWJlbC5OYW1lJyB8IHRyYW5zbG9jbyB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCI+e3sgJ0VudGVycHJpc2UuVGVhbXMuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlzX3ByaXZhdGVcIj57eyAnRW50ZXJwcmlzZS5UZWFtcy5Jc1ByaXZhdGUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWJsb2NrXCI+XG4gICAgICAgICAgICAgIDx1aS1zd2l0Y2ggc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBjaGVja2VkTGFiZWw9XCJUcnVlXCJcbiAgICAgICAgICAgICAgICB1bmNoZWNrZWRMYWJlbD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc19wcml2YXRlXCI+XG4gICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRleHQtZW5kIG10LTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2FuY2VsKClcIiA+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJjYXRlZ29yeUJ1c3lCdXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPkFkZCBDYXRlZ29yeTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtdC00XCJcbiAgICAgICpuZ0lmPVwidmlld0VkaXRcIj5cbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJ1cGRhdGVEZXRhaWxzKClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIj57eyAnTGFiZWwuTmFtZScgfCB0cmFuc2xvY28gfX06IDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCI+e3sgJ0VudGVycHJpc2UuVGVhbXMuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19OjwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpc19wcml2YXRlXCI+e3sgJ0VudGVycHJpc2UuVGVhbXMuSXNQcml2YXRlJyB8IHRyYW5zbG9jbyB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS1ibG9ja1wiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZExhYmVsPVwiVHJ1ZVwiXG4gICAgICAgICAgICAgICAgdW5jaGVja2VkTGFiZWw9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfcHJpdmF0ZVwiPlxuICAgICAgICAgICAgICA8L3VpLXN3aXRjaD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB0ZXh0LWVuZCBtdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNhbmNlbCgpXCIgPlxuICAgICAgICAgICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgW2J1dHRvbkJ1c3ldPVwiY2F0ZWdvcnlCdXN5QnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5VcGRhdGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwRGVmaW5pdGlvbj8ubGVuZ3RoICE9PSAwXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi1sYXN0LTMgZ3JvdXAtZGVmaW5pdGlvbnMtd3JhcHBlclwiXG4gICAgICAqbmdJZj1cIiF2aWV3RGVmaW5pdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNiBjb2wteGwtNCBtdC0zXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwRGVmaW5pdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxuICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtYi0zXCI+e3sgZ3JvdXAubmFtZSB9fTwvaDU+XG4gICAgICAgICAgICAgIDxwPnt7IGdyb3VwLmRlc2NyaXB0aW9uIHwgc2xpY2U6IDA6MjAwIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWVuZCBweC0yXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLWRhbmdlciBtZS0yXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQWNjZXNzXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShncm91cC5pZClcIj57eyAnQnV0dG9uLkRlbGV0ZScgfCB0cmFuc2xvY28gfX08L2E+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgbWUtMlwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0FjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Hcm91cERlZmluaXRpb25FZGl0KGdyb3VwLmlkKVwiPnt7ICdCdXR0b24uRWRpdCcgfCB0cmFuc2xvY28gfX08L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2ICpuZ0lmPVwiZ3JvdXBEZWZpbml0aW9uPy5sZW5ndGggPT09IDAgJiYgaGFzQWNjZXNzICYmICF2aWV3RGVmaW5pdGlvbiAmJiBpc0xvYWRlZFwiPlxuICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidFbnRlcnByaXNlLlRlYW1zLk5vTGFiZWxzTWVzc2FnZScgfCB0cmFuc2xvY29cIj4gPC9wdy1uby1kYXRhPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImdyb3VwRGVmaW5pdGlvbj8ubGVuZ3RoID09PSAwICYmICFoYXNBY2Nlc3MgJiYgaXNMb2FkZWRcIj5cbiAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInRW50ZXJwcmlzZS5UZWFtcy5Ob0xhYmVsc1VzZXJNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19