ngx-edu-sharing-metaqs2 0.9.29 → 0.9.30

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.
package/README.md CHANGED
@@ -75,20 +75,25 @@ This library provides the following widgets:
75
75
 
76
76
  ### Metadatenvollständigkeit von Sammlungen
77
77
  [TreeCollectionDetailsComponent](./src/lib/tree-collection-details/tree-collection-details.component.ts)
78
- selector: `<app-tree-collection-details />`
78
+ - selector: `<metaqs2-tree-collection-details />`
79
+ - inputs:
80
+ - `collectionId` (required) - the id of the collection to display
81
+
79
82
  ### Metadatenvollständigkeit von Quellen
80
83
  [QualityMatrixComponent](./src/lib/components/quality-matrix/quality_matrix.ts)
81
- selector: `<app-quality-matrix-v2 />`
82
- ### Material in Sammlungen
84
+ selector: `<metaqs2--quality-matrix-v2 />`
85
+ ### Sammlungsfüllstand
83
86
  [TreeSearchCountsComponent](./src/lib/tree-search-counts/tree-search-counts.component.ts)
84
- selector: `<app-tree-search-counts />`
87
+ - selector: `<metaqs2-tree-search-counts />`
88
+ - inputs:
89
+ - `collectionId` (required) - the id of the collection to display
85
90
  ### Sammlungsverlauf
86
91
  Übersicht über die Anzahl der Materialien in Sammlungen über die Zeit.
87
92
  [CollectionCountHistoryComponent](./src/lib/collection-count-history/collection-count-history.component.ts)
88
93
 
89
94
  ### Counts with History
90
95
  [CountHistoryComponent](./src/lib/counts-with-history/counts-with-history.component.ts)
91
- selector: `<lib-counts-with-history />`.
96
+ selector: `<metaqs2-counts-with-history />`.
92
97
 
93
98
  This is a generic component that can be used to display counts with a history.
94
99
  It can be configered by providing the follwing data structure in it's routing configuration
@@ -16,8 +16,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
16
16
  import { MatSelectModule } from '@angular/material/select';
17
17
  import { MatTooltipModule } from '@angular/material/tooltip';
18
18
  import { ApiModule as JavaApiModule, Configuration as JavaConfig } from './java-api';
19
- import { TreeSearchCountsComponent } from './tree-search-counts/tree-search-counts.component';
20
- import { TreeCollectionDetailsComponent } from './tree-collection-details/tree-collection-details.component';
21
19
  import { WrapObservablePipe } from './wrap-observable.pipe';
22
20
  import { ConfigHelperService } from './config-helper.service';
23
21
  import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@@ -65,9 +63,7 @@ export class NgMetaWidgetsLibModule {
65
63
  };
66
64
  }
67
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgMetaWidgetsLibModule, deps: [{ token: i1.SvgIconsService }], target: i0.ɵɵFactoryTarget.NgModule }); }
68
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgMetaWidgetsLibModule, declarations: [TreeSearchCountsComponent,
69
- TreeCollectionDetailsComponent,
70
- WrapObservablePipe,
66
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgMetaWidgetsLibModule, declarations: [WrapObservablePipe,
71
67
  QualityMatrixComponent,
72
68
  DonutChartComponent,
73
69
  DonutChartPipe,
@@ -104,11 +100,7 @@ export class NgMetaWidgetsLibModule {
104
100
  MatDateRangePicker,
105
101
  MatDatepickerInput,
106
102
  MatDatepicker,
107
- DatepickerComponent], exports: [TreeCollectionDetailsComponent,
108
- TreeSearchCountsComponent,
109
- CollectionIssuesComponent,
110
- MaterialIssuesComponent,
111
- NodeListComponent] }); }
103
+ DatepickerComponent], exports: [CollectionIssuesComponent, MaterialIssuesComponent, NodeListComponent] }); }
112
104
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgMetaWidgetsLibModule, providers: [provideHttpClient(withInterceptorsFromDi()), provideCharts(withDefaultRegisterables())], imports: [BrowserModule,
113
105
  JavaApiModule.forRoot(() => new JavaConfig()),
114
106
  MatCardModule,
@@ -144,8 +136,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
144
136
  type: NgModule,
145
137
  args: [{
146
138
  declarations: [
147
- TreeSearchCountsComponent,
148
- TreeCollectionDetailsComponent,
149
139
  WrapObservablePipe,
150
140
  QualityMatrixComponent,
151
141
  DonutChartComponent,
@@ -156,13 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
156
146
  NodeListComponent,
157
147
  NodeImageUrlPipe,
158
148
  ],
159
- exports: [
160
- TreeCollectionDetailsComponent,
161
- TreeSearchCountsComponent,
162
- CollectionIssuesComponent,
163
- MaterialIssuesComponent,
164
- NodeListComponent,
165
- ],
149
+ exports: [CollectionIssuesComponent, MaterialIssuesComponent, NodeListComponent],
166
150
  imports: [
167
151
  BrowserModule,
168
152
  JavaApiModule.forRoot(() => new JavaConfig()),
@@ -200,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
200
184
  providers: [provideHttpClient(withInterceptorsFromDi()), provideCharts(withDefaultRegisterables())],
201
185
  }]
202
186
  }], ctorParameters: () => [{ type: i1.SvgIconsService }] });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWV0YS13aWRnZXRzLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvbmctbWV0YS13aWRnZXRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0Qs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aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQXBpTW9kdWxlIGFzIEphdmFBcGlNb2R1bGUsIENvbmZpZ3VyYXRpb24gYXMgSmF2YUNvbmZpZyB9IGZyb20gJy4vamF2YS1hcGknO1xuaW1wb3J0IHsgVHJlZVNlYXJjaENvdW50c0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS1zZWFyY2gtY291bnRzL3RyZWUtc2VhcmNoLWNvdW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZUNvbGxlY3Rpb25EZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JhcE9ic2VydmFibGVQaXBlIH0gZnJvbSAnLi93cmFwLW9ic2VydmFibGUucGlwZSc7XG5pbXBvcnQgeyBDb25maWdIZWxwZXJTZXJ2aWNlLCBOZ01ldGFXaWRnZXRzTGliQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29uZmlnLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzRnJvbURpIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0U29ydCwgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBRdWFsaXR5TWF0cml4RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci9xdWFsaXR5LW1hdHJpeC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUXVhbGl0eU1hdHJpeENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xdWFsaXR5LW1hdHJpeC9xdWFsaXR5X21hdHJpeCc7XG5pbXBvcnQge1xuICBNYXREYXRlcGlja2VyLFxuICBNYXREYXRlcGlja2VySW5wdXQsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gIE1hdERhdGVSYW5nZUlucHV0LFxuICBNYXREYXRlUmFuZ2VQaWNrZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb251dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb251dENoYXJ0UGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5waXBlJztcbmltcG9ydCB7IHByb3ZpZGVDaGFydHMsIHdpdGhEZWZhdWx0UmVnaXN0ZXJhYmxlcyB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgU3ZnSWNvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3N2Zy1pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vZGUtbGlzdC9ub2RlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVFbnRyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub2RlLWVudHJ5L25vZGUtZW50cnkuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVJbWFnZVVybFBpcGUgfSBmcm9tICcuL25vZGUtaW1hZ2UtdXJsLnBpcGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxJc3N1ZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtaXNzdWVzL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbklzc3Vlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9uLWlzc3Vlcy9jb2xsZWN0aW9uLWlzc3Vlcy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUcmVlU2VhcmNoQ291bnRzQ29tcG9uZW50LFxuICAgIFRyZWVDb2xsZWN0aW9uRGV0YWlsc0NvbXBvbmVudCxcbiAgICBXcmFwT2JzZXJ2YWJsZVBpcGUsXG4gICAgUXVhbGl0eU1hdHJpeENvbXBvbmVudCxcbiAgICBEb251dENoYXJ0Q29tcG9uZW50LFxuICAgIERvbnV0Q2hhcnRQaXBlLFxuICAgIENvbGxlY3Rpb25Jc3N1ZXNDb21wb25lbnQsXG4gICAgTWF0ZXJpYWxJc3N1ZXNDb21wb25lbnQsXG4gICAgTm9kZUVudHJ5Q29tcG9uZW50LFxuICAgIE5vZGVMaXN0Q29tcG9uZW50LFxuICAgIE5vZGVJbWFnZVVybFBpcGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUcmVlQ29sbGVjdGlvbkRldGFpbHNDb21wb25lbnQsXG4gICAgVHJlZVNlYXJjaENvdW50c0NvbXBvbmVudCxcbiAgICBDb2xsZWN0aW9uSXNzdWVzQ29tcG9uZW50LFxuICAgIE1hdGVyaWFsSXNzdWVzQ29tcG9uZW50LFxuICAgIE5vZGVMaXN0Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBKYXZhQXBpTW9kdWxlLmZvclJvb3QoKCkgPT4gbmV3IEphdmFDb25maWcoKSksXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRUcmVlTW9kdWxlLFxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0R3JpZExpc3RNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdFNvcnQsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRDaGVja2JveCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUXVhbGl0eU1hdHJpeEZpbHRlckNvbXBvbmVudCxcbiAgICBNYXREYXRlUmFuZ2VJbnB1dCxcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0RGF0ZVJhbmdlUGlja2VyLFxuICAgIE1hdERhdGVwaWNrZXJJbnB1dCxcbiAgICBNYXREYXRlcGlja2VyLFxuICAgIERhdGVwaWNrZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSksIHByb3ZpZGVDaGFydHMod2l0aERlZmF1bHRSZWdpc3RlcmFibGVzKCkpXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdNZXRhV2lkZ2V0c0xpYk1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3ZnSWNvbnNTZXJ2aWNlOiBTdmdJY29uc1NlcnZpY2UpIHtcbiAgICAvLyB3ZSBpbmplY3QgdGhlIHNlcnZpY2UgaGVyZSB0byBtYWtlIHN1cmUgdGhlIGljb25zIGFyZSByZWdpc3RlcmVkICh0aGUgaW5pdCgpIG1ldGhvZCBpcyBjYWxsZWQgaW4gdGhlIGNvbnN0cnVjdG9yKVxuICB9XG4gIHN0YXRpYyBmb3JSb290KHBhcmFtczogTmdNZXRhV2lkZ2V0c0xpYkNvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nTWV0YVdpZGdldHNMaWJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nTWV0YVdpZGdldHNMaWJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ29uZmlnSGVscGVyU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiAnY29uZmlnJywgdXNlVmFsdWU6IHBhcmFtcyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSmF2YUNvbmZpZyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEphdmFDb25maWcoe1xuICAgICAgICAgICAgICBiYXNlUGF0aDogcGFyYW1zLmFwaVBhdGgsXG4gICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWV0YS13aWRnZXRzLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvbmctbWV0YS13aWRnZXRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0Qs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LGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDaEYsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO3dCQUM3QyxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLDRCQUE0Qjt3QkFDNUIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztpQkFDcEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0R3JpZExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEFwaU1vZHVsZSBhcyBKYXZhQXBpTW9kdWxlLCBDb25maWd1cmF0aW9uIGFzIEphdmFDb25maWcgfSBmcm9tICcuL2phdmEtYXBpJztcbmltcG9ydCB7IFdyYXBPYnNlcnZhYmxlUGlwZSB9IGZyb20gJy4vd3JhcC1vYnNlcnZhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ29uZmlnSGVscGVyU2VydmljZSwgTmdNZXRhV2lkZ2V0c0xpYkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZy1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9yc0Zyb21EaSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgUXVhbGl0eU1hdHJpeEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvcXVhbGl0eS1tYXRyaXgtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFF1YWxpdHlNYXRyaXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVhbGl0eS1tYXRyaXgvcXVhbGl0eV9tYXRyaXgnO1xuaW1wb3J0IHtcbiAgTWF0RGF0ZXBpY2tlcixcbiAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICBNYXREYXRlcGlja2VyVG9nZ2xlLFxuICBNYXREYXRlUmFuZ2VJbnB1dCxcbiAgTWF0RGF0ZVJhbmdlUGlja2VyLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9udXRDaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9udXRDaGFydFBpcGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9udXQtY2hhcnQvZG9udXQtY2hhcnQucGlwZSc7XG5pbXBvcnQgeyBwcm92aWRlQ2hhcnRzLCB3aXRoRGVmYXVsdFJlZ2lzdGVyYWJsZXMgfSBmcm9tICduZzItY2hhcnRzJztcbmltcG9ydCB7IFN2Z0ljb25zU2VydmljZSB9IGZyb20gJy4vY29yZS9zdmctaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub2RlLWxpc3Qvbm9kZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlRW50cnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbm9kZS1lbnRyeS9ub2RlLWVudHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlSW1hZ2VVcmxQaXBlIH0gZnJvbSAnLi9ub2RlLWltYWdlLXVybC5waXBlJztcbmltcG9ydCB7IE1hdGVyaWFsSXNzdWVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hdGVyaWFsLWlzc3Vlcy9tYXRlcmlhbC1pc3N1ZXMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbGxlY3Rpb25Jc3N1ZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi1pc3N1ZXMvY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgV3JhcE9ic2VydmFibGVQaXBlLFxuICAgIFF1YWxpdHlNYXRyaXhDb21wb25lbnQsXG4gICAgRG9udXRDaGFydENvbXBvbmVudCxcbiAgICBEb251dENoYXJ0UGlwZSxcbiAgICBDb2xsZWN0aW9uSXNzdWVzQ29tcG9uZW50LFxuICAgIE1hdGVyaWFsSXNzdWVzQ29tcG9uZW50LFxuICAgIE5vZGVFbnRyeUNvbXBvbmVudCxcbiAgICBOb2RlTGlzdENvbXBvbmVudCxcbiAgICBOb2RlSW1hZ2VVcmxQaXBlLFxuICBdLFxuICBleHBvcnRzOiBbQ29sbGVjdGlvbklzc3Vlc0NvbXBvbmVudCwgTWF0ZXJpYWxJc3N1ZXNDb21wb25lbnQsIE5vZGVMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgSmF2YUFwaU1vZHVsZS5mb3JSb290KCgpID0+IG5ldyBKYXZhQ29uZmlnKCkpLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0VHJlZU1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdEdyaWRMaXN0TW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRTb3J0LFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3gsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFF1YWxpdHlNYXRyaXhGaWx0ZXJDb21wb25lbnQsXG4gICAgTWF0RGF0ZVJhbmdlSW5wdXQsXG4gICAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdERhdGVSYW5nZVBpY2tlcixcbiAgICBNYXREYXRlcGlja2VySW5wdXQsXG4gICAgTWF0RGF0ZXBpY2tlcixcbiAgICBEYXRlcGlja2VyQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpLCBwcm92aWRlQ2hhcnRzKHdpdGhEZWZhdWx0UmVnaXN0ZXJhYmxlcygpKV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nTWV0YVdpZGdldHNMaWJNb2R1bGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN2Z0ljb25zU2VydmljZTogU3ZnSWNvbnNTZXJ2aWNlKSB7XG4gICAgLy8gd2UgaW5qZWN0IHRoZSBzZXJ2aWNlIGhlcmUgdG8gbWFrZSBzdXJlIHRoZSBpY29ucyBhcmUgcmVnaXN0ZXJlZCAodGhlIGluaXQoKSBtZXRob2QgaXMgY2FsbGVkIGluIHRoZSBjb25zdHJ1Y3RvcilcbiAgfVxuICBzdGF0aWMgZm9yUm9vdChwYXJhbXM6IE5nTWV0YVdpZGdldHNMaWJDb25maWd1cmF0aW9uKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ01ldGFXaWRnZXRzTGliTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ01ldGFXaWRnZXRzTGliTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbmZpZ0hlbHBlclNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBwYXJhbXMgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEphdmFDb25maWcsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKYXZhQ29uZmlnKHtcbiAgICAgICAgICAgICAgYmFzZVBhdGg6IHBhcmFtcy5hcGlQYXRoLFxuICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,46 +1,31 @@
1
1
  import { Component, Input, signal } from '@angular/core';
2
2
  import { BehaviorSubject, forkJoin, of } from 'rxjs';
3
3
  import { finalize, map, take, tap } from 'rxjs/operators';
4
- import { FormControl } from '@angular/forms';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { AsyncPipe, NgClass, NgForOf, NgIf } from '@angular/common';
6
+ import { MatCardModule } from '@angular/material/card';
7
+ import { MatTooltip } from '@angular/material/tooltip';
8
+ import { MatIcon } from '@angular/material/icon';
9
+ import { MatTableModule } from '@angular/material/table';
5
10
  import * as i0 from "@angular/core";
6
11
  import * as i1 from "../meta-api.service";
7
12
  import * as i2 from "@ngx-translate/core";
8
13
  import * as i3 from "../components/editorial-link-service/editorial-link.service";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/material/card";
11
- import * as i6 from "@angular/material/icon";
12
- import * as i7 from "@angular/material/table";
13
- import * as i8 from "@angular/material/tooltip";
14
- import * as i9 from "../components/filter/quality-matrix-filter.component";
14
+ import * as i4 from "@angular/material/card";
15
+ import * as i5 from "@angular/material/table";
15
16
  export class TreeCollectionDetailsComponent {
17
+ set collectionId(id) {
18
+ this.loadDataForCollection(id);
19
+ }
16
20
  constructor(metaApi, translate, linkService) {
17
21
  this.metaApi = metaApi;
18
22
  this.translate = translate;
19
23
  this.linkService = linkService;
20
- this.selectedCollection = new FormControl('', { nonNullable: true });
21
- this.collections$ = new BehaviorSubject([]);
22
24
  this.recentQualityMatrix$ = new BehaviorSubject({ columns: [], rows: [] });
23
- this.pageTitle = 'huhu';
25
+ this.pageTitle = '';
24
26
  this.isLoading = signal(true);
25
27
  this.dataColumns = [];
26
28
  }
27
- ngOnInit() {
28
- this.initCollectionsFilter();
29
- }
30
- initCollectionsFilter() {
31
- this.selectedCollection.valueChanges.subscribe((collectionIdValue) => {
32
- const id = this.extractCollectionIdFromVocabUrl(collectionIdValue);
33
- this.loadDataForCollection(id);
34
- });
35
- this.metaApi
36
- .getCollectionsFilter()
37
- .pipe(take(1))
38
- .subscribe((collections) => {
39
- const sortedCollections = collections.sort((a, b) => a.label.localeCompare(b.label));
40
- this.collections$.next(sortedCollections);
41
- this.selectedCollection.setValue(sortedCollections[0].id);
42
- });
43
- }
44
29
  async loadDataForCollection(collectionId) {
45
30
  this.isLoading.set(true);
46
31
  this.metaApi
@@ -58,9 +43,6 @@ export class TreeCollectionDetailsComponent {
58
43
  get columnIds() {
59
44
  return this.dataColumns.map((c) => c.id);
60
45
  }
61
- filter() {
62
- //this.dataSource.data = this.statsData.filter((l) => l.title.toLowerCase().includes(this.searchToken.toLowerCase()));
63
- }
64
46
  translateCollectionIssues(entries) {
65
47
  if (!entries.length) {
66
48
  return of('');
@@ -80,12 +62,15 @@ export class TreeCollectionDetailsComponent {
80
62
  return this.linkService.openByCollectionAndIssueType(collectionId, issueType, title);
81
63
  }
82
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeCollectionDetailsComponent, deps: [{ token: i1.MetaApiService }, { token: i2.TranslateService }, { token: i3.EditorialLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeCollectionDetailsComponent, selector: "metaqs2-tree-collection-details", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<mat-card>\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Qualit\u00E4tsmetrik: {{pageTitle | translate}}{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n </mat-card-header>\n <mat-card-content>\n <!-- consider to put the filter in the table header to avoid that it is scrolled out of view-->\n <metaqs2-qm-filter\n aria-disabled=\"true\"\n [label]=\"'Sammlung'\"\n [options]=\"collections$ | async\"\n [multiple]=\"false\"\n [inputFormControl]=\"selectedCollection\"\n >\n </metaqs2-qm-filter>\n\n </mat-card-content>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"recentQualityMatrix$.value.rows\">\n <!-- Define columns of table -->\n <!-- Row Header Column -->\n <ng-container matColumnDef=\"row-header\" sticky>\n <th mat-header-cell *matHeaderCellDef>Sammlung</th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"row-header {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level === 1 ? 'tree' : 'child'\"></mat-icon>\n {{row.meta.label}}\n </a>\n </td>\n </ng-container>\n\n <!-- Data Columns -->\n <ng-container *ngFor=\"let column of dataColumns\" [matColumnDef]=\"column.id\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.altLabel}}\" >{{ \"quality_matrix.\" + column.label | translate }}</th>\n <td mat-cell *matCellDef=\"let row\" matTooltip=\"{{'cell tooltip' //getCellTooltip(row, column.id)}}\">\n <ng-container *ngIf=\" column.id === 'collection_issues' else countsWithLinks\">\n {{ translateCollectionIssues(row.counts[column.id]) | async }}\n </ng-container>\n <ng-template #countsWithLinks>\n <a *ngIf=\"row.counts[column.id]\" (click)=\"showMaterialWithIssue(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id] }}\n </a>\n </ng-template>\n\n\n </td>\n </ng-container>\n\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['row-header'].concat(columnIds); sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['row-header'].concat(columnIds)\"></tr>\n </table>\n</mat-card>\n", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-row-header,tr:nth-child(2n) .mat-mdc-cell{border-right-color:#fff}.mat-mdc-cell,.mat-mdc-header-cell,.mat-column-row-header{border-right:1px solid #e4e4e4}.mat-mdc-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-row-header mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.row-header a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i9.QualityMatrixFilterComponent, selector: "metaqs2-qm-filter", inputs: ["options", "inputFormControl", "label", "multiple"], outputs: ["changedFilters"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeCollectionDetailsComponent, isStandalone: true, selector: "metaqs2-tree-collection-details", inputs: { collectionId: "collectionId", pageTitle: "pageTitle" }, ngImport: i0, template: "<mat-card>\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Qualit\u00E4tsmetrik: {{pageTitle | translate}}{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n </mat-card-header>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"recentQualityMatrix$.value.rows\">\n <!-- Define columns of table -->\n <!-- Row Header Column -->\n <ng-container matColumnDef=\"row-header\" sticky>\n <th mat-header-cell *matHeaderCellDef>Sammlung</th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"row-header {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level === 1 ? 'tree' : 'child'\"></mat-icon>\n {{row.meta.label}}\n </a>\n </td>\n </ng-container>\n\n <!-- Data Columns -->\n <ng-container *ngFor=\"let column of dataColumns\" [matColumnDef]=\"column.id\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.altLabel}}\" >{{ \"quality_matrix.\" + column.label | translate }}</th>\n <td mat-cell *matCellDef=\"let row\" matTooltip=\"{{'cell tooltip' //getCellTooltip(row, column.id)}}\">\n <ng-container *ngIf=\" column.id === 'collection_issues' else countsWithLinks\">\n {{ translateCollectionIssues(row.counts[column.id]) | async }}\n </ng-container>\n <ng-template #countsWithLinks>\n <a *ngIf=\"row.counts[column.id]\" (click)=\"showMaterialWithIssue(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id] }}\n </a>\n </ng-template>\n\n\n </td>\n </ng-container>\n\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['row-header'].concat(columnIds); sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['row-header'].concat(columnIds)\"></tr>\n </table>\n</mat-card>\n", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-row-header,tr:nth-child(2n) .mat-mdc-cell{border-right-color:#fff}.mat-mdc-cell,.mat-mdc-header-cell,.mat-column-row-header{border-right:1px solid #e4e4e4}.mat-mdc-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-row-header mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.row-header a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }] }); }
84
66
  }
85
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeCollectionDetailsComponent, decorators: [{
86
68
  type: Component,
87
- args: [{ selector: 'metaqs2-tree-collection-details', template: "<mat-card>\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Qualit\u00E4tsmetrik: {{pageTitle | translate}}{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n </mat-card-header>\n <mat-card-content>\n <!-- consider to put the filter in the table header to avoid that it is scrolled out of view-->\n <metaqs2-qm-filter\n aria-disabled=\"true\"\n [label]=\"'Sammlung'\"\n [options]=\"collections$ | async\"\n [multiple]=\"false\"\n [inputFormControl]=\"selectedCollection\"\n >\n </metaqs2-qm-filter>\n\n </mat-card-content>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"recentQualityMatrix$.value.rows\">\n <!-- Define columns of table -->\n <!-- Row Header Column -->\n <ng-container matColumnDef=\"row-header\" sticky>\n <th mat-header-cell *matHeaderCellDef>Sammlung</th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"row-header {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level === 1 ? 'tree' : 'child'\"></mat-icon>\n {{row.meta.label}}\n </a>\n </td>\n </ng-container>\n\n <!-- Data Columns -->\n <ng-container *ngFor=\"let column of dataColumns\" [matColumnDef]=\"column.id\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.altLabel}}\" >{{ \"quality_matrix.\" + column.label | translate }}</th>\n <td mat-cell *matCellDef=\"let row\" matTooltip=\"{{'cell tooltip' //getCellTooltip(row, column.id)}}\">\n <ng-container *ngIf=\" column.id === 'collection_issues' else countsWithLinks\">\n {{ translateCollectionIssues(row.counts[column.id]) | async }}\n </ng-container>\n <ng-template #countsWithLinks>\n <a *ngIf=\"row.counts[column.id]\" (click)=\"showMaterialWithIssue(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id] }}\n </a>\n </ng-template>\n\n\n </td>\n </ng-container>\n\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['row-header'].concat(columnIds); sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['row-header'].concat(columnIds)\"></tr>\n </table>\n</mat-card>\n", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-row-header,tr:nth-child(2n) .mat-mdc-cell{border-right-color:#fff}.mat-mdc-cell,.mat-mdc-header-cell,.mat-column-row-header{border-right:1px solid #e4e4e4}.mat-mdc-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-row-header mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.row-header a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"] }]
88
- }], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i2.TranslateService }, { type: i3.EditorialLinkService }], propDecorators: { pageTitle: [{
69
+ args: [{ selector: 'metaqs2-tree-collection-details', standalone: true, imports: [TranslateModule, AsyncPipe, NgClass, MatCardModule, MatTooltip, MatIcon, NgIf, NgForOf, MatTableModule], template: "<mat-card>\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Qualit\u00E4tsmetrik: {{pageTitle | translate}}{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n </mat-card-header>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"recentQualityMatrix$.value.rows\">\n <!-- Define columns of table -->\n <!-- Row Header Column -->\n <ng-container matColumnDef=\"row-header\" sticky>\n <th mat-header-cell *matHeaderCellDef>Sammlung</th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"row-header {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level === 1 ? 'tree' : 'child'\"></mat-icon>\n {{row.meta.label}}\n </a>\n </td>\n </ng-container>\n\n <!-- Data Columns -->\n <ng-container *ngFor=\"let column of dataColumns\" [matColumnDef]=\"column.id\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.altLabel}}\" >{{ \"quality_matrix.\" + column.label | translate }}</th>\n <td mat-cell *matCellDef=\"let row\" matTooltip=\"{{'cell tooltip' //getCellTooltip(row, column.id)}}\">\n <ng-container *ngIf=\" column.id === 'collection_issues' else countsWithLinks\">\n {{ translateCollectionIssues(row.counts[column.id]) | async }}\n </ng-container>\n <ng-template #countsWithLinks>\n <a *ngIf=\"row.counts[column.id]\" (click)=\"showMaterialWithIssue(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id] }}\n </a>\n </ng-template>\n\n\n </td>\n </ng-container>\n\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['row-header'].concat(columnIds); sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['row-header'].concat(columnIds)\"></tr>\n </table>\n</mat-card>\n", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-row-header,tr:nth-child(2n) .mat-mdc-cell{border-right-color:#fff}.mat-mdc-cell,.mat-mdc-header-cell,.mat-column-row-header{border-right:1px solid #e4e4e4}.mat-mdc-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-row-header mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.row-header a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"] }]
70
+ }], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i2.TranslateService }, { type: i3.EditorialLinkService }], propDecorators: { collectionId: [{
71
+ type: Input,
72
+ args: [{ required: true }]
73
+ }], pageTitle: [{
89
74
  type: Input
90
75
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb2xsZWN0aW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBVTdDLE1BQU0sT0FBTyw4QkFBOEI7SUFVekMsWUFDbUIsT0FBdUIsRUFDdkIsU0FBMkIsRUFDM0IsV0FBaUM7UUFGakMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBWjNDLHVCQUFrQixHQUFHLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLGlCQUFZLEdBQW1DLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN0Rix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFB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LENBQUMsa0JBQWtCLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBdUIsQ0FBQztRQUMzRixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxjQUFjLENBQUMsRUFBVTtRQUN2QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFlBQW9CLEVBQUUsZUFBdUIsRUFBRSxTQUFpQjtRQUMxRixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZGLE1BQU0sS0FBSyxHQUFHLGVBQWUsR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7K0dBcEZVLDhCQUE4QjttR0FBOUIsOEJBQThCLDJHQ2QzQyx1M0VBNERBOzs0RkQ5Q2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLGlDQUFpQztxSkFTM0MsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXRhQXBpU2VydmljZSB9IGZyb20gJy4uL21ldGEtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3JpYWxMaW5rU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWRpdG9yaWFsLWxpbmstc2VydmljZS9lZGl0b3JpYWwtbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclZhbHVlLCBNYXRyaXhXaXRoQ291bnRzLCBRdWFsaXR5TWF0cml4SGVhZGVyIH0gZnJvbSAnLi4vamF2YS1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLXRyZWUtY29sbGVjdGlvbi1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1jb2xsZWN0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbGxlY3Rpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb2xsZWN0aW9uID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25zJDogQmVoYXZpb3JTdWJqZWN0PEZpbHRlclZhbHVlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJWYWx1ZVtdPihbXSk7XG4gIHJlYWRvbmx5IHJlY2VudFF1YWxpdHlNYXRyaXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXRyaXhXaXRoQ291bnRzPih7IGNvbHVtbnM6IFtdLCByb3dzOiBbXSB9KTtcbiAgQElucHV0KClcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnaHVodSc7XG5cbiAgaXNMb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICBkYXRhQ29sdW1uczogQXJyYXk8UXVhbGl0eU1hdHJpeEhlYWRlcj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1ldGFBcGk6IE1ldGFBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua1NlcnZpY2U6IEVkaXRvcmlhbExpbmtTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRDb2xsZWN0aW9uc0ZpbHRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29sbGVjdGlvbnNGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbGxlY3Rpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY29sbGVjdGlvbklkVmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5leHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKGNvbGxlY3Rpb25JZFZhbHVlKTtcbiAgICAgIHRoaXMubG9hZERhdGFGb3JDb2xsZWN0aW9uKGlkKTtcbiAgICB9KTtcbiAgICB0aGlzLm1ldGFBcGlcbiAgICAgIC5nZXRDb2xsZWN0aW9uc0ZpbHRlcigpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoY29sbGVjdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3Qgc29ydGVkQ29sbGVjdGlvbnMgPSBjb2xsZWN0aW9ucy5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpO1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zJC5uZXh0KHNvcnRlZENvbGxlY3Rpb25zKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbGxlY3Rpb24uc2V0VmFsdWUoc29ydGVkQ29sbGVjdGlvbnNbMF0uaWQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREYXRhRm9yQ29sbGVjdGlvbihjb2xsZWN0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLm1ldGFBcGlcbiAgICAgIC5nZXRDb2xsZWN0aW9uQ29tcGxldGVuZXNzKGNvbGxlY3Rpb25JZClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgocW0pID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFDb2x1bW5zID0gcW0uY29sdW1ucy5tYXAoKGMpID0+IGMpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocW0pID0+IHRoaXMucmVjZW50UXVhbGl0eU1hdHJpeCQubmV4dChxbSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJy8nKSArIDEpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29sdW1ucy5tYXAoKGMpID0+IGMuaWQpO1xuICB9XG5cbiAgZmlsdGVyKCkge1xuICAgIC8vdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnN0YXRzRGF0YS5maWx0ZXIoKGwpID0+IGwudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFRva2VuLnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuXG4gIHRyYW5zbGF0ZUNvbGxlY3Rpb25Jc3N1ZXMoZW50cmllczogc3RyaW5nW10pIHtcbiAgICBpZiAoIWVudHJpZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YoJycpO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbFRyYW5zbGF0aW9ucyA9IGZvcmtKb2luKFxuICAgICAgZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoYHF1YWxpdHlfbWF0cml4LiR7ZW50cnl9YCkucGlwZSh0YWtlKDEpKSBhcyBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIGFsbFRyYW5zbGF0aW9ucy5waXBlKHRha2UoMSkpLnBpcGUobWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9ucy5qb2luKCcsICcpKSk7XG4gIH1cblxuICBvcGVuQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29sbGVjdGlvbklkID0gdGhpcy5leHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKGlkKTtcbiAgICB0aGlzLmxpbmtTZXJ2aWNlLm9wZW5CeUNvbGxlY3Rpb25JZChjb2xsZWN0aW9uSWQpO1xuICB9XG5cbiAgYXN5bmMgc2hvd01hdGVyaWFsV2l0aElzc3VlKGNvbGxlY3Rpb25JZDogc3RyaW5nLCBjb2xsZWN0aW9uVGl0ZWw6IHN0cmluZywgaXNzdWVUeXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0cmFuc2xhdGVkID0gYXdhaXQgdGhpcy50cmFuc2xhdGUuZ2V0KCdxdWFsaXR5X21hdHJpeC4nICsgaXNzdWVUeXBlKS50b1Byb21pc2UoKTtcbiAgICBjb25zdCB0aXRsZSA9IGNvbGxlY3Rpb25UaXRlbCArICcgLSAnICsgdHJhbnNsYXRlZDtcbiAgICByZXR1cm4gdGhpcy5saW5rU2VydmljZS5vcGVuQnlDb2xsZWN0aW9uQW5kSXNzdWVUeXBlKGNvbGxlY3Rpb25JZCwgaXNzdWVUeXBlLCB0aXRsZSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZD5cbiAgPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInBhZ2VUaXRsZVwiPlxuICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgIFF1YWxpdMOkdHNtZXRyaWs6IHt7cGFnZVRpdGxlIHwgdHJhbnNsYXRlfX17e2lzTG9hZGluZygpID8gXCI6IExhZGUgbmV1ZSBEYXRlbi5cIiA6IFwiXCJ9fTwvbWF0LWNhcmQtdGl0bGVcbiAgICA+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8IS0tIGNvbnNpZGVyIHRvIHB1dCB0aGUgZmlsdGVyIGluIHRoZSB0YWJsZSBoZWFkZXIgdG8gYXZvaWQgdGhhdCBpdCBpcyBzY3JvbGxlZCBvdXQgb2Ygdmlldy0tPlxuICAgIDxtZXRhcXMyLXFtLWZpbHRlclxuICAgICAgYXJpYS1kaXNhYmxlZD1cInRydWVcIlxuICAgICAgW2xhYmVsXT1cIidTYW1tbHVuZydcIlxuICAgICAgW29wdGlvbnNdPVwiY29sbGVjdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgIFtpbnB1dEZvcm1Db250cm9sXT1cInNlbGVjdGVkQ29sbGVjdGlvblwiXG4gICAgPlxuICAgIDwvbWV0YXFzMi1xbS1maWx0ZXI+XG5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbjxtYXQtY2FyZD5cbiAgPHRhYmxlIFtuZ0NsYXNzXT1cInsnd2hpbGUtbG9hZGluZyc6IGlzTG9hZGluZygpfVwiIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJyZWNlbnRRdWFsaXR5TWF0cml4JC52YWx1ZS5yb3dzXCI+XG4gICAgPCEtLSBEZWZpbmUgY29sdW1ucyBvZiB0YWJsZSAtLT5cbiAgICA8IS0tIFJvdyBIZWFkZXIgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicm93LWhlYWRlclwiIHN0aWNreT5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U2FtbWx1bmc8L3RoPlxuICAgICAgPHRkXG4gICAgICAgIG1hdC1jZWxsXG4gICAgICAgICptYXRDZWxsRGVmPVwibGV0IHJvd1wiXG4gICAgICAgIG1hdFRvb2x0aXA9XCJ7e3Jvdy5tZXRhLmFsdF9sYWJlbH19XCJcbiAgICAgICAgY2xhc3M9XCJyb3ctaGVhZGVyIHt7J21hdC1jZWxsLWxldmVsLScgKyAocm93Lm1ldGEubGV2ZWwrMSl9fVwiXG4gICAgICA+XG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuQ29sbGVjdGlvbihyb3cubWV0YS5pZClcIj5cbiAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwicm93Lm1ldGEubGV2ZWwgPT09IDEgPyAndHJlZScgOiAnY2hpbGQnXCI+PC9tYXQtaWNvbj5cbiAgICAgICAge3tyb3cubWV0YS5sYWJlbH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIERhdGEgQ29sdW1ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZGF0YUNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5pZFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXRUb29sdGlwPVwie3tjb2x1bW4uYWx0TGFiZWx9fVwiID57eyBcInF1YWxpdHlfbWF0cml4LlwiICsgY29sdW1uLmxhYmVsIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBtYXRUb29sdGlwPVwie3snY2VsbCB0b29sdGlwJyAvL2dldENlbGxUb29sdGlwKHJvdywgY29sdW1uLmlkKX19XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIgY29sdW1uLmlkID09PSAnY29sbGVjdGlvbl9pc3N1ZXMnIGVsc2UgY291bnRzV2l0aExpbmtzXCI+XG4gICAgICAgICAge3sgdHJhbnNsYXRlQ29sbGVjdGlvbklzc3Vlcyhyb3cuY291bnRzW2NvbHVtbi5pZF0pIHwgYXN5bmMgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY291bnRzV2l0aExpbmtzPlxuICAgICAgICAgIDxhICpuZ0lmPVwicm93LmNvdW50c1tjb2x1bW4uaWRdXCIgKGNsaWNrKT1cInNob3dNYXRlcmlhbFdpdGhJc3N1ZShyb3cubWV0YS5pZCwgcm93Lm1ldGEubGFiZWwsIGNvbHVtbi5pZClcIj5cbiAgICAgICAgICAgIHt7IHJvdy5jb3VudHNbY29sdW1uLmlkXSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBHZW5lcmF0ZSBhY3R1YWwgdGFibGUgLS0+XG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJbJ3Jvdy1oZWFkZXInXS5jb25jYXQoY29sdW1uSWRzKTsgc3RpY2t5OnRydWVcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBbJ3Jvdy1oZWFkZXInXS5jb25jYXQoY29sdW1uSWRzKVwiPjwvdHI+XG4gIDwvdGFibGU+XG48L21hdC1jYXJkPlxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb2xsZWN0aW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLDhCQUE4QjtJQUd6QyxJQUNJLFlBQVksQ0FBQyxFQUFVO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBUUQsWUFDbUIsT0FBdUIsRUFDdkIsU0FBMkIsRUFDM0IsV0FBaUM7UUFGakMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBaEIzQyx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUWpHLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixnQkFBVyxHQUErQixFQUFFLENBQUM7SUFNMUMsQ0FBQztJQUVJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxZQUFvQjtRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTzthQUNULHlCQUF5QixDQUFDLFlBQVksQ0FBQzthQUN2QyxJQUFJLENBQ0gsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sK0JBQStCLENBQUMsR0FBVztRQUNqRCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQjtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQXVCLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLGVBQXVCLEVBQUUsU0FBaUI7UUFDMUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2RixNQUFNLEtBQUssR0FBRyxlQUFlLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RixDQUFDOytHQWpFVSw4QkFBOEI7bUdBQTlCLDhCQUE4Qiw2SkNwQjNDLHUvREFnREEsZzNDRDlCWSxlQUFlLHVGQUFFLFNBQVMsOENBQUUsT0FBTyxtRkFBRSxhQUFhLHFVQUFFLFVBQVUsaVJBQUUsT0FBTywySUFBRSxJQUFJLDZGQUFFLE9BQU8sa0hBQUUsY0FBYzs7NEZBRXJHLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDRSxpQ0FBaUMsY0FFL0IsSUFBSSxXQUVQLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUM7cUpBTTdHLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTXpCLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1ldGFBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vbWV0YS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEVkaXRvcmlhbExpbmtTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9lZGl0b3JpYWwtbGluay1zZXJ2aWNlL2VkaXRvcmlhbC1saW5rLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0cml4V2l0aENvdW50cywgUXVhbGl0eU1hdHJpeEhlYWRlciB9IGZyb20gJy4uL2phdmEtYXBpJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi10cmVlLWNvbGxlY3Rpb24tZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLWNvbGxlY3Rpb24tZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtY29sbGVjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEFzeW5jUGlwZSwgTmdDbGFzcywgTWF0Q2FyZE1vZHVsZSwgTWF0VG9vbHRpcCwgTWF0SWNvbiwgTmdJZiwgTmdGb3JPZiwgTWF0VGFibGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ29sbGVjdGlvbkRldGFpbHNDb21wb25lbnQge1xuICByZWFkb25seSByZWNlbnRRdWFsaXR5TWF0cml4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0cml4V2l0aENvdW50cz4oeyBjb2x1bW5zOiBbXSwgcm93czogW10gfSk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IGNvbGxlY3Rpb25JZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkRGF0YUZvckNvbGxlY3Rpb24oaWQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnJztcblxuICBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIGRhdGFDb2x1bW5zOiBBcnJheTxRdWFsaXR5TWF0cml4SGVhZGVyPiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YUFwaTogTWV0YUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rU2VydmljZTogRWRpdG9yaWFsTGlua1NlcnZpY2VcbiAgKSB7fVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERhdGFGb3JDb2xsZWN0aW9uKGNvbGxlY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMubWV0YUFwaVxuICAgICAgLmdldENvbGxlY3Rpb25Db21wbGV0ZW5lc3MoY29sbGVjdGlvbklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChxbSkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YUNvbHVtbnMgPSBxbS5jb2x1bW5zLm1hcCgoYykgPT4gYyk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChxbSkgPT4gdGhpcy5yZWNlbnRRdWFsaXR5TWF0cml4JC5uZXh0KHFtKSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RDb2xsZWN0aW9uSWRGcm9tVm9jYWJVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB1cmwuc3Vic3RyaW5nKHVybC5sYXN0SW5kZXhPZignLycpICsgMSk7XG4gIH1cblxuICBnZXQgY29sdW1uSWRzKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb2x1bW5zLm1hcCgoYykgPT4gYy5pZCk7XG4gIH1cblxuICB0cmFuc2xhdGVDb2xsZWN0aW9uSXNzdWVzKGVudHJpZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxUcmFuc2xhdGlvbnMgPSBmb3JrSm9pbihcbiAgICAgIGVudHJpZXMubWFwKChlbnRyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGBxdWFsaXR5X21hdHJpeC4ke2VudHJ5fWApLnBpcGUodGFrZSgxKSkgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiBhbGxUcmFuc2xhdGlvbnMucGlwZSh0YWtlKDEpKS5waXBlKG1hcCgodHJhbnNsYXRpb25zKSA9PiB0cmFuc2xhdGlvbnMuam9pbignLCAnKSkpO1xuICB9XG5cbiAgb3BlbkNvbGxlY3Rpb24oaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25JZCA9IHRoaXMuZXh0cmFjdENvbGxlY3Rpb25JZEZyb21Wb2NhYlVybChpZCk7XG4gICAgdGhpcy5saW5rU2VydmljZS5vcGVuQnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dNYXRlcmlhbFdpdGhJc3N1ZShjb2xsZWN0aW9uSWQ6IHN0cmluZywgY29sbGVjdGlvblRpdGVsOiBzdHJpbmcsIGlzc3VlVHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdHJhbnNsYXRlZCA9IGF3YWl0IHRoaXMudHJhbnNsYXRlLmdldCgncXVhbGl0eV9tYXRyaXguJyArIGlzc3VlVHlwZSkudG9Qcm9taXNlKCk7XG4gICAgY29uc3QgdGl0bGUgPSBjb2xsZWN0aW9uVGl0ZWwgKyAnIC0gJyArIHRyYW5zbGF0ZWQ7XG4gICAgcmV0dXJuIHRoaXMubGlua1NlcnZpY2Uub3BlbkJ5Q29sbGVjdGlvbkFuZElzc3VlVHlwZShjb2xsZWN0aW9uSWQsIGlzc3VlVHlwZSwgdGl0bGUpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQ+XG4gIDxtYXQtY2FyZC1oZWFkZXIgKm5nSWY9XCJwYWdlVGl0bGVcIj5cbiAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICBRdWFsaXTDpHRzbWV0cmlrOiB7e3BhZ2VUaXRsZSB8IHRyYW5zbGF0ZX19e3tpc0xvYWRpbmcoKSA/IFwiOiBMYWRlIG5ldWUgRGF0ZW4uXCIgOiBcIlwifX08L21hdC1jYXJkLXRpdGxlXG4gICAgPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbjwvbWF0LWNhcmQ+XG48bWF0LWNhcmQ+XG4gIDx0YWJsZSBbbmdDbGFzc109XCJ7J3doaWxlLWxvYWRpbmcnOiBpc0xvYWRpbmcoKX1cIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwicmVjZW50UXVhbGl0eU1hdHJpeCQudmFsdWUucm93c1wiPlxuICAgIDwhLS0gRGVmaW5lIGNvbHVtbnMgb2YgdGFibGUgLS0+XG4gICAgPCEtLSBSb3cgSGVhZGVyIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJvdy1oZWFkZXJcIiBzdGlja3k+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlNhbW1sdW5nPC90aD5cbiAgICAgIDx0ZFxuICAgICAgICBtYXQtY2VsbFxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCByb3dcIlxuICAgICAgICBtYXRUb29sdGlwPVwie3tyb3cubWV0YS5hbHRfbGFiZWx9fVwiXG4gICAgICAgIGNsYXNzPVwicm93LWhlYWRlciB7eydtYXQtY2VsbC1sZXZlbC0nICsgKHJvdy5tZXRhLmxldmVsKzEpfX1cIlxuICAgICAgPlxuICAgICAgICA8YSAoY2xpY2spPVwib3BlbkNvbGxlY3Rpb24ocm93Lm1ldGEuaWQpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInJvdy5tZXRhLmxldmVsID09PSAxID8gJ3RyZWUnIDogJ2NoaWxkJ1wiPjwvbWF0LWljb24+XG4gICAgICAgIHt7cm93Lm1ldGEubGFiZWx9fVxuICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEYXRhIENvbHVtbnMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGFDb2x1bW5zXCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4uaWRcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0VG9vbHRpcD1cInt7Y29sdW1uLmFsdExhYmVsfX1cIiA+e3sgXCJxdWFsaXR5X21hdHJpeC5cIiArIGNvbHVtbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgbWF0VG9vbHRpcD1cInt7J2NlbGwgdG9vbHRpcCcgLy9nZXRDZWxsVG9vbHRpcChyb3csIGNvbHVtbi5pZCl9fVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIGNvbHVtbi5pZCA9PT0gJ2NvbGxlY3Rpb25faXNzdWVzJyBlbHNlIGNvdW50c1dpdGhMaW5rc1wiPlxuICAgICAgICAgIHt7IHRyYW5zbGF0ZUNvbGxlY3Rpb25Jc3N1ZXMocm93LmNvdW50c1tjb2x1bW4uaWRdKSB8IGFzeW5jIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvdW50c1dpdGhMaW5rcz5cbiAgICAgICAgICA8YSAqbmdJZj1cInJvdy5jb3VudHNbY29sdW1uLmlkXVwiIChjbGljayk9XCJzaG93TWF0ZXJpYWxXaXRoSXNzdWUocm93Lm1ldGEuaWQsIHJvdy5tZXRhLmxhYmVsLCBjb2x1bW4uaWQpXCI+XG4gICAgICAgICAgICB7eyByb3cuY291bnRzW2NvbHVtbi5pZF0gfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cblxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gR2VuZXJhdGUgYWN0dWFsIHRhYmxlIC0tPlxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiWydyb3ctaGVhZGVyJ10uY29uY2F0KGNvbHVtbklkcyk7IHN0aWNreTp0cnVlXCI+PC90cj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydyb3ctaGVhZGVyJ10uY29uY2F0KGNvbHVtbklkcylcIj48L3RyPlxuICA8L3RhYmxlPlxuPC9tYXQtY2FyZD5cbiJdfQ==