@cqa-lib/cqa-ui 1.1.437 → 1.1.439
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/esm2020/lib/ui-kit.module.mjs +8 -3
- package/esm2020/lib/version-history/new-version-history-detail/new-version-history-detail.component.mjs +152 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +161 -3
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +153 -3
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/ui-kit.module.d.ts +26 -25
- package/lib/version-history/new-version-history-detail/new-version-history-detail.component.d.ts +41 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -165,6 +165,7 @@ import { VersionHistoryListComponent } from './version-history/version-history-l
|
|
|
165
165
|
import { VersionHistoryCompareComponent } from './version-history/version-history-compare/version-history-compare.component';
|
|
166
166
|
import { VersionHistoryDetailComponent } from './version-history/version-history-detail/version-history-detail.component';
|
|
167
167
|
import { VersionHistoryRestoreConfirmComponent } from './version-history/version-history-restore-confirm/version-history-restore-confirm.component';
|
|
168
|
+
import { NewVersionHistoryDetailComponent } from './version-history/new-version-history-detail/new-version-history-detail.component';
|
|
168
169
|
import * as i0 from "@angular/core";
|
|
169
170
|
import * as i1 from "@angular/material/icon";
|
|
170
171
|
export class UiKitModule {
|
|
@@ -311,7 +312,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
311
312
|
VersionHistoryListComponent,
|
|
312
313
|
VersionHistoryCompareComponent,
|
|
313
314
|
VersionHistoryDetailComponent,
|
|
314
|
-
VersionHistoryRestoreConfirmComponent
|
|
315
|
+
VersionHistoryRestoreConfirmComponent,
|
|
316
|
+
NewVersionHistoryDetailComponent], imports: [CommonModule,
|
|
315
317
|
FormsModule,
|
|
316
318
|
ReactiveFormsModule,
|
|
317
319
|
NoopAnimationsModule,
|
|
@@ -470,7 +472,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
470
472
|
VersionHistoryListComponent,
|
|
471
473
|
VersionHistoryCompareComponent,
|
|
472
474
|
VersionHistoryDetailComponent,
|
|
473
|
-
VersionHistoryRestoreConfirmComponent
|
|
475
|
+
VersionHistoryRestoreConfirmComponent,
|
|
476
|
+
NewVersionHistoryDetailComponent] });
|
|
474
477
|
UiKitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, providers: [
|
|
475
478
|
{ provide: OverlayContainer, useClass: TailwindOverlayContainer },
|
|
476
479
|
{
|
|
@@ -683,6 +686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
683
686
|
VersionHistoryCompareComponent,
|
|
684
687
|
VersionHistoryDetailComponent,
|
|
685
688
|
VersionHistoryRestoreConfirmComponent,
|
|
689
|
+
NewVersionHistoryDetailComponent,
|
|
686
690
|
],
|
|
687
691
|
imports: [
|
|
688
692
|
CommonModule,
|
|
@@ -848,6 +852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
848
852
|
VersionHistoryCompareComponent,
|
|
849
853
|
VersionHistoryDetailComponent,
|
|
850
854
|
VersionHistoryRestoreConfirmComponent,
|
|
855
|
+
NewVersionHistoryDetailComponent,
|
|
851
856
|
],
|
|
852
857
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
853
858
|
providers: [
|
|
@@ -894,4 +899,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
894
899
|
]
|
|
895
900
|
}]
|
|
896
901
|
}], ctorParameters: function () { return [{ type: i1.MatIconRegistry }]; } });
|
|
897
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkta2l0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFvQixzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFB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QyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQztnQ0FDOUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7Z0NBQ2xDLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDO2dDQUNwQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQztnQ0FDekIsQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUM7Z0NBQzVDLENBQUMsdUJBQXVCLEVBQUUsaUNBQWlDLENBQUM7Z0NBQzVELENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUM7Z0NBQzlDLENBQUMsaUJBQWlCLEVBQUUsMkJBQTJCLENBQUM7NkJBQ2pELENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgZm9yd2FyZFJlZiwgVHlwZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUsIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5neFR5cGVkSnNNb2R1bGUgfSBmcm9tICduZ3gtdHlwZWQtanMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWdtZW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy1jZWxsLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3RoZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL290aGVyLWJ1dHRvbi9vdGhlci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZGF0ZXJhbmdlcGlja2VyL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXZpc2liaWxpdHkvY29sdW1uLXZpc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2NoYXJ0LWNhcmQvY2hhcnQtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy93b3Jrc3BhY2Utc2VsZWN0b3Ivd29ya3NwYWNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQvdGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9mYWlsZWQtdGVzdC1jYXNlcy1jYXJkL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZFByZXJlcXVpc2l0ZUNhc2VzU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXByZXJlcXVpc2l0ZS1jYXNlcy1zZWN0aW9uL2FkZC1wcmVyZXF1aXNpdGUtY2FzZXMtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0ZWRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RlZC1maWx0ZXJzL3NlbGVjdGVkLWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEluc2lnaHRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2luc2lnaHQtY2FyZC9pbnNpZ2h0LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWJ1dHRvbi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEhlYXRFcnJvck1hcENlbGxDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvaGVhdC1lcnJvci1tYXAtY2VsbC9oZWF0LWVycm9yLW1hcC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdGVtcGxhdGVzL3RhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWlsd2luZE92ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IEZ1bGxUYWJsZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZnVsbC10YWJsZS1sb2FkZXIvZnVsbC10YWJsZS1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtZGF0YS1sb2FkZXIvdGFibGUtZGF0YS1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNURVBfQ09NUE9ORU5UX01BUCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLXJlZ2lzdHJ5LnRva2VuJztcbmltcG9ydCB7IEJhc2ljU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9iYXNpYy1zdGVwL2Jhc2ljLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLXJlbmRlcmVyL3N0ZXAtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLWdyb3VwL3N0ZXAtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IExvb3BTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2xvb3Atc3RlcC9sb29wLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmRpdGlvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vY29uZGl0aW9uLXN0ZXAvY29uZGl0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZhaWxlZFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZmFpbGVkLXN0ZXAvZmFpbGVkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVwZGF0ZWRGYWlsZWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3VwZGF0ZWQtZmFpbGVkLXN0ZXAvdXBkYXRlZC1mYWlsZWQtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld01vcmVGYWlsZWRTdGVwQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3ZpZXctbW9yZS1mYWlsZWQtc3RlcC1idXR0b24vdmlldy1tb3JlLWZhaWxlZC1zdGVwLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zZWxmLWhlYWwtYW5hbHlzaXMvc2VsZi1oZWFsLWFuYWx5c2lzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBSUFnZW50U3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1hZ2VudC1zdGVwL2FpLWFnZW50LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEFJQWN0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1hY3Rpb24tc3RlcC9haS1hY3Rpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBpU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9hcGktc3RlcC9hcGktc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZURvd25sb2FkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9maWxlLWRvd25sb2FkLXN0ZXAvZmlsZS1kb3dubG9hZC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2N1bWVudFZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZG9jdW1lbnQtdmVyaWZpY2F0aW9uLXN0ZXAvZG9jdW1lbnQtdmVyaWZpY2F0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IExpdmVFeGVjdXRpb25TdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2xpdmUtZXhlY3V0aW9uLXN0ZXAvbGl2ZS1leGVjdXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWlMb2dzV2l0aFJlYXNvbmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1sb2dzLXdpdGgtcmVhc29uaW5nL2FpLWxvZ3Mtd2l0aC1yZWFzb25pbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9qdW1wLXRvLXN0ZXAtbW9kYWwvanVtcC10by1zdGVwLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2JyZWFrcG9pbnRzLW1vZGFsL2JyZWFrcG9pbnRzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWNvcmRpbmdCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vcmVjb3JkaW5nLWJhbm5lci9yZWNvcmRpbmctYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vcmV2aWV3LXJlY29yZGVkLXN0ZXBzLW1vZGFsL3Jldmlldy1yZWNvcmRlZC1zdGVwcy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9tYWluLXN0ZXAtY29sbGFwc2UvbWFpbi1zdGVwLWNvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW11bGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NpbXVsYXRvci9zaW11bGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnNvbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uc29sZS1hbGVydC9jb25zb2xlLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaURlYnVnQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2FpLWRlYnVnLWFsZXJ0L2FpLWRlYnVnLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCB9IGZyb20gJy4vbmV0d29yay1yZXF1ZXN0L25ldHdvcmstcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQgfSBmcm9tICcuL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBhcmVSdW5zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXJ1bnMvY29tcGFyZS1ydW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVyYXRpb25zTG9vcENvbXBvbmVudCB9IGZyb20gJy4vaXRlcmF0aW9ucy1sb29wL2l0ZXJhdGlvbnMtbG9vcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENhcmRDb21wb25lbnQgfSBmcm9tICcuL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdGV4dGFyZWEvY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb2RlLWVkaXRvci9jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9uYWNvRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmd4LW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQ3VzdG9tVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdG9nZ2xlL2N1c3RvbS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaVJlYXNvbmluZ0NvbXBvbmVudCB9IGZyb20gJy4vYWktcmVhc29uaW5nL2FpLXJlYXNvbmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhlY3V0aW9uUmVzdWx0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1yZXN1bHQtbW9kYWwvZXhlY3V0aW9uLXJlc3VsdC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Vzc2lvbkNoYW5nZXNNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zZXNzaW9uLWNoYW5nZXMtbW9kYWwvc2Vzc2lvbi1jaGFuZ2VzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvck1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwb3J0Q29kZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnQtY29kZS1tb2RhbC9leHBvcnQtY29kZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBQcm9ncmVzc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL3N0ZXAtcHJvZ3Jlc3MtY2FyZC9zdGVwLXByb2dyZXNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBTdGF0dXNDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLXN0YXR1cy1jYXJkL3N0ZXAtc3RhdHVzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IERiVmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9kYi12ZXJpZmljYXRpb24tc3RlcC9kYi12ZXJpZmljYXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZGItcXVlcnktZXhlY3V0aW9uLWl0ZW0vZGItcXVlcnktZXhlY3V0aW9uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlTm9ybWFsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvbm9ybWFsLXN0ZXAvbm9ybWFsLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2xvb3Atc3RlcC9sb29wLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlQ29uZGl0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvY29uZGl0aW9uLXN0ZXAvY29uZGl0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9zdGVwLWdyb3VwL3N0ZXAtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWNhc2UtZGV0YWlscy1yZW5kZXJlci90ZXN0LWNhc2UtZGV0YWlscy1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VBcGlTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9hcGktc3RlcC9hcGktc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VEYXRhYmFzZVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2RhdGFiYXNlLXN0ZXAvZGF0YWJhc2Utc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VBaUFnZW50U3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvYWktYWdlbnQtc3RlcC9haS1hZ2VudC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0Q2FzZUFpVmVyaWZ5U3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvYWktdmVyaWZ5LXN0ZXAvYWktdmVyaWZ5LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdXBsb2FkLXN0ZXAvdXBsb2FkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU2NyZWVuc2hvdFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3NjcmVlbnNob3Qtc3RlcC9zY3JlZW5zaG90LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvc2Nyb2xsLXN0ZXAvc2Nyb2xsLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlVmVyaWZ5VXJsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdmVyaWZ5LXVybC1zdGVwL3ZlcmlmeS11cmwtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0Q2FzZUN1c3RvbUNvZGVTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9jdXN0b20tY29kZS1zdGVwL2N1c3RvbS1jb2RlLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9jdXN0b20tZWRpdC1zdGVwL2N1c3RvbS1lZGl0LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9pdGVtLWxpc3QvaXRlbS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0RGF0YU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWRhdGEtbW9kYWwvdGVzdC1kYXRhLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcmVhdGVTdGVwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2NyZWF0ZS1zdGVwLWdyb3VwL2NyZWF0ZS1zdGVwLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWxldGVTdGVwc0NvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZGVsZXRlLXN0ZXBzL2RlbGV0ZS1zdGVwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuRXhlY3V0aW9uQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3J1bi1leGVjdXRpb24tYWxlcnQvcnVuLWV4ZWN1dGlvbi1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBpRWRpdFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2FwaS1lZGl0LXN0ZXAvYXBpLWVkaXQtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEVTVF9DQVNFX1NURVBfQ09NUE9ORU5UX01BUCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdGVzdC1jYXNlLXN0ZXAtY29tcG9uZW50cy50b2tlbic7XG5pbXBvcnQgeyBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXZlLWNvbnZlcnNhdGlvbi9saXZlLWNvbnZlcnNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG5kTW9kdWxlIH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1hY3Rpb24vc3RlcC1idWlsZGVyLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJMb29wQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWxvb3Avc3RlcC1idWlsZGVyLWxvb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1wb3B1cC9lbGVtZW50LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1wb3B1cC9lbGVtZW50LWZvcm0vZWxlbWVudC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckNvbmRpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1jb25kaXRpb24vc3RlcC1idWlsZGVyLWNvbmRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1kYXRhYmFzZS9zdGVwLWJ1aWxkZXItZGF0YWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyQWlBZ2VudENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1haS1hZ2VudC9zdGVwLWJ1aWxkZXItYWktYWdlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyQ3VzdG9tQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1jdXN0b20tY29kZS9zdGVwLWJ1aWxkZXItY3VzdG9tLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyUmVjb3JkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1yZWNvcmQtc3RlcC9zdGVwLWJ1aWxkZXItcmVjb3JkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWRvY3VtZW50LWdlbmVyYXRpb24tdGVtcGxhdGUtc3RlcC9zdGVwLWJ1aWxkZXItZG9jdW1lbnQtZ2VuZXJhdGlvbi10ZW1wbGF0ZS1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50TGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1saXN0L2VsZW1lbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1kb2N1bWVudC9zdGVwLWJ1aWxkZXItZG9jdW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbFNpZGVQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLXNpZGUtcGFuZWwvZGV0YWlsLXNpZGUtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLWRyYXdlci9kZXRhaWwtZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQgfSBmcm9tICcuL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci10YWIvZGV0YWlsLWRyYXdlci10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbERyYXdlclRhYkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci10YWItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGVzdENhc2VEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWNhc2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdGVzdC1jYXNlLWRldGFpbHMtZWRpdC90ZXN0LWNhc2UtZGV0YWlscy1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWdyb3VwL3N0ZXAtYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcERldGFpbHNEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3N0ZXAtZGV0YWlscy1kcmF3ZXIvc3RlcC1kZXRhaWxzLWRyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVtcGxhdGVWYXJpYWJsZXNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvdGVtcGxhdGUtdmFyaWFibGVzLWZvcm0vdGVtcGxhdGUtdmFyaWFibGVzLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkVmFyaWFibGVzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL2FkdmFuY2VkLXZhcmlhYmxlcy1mb3JtL2FkdmFuY2VkLXZhcmlhYmxlcy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwRGV0YWlsc01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9zdGVwLWRldGFpbHMtbW9kYWwvc3RlcC1kZXRhaWxzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IENhbWVsVG9UaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NhbWVsLXRvLXRpdGxlLnBpcGUnO1xuaW1wb3J0IHsgQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2NvbmRpdGlvbi1kZWJ1Zy1zdGVwL2NvbmRpdGlvbi1kZWJ1Zy1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25CcmFuY2hFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vY29uZGl0aW9uLWRlYnVnLXN0ZXAvY29uZGl0aW9uLWJyYW5jaC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFZlcnNpb25IaXN0b3J5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vdmVyc2lvbi1oaXN0b3J5L3ZlcnNpb24taGlzdG9yeS1saXN0L3ZlcnNpb24taGlzdG9yeS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWZXJzaW9uSGlzdG9yeUNvbXBhcmVDb21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktY29tcGFyZS92ZXJzaW9uLWhpc3RvcnktY29tcGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmVyc2lvbkhpc3RvcnlEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktZGV0YWlsL3ZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IFZlcnNpb25IaXN0b3J5UmVzdG9yZUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktcmVzdG9yZS1jb25maXJtL3ZlcnNpb24taGlzdG9yeS1yZXN0b3JlLWNvbmZpcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ2VsbENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQsXG4gICAgT3RoZXJCdXR0b25Db21wb25lbnQsXG4gICAgRHluYW1pY0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIE1ldHJpY3NCbG9ja0NvbXBvbmVudCxcbiAgICBDaGFydENhcmRDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCxcbiAgICBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQsXG4gICAgV29ya3NwYWNlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQ292ZXJhZ2VNb2R1bGVDYXJkQ29tcG9uZW50LFxuICAgIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEZhaWxlZFRlc3RDYXNlc0NhcmRDb21wb25lbnQsXG4gICAgRHluYW1pY1NlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgIEFkZFByZXJlcXVpc2l0ZUNhc2VzU2VjdGlvbkNvbXBvbmVudCxcbiAgICBTZWxlY3RlZEZpbHRlcnNDb21wb25lbnQsXG4gICAgSW5zaWdodENhcmRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgRHJvcGRvd25CdXR0b25Db21wb25lbnQsXG4gICAgSGVhdEVycm9yTWFwQ2VsbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgRnVsbFRhYmxlTG9hZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCxcbiAgICBCYXNpY1N0ZXBDb21wb25lbnQsXG4gICAgU3RlcFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBMb29wU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkRlYnVnU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25CcmFuY2hFZGl0b3JDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBSUFjdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudCxcbiAgICBBaUxvZ3NXaXRoUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCxcbiAgICBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50LFxuICAgIFJlY29yZGluZ0Jhbm5lckNvbXBvbmVudCxcbiAgICBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQsXG4gICAgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCxcbiAgICBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50LFxuICAgIFNpbXVsYXRvckNvbXBvbmVudCxcbiAgICBDb25zb2xlQWxlcnRDb21wb25lbnQsXG4gICAgQWlEZWJ1Z0FsZXJ0Q29tcG9uZW50LFxuICAgIE5ldHdvcmtSZXF1ZXN0Q29tcG9uZW50LFxuICAgIFJ1bkhpc3RvcnlDYXJkQ29tcG9uZW50LFxuICAgIFZpc3VhbERpZmZlcmVuY2VNb2RhbENvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBDb21wYXJlUnVuc0NvbXBvbmVudCxcbiAgICBJdGVyYXRpb25zTG9vcENvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCxcbiAgICBDdXN0b21JbnB1dENvbXBvbmVudCxcbiAgICBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDb2RlRWRpdG9yQ29tcG9uZW50LFxuICAgIEN1c3RvbVRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50LFxuICAgIFNlc3Npb25DaGFuZ2VzTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBFeHBvcnRDb2RlTW9kYWxDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgU3RlcFByb2dyZXNzQ2FyZENvbXBvbmVudCxcbiAgICBTdGVwU3RhdHVzQ2FyZENvbXBvbmVudCxcbiAgICBEYlZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQsXG4gICAgVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQXBpU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZURhdGFiYXNlU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQWlWZXJpZnlTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVZlcmlmeVVybFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDdXN0b21Db2RlU3RlcENvbXBvbmVudCxcbiAgICBDdXN0b21FZGl0U3RlcENvbXBvbmVudCxcbiAgICBJdGVtTGlzdENvbXBvbmVudCxcbiAgICBUZXN0RGF0YU1vZGFsQ29tcG9uZW50LFxuICAgIENyZWF0ZVN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBEZWxldGVTdGVwc0NvbXBvbmVudCxcbiAgICBSdW5FeGVjdXRpb25BbGVydENvbXBvbmVudCxcbiAgICBBcGlFZGl0U3RlcENvbXBvbmVudCxcbiAgICBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyQWN0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyTG9vcENvbXBvbmVudCxcbiAgICBFbGVtZW50UG9wdXBDb21wb25lbnQsXG4gICAgRWxlbWVudEZvcm1Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJDb25kaXRpb25Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckFpQWdlbnRDb21wb25lbnQsXG4gICAgQ29kZUVkaXRvckNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckN1c3RvbUNvZGVDb21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJSZWNvcmRTdGVwQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50LFxuICAgIEVsZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRDb21wb25lbnQsXG4gICAgRGV0YWlsU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIERldGFpbERyYXdlckNvbXBvbmVudCxcbiAgICBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQsXG4gICAgRGV0YWlsRHJhd2VyVGFiQ29udGVudERpcmVjdGl2ZSxcbiAgICBUZXN0Q2FzZURldGFpbHNDb21wb25lbnQsXG4gICAgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50LFxuICAgIFN0ZXBEZXRhaWxzRHJhd2VyQ29tcG9uZW50LFxuICAgIFRlbXBsYXRlVmFyaWFibGVzRm9ybUNvbXBvbmVudCxcbiAgICBBZHZhbmNlZFZhcmlhYmxlc0Zvcm1Db21wb25lbnQsXG4gICAgU3RlcERldGFpbHNNb2RhbENvbXBvbmVudCxcbiAgICBTYWZlSHRtbFBpcGUsXG4gICAgQ2FtZWxUb1RpdGxlUGlwZSxcbiAgICBWZXJzaW9uSGlzdG9yeUxpc3RDb21wb25lbnQsXG4gICAgVmVyc2lvbkhpc3RvcnlDb21wYXJlQ29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5RGV0YWlsQ29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5UmVzdG9yZUNvbmZpcm1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOb29wQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE5neFR5cGVkSnNNb2R1bGUsXG4gICAgRG5kTW9kdWxlLFxuICAgIE1vbmFjb0VkaXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ2VsbENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQsXG4gICAgT3RoZXJCdXR0b25Db21wb25lbnQsXG4gICAgRHluYW1pY0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIENoYXJ0Q2FyZENvbXBvbmVudCxcbiAgICBQcm9ncmVzc1RleHRDYXJkQ29tcG9uZW50LFxuICAgIERhc2hib2FyZEhlYWRlckNvbXBvbmVudCxcbiAgICBXb3Jrc3BhY2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQsXG4gICAgVGVzdERpc3RyaWJ1dGlvbkNhcmRDb21wb25lbnQsXG4gICAgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCxcbiAgICBEeW5hbWljU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgQWRkUHJlcmVxdWlzaXRlQ2FzZXNTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCxcbiAgICBJbnNpZ2h0Q2FyZENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQsXG4gICAgVGFibGVEYXRhTG9hZGVyQ29tcG9uZW50LFxuICAgIEJhc2ljU3RlcENvbXBvbmVudCxcbiAgICBTdGVwUmVuZGVyZXJDb21wb25lbnQsXG4gICAgU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIExvb3BTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkJyYW5jaEVkaXRvckNvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkRlYnVnU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBSUFjdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudCxcbiAgICBBaUxvZ3NXaXRoUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCxcbiAgICBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50LFxuICAgIFJlY29yZGluZ0Jhbm5lckNvbXBvbmVudCxcbiAgICBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQsXG4gICAgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCxcbiAgICBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50LFxuICAgIFNpbXVsYXRvckNvbXBvbmVudCxcbiAgICBDb25zb2xlQWxlcnRDb21wb25lbnQsXG4gICAgQWlEZWJ1Z0FsZXJ0Q29tcG9uZW50LFxuICAgIE5ldHdvcmtSZXF1ZXN0Q29tcG9uZW50LFxuICAgIFJ1bkhpc3RvcnlDYXJkQ29tcG9uZW50LFxuICAgIFZpc3VhbERpZmZlcmVuY2VNb2RhbENvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBDb21wYXJlUnVuc0NvbXBvbmVudCxcbiAgICBJdGVyYXRpb25zTG9vcENvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCxcbiAgICBDdXN0b21JbnB1dENvbXBvbmVudCxcbiAgICBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDb2RlRWRpdG9yQ29tcG9uZW50LFxuICAgIEN1c3RvbVRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50LFxuICAgIFNlc3Npb25DaGFuZ2VzTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBFeHBvcnRDb2RlTW9kYWxDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgU3RlcFByb2dyZXNzQ2FyZENvbXBvbmVudCxcbiAgICBTdGVwU3RhdHVzQ2FyZENvbXBvbmVudCxcbiAgICBEYlZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQsXG4gICAgVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQXBpU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZURhdGFiYXNlU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVZlcmlmeVVybFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDdXN0b21Db2RlU3RlcENvbXBvbmVudCxcbiAgICBDdXN0b21FZGl0U3RlcENvbXBvbmVudCxcbiAgICBJdGVtTGlzdENvbXBvbmVudCxcbiAgICBUZXN0RGF0YU1vZGFsQ29tcG9uZW50LFxuICAgIENyZWF0ZVN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBEZWxldGVTdGVwc0NvbXBvbmVudCxcbiAgICBSdW5FeGVjdXRpb25BbGVydENvbXBvbmVudCxcbiAgICBBcGlFZGl0U3RlcENvbXBvbmVudCxcbiAgICBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyQWN0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyTG9vcENvbXBvbmVudCxcbiAgICBFbGVtZW50UG9wdXBDb21wb25lbnQsXG4gICAgRWxlbWVudEZvcm1Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJDb25kaXRpb25Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckFpQWdlbnRDb21wb25lbnQsXG4gICAgQ29kZUVkaXRvckNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckN1c3RvbUNvZGVDb21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJSZWNvcmRTdGVwQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50LFxuICAgIEVsZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRDb21wb25lbnQsXG4gICAgRGV0YWlsU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIERldGFpbERyYXdlckNvbXBvbmVudCxcbiAgICBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQsXG4gICAgRGV0YWlsRHJhd2VyVGFiQ29udGVudERpcmVjdGl2ZSxcbiAgICBUZXN0Q2FzZURldGFpbHNDb21wb25lbnQsXG4gICAgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50LFxuICAgIFN0ZXBEZXRhaWxzRHJhd2VyQ29tcG9uZW50LFxuICAgIFRlbXBsYXRlVmFyaWFibGVzRm9ybUNvbXBvbmVudCxcbiAgICBBZHZhbmNlZFZhcmlhYmxlc0Zvcm1Db21wb25lbnQsXG4gICAgVmVyc2lvbkhpc3RvcnlMaXN0Q29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5Q29tcGFyZUNvbXBvbmVudCxcbiAgICBWZXJzaW9uSGlzdG9yeURldGFpbENvbXBvbmVudCxcbiAgICBWZXJzaW9uSGlzdG9yeVJlc3RvcmVDb25maXJtQ29tcG9uZW50LFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lciwgdXNlQ2xhc3M6IFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRFU1RfQ0FTRV9TVEVQX0NPTVBPTkVOVF9NQVAsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBzdGVwR3JvdXA6IFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgICAgICBjb25kaXRpb25TdGVwOiBUZXN0Q2FzZUNvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgICAgIGNvbmRpdGlvbkRlYnVnU3RlcDogQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50LFxuICAgICAgICBsb29wU3RlcDogVGVzdENhc2VMb29wU3RlcENvbXBvbmVudCxcbiAgICAgICAgbm9ybWFsU3RlcDogVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgICAgICBhcGlTdGVwOiBUZXN0Q2FzZUFwaVN0ZXBDb21wb25lbnQsXG4gICAgICAgIGRhdGFiYXNlU3RlcDogVGVzdENhc2VEYXRhYmFzZVN0ZXBDb21wb25lbnQsXG4gICAgICAgIGFpQWdlbnRTdGVwOiBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgICAgICBhaVZlcmlmeVN0ZXA6IFRlc3RDYXNlQWlWZXJpZnlTdGVwQ29tcG9uZW50LFxuICAgICAgICB1cGxvYWRTdGVwOiBUZXN0Q2FzZVVwbG9hZFN0ZXBDb21wb25lbnQsXG4gICAgICAgIHNjcmVlbnNob3RTdGVwOiBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgICAgICBzY3JvbGxTdGVwOiBUZXN0Q2FzZVNjcm9sbFN0ZXBDb21wb25lbnQsXG4gICAgICAgIHZlcmlmeVVybFN0ZXA6IFRlc3RDYXNlVmVyaWZ5VXJsU3RlcENvbXBvbmVudCxcbiAgICAgICAgcmVzdG9yZVNlc3Npb25TdGVwOiBUZXN0Q2FzZVJlc3RvcmVTZXNzaW9uU3RlcENvbXBvbmVudCxcbiAgICAgICAgY3VzdG9tQ29kZVN0ZXA6IFRlc3RDYXNlQ3VzdG9tQ29kZVN0ZXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU1RFUF9DT01QT05FTlRfTUFQLFxuICAgICAgdXNlVmFsdWU6IG5ldyBNYXA8c3RyaW5nLCBUeXBlPGFueT4+KFtcbiAgICAgICAgWydiYXNpYycsIEJhc2ljU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnc3RlcC1ncm91cCcsIFN0ZXBHcm91cENvbXBvbmVudF0sXG4gICAgICAgIFsnbG9vcCcsIExvb3BTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydjb25kaXRpb24nLCBDb25kaXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydjb25kaXRpb24tZGVidWcnLCBDb25kaXRpb25EZWJ1Z1N0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2ZhaWxlZCcsIEZhaWxlZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ3VwZGF0ZWQtZmFpbGVkJywgVXBkYXRlZEZhaWxlZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2FpLWFnZW50JywgQUlBZ2VudFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2FpLWFjdGlvbicsIEFJQWN0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnYXBpJywgQXBpU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZmlsZS1kb3dubG9hZCcsIEZpbGVEb3dubG9hZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2RvY3VtZW50LXZlcmlmaWNhdGlvbicsIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnbGl2ZS1leGVjdXRpb24nLCBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZGItdmVyaWZpY2F0aW9uJywgRGJWZXJpZmljYXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgIF0pXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVpS2l0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcygnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcsICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJyk7XG4gIH1cbn1cblxuIl19
|
|
902
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkta2l0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFvQixzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFB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VyxFQUFFLHNCQUFzQixDQUFDO2dDQUNyQyxDQUFDLGlCQUFpQixFQUFFLDJCQUEyQixDQUFDO2dDQUNoRCxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztnQ0FDL0IsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQztnQ0FDOUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7Z0NBQ2xDLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDO2dDQUNwQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQztnQ0FDekIsQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUM7Z0NBQzVDLENBQUMsdUJBQXVCLEVBQUUsaUNBQWlDLENBQUM7Z0NBQzVELENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUM7Z0NBQzlDLENBQUMsaUJBQWlCLEVBQUUsMkJBQTJCLENBQUM7NkJBQ2pELENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgZm9yd2FyZFJlZiwgVHlwZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUsIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5neFR5cGVkSnNNb2R1bGUgfSBmcm9tICduZ3gtdHlwZWQtanMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWdtZW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY0NlbGxDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy1jZWxsLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3RoZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL290aGVyLWJ1dHRvbi9vdGhlci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZGF0ZXJhbmdlcGlja2VyL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXZpc2liaWxpdHkvY29sdW1uLXZpc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2NoYXJ0LWNhcmQvY2hhcnQtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy93b3Jrc3BhY2Utc2VsZWN0b3Ivd29ya3NwYWNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQvdGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9mYWlsZWQtdGVzdC1jYXNlcy1jYXJkL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZFByZXJlcXVpc2l0ZUNhc2VzU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXByZXJlcXVpc2l0ZS1jYXNlcy1zZWN0aW9uL2FkZC1wcmVyZXF1aXNpdGUtY2FzZXMtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0ZWRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RlZC1maWx0ZXJzL3NlbGVjdGVkLWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEluc2lnaHRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2luc2lnaHQtY2FyZC9pbnNpZ2h0LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWJ1dHRvbi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEhlYXRFcnJvck1hcENlbGxDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvaGVhdC1lcnJvci1tYXAtY2VsbC9oZWF0LWVycm9yLW1hcC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdGVtcGxhdGVzL3RhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWlsd2luZE92ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IEZ1bGxUYWJsZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZnVsbC10YWJsZS1sb2FkZXIvZnVsbC10YWJsZS1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtZGF0YS1sb2FkZXIvdGFibGUtZGF0YS1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNURVBfQ09NUE9ORU5UX01BUCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLXJlZ2lzdHJ5LnRva2VuJztcbmltcG9ydCB7IEJhc2ljU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9iYXNpYy1zdGVwL2Jhc2ljLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLXJlbmRlcmVyL3N0ZXAtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zdGVwLWdyb3VwL3N0ZXAtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IExvb3BTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2xvb3Atc3RlcC9sb29wLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmRpdGlvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vY29uZGl0aW9uLXN0ZXAvY29uZGl0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZhaWxlZFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZmFpbGVkLXN0ZXAvZmFpbGVkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVwZGF0ZWRGYWlsZWRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3VwZGF0ZWQtZmFpbGVkLXN0ZXAvdXBkYXRlZC1mYWlsZWQtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld01vcmVGYWlsZWRTdGVwQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3ZpZXctbW9yZS1mYWlsZWQtc3RlcC1idXR0b24vdmlldy1tb3JlLWZhaWxlZC1zdGVwLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zZWxmLWhlYWwtYW5hbHlzaXMvc2VsZi1oZWFsLWFuYWx5c2lzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBSUFnZW50U3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1hZ2VudC1zdGVwL2FpLWFnZW50LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEFJQWN0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1hY3Rpb24tc3RlcC9haS1hY3Rpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBpU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9hcGktc3RlcC9hcGktc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZURvd25sb2FkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9maWxlLWRvd25sb2FkLXN0ZXAvZmlsZS1kb3dubG9hZC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2N1bWVudFZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZG9jdW1lbnQtdmVyaWZpY2F0aW9uLXN0ZXAvZG9jdW1lbnQtdmVyaWZpY2F0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IExpdmVFeGVjdXRpb25TdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2xpdmUtZXhlY3V0aW9uLXN0ZXAvbGl2ZS1leGVjdXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWlMb2dzV2l0aFJlYXNvbmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9haS1sb2dzLXdpdGgtcmVhc29uaW5nL2FpLWxvZ3Mtd2l0aC1yZWFzb25pbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9qdW1wLXRvLXN0ZXAtbW9kYWwvanVtcC10by1zdGVwLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2JyZWFrcG9pbnRzLW1vZGFsL2JyZWFrcG9pbnRzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWNvcmRpbmdCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vcmVjb3JkaW5nLWJhbm5lci9yZWNvcmRpbmctYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vcmV2aWV3LXJlY29yZGVkLXN0ZXBzLW1vZGFsL3Jldmlldy1yZWNvcmRlZC1zdGVwcy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9tYWluLXN0ZXAtY29sbGFwc2UvbWFpbi1zdGVwLWNvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL3Zpc3VhbC1jb21wYXJpc29uL3Zpc3VhbC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW11bGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NpbXVsYXRvci9zaW11bGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnNvbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uc29sZS1hbGVydC9jb25zb2xlLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaURlYnVnQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2FpLWRlYnVnLWFsZXJ0L2FpLWRlYnVnLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXR3b3JrUmVxdWVzdENvbXBvbmVudCB9IGZyb20gJy4vbmV0d29yay1yZXF1ZXN0L25ldHdvcmstcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQgfSBmcm9tICcuL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlzdWFsRGlmZmVyZW5jZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC92aXN1YWwtZGlmZmVyZW5jZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBhcmVSdW5zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXJ1bnMvY29tcGFyZS1ydW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVyYXRpb25zTG9vcENvbXBvbmVudCB9IGZyb20gJy4vaXRlcmF0aW9ucy1sb29wL2l0ZXJhdGlvbnMtbG9vcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkU3RlcENhcmRDb21wb25lbnQgfSBmcm9tICcuL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdGV4dGFyZWEvY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb2RlLWVkaXRvci9jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9uYWNvRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmd4LW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgQ3VzdG9tVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdG9nZ2xlL2N1c3RvbS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaVJlYXNvbmluZ0NvbXBvbmVudCB9IGZyb20gJy4vYWktcmVhc29uaW5nL2FpLXJlYXNvbmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhlY3V0aW9uUmVzdWx0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1yZXN1bHQtbW9kYWwvZXhlY3V0aW9uLXJlc3VsdC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Vzc2lvbkNoYW5nZXNNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9zZXNzaW9uLWNoYW5nZXMtbW9kYWwvc2Vzc2lvbi1jaGFuZ2VzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvck1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwb3J0Q29kZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnQtY29kZS1tb2RhbC9leHBvcnQtY29kZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBQcm9ncmVzc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL3N0ZXAtcHJvZ3Jlc3MtY2FyZC9zdGVwLXByb2dyZXNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBTdGF0dXNDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLXN0YXR1cy1jYXJkL3N0ZXAtc3RhdHVzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IERiVmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vZXhlY3V0aW9uLXNjcmVlbi9kYi12ZXJpZmljYXRpb24tc3RlcC9kYi12ZXJpZmljYXRpb24tc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vZGItcXVlcnktZXhlY3V0aW9uLWl0ZW0vZGItcXVlcnktZXhlY3V0aW9uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlTm9ybWFsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvbm9ybWFsLXN0ZXAvbm9ybWFsLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2xvb3Atc3RlcC9sb29wLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlQ29uZGl0aW9uU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvY29uZGl0aW9uLXN0ZXAvY29uZGl0aW9uLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9zdGVwLWdyb3VwL3N0ZXAtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWNhc2UtZGV0YWlscy1yZW5kZXJlci90ZXN0LWNhc2UtZGV0YWlscy1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VBcGlTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9hcGktc3RlcC9hcGktc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VEYXRhYmFzZVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2RhdGFiYXNlLXN0ZXAvZGF0YWJhc2Utc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VBaUFnZW50U3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvYWktYWdlbnQtc3RlcC9haS1hZ2VudC1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0Q2FzZUFpVmVyaWZ5U3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvYWktdmVyaWZ5LXN0ZXAvYWktdmVyaWZ5LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdXBsb2FkLXN0ZXAvdXBsb2FkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU2NyZWVuc2hvdFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3NjcmVlbnNob3Qtc3RlcC9zY3JlZW5zaG90LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvc2Nyb2xsLXN0ZXAvc2Nyb2xsLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3RDYXNlVmVyaWZ5VXJsU3RlcENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdmVyaWZ5LXVybC1zdGVwL3ZlcmlmeS11cmwtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0Q2FzZUN1c3RvbUNvZGVTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9jdXN0b20tY29kZS1zdGVwL2N1c3RvbS1jb2RlLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9jdXN0b20tZWRpdC1zdGVwL2N1c3RvbS1lZGl0LXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9pdGVtLWxpc3QvaXRlbS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXN0RGF0YU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWRhdGEtbW9kYWwvdGVzdC1kYXRhLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcmVhdGVTdGVwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2NyZWF0ZS1zdGVwLWdyb3VwL2NyZWF0ZS1zdGVwLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWxldGVTdGVwc0NvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZGVsZXRlLXN0ZXBzL2RlbGV0ZS1zdGVwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVuRXhlY3V0aW9uQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3J1bi1leGVjdXRpb24tYWxlcnQvcnVuLWV4ZWN1dGlvbi1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBpRWRpdFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL2FwaS1lZGl0LXN0ZXAvYXBpLWVkaXQtc3RlcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEVTVF9DQVNFX1NURVBfQ09NUE9ORU5UX01BUCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdGVzdC1jYXNlLXN0ZXAtY29tcG9uZW50cy50b2tlbic7XG5pbXBvcnQgeyBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXZlLWNvbnZlcnNhdGlvbi9saXZlLWNvbnZlcnNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG5kTW9kdWxlIH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1hY3Rpb24vc3RlcC1idWlsZGVyLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJMb29wQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWxvb3Avc3RlcC1idWlsZGVyLWxvb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1wb3B1cC9lbGVtZW50LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1wb3B1cC9lbGVtZW50LWZvcm0vZWxlbWVudC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckNvbmRpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1jb25kaXRpb24vc3RlcC1idWlsZGVyLWNvbmRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1kYXRhYmFzZS9zdGVwLWJ1aWxkZXItZGF0YWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyQWlBZ2VudENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1haS1hZ2VudC9zdGVwLWJ1aWxkZXItYWktYWdlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyQ3VzdG9tQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1jdXN0b20tY29kZS9zdGVwLWJ1aWxkZXItY3VzdG9tLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyUmVjb3JkU3RlcENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1yZWNvcmQtc3RlcC9zdGVwLWJ1aWxkZXItcmVjb3JkLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWRvY3VtZW50LWdlbmVyYXRpb24tdGVtcGxhdGUtc3RlcC9zdGVwLWJ1aWxkZXItZG9jdW1lbnQtZ2VuZXJhdGlvbi10ZW1wbGF0ZS1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50TGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvZWxlbWVudC1saXN0L2VsZW1lbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcEJ1aWxkZXJEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL3N0ZXAtYnVpbGRlci1kb2N1bWVudC9zdGVwLWJ1aWxkZXItZG9jdW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbFNpZGVQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLXNpZGUtcGFuZWwvZGV0YWlsLXNpZGUtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLWRyYXdlci9kZXRhaWwtZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQgfSBmcm9tICcuL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci10YWIvZGV0YWlsLWRyYXdlci10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFpbERyYXdlclRhYkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci10YWItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGVzdENhc2VEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy90ZXN0LWNhc2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCB9IGZyb20gJy4vdGVzdC1jYXNlLWRldGFpbHMvdGVzdC1jYXNlLWRldGFpbHMtZWRpdC90ZXN0LWNhc2UtZGV0YWlscy1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvc3RlcC1idWlsZGVyLWdyb3VwL3N0ZXAtYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcERldGFpbHNEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL3Rlc3QtY2FzZS1kZXRhaWxzL3N0ZXAtZGV0YWlscy1kcmF3ZXIvc3RlcC1kZXRhaWxzLWRyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVtcGxhdGVWYXJpYWJsZXNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWJ1aWxkZXIvdGVtcGxhdGUtdmFyaWFibGVzLWZvcm0vdGVtcGxhdGUtdmFyaWFibGVzLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkVmFyaWFibGVzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcC1idWlsZGVyL2FkdmFuY2VkLXZhcmlhYmxlcy1mb3JtL2FkdmFuY2VkLXZhcmlhYmxlcy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwRGV0YWlsc01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXN0LWNhc2UtZGV0YWlscy9zdGVwLWRldGFpbHMtbW9kYWwvc3RlcC1kZXRhaWxzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IENhbWVsVG9UaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NhbWVsLXRvLXRpdGxlLnBpcGUnO1xuaW1wb3J0IHsgQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9leGVjdXRpb24tc2NyZWVuL2NvbmRpdGlvbi1kZWJ1Zy1zdGVwL2NvbmRpdGlvbi1kZWJ1Zy1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25CcmFuY2hFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2V4ZWN1dGlvbi1zY3JlZW4vY29uZGl0aW9uLWRlYnVnLXN0ZXAvY29uZGl0aW9uLWJyYW5jaC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFZlcnNpb25IaXN0b3J5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vdmVyc2lvbi1oaXN0b3J5L3ZlcnNpb24taGlzdG9yeS1saXN0L3ZlcnNpb24taGlzdG9yeS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWZXJzaW9uSGlzdG9yeUNvbXBhcmVDb21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktY29tcGFyZS92ZXJzaW9uLWhpc3RvcnktY29tcGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmVyc2lvbkhpc3RvcnlEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktZGV0YWlsL3ZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IFZlcnNpb25IaXN0b3J5UmVzdG9yZUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3ZlcnNpb24taGlzdG9yeS92ZXJzaW9uLWhpc3RvcnktcmVzdG9yZS1jb25maXJtL3ZlcnNpb24taGlzdG9yeS1yZXN0b3JlLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE5ld1ZlcnNpb25IaXN0b3J5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJzaW9uLWhpc3RvcnkvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ2VsbENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQsXG4gICAgT3RoZXJCdXR0b25Db21wb25lbnQsXG4gICAgRHluYW1pY0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIE1ldHJpY3NCbG9ja0NvbXBvbmVudCxcbiAgICBDaGFydENhcmRDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCxcbiAgICBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQsXG4gICAgV29ya3NwYWNlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQ292ZXJhZ2VNb2R1bGVDYXJkQ29tcG9uZW50LFxuICAgIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEZhaWxlZFRlc3RDYXNlc0NhcmRDb21wb25lbnQsXG4gICAgRHluYW1pY1NlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgIEFkZFByZXJlcXVpc2l0ZUNhc2VzU2VjdGlvbkNvbXBvbmVudCxcbiAgICBTZWxlY3RlZEZpbHRlcnNDb21wb25lbnQsXG4gICAgSW5zaWdodENhcmRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgRHJvcGRvd25CdXR0b25Db21wb25lbnQsXG4gICAgSGVhdEVycm9yTWFwQ2VsbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgRnVsbFRhYmxlTG9hZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudCxcbiAgICBCYXNpY1N0ZXBDb21wb25lbnQsXG4gICAgU3RlcFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBMb29wU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkRlYnVnU3RlcENvbXBvbmVudCxcbiAgICBDb25kaXRpb25CcmFuY2hFZGl0b3JDb21wb25lbnQsXG4gICAgRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBSUFjdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudCxcbiAgICBBaUxvZ3NXaXRoUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCxcbiAgICBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50LFxuICAgIFJlY29yZGluZ0Jhbm5lckNvbXBvbmVudCxcbiAgICBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQsXG4gICAgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCxcbiAgICBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50LFxuICAgIFNpbXVsYXRvckNvbXBvbmVudCxcbiAgICBDb25zb2xlQWxlcnRDb21wb25lbnQsXG4gICAgQWlEZWJ1Z0FsZXJ0Q29tcG9uZW50LFxuICAgIE5ldHdvcmtSZXF1ZXN0Q29tcG9uZW50LFxuICAgIFJ1bkhpc3RvcnlDYXJkQ29tcG9uZW50LFxuICAgIFZpc3VhbERpZmZlcmVuY2VNb2RhbENvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBDb21wYXJlUnVuc0NvbXBvbmVudCxcbiAgICBJdGVyYXRpb25zTG9vcENvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCxcbiAgICBDdXN0b21JbnB1dENvbXBvbmVudCxcbiAgICBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDb2RlRWRpdG9yQ29tcG9uZW50LFxuICAgIEN1c3RvbVRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50LFxuICAgIFNlc3Npb25DaGFuZ2VzTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBFeHBvcnRDb2RlTW9kYWxDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgU3RlcFByb2dyZXNzQ2FyZENvbXBvbmVudCxcbiAgICBTdGVwU3RhdHVzQ2FyZENvbXBvbmVudCxcbiAgICBEYlZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQsXG4gICAgVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQXBpU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZURhdGFiYXNlU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQWlWZXJpZnlTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVZlcmlmeVVybFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDdXN0b21Db2RlU3RlcENvbXBvbmVudCxcbiAgICBDdXN0b21FZGl0U3RlcENvbXBvbmVudCxcbiAgICBJdGVtTGlzdENvbXBvbmVudCxcbiAgICBUZXN0RGF0YU1vZGFsQ29tcG9uZW50LFxuICAgIENyZWF0ZVN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBEZWxldGVTdGVwc0NvbXBvbmVudCxcbiAgICBSdW5FeGVjdXRpb25BbGVydENvbXBvbmVudCxcbiAgICBBcGlFZGl0U3RlcENvbXBvbmVudCxcbiAgICBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyQWN0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyTG9vcENvbXBvbmVudCxcbiAgICBFbGVtZW50UG9wdXBDb21wb25lbnQsXG4gICAgRWxlbWVudEZvcm1Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJDb25kaXRpb25Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckFpQWdlbnRDb21wb25lbnQsXG4gICAgQ29kZUVkaXRvckNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckN1c3RvbUNvZGVDb21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJSZWNvcmRTdGVwQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50LFxuICAgIEVsZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRDb21wb25lbnQsXG4gICAgRGV0YWlsU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIERldGFpbERyYXdlckNvbXBvbmVudCxcbiAgICBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQsXG4gICAgRGV0YWlsRHJhd2VyVGFiQ29udGVudERpcmVjdGl2ZSxcbiAgICBUZXN0Q2FzZURldGFpbHNDb21wb25lbnQsXG4gICAgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50LFxuICAgIFN0ZXBEZXRhaWxzRHJhd2VyQ29tcG9uZW50LFxuICAgIFRlbXBsYXRlVmFyaWFibGVzRm9ybUNvbXBvbmVudCxcbiAgICBBZHZhbmNlZFZhcmlhYmxlc0Zvcm1Db21wb25lbnQsXG4gICAgU3RlcERldGFpbHNNb2RhbENvbXBvbmVudCxcbiAgICBTYWZlSHRtbFBpcGUsXG4gICAgQ2FtZWxUb1RpdGxlUGlwZSxcbiAgICBWZXJzaW9uSGlzdG9yeUxpc3RDb21wb25lbnQsXG4gICAgVmVyc2lvbkhpc3RvcnlDb21wYXJlQ29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5RGV0YWlsQ29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5UmVzdG9yZUNvbmZpcm1Db21wb25lbnQsXG4gICAgTmV3VmVyc2lvbkhpc3RvcnlEZXRhaWxDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOb29wQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE5neFR5cGVkSnNNb2R1bGUsXG4gICAgRG5kTW9kdWxlLFxuICAgIE1vbmFjb0VkaXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ2VsbENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQsXG4gICAgT3RoZXJCdXR0b25Db21wb25lbnQsXG4gICAgRHluYW1pY0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIENoYXJ0Q2FyZENvbXBvbmVudCxcbiAgICBQcm9ncmVzc1RleHRDYXJkQ29tcG9uZW50LFxuICAgIERhc2hib2FyZEhlYWRlckNvbXBvbmVudCxcbiAgICBXb3Jrc3BhY2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQsXG4gICAgVGVzdERpc3RyaWJ1dGlvbkNhcmRDb21wb25lbnQsXG4gICAgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCxcbiAgICBEeW5hbWljU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgQWRkUHJlcmVxdWlzaXRlQ2FzZXNTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCxcbiAgICBJbnNpZ2h0Q2FyZENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQsXG4gICAgVGFibGVEYXRhTG9hZGVyQ29tcG9uZW50LFxuICAgIEJhc2ljU3RlcENvbXBvbmVudCxcbiAgICBTdGVwUmVuZGVyZXJDb21wb25lbnQsXG4gICAgU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIExvb3BTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkJyYW5jaEVkaXRvckNvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ29tcG9uZW50LFxuICAgIENvbmRpdGlvbkRlYnVnU3RlcENvbXBvbmVudCxcbiAgICBVcGRhdGVkRmFpbGVkU3RlcENvbXBvbmVudCxcbiAgICBWaWV3TW9yZUZhaWxlZFN0ZXBCdXR0b25Db21wb25lbnQsXG4gICAgU2VsZkhlYWxBbmFseXNpc0NvbXBvbmVudCxcbiAgICBBSUFnZW50U3RlcENvbXBvbmVudCxcbiAgICBBSUFjdGlvblN0ZXBDb21wb25lbnQsXG4gICAgQXBpU3RlcENvbXBvbmVudCxcbiAgICBGaWxlRG93bmxvYWRTdGVwQ29tcG9uZW50LFxuICAgIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudCxcbiAgICBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudCxcbiAgICBBaUxvZ3NXaXRoUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEp1bXBUb1N0ZXBNb2RhbENvbXBvbmVudCxcbiAgICBCcmVha3BvaW50c01vZGFsQ29tcG9uZW50LFxuICAgIFJlY29yZGluZ0Jhbm5lckNvbXBvbmVudCxcbiAgICBSZXZpZXdSZWNvcmRlZFN0ZXBzTW9kYWxDb21wb25lbnQsXG4gICAgTWFpblN0ZXBDb2xsYXBzZUNvbXBvbmVudCxcbiAgICBWaXN1YWxDb21wYXJpc29uQ29tcG9uZW50LFxuICAgIFNpbXVsYXRvckNvbXBvbmVudCxcbiAgICBDb25zb2xlQWxlcnRDb21wb25lbnQsXG4gICAgQWlEZWJ1Z0FsZXJ0Q29tcG9uZW50LFxuICAgIE5ldHdvcmtSZXF1ZXN0Q29tcG9uZW50LFxuICAgIFJ1bkhpc3RvcnlDYXJkQ29tcG9uZW50LFxuICAgIFZpc3VhbERpZmZlcmVuY2VNb2RhbENvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBDb21wYXJlUnVuc0NvbXBvbmVudCxcbiAgICBJdGVyYXRpb25zTG9vcENvbXBvbmVudCxcbiAgICBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCxcbiAgICBDdXN0b21JbnB1dENvbXBvbmVudCxcbiAgICBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDb2RlRWRpdG9yQ29tcG9uZW50LFxuICAgIEN1c3RvbVRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEFpUmVhc29uaW5nQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblJlc3VsdE1vZGFsQ29tcG9uZW50LFxuICAgIFNlc3Npb25DaGFuZ2VzTW9kYWxDb21wb25lbnQsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBFeHBvcnRDb2RlTW9kYWxDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgU3RlcFByb2dyZXNzQ2FyZENvbXBvbmVudCxcbiAgICBTdGVwU3RhdHVzQ2FyZENvbXBvbmVudCxcbiAgICBEYlZlcmlmaWNhdGlvblN0ZXBDb21wb25lbnQsXG4gICAgRGJRdWVyeUV4ZWN1dGlvbkl0ZW1Db21wb25lbnQsXG4gICAgVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlTG9vcFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDb25kaXRpb25TdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlRGV0YWlsc1JlbmRlcmVyQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlQXBpU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZURhdGFiYXNlU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlVXBsb2FkU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgIFRlc3RDYXNlU2Nyb2xsU3RlcENvbXBvbmVudCxcbiAgICBUZXN0Q2FzZVZlcmlmeVVybFN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VSZXN0b3JlU2Vzc2lvblN0ZXBDb21wb25lbnQsXG4gICAgVGVzdENhc2VDdXN0b21Db2RlU3RlcENvbXBvbmVudCxcbiAgICBDdXN0b21FZGl0U3RlcENvbXBvbmVudCxcbiAgICBJdGVtTGlzdENvbXBvbmVudCxcbiAgICBUZXN0RGF0YU1vZGFsQ29tcG9uZW50LFxuICAgIENyZWF0ZVN0ZXBHcm91cENvbXBvbmVudCxcbiAgICBEZWxldGVTdGVwc0NvbXBvbmVudCxcbiAgICBSdW5FeGVjdXRpb25BbGVydENvbXBvbmVudCxcbiAgICBBcGlFZGl0U3RlcENvbXBvbmVudCxcbiAgICBMaXZlQ29udmVyc2F0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyQWN0aW9uQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyTG9vcENvbXBvbmVudCxcbiAgICBFbGVtZW50UG9wdXBDb21wb25lbnQsXG4gICAgRWxlbWVudEZvcm1Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJDb25kaXRpb25Db21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJEYXRhYmFzZUNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckFpQWdlbnRDb21wb25lbnQsXG4gICAgQ29kZUVkaXRvckNvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckN1c3RvbUNvZGVDb21wb25lbnQsXG4gICAgU3RlcEJ1aWxkZXJSZWNvcmRTdGVwQ29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRHZW5lcmF0aW9uVGVtcGxhdGVTdGVwQ29tcG9uZW50LFxuICAgIEVsZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIFN0ZXBCdWlsZGVyRG9jdW1lbnRDb21wb25lbnQsXG4gICAgRGV0YWlsU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIERldGFpbERyYXdlckNvbXBvbmVudCxcbiAgICBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQsXG4gICAgRGV0YWlsRHJhd2VyVGFiQ29udGVudERpcmVjdGl2ZSxcbiAgICBUZXN0Q2FzZURldGFpbHNDb21wb25lbnQsXG4gICAgVGVzdENhc2VEZXRhaWxzRWRpdENvbXBvbmVudCxcbiAgICBTdGVwQnVpbGRlckdyb3VwQ29tcG9uZW50LFxuICAgIFN0ZXBEZXRhaWxzRHJhd2VyQ29tcG9uZW50LFxuICAgIFRlbXBsYXRlVmFyaWFibGVzRm9ybUNvbXBvbmVudCxcbiAgICBBZHZhbmNlZFZhcmlhYmxlc0Zvcm1Db21wb25lbnQsXG4gICAgVmVyc2lvbkhpc3RvcnlMaXN0Q29tcG9uZW50LFxuICAgIFZlcnNpb25IaXN0b3J5Q29tcGFyZUNvbXBvbmVudCxcbiAgICBWZXJzaW9uSGlzdG9yeURldGFpbENvbXBvbmVudCxcbiAgICBWZXJzaW9uSGlzdG9yeVJlc3RvcmVDb25maXJtQ29tcG9uZW50LFxuICAgIE5ld1ZlcnNpb25IaXN0b3J5RGV0YWlsQ29tcG9uZW50LFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lciwgdXNlQ2xhc3M6IFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRFU1RfQ0FTRV9TVEVQX0NPTVBPTkVOVF9NQVAsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBzdGVwR3JvdXA6IFRlc3RDYXNlU3RlcEdyb3VwQ29tcG9uZW50LFxuICAgICAgICBjb25kaXRpb25TdGVwOiBUZXN0Q2FzZUNvbmRpdGlvblN0ZXBDb21wb25lbnQsXG4gICAgICAgIGNvbmRpdGlvbkRlYnVnU3RlcDogQ29uZGl0aW9uRGVidWdTdGVwQ29tcG9uZW50LFxuICAgICAgICBsb29wU3RlcDogVGVzdENhc2VMb29wU3RlcENvbXBvbmVudCxcbiAgICAgICAgbm9ybWFsU3RlcDogVGVzdENhc2VOb3JtYWxTdGVwQ29tcG9uZW50LFxuICAgICAgICBhcGlTdGVwOiBUZXN0Q2FzZUFwaVN0ZXBDb21wb25lbnQsXG4gICAgICAgIGRhdGFiYXNlU3RlcDogVGVzdENhc2VEYXRhYmFzZVN0ZXBDb21wb25lbnQsXG4gICAgICAgIGFpQWdlbnRTdGVwOiBUZXN0Q2FzZUFpQWdlbnRTdGVwQ29tcG9uZW50LFxuICAgICAgICBhaVZlcmlmeVN0ZXA6IFRlc3RDYXNlQWlWZXJpZnlTdGVwQ29tcG9uZW50LFxuICAgICAgICB1cGxvYWRTdGVwOiBUZXN0Q2FzZVVwbG9hZFN0ZXBDb21wb25lbnQsXG4gICAgICAgIHNjcmVlbnNob3RTdGVwOiBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50LFxuICAgICAgICBzY3JvbGxTdGVwOiBUZXN0Q2FzZVNjcm9sbFN0ZXBDb21wb25lbnQsXG4gICAgICAgIHZlcmlmeVVybFN0ZXA6IFRlc3RDYXNlVmVyaWZ5VXJsU3RlcENvbXBvbmVudCxcbiAgICAgICAgcmVzdG9yZVNlc3Npb25TdGVwOiBUZXN0Q2FzZVJlc3RvcmVTZXNzaW9uU3RlcENvbXBvbmVudCxcbiAgICAgICAgY3VzdG9tQ29kZVN0ZXA6IFRlc3RDYXNlQ3VzdG9tQ29kZVN0ZXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU1RFUF9DT01QT05FTlRfTUFQLFxuICAgICAgdXNlVmFsdWU6IG5ldyBNYXA8c3RyaW5nLCBUeXBlPGFueT4+KFtcbiAgICAgICAgWydiYXNpYycsIEJhc2ljU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnc3RlcC1ncm91cCcsIFN0ZXBHcm91cENvbXBvbmVudF0sXG4gICAgICAgIFsnbG9vcCcsIExvb3BTdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydjb25kaXRpb24nLCBDb25kaXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgICAgWydjb25kaXRpb24tZGVidWcnLCBDb25kaXRpb25EZWJ1Z1N0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2ZhaWxlZCcsIEZhaWxlZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ3VwZGF0ZWQtZmFpbGVkJywgVXBkYXRlZEZhaWxlZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2FpLWFnZW50JywgQUlBZ2VudFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2FpLWFjdGlvbicsIEFJQWN0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnYXBpJywgQXBpU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZmlsZS1kb3dubG9hZCcsIEZpbGVEb3dubG9hZFN0ZXBDb21wb25lbnRdLFxuICAgICAgICBbJ2RvY3VtZW50LXZlcmlmaWNhdGlvbicsIERvY3VtZW50VmVyaWZpY2F0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnbGl2ZS1leGVjdXRpb24nLCBMaXZlRXhlY3V0aW9uU3RlcENvbXBvbmVudF0sXG4gICAgICAgIFsnZGItdmVyaWZpY2F0aW9uJywgRGJWZXJpZmljYXRpb25TdGVwQ29tcG9uZW50XSxcbiAgICAgIF0pXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVpS2l0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcygnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcsICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJyk7XG4gIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../badge/badge.component";
|
|
4
|
+
import * as i2 from "../../button/button.component";
|
|
5
|
+
import * as i3 from "../../empty-state/empty-state.component";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class NewVersionHistoryDetailComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectedIsCurrent = false;
|
|
10
|
+
this.isRestoring = false;
|
|
11
|
+
this.getAuthorLabelFn = () => '';
|
|
12
|
+
this.getFieldLabelFn = (field) => field;
|
|
13
|
+
this.getStepPrefixFn = () => 'Step';
|
|
14
|
+
this.getCategoryLabelFn = (cat) => (cat || 'Other') + ' Changes';
|
|
15
|
+
this.formatDisplayValueFn = (v) => v == null ? '-' : String(v);
|
|
16
|
+
this.getStepActionHtmlFn = () => '';
|
|
17
|
+
this.hiddenFields = [];
|
|
18
|
+
this.parseFieldAsTableFn = () => null;
|
|
19
|
+
this.compare = new EventEmitter();
|
|
20
|
+
this.restore = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
get hasTestCaseChanges() {
|
|
23
|
+
return this.selectedVersion?.testCase?.hasChanges === true;
|
|
24
|
+
}
|
|
25
|
+
get testCaseChangedFields() {
|
|
26
|
+
return this.visibleFields(this.selectedVersion?.testCase?.changedFields || []);
|
|
27
|
+
}
|
|
28
|
+
visibleFields(fields) {
|
|
29
|
+
if (!this.hiddenFields?.length) {
|
|
30
|
+
return fields;
|
|
31
|
+
}
|
|
32
|
+
return fields.filter(f => !this.hiddenFields.includes(f));
|
|
33
|
+
}
|
|
34
|
+
visibleChangedFields(step) {
|
|
35
|
+
return this.visibleFields(step?.changedFields || []);
|
|
36
|
+
}
|
|
37
|
+
get stepsAdded() {
|
|
38
|
+
return this.selectedVersion?.steps?.added || [];
|
|
39
|
+
}
|
|
40
|
+
get stepsDeleted() {
|
|
41
|
+
return this.selectedVersion?.steps?.deleted || [];
|
|
42
|
+
}
|
|
43
|
+
get stepsUpdated() {
|
|
44
|
+
return this.selectedVersion?.steps?.updated || [];
|
|
45
|
+
}
|
|
46
|
+
get stepsSummary() {
|
|
47
|
+
return this.selectedVersion?.steps?.summary;
|
|
48
|
+
}
|
|
49
|
+
get hasAnyChanges() {
|
|
50
|
+
return this.hasTestCaseChanges
|
|
51
|
+
|| this.stepsAdded.length > 0
|
|
52
|
+
|| this.stepsDeleted.length > 0
|
|
53
|
+
|| this.stepsUpdated.length > 0;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Tries to parse the value as a plain object (or a JSON string that is an object).
|
|
57
|
+
* Returns the parsed object, or null if the value is not an object/JSON-object.
|
|
58
|
+
*/
|
|
59
|
+
parseObjectValue(value) {
|
|
60
|
+
if (value == null) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
if (typeof value === 'object' && !Array.isArray(value)) {
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
if (typeof value === 'string') {
|
|
67
|
+
const trimmed = value.trim();
|
|
68
|
+
if (trimmed.startsWith('{')) {
|
|
69
|
+
try {
|
|
70
|
+
const parsed = JSON.parse(trimmed);
|
|
71
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
72
|
+
return parsed;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch { /* not valid JSON */ }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
/** Returns only the keys where old and new values differ. */
|
|
81
|
+
objectKeys(oldObj, newObj) {
|
|
82
|
+
const allKeys = new Set([
|
|
83
|
+
...Object.keys(oldObj || {}),
|
|
84
|
+
...Object.keys(newObj || {})
|
|
85
|
+
]);
|
|
86
|
+
return Array.from(allKeys).filter(key => JSON.stringify((oldObj || {})[key]) !== JSON.stringify((newObj || {})[key]));
|
|
87
|
+
}
|
|
88
|
+
/** True when the value for a key differs between old and new. */
|
|
89
|
+
isKeyChanged(oldObj, newObj, key) {
|
|
90
|
+
return JSON.stringify((oldObj || {})[key]) !== JSON.stringify((newObj || {})[key]);
|
|
91
|
+
}
|
|
92
|
+
formatPrimitiveValue(value) {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return '-';
|
|
95
|
+
}
|
|
96
|
+
if (typeof value === 'boolean') {
|
|
97
|
+
return value ? 'true' : 'false';
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(value)) {
|
|
100
|
+
if (value.length === 0) {
|
|
101
|
+
return '-';
|
|
102
|
+
}
|
|
103
|
+
return value.map((item, i) => `${i + 1}. ${typeof item === 'object' ? JSON.stringify(item) : String(item)}`).join('\n');
|
|
104
|
+
}
|
|
105
|
+
if (typeof value === 'object') {
|
|
106
|
+
return JSON.stringify(value);
|
|
107
|
+
}
|
|
108
|
+
return String(value);
|
|
109
|
+
}
|
|
110
|
+
trackByKey(_index, key) {
|
|
111
|
+
return key;
|
|
112
|
+
}
|
|
113
|
+
trackByField(_index, field) {
|
|
114
|
+
return field;
|
|
115
|
+
}
|
|
116
|
+
trackByStepId(_index, step) {
|
|
117
|
+
return step.stepId ?? step.old?.id ?? step.new?.id ?? _index;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
NewVersionHistoryDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewVersionHistoryDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
NewVersionHistoryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NewVersionHistoryDetailComponent, selector: "cqa-new-version-history-detail", inputs: { selectedVersion: "selectedVersion", selectedIsCurrent: "selectedIsCurrent", isRestoring: "isRestoring", getAuthorLabelFn: "getAuthorLabelFn", getFieldLabelFn: "getFieldLabelFn", getStepPrefixFn: "getStepPrefixFn", getCategoryLabelFn: "getCategoryLabelFn", formatDisplayValueFn: "formatDisplayValueFn", getStepActionHtmlFn: "getStepActionHtmlFn", hiddenFields: "hiddenFields", parseFieldAsTableFn: "parseFieldAsTableFn" }, outputs: { compare: "compare", restore: "restore" }, ngImport: i0, template: "<ng-container *ngIf=\"selectedVersion; else noSelection\">\n <!-- ========== Header (same as old component) ========== -->\n <div class=\"d-flex align-items-start justify-content-between cqa-nvh-detail-header\">\n <div>\n <div class=\"d-flex align-items-center\" style=\"gap: 8px; margin-bottom: 6px;\">\n <h3 class=\"cqa-nvh-detail-version-number\">Version {{ selectedVersion.versionNumber }}</h3>\n <cqa-badge *ngIf=\"selectedIsCurrent\" label=\"Current\" size=\"small\" variant=\"info\" backgroundColor=\"#EFF4FF\"\n textColor=\"#3f43ee\" borderColor=\"#C7D7FE\"></cqa-badge>\n </div>\n <div class=\"cqa-nvh-detail-meta\">\n {{ getAuthorLabelFn(selectedVersion) }} \u00B7 {{ selectedVersion.createdDate | date:'MMM d, yyyy \u00B7 h:mm a' }}\n </div>\n <div *ngIf=\"selectedVersion.changeSummary\" class=\"cqa-nvh-detail-summary\">\n {{ selectedVersion.changeSummary }}\n </div>\n </div>\n <div *ngIf=\"!selectedIsCurrent\" class=\"cqa-nvh-detail-actions\">\n <cqa-button variant=\"outlined\" text=\"Compare with Current\" (clicked)=\"compare.emit()\"></cqa-button>\n <cqa-button variant=\"filled\" icon=\"refresh\" [text]=\"isRestoring ? 'Restoring...' : 'Restore this Version'\"\n [disabled]=\"isRestoring\" (clicked)=\"restore.emit()\"></cqa-button>\n </div>\n </div>\n\n <!-- ========== Summary bar ========== -->\n <!-- <div *ngIf=\"stepsSummary\" class=\"cqa-nvh-detail-summary-bar\">\n <span *ngIf=\"stepsSummary.added\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--added\">+{{ stepsSummary.added }} added</span>\n <span *ngIf=\"stepsSummary.modified\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--modified\">{{ stepsSummary.modified }} modified</span>\n <span *ngIf=\"stepsSummary.removed\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--removed\">{{ stepsSummary.removed }} removed</span>\n <span *ngIf=\"stepsSummary.unchanged\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--unchanged\">{{ stepsSummary.unchanged }} unchanged</span>\n </div> -->\n\n <!-- ========== Test Case Changes ========== -->\n <ng-container *ngIf=\"hasTestCaseChanges\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Test Case Changes</span>\n <cqa-badge [label]=\"'' + testCaseChangedFields.length\" size=\"small\" variant=\"info\"\n backgroundColor=\"#EFF4FF\" textColor=\"#3f43ee\" borderColor=\"#C7D7FE\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let field of testCaseChangedFields; trackBy: trackByField\" class=\"cqa-nvh-change-card\">\n <div class=\"cqa-nvh-change-field-label\">{{ getFieldLabelFn(field) }}</div>\n <ng-container\n *ngTemplateOutlet=\"beforeAfterBlock; context: {\n oldValue: selectedVersion.testCase.old?.[field],\n newValue: selectedVersion.testCase.new?.[field],\n field: field,\n oldStepData: selectedVersion.testCase.old,\n newStepData: selectedVersion.testCase.new\n }\">\n </ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Added ========== -->\n <ng-container *ngIf=\"stepsAdded.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Added</span>\n <cqa-badge [label]=\"'' + stepsAdded.length\" size=\"small\" backgroundColor=\"#ECFDF3\"\n textColor=\"#027A48\" borderColor=\"#A7F3D0\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsAdded; trackBy: trackByStepId\" class=\"cqa-nvh-change-card cqa-nvh-change-card--added\">\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge label=\"Added\" size=\"small\" backgroundColor=\"#ECFDF3\" textColor=\"#027A48\"\n borderColor=\"#A7F3D0\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Deleted ========== -->\n <ng-container *ngIf=\"stepsDeleted.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Removed</span>\n <cqa-badge [label]=\"'' + stepsDeleted.length\" size=\"small\" backgroundColor=\"#FEF3F2\"\n textColor=\"#B42318\" borderColor=\"#FECDCA\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsDeleted; trackBy: trackByStepId\" class=\"cqa-nvh-change-card cqa-nvh-change-card--removed\">\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge label=\"Removed\" size=\"small\" backgroundColor=\"#FEF3F2\" textColor=\"#B42318\"\n borderColor=\"#FECDCA\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Updated ========== -->\n <ng-container *ngIf=\"stepsUpdated.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Modified</span>\n <cqa-badge [label]=\"'' + stepsUpdated.length\" size=\"small\" backgroundColor=\"#FFFAEB\"\n textColor=\"#B54708\" borderColor=\"#FEDF89\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsUpdated; trackBy: trackByStepId\" class=\"cqa-nvh-change-card\">\n <!-- Step header with category badge -->\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge [label]=\"getCategoryLabelFn(step.category)\" size=\"small\" backgroundColor=\"#EDF1F3\"\n textColor=\"#636A71\" borderColor=\"#DBDEE1\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n\n <!-- Changed fields with before/after -->\n <div *ngFor=\"let field of visibleChangedFields(step); trackBy: trackByField\" class=\"cqa-nvh-field-diff\">\n <div class=\"cqa-nvh-change-field-label\">{{ getFieldLabelFn(field) }}</div>\n <ng-container\n *ngTemplateOutlet=\"beforeAfterBlock; context: {\n oldValue: step.old?.[field],\n newValue: step.new?.[field],\n field: field,\n oldStepData: step.old,\n newStepData: step.new\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Empty state ========== -->\n <div *ngIf=\"!hasAnyChanges\" class=\"cqa-nvh-detail-empty\">\n <cqa-empty-state title=\"No changes\" description=\"No changes recorded for this version.\"></cqa-empty-state>\n </div>\n</ng-container>\n\n<ng-template #noSelection>\n <div class=\"cqa-nvh-detail-no-selection\">\n Select a version to view details.\n </div>\n</ng-template>\n\n<!-- ===== Reusable before/after block ===== -->\n<ng-template #beforeAfterBlock let-oldValue=\"oldValue\" let-newValue=\"newValue\" let-field=\"field\" let-oldStepData=\"oldStepData\" let-newStepData=\"newStepData\">\n <!-- 1. Custom table via parseFieldAsTableFn (e.g. testDataList) -->\n <ng-container *ngIf=\"parseFieldAsTableFn(field, oldValue, oldStepData) || parseFieldAsTableFn(field, newValue, newStepData); else nativeObjectCheck\">\n <ng-container\n *ngTemplateOutlet=\"objTable; context: {\n oldObj: parseFieldAsTableFn(field, oldValue, oldStepData),\n newObj: parseFieldAsTableFn(field, newValue, newStepData)\n }\">\n </ng-container>\n </ng-container>\n\n <!-- 2. Native object / JSON string -->\n <ng-template #nativeObjectCheck>\n <ng-container *ngIf=\"parseObjectValue(oldValue) || parseObjectValue(newValue); else simpleValue\">\n <ng-container\n *ngTemplateOutlet=\"objTable; context: {\n oldObj: parseObjectValue(oldValue),\n newObj: parseObjectValue(newValue)\n }\">\n </ng-container>\n </ng-container>\n </ng-template>\n\n <!-- 3. Primitive fallback -->\n <ng-template #simpleValue>\n <div class=\"cqa-nvh-before-after\">\n <div class=\"cqa-nvh-value-row cqa-nvh-value-row--before\">\n <cqa-badge label=\"Before\" size=\"small\" backgroundColor=\"#FEF2F2\" textColor=\"#FB2C36\"\n borderColor=\"#FFE2E2\"></cqa-badge>\n <span class=\"cqa-nvh-value-text\">{{ formatDisplayValueFn(oldValue, field) }}</span>\n </div>\n <div class=\"cqa-nvh-value-row cqa-nvh-value-row--after\">\n <cqa-badge label=\"After\" size=\"small\" backgroundColor=\"#ECFDF5\" textColor=\"#009966\"\n borderColor=\"#D0FAE5\"></cqa-badge>\n <span class=\"cqa-nvh-value-text\">{{ formatDisplayValueFn(newValue, field) }}</span>\n </div>\n </div>\n </ng-template>\n</ng-template>\n\n<!-- ===== Shared object table ===== -->\n<ng-template #objTable let-oldObj=\"oldObj\" let-newObj=\"newObj\">\n <div class=\"cqa-nvh-obj-table\">\n <div class=\"cqa-nvh-obj-header\">\n <span></span>\n <span class=\"cqa-nvh-obj-col-label cqa-nvh-obj-col-label--before\">Before</span>\n <span class=\"cqa-nvh-obj-col-label cqa-nvh-obj-col-label--after\">After</span>\n </div>\n <div\n *ngFor=\"let key of objectKeys(oldObj, newObj); trackBy: trackByKey\"\n class=\"cqa-nvh-obj-row\">\n <span class=\"cqa-nvh-obj-key\">{{ getFieldLabelFn(key) }}</span>\n <span class=\"cqa-nvh-obj-val cqa-nvh-obj-val--before\">\n {{ formatPrimitiveValue(oldObj?.[key]) }}\n </span>\n <span class=\"cqa-nvh-obj-val cqa-nvh-obj-val--after\">\n {{ formatPrimitiveValue(newObj?.[key]) }}\n </span>\n </div>\n </div>\n</ng-template>\n", styles: [".cqa-nvh-detail-header{padding:16px 0 12px;border-bottom:1px solid #E4E7EC;margin-bottom:16px}.cqa-nvh-detail-version-number{font-size:18px;font-weight:600;color:#101828;margin:0}.cqa-nvh-detail-meta{font-size:13px;color:#667085}.cqa-nvh-detail-summary{font-size:13px;color:#344054;margin-top:4px}.cqa-nvh-detail-actions{display:flex;gap:8px;flex-shrink:0}.cqa-nvh-detail-summary-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.cqa-nvh-summary-chip{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;border:1px solid}.cqa-nvh-summary-chip--added{background-color:#ecfdf3;color:#027a48;border-color:#a7f3d0}.cqa-nvh-summary-chip--modified{background-color:#fffaeb;color:#b54708;border-color:#fedf89}.cqa-nvh-summary-chip--removed{background-color:#fef3f2;color:#b42318;border-color:#fecdca}.cqa-nvh-summary-chip--unchanged{background-color:#f2f4f7;color:#667085;border-color:#e4e7ec}.cqa-nvh-section-header{display:flex;align-items:center;gap:8px;margin:20px 0 10px}.cqa-nvh-section-label{font-size:14px;font-weight:600;color:#344054}.cqa-nvh-changes-list{display:flex;flex-direction:column;gap:8px}.cqa-nvh-change-card{border:1px solid #E4E7EC;border-radius:8px;padding:12px 16px;background:#fff}.cqa-nvh-change-card--added{border-left:3px solid #027A48}.cqa-nvh-change-card--removed{border-left:3px solid #B42318}.cqa-nvh-step-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cqa-nvh-step-prefix{font-size:13px;font-weight:600;color:#344054;white-space:nowrap}.cqa-nvh-step-action{font-size:14px;line-height:18px;color:#111827;min-width:0;flex:1}.cqa-nvh-field-diff{padding:8px 0;border-top:1px solid #F2F4F7}.cqa-nvh-field-diff:first-child{border-top:none}.cqa-nvh-change-field-label{font-size:12px;font-weight:600;color:#667085;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.cqa-nvh-before-after{display:flex;flex-direction:column;gap:4px}.cqa-nvh-value-row{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.cqa-nvh-value-row--before .cqa-nvh-value-text{color:#b42318}.cqa-nvh-value-row--after .cqa-nvh-value-text{color:#027a48}.cqa-nvh-value-text{font-size:13px;color:#344054;word-break:break-word;line-height:1.5}.cqa-nvh-obj-table{width:100%;border:1px solid #E4E7EC;border-radius:6px;overflow:hidden;font-size:13px}.cqa-nvh-obj-header{display:grid;grid-template-columns:1fr 1fr 1fr;background:#F9FAFB;border-bottom:1px solid #E4E7EC;padding:6px 10px}.cqa-nvh-obj-col-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.cqa-nvh-obj-col-label--before{color:#b42318}.cqa-nvh-obj-col-label--after{color:#027a48}.cqa-nvh-obj-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:5px 10px;border-bottom:1px solid #F2F4F7;align-items:baseline}.cqa-nvh-obj-row:last-child{border-bottom:none}.cqa-nvh-obj-row--changed{background:#FFFAEB}.cqa-nvh-obj-row--changed .cqa-nvh-obj-key{font-weight:600;color:#101828}.cqa-nvh-obj-row--changed .cqa-nvh-obj-val--before{color:#b42318}.cqa-nvh-obj-row--changed .cqa-nvh-obj-val--after{color:#027a48}.cqa-nvh-obj-key{font-size:12px;color:#667085;font-weight:500;word-break:break-all}.cqa-nvh-obj-val{font-size:12px;color:#344054;word-break:break-all;white-space:pre-line}.cqa-nvh-detail-empty{padding:40px 0;text-align:center}.cqa-nvh-detail-no-selection{display:flex;align-items:center;justify-content:center;height:200px;color:#98a2b3;font-size:14px}\n"], components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["type", "label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "borderColor", "iconBackgroundColor", "iconColor", "iconSize", "inlineStyles", "key", "value", "keyTextColor", "valueTextColor", "isLoading", "fullWidth", "centerContent", "title"] }, { type: i2.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }, { type: i3.EmptyStateComponent, selector: "cqa-empty-state", inputs: ["preset", "imageUrl", "title", "description", "actions"], outputs: ["actionClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i4.DatePipe } });
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewVersionHistoryDetailComponent, decorators: [{
|
|
123
|
+
type: Component,
|
|
124
|
+
args: [{ selector: 'cqa-new-version-history-detail', template: "<ng-container *ngIf=\"selectedVersion; else noSelection\">\n <!-- ========== Header (same as old component) ========== -->\n <div class=\"d-flex align-items-start justify-content-between cqa-nvh-detail-header\">\n <div>\n <div class=\"d-flex align-items-center\" style=\"gap: 8px; margin-bottom: 6px;\">\n <h3 class=\"cqa-nvh-detail-version-number\">Version {{ selectedVersion.versionNumber }}</h3>\n <cqa-badge *ngIf=\"selectedIsCurrent\" label=\"Current\" size=\"small\" variant=\"info\" backgroundColor=\"#EFF4FF\"\n textColor=\"#3f43ee\" borderColor=\"#C7D7FE\"></cqa-badge>\n </div>\n <div class=\"cqa-nvh-detail-meta\">\n {{ getAuthorLabelFn(selectedVersion) }} \u00B7 {{ selectedVersion.createdDate | date:'MMM d, yyyy \u00B7 h:mm a' }}\n </div>\n <div *ngIf=\"selectedVersion.changeSummary\" class=\"cqa-nvh-detail-summary\">\n {{ selectedVersion.changeSummary }}\n </div>\n </div>\n <div *ngIf=\"!selectedIsCurrent\" class=\"cqa-nvh-detail-actions\">\n <cqa-button variant=\"outlined\" text=\"Compare with Current\" (clicked)=\"compare.emit()\"></cqa-button>\n <cqa-button variant=\"filled\" icon=\"refresh\" [text]=\"isRestoring ? 'Restoring...' : 'Restore this Version'\"\n [disabled]=\"isRestoring\" (clicked)=\"restore.emit()\"></cqa-button>\n </div>\n </div>\n\n <!-- ========== Summary bar ========== -->\n <!-- <div *ngIf=\"stepsSummary\" class=\"cqa-nvh-detail-summary-bar\">\n <span *ngIf=\"stepsSummary.added\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--added\">+{{ stepsSummary.added }} added</span>\n <span *ngIf=\"stepsSummary.modified\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--modified\">{{ stepsSummary.modified }} modified</span>\n <span *ngIf=\"stepsSummary.removed\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--removed\">{{ stepsSummary.removed }} removed</span>\n <span *ngIf=\"stepsSummary.unchanged\" class=\"cqa-nvh-summary-chip cqa-nvh-summary-chip--unchanged\">{{ stepsSummary.unchanged }} unchanged</span>\n </div> -->\n\n <!-- ========== Test Case Changes ========== -->\n <ng-container *ngIf=\"hasTestCaseChanges\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Test Case Changes</span>\n <cqa-badge [label]=\"'' + testCaseChangedFields.length\" size=\"small\" variant=\"info\"\n backgroundColor=\"#EFF4FF\" textColor=\"#3f43ee\" borderColor=\"#C7D7FE\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let field of testCaseChangedFields; trackBy: trackByField\" class=\"cqa-nvh-change-card\">\n <div class=\"cqa-nvh-change-field-label\">{{ getFieldLabelFn(field) }}</div>\n <ng-container\n *ngTemplateOutlet=\"beforeAfterBlock; context: {\n oldValue: selectedVersion.testCase.old?.[field],\n newValue: selectedVersion.testCase.new?.[field],\n field: field,\n oldStepData: selectedVersion.testCase.old,\n newStepData: selectedVersion.testCase.new\n }\">\n </ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Added ========== -->\n <ng-container *ngIf=\"stepsAdded.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Added</span>\n <cqa-badge [label]=\"'' + stepsAdded.length\" size=\"small\" backgroundColor=\"#ECFDF3\"\n textColor=\"#027A48\" borderColor=\"#A7F3D0\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsAdded; trackBy: trackByStepId\" class=\"cqa-nvh-change-card cqa-nvh-change-card--added\">\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge label=\"Added\" size=\"small\" backgroundColor=\"#ECFDF3\" textColor=\"#027A48\"\n borderColor=\"#A7F3D0\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Deleted ========== -->\n <ng-container *ngIf=\"stepsDeleted.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Removed</span>\n <cqa-badge [label]=\"'' + stepsDeleted.length\" size=\"small\" backgroundColor=\"#FEF3F2\"\n textColor=\"#B42318\" borderColor=\"#FECDCA\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsDeleted; trackBy: trackByStepId\" class=\"cqa-nvh-change-card cqa-nvh-change-card--removed\">\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge label=\"Removed\" size=\"small\" backgroundColor=\"#FEF3F2\" textColor=\"#B42318\"\n borderColor=\"#FECDCA\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Steps Updated ========== -->\n <ng-container *ngIf=\"stepsUpdated.length\">\n <div class=\"cqa-nvh-section-header\">\n <span class=\"cqa-nvh-section-label\">Steps Modified</span>\n <cqa-badge [label]=\"'' + stepsUpdated.length\" size=\"small\" backgroundColor=\"#FFFAEB\"\n textColor=\"#B54708\" borderColor=\"#FEDF89\"></cqa-badge>\n </div>\n\n <div class=\"cqa-nvh-changes-list\">\n <div *ngFor=\"let step of stepsUpdated; trackBy: trackByStepId\" class=\"cqa-nvh-change-card\">\n <!-- Step header with category badge -->\n <div class=\"cqa-nvh-step-header\">\n <cqa-badge [label]=\"getCategoryLabelFn(step.category)\" size=\"small\" backgroundColor=\"#EDF1F3\"\n textColor=\"#636A71\" borderColor=\"#DBDEE1\"></cqa-badge>\n <span class=\"cqa-nvh-step-prefix\">{{ getStepPrefixFn(step) }}</span>\n <span class=\"cqa-nvh-step-action cqa-action-format\" [innerHTML]=\"getStepActionHtmlFn(step)\"></span>\n </div>\n\n <!-- Changed fields with before/after -->\n <div *ngFor=\"let field of visibleChangedFields(step); trackBy: trackByField\" class=\"cqa-nvh-field-diff\">\n <div class=\"cqa-nvh-change-field-label\">{{ getFieldLabelFn(field) }}</div>\n <ng-container\n *ngTemplateOutlet=\"beforeAfterBlock; context: {\n oldValue: step.old?.[field],\n newValue: step.new?.[field],\n field: field,\n oldStepData: step.old,\n newStepData: step.new\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- ========== Empty state ========== -->\n <div *ngIf=\"!hasAnyChanges\" class=\"cqa-nvh-detail-empty\">\n <cqa-empty-state title=\"No changes\" description=\"No changes recorded for this version.\"></cqa-empty-state>\n </div>\n</ng-container>\n\n<ng-template #noSelection>\n <div class=\"cqa-nvh-detail-no-selection\">\n Select a version to view details.\n </div>\n</ng-template>\n\n<!-- ===== Reusable before/after block ===== -->\n<ng-template #beforeAfterBlock let-oldValue=\"oldValue\" let-newValue=\"newValue\" let-field=\"field\" let-oldStepData=\"oldStepData\" let-newStepData=\"newStepData\">\n <!-- 1. Custom table via parseFieldAsTableFn (e.g. testDataList) -->\n <ng-container *ngIf=\"parseFieldAsTableFn(field, oldValue, oldStepData) || parseFieldAsTableFn(field, newValue, newStepData); else nativeObjectCheck\">\n <ng-container\n *ngTemplateOutlet=\"objTable; context: {\n oldObj: parseFieldAsTableFn(field, oldValue, oldStepData),\n newObj: parseFieldAsTableFn(field, newValue, newStepData)\n }\">\n </ng-container>\n </ng-container>\n\n <!-- 2. Native object / JSON string -->\n <ng-template #nativeObjectCheck>\n <ng-container *ngIf=\"parseObjectValue(oldValue) || parseObjectValue(newValue); else simpleValue\">\n <ng-container\n *ngTemplateOutlet=\"objTable; context: {\n oldObj: parseObjectValue(oldValue),\n newObj: parseObjectValue(newValue)\n }\">\n </ng-container>\n </ng-container>\n </ng-template>\n\n <!-- 3. Primitive fallback -->\n <ng-template #simpleValue>\n <div class=\"cqa-nvh-before-after\">\n <div class=\"cqa-nvh-value-row cqa-nvh-value-row--before\">\n <cqa-badge label=\"Before\" size=\"small\" backgroundColor=\"#FEF2F2\" textColor=\"#FB2C36\"\n borderColor=\"#FFE2E2\"></cqa-badge>\n <span class=\"cqa-nvh-value-text\">{{ formatDisplayValueFn(oldValue, field) }}</span>\n </div>\n <div class=\"cqa-nvh-value-row cqa-nvh-value-row--after\">\n <cqa-badge label=\"After\" size=\"small\" backgroundColor=\"#ECFDF5\" textColor=\"#009966\"\n borderColor=\"#D0FAE5\"></cqa-badge>\n <span class=\"cqa-nvh-value-text\">{{ formatDisplayValueFn(newValue, field) }}</span>\n </div>\n </div>\n </ng-template>\n</ng-template>\n\n<!-- ===== Shared object table ===== -->\n<ng-template #objTable let-oldObj=\"oldObj\" let-newObj=\"newObj\">\n <div class=\"cqa-nvh-obj-table\">\n <div class=\"cqa-nvh-obj-header\">\n <span></span>\n <span class=\"cqa-nvh-obj-col-label cqa-nvh-obj-col-label--before\">Before</span>\n <span class=\"cqa-nvh-obj-col-label cqa-nvh-obj-col-label--after\">After</span>\n </div>\n <div\n *ngFor=\"let key of objectKeys(oldObj, newObj); trackBy: trackByKey\"\n class=\"cqa-nvh-obj-row\">\n <span class=\"cqa-nvh-obj-key\">{{ getFieldLabelFn(key) }}</span>\n <span class=\"cqa-nvh-obj-val cqa-nvh-obj-val--before\">\n {{ formatPrimitiveValue(oldObj?.[key]) }}\n </span>\n <span class=\"cqa-nvh-obj-val cqa-nvh-obj-val--after\">\n {{ formatPrimitiveValue(newObj?.[key]) }}\n </span>\n </div>\n </div>\n</ng-template>\n", styles: [".cqa-nvh-detail-header{padding:16px 0 12px;border-bottom:1px solid #E4E7EC;margin-bottom:16px}.cqa-nvh-detail-version-number{font-size:18px;font-weight:600;color:#101828;margin:0}.cqa-nvh-detail-meta{font-size:13px;color:#667085}.cqa-nvh-detail-summary{font-size:13px;color:#344054;margin-top:4px}.cqa-nvh-detail-actions{display:flex;gap:8px;flex-shrink:0}.cqa-nvh-detail-summary-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.cqa-nvh-summary-chip{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;border:1px solid}.cqa-nvh-summary-chip--added{background-color:#ecfdf3;color:#027a48;border-color:#a7f3d0}.cqa-nvh-summary-chip--modified{background-color:#fffaeb;color:#b54708;border-color:#fedf89}.cqa-nvh-summary-chip--removed{background-color:#fef3f2;color:#b42318;border-color:#fecdca}.cqa-nvh-summary-chip--unchanged{background-color:#f2f4f7;color:#667085;border-color:#e4e7ec}.cqa-nvh-section-header{display:flex;align-items:center;gap:8px;margin:20px 0 10px}.cqa-nvh-section-label{font-size:14px;font-weight:600;color:#344054}.cqa-nvh-changes-list{display:flex;flex-direction:column;gap:8px}.cqa-nvh-change-card{border:1px solid #E4E7EC;border-radius:8px;padding:12px 16px;background:#fff}.cqa-nvh-change-card--added{border-left:3px solid #027A48}.cqa-nvh-change-card--removed{border-left:3px solid #B42318}.cqa-nvh-step-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cqa-nvh-step-prefix{font-size:13px;font-weight:600;color:#344054;white-space:nowrap}.cqa-nvh-step-action{font-size:14px;line-height:18px;color:#111827;min-width:0;flex:1}.cqa-nvh-field-diff{padding:8px 0;border-top:1px solid #F2F4F7}.cqa-nvh-field-diff:first-child{border-top:none}.cqa-nvh-change-field-label{font-size:12px;font-weight:600;color:#667085;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.cqa-nvh-before-after{display:flex;flex-direction:column;gap:4px}.cqa-nvh-value-row{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.cqa-nvh-value-row--before .cqa-nvh-value-text{color:#b42318}.cqa-nvh-value-row--after .cqa-nvh-value-text{color:#027a48}.cqa-nvh-value-text{font-size:13px;color:#344054;word-break:break-word;line-height:1.5}.cqa-nvh-obj-table{width:100%;border:1px solid #E4E7EC;border-radius:6px;overflow:hidden;font-size:13px}.cqa-nvh-obj-header{display:grid;grid-template-columns:1fr 1fr 1fr;background:#F9FAFB;border-bottom:1px solid #E4E7EC;padding:6px 10px}.cqa-nvh-obj-col-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.cqa-nvh-obj-col-label--before{color:#b42318}.cqa-nvh-obj-col-label--after{color:#027a48}.cqa-nvh-obj-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:5px 10px;border-bottom:1px solid #F2F4F7;align-items:baseline}.cqa-nvh-obj-row:last-child{border-bottom:none}.cqa-nvh-obj-row--changed{background:#FFFAEB}.cqa-nvh-obj-row--changed .cqa-nvh-obj-key{font-weight:600;color:#101828}.cqa-nvh-obj-row--changed .cqa-nvh-obj-val--before{color:#b42318}.cqa-nvh-obj-row--changed .cqa-nvh-obj-val--after{color:#027a48}.cqa-nvh-obj-key{font-size:12px;color:#667085;font-weight:500;word-break:break-all}.cqa-nvh-obj-val{font-size:12px;color:#344054;word-break:break-all;white-space:pre-line}.cqa-nvh-detail-empty{padding:40px 0;text-align:center}.cqa-nvh-detail-no-selection{display:flex;align-items:center;justify-content:center;height:200px;color:#98a2b3;font-size:14px}\n"] }]
|
|
125
|
+
}], propDecorators: { selectedVersion: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], selectedIsCurrent: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], isRestoring: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], getAuthorLabelFn: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], getFieldLabelFn: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], getStepPrefixFn: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], getCategoryLabelFn: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], formatDisplayValueFn: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], getStepActionHtmlFn: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], hiddenFields: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], parseFieldAsTableFn: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], compare: [{
|
|
148
|
+
type: Output
|
|
149
|
+
}], restore: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}] } });
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi92ZXJzaW9uLWhpc3RvcnkvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi92ZXJzaW9uLWhpc3RvcnkvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwvbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFMN0M7UUFPVyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIscUJBQWdCLEdBQTZCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0RCxvQkFBZSxHQUE4QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzlELG9CQUFlLEdBQTBCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUN0RCx1QkFBa0IsR0FBaUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUMxRix5QkFBb0IsR0FBMkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLHdCQUFtQixHQUEwQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdEQsaUJBQVksR0FBYSxF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c0JBQTNCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW5ldy12ZXJzaW9uLWhpc3RvcnktZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25ldy12ZXJzaW9uLWhpc3RvcnktZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmV3LXZlcnNpb24taGlzdG9yeS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZXdWZXJzaW9uSGlzdG9yeURldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkVmVyc2lvbjogYW55O1xuICBASW5wdXQoKSBzZWxlY3RlZElzQ3VycmVudCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1Jlc3RvcmluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGdldEF1dGhvckxhYmVsRm46ICh2ZXJzaW9uOiBhbnkpID0+IHN0cmluZyA9ICgpID0+ICcnO1xuICBASW5wdXQoKSBnZXRGaWVsZExhYmVsRm46IChmaWVsZDogc3RyaW5nKSA9PiBzdHJpbmcgPSAoZmllbGQpID0+IGZpZWxkO1xuICBASW5wdXQoKSBnZXRTdGVwUHJlZml4Rm46IChzdGVwOiBhbnkpID0+IHN0cmluZyA9ICgpID0+ICdTdGVwJztcbiAgQElucHV0KCkgZ2V0Q2F0ZWdvcnlMYWJlbEZuOiAoY2F0ZWdvcnk6IHN0cmluZykgPT4gc3RyaW5nID0gKGNhdCkgPT4gKGNhdCB8fCAnT3RoZXInKSArICcgQ2hhbmdlcyc7XG4gIEBJbnB1dCgpIGZvcm1hdERpc3BsYXlWYWx1ZUZuOiAodmFsdWU6IGFueSwgZmllbGQ/OiBzdHJpbmcpID0+IHN0cmluZyA9ICh2KSA9PiB2ID09IG51bGwgPyAnLScgOiBTdHJpbmcodik7XG4gIEBJbnB1dCgpIGdldFN0ZXBBY3Rpb25IdG1sRm46IChzdGVwOiBhbnkpID0+IHN0cmluZyA9ICgpID0+ICcnO1xuICBASW5wdXQoKSBoaWRkZW5GaWVsZHM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIHBhcnNlRmllbGRBc1RhYmxlRm46IChmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55LCBzdGVwRGF0YT86IGFueSkgPT4gUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwgPSAoKSA9PiBudWxsO1xuXG4gIEBPdXRwdXQoKSBjb21wYXJlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcmVzdG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgaGFzVGVzdENhc2VDaGFuZ2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmVyc2lvbj8udGVzdENhc2U/Lmhhc0NoYW5nZXMgPT09IHRydWU7XG4gIH1cblxuICBnZXQgdGVzdENhc2VDaGFuZ2VkRmllbGRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlRmllbGRzKHRoaXMuc2VsZWN0ZWRWZXJzaW9uPy50ZXN0Q2FzZT8uY2hhbmdlZEZpZWxkcyB8fCBbXSk7XG4gIH1cblxuICB2aXNpYmxlRmllbGRzKGZpZWxkczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF0aGlzLmhpZGRlbkZpZWxkcz8ubGVuZ3RoKSB7IHJldHVybiBmaWVsZHM7IH1cbiAgICByZXR1cm4gZmllbGRzLmZpbHRlcihmID0+ICF0aGlzLmhpZGRlbkZpZWxkcy5pbmNsdWRlcyhmKSk7XG4gIH1cblxuICB2aXNpYmxlQ2hhbmdlZEZpZWxkcyhzdGVwOiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUZpZWxkcyhzdGVwPy5jaGFuZ2VkRmllbGRzIHx8IFtdKTtcbiAgfVxuXG4gIGdldCBzdGVwc0FkZGVkKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZlcnNpb24/LnN0ZXBzPy5hZGRlZCB8fCBbXTtcbiAgfVxuXG4gIGdldCBzdGVwc0RlbGV0ZWQoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uc3RlcHM/LmRlbGV0ZWQgfHwgW107XG4gIH1cblxuICBnZXQgc3RlcHNVcGRhdGVkKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZlcnNpb24/LnN0ZXBzPy51cGRhdGVkIHx8IFtdO1xuICB9XG5cbiAgZ2V0IHN0ZXBzU3VtbWFyeSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uc3RlcHM/LnN1bW1hcnk7XG4gIH1cblxuICBnZXQgaGFzQW55Q2hhbmdlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNUZXN0Q2FzZUNoYW5nZXNcbiAgICAgIHx8IHRoaXMuc3RlcHNBZGRlZC5sZW5ndGggPiAwXG4gICAgICB8fCB0aGlzLnN0ZXBzRGVsZXRlZC5sZW5ndGggPiAwXG4gICAgICB8fCB0aGlzLnN0ZXBzVXBkYXRlZC5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWVzIHRvIHBhcnNlIHRoZSB2YWx1ZSBhcyBhIHBsYWluIG9iamVjdCAob3IgYSBKU09OIHN0cmluZyB0aGF0IGlzIGFuIG9iamVjdCkuXG4gICAqIFJldHVybnMgdGhlIHBhcnNlZCBvYmplY3QsIG9yIG51bGwgaWYgdGhlIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QvSlNPTi1vYmplY3QuXG4gICAqL1xuICBwYXJzZU9iamVjdFZhbHVlKHZhbHVlOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHRyaW1tZWQgPSB2YWx1ZS50cmltKCk7XG4gICAgICBpZiAodHJpbW1lZC5zdGFydHNXaXRoKCd7JykpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRyaW1tZWQpO1xuICAgICAgICAgIGlmIChwYXJzZWQgJiYgdHlwZW9mIHBhcnNlZCA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggeyAvKiBub3QgdmFsaWQgSlNPTiAqLyB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgb25seSB0aGUga2V5cyB3aGVyZSBvbGQgYW5kIG5ldyB2YWx1ZXMgZGlmZmVyLiAqL1xuICBvYmplY3RLZXlzKG9sZE9iajogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwsIG5ld09iajogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgYWxsS2V5cyA9IG5ldyBTZXQoW1xuICAgICAgLi4uT2JqZWN0LmtleXMob2xkT2JqIHx8IHt9KSxcbiAgICAgIC4uLk9iamVjdC5rZXlzKG5ld09iaiB8fCB7fSlcbiAgICBdKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShhbGxLZXlzKS5maWx0ZXIoa2V5ID0+XG4gICAgICBKU09OLnN0cmluZ2lmeSgob2xkT2JqIHx8IHt9KVtrZXldKSAhPT0gSlNPTi5zdHJpbmdpZnkoKG5ld09iaiB8fCB7fSlba2V5XSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFRydWUgd2hlbiB0aGUgdmFsdWUgZm9yIGEga2V5IGRpZmZlcnMgYmV0d2VlbiBvbGQgYW5kIG5ldy4gKi9cbiAgaXNLZXlDaGFuZ2VkKG9sZE9iajogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwsIG5ld09iajogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwsIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KChvbGRPYmogfHwge30pW2tleV0pICE9PSBKU09OLnN0cmluZ2lmeSgobmV3T2JqIHx8IHt9KVtrZXldKTtcbiAgfVxuXG4gIGZvcm1hdFByaW1pdGl2ZVZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7IHJldHVybiAnLSc7IH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHsgcmV0dXJuIHZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJzsgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gJy0nOyB9XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtLCBpKSA9PlxuICAgICAgICBgJHtpICsgMX0uICR7dHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoaXRlbSkgOiBTdHJpbmcoaXRlbSl9YFxuICAgICAgKS5qb2luKCdcXG4nKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTsgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG5cbiAgdHJhY2tCeUtleShfaW5kZXg6IG51bWJlciwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICB0cmFja0J5RmllbGQoX2luZGV4OiBudW1iZXIsIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIHRyYWNrQnlTdGVwSWQoX2luZGV4OiBudW1iZXIsIHN0ZXA6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHN0ZXAuc3RlcElkID8/IHN0ZXAub2xkPy5pZCA/PyBzdGVwLm5ldz8uaWQgPz8gX2luZGV4O1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uOyBlbHNlIG5vU2VsZWN0aW9uXCI+XG4gIDwhLS0gPT09PT09PT09PSBIZWFkZXIgKHNhbWUgYXMgb2xkIGNvbXBvbmVudCkgPT09PT09PT09PSAtLT5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBjcWEtbnZoLWRldGFpbC1oZWFkZXJcIj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cImdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiA2cHg7XCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImNxYS1udmgtZGV0YWlsLXZlcnNpb24tbnVtYmVyXCI+VmVyc2lvbiB7eyBzZWxlY3RlZFZlcnNpb24udmVyc2lvbk51bWJlciB9fTwvaDM+XG4gICAgICAgIDxjcWEtYmFkZ2UgKm5nSWY9XCJzZWxlY3RlZElzQ3VycmVudFwiIGxhYmVsPVwiQ3VycmVudFwiIHNpemU9XCJzbWFsbFwiIHZhcmlhbnQ9XCJpbmZvXCIgYmFja2dyb3VuZENvbG9yPVwiI0VGRjRGRlwiXG4gICAgICAgICAgdGV4dENvbG9yPVwiIzNmNDNlZVwiIGJvcmRlckNvbG9yPVwiI0M3RDdGRVwiPjwvY3FhLWJhZGdlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1kZXRhaWwtbWV0YVwiPlxuICAgICAgICB7eyBnZXRBdXRob3JMYWJlbEZuKHNlbGVjdGVkVmVyc2lvbikgfX0gwrcge3sgc2VsZWN0ZWRWZXJzaW9uLmNyZWF0ZWREYXRlIHwgZGF0ZTonTU1NIGQsIHl5eXkgwrcgaDptbSBhJyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uLmNoYW5nZVN1bW1hcnlcIiBjbGFzcz1cImNxYS1udmgtZGV0YWlsLXN1bW1hcnlcIj5cbiAgICAgICAge3sgc2VsZWN0ZWRWZXJzaW9uLmNoYW5nZVN1bW1hcnkgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhc2VsZWN0ZWRJc0N1cnJlbnRcIiBjbGFzcz1cImNxYS1udmgtZGV0YWlsLWFjdGlvbnNcIj5cbiAgICAgIDxjcWEtYnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lZFwiIHRleHQ9XCJDb21wYXJlIHdpdGggQ3VycmVudFwiIChjbGlja2VkKT1cImNvbXBhcmUuZW1pdCgpXCI+PC9jcWEtYnV0dG9uPlxuICAgICAgPGNxYS1idXR0b24gdmFyaWFudD1cImZpbGxlZFwiIGljb249XCJyZWZyZXNoXCIgW3RleHRdPVwiaXNSZXN0b3JpbmcgPyAnUmVzdG9yaW5nLi4uJyA6ICdSZXN0b3JlIHRoaXMgVmVyc2lvbidcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZXN0b3JpbmdcIiAoY2xpY2tlZCk9XCJyZXN0b3JlLmVtaXQoKVwiPjwvY3FhLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSA9PT09PT09PT09IFN1bW1hcnkgYmFyID09PT09PT09PT0gLS0+XG4gIDwhLS0gPGRpdiAqbmdJZj1cInN0ZXBzU3VtbWFyeVwiIGNsYXNzPVwiY3FhLW52aC1kZXRhaWwtc3VtbWFyeS1iYXJcIj5cbiAgICA8c3BhbiAqbmdJZj1cInN0ZXBzU3VtbWFyeS5hZGRlZFwiIGNsYXNzPVwiY3FhLW52aC1zdW1tYXJ5LWNoaXAgY3FhLW52aC1zdW1tYXJ5LWNoaXAtLWFkZGVkXCI+K3t7IHN0ZXBzU3VtbWFyeS5hZGRlZCB9fSBhZGRlZDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInN0ZXBzU3VtbWFyeS5tb2RpZmllZFwiIGNsYXNzPVwiY3FhLW52aC1zdW1tYXJ5LWNoaXAgY3FhLW52aC1zdW1tYXJ5LWNoaXAtLW1vZGlmaWVkXCI+e3sgc3RlcHNTdW1tYXJ5Lm1vZGlmaWVkIH19IG1vZGlmaWVkPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwic3RlcHNTdW1tYXJ5LnJlbW92ZWRcIiBjbGFzcz1cImNxYS1udmgtc3VtbWFyeS1jaGlwIGNxYS1udmgtc3VtbWFyeS1jaGlwLS1yZW1vdmVkXCI+e3sgc3RlcHNTdW1tYXJ5LnJlbW92ZWQgfX0gcmVtb3ZlZDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInN0ZXBzU3VtbWFyeS51bmNoYW5nZWRcIiBjbGFzcz1cImNxYS1udmgtc3VtbWFyeS1jaGlwIGNxYS1udmgtc3VtbWFyeS1jaGlwLS11bmNoYW5nZWRcIj57eyBzdGVwc1N1bW1hcnkudW5jaGFuZ2VkIH19IHVuY2hhbmdlZDwvc3Bhbj5cbiAgPC9kaXY+IC0tPlxuXG4gIDwhLS0gPT09PT09PT09PSBUZXN0IENhc2UgQ2hhbmdlcyA9PT09PT09PT09IC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzVGVzdENhc2VDaGFuZ2VzXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1udmgtc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC1zZWN0aW9uLWxhYmVsXCI+VGVzdCBDYXNlIENoYW5nZXM8L3NwYW4+XG4gICAgICA8Y3FhLWJhZGdlIFtsYWJlbF09XCInJyArIHRlc3RDYXNlQ2hhbmdlZEZpZWxkcy5sZW5ndGhcIiBzaXplPVwic21hbGxcIiB2YXJpYW50PVwiaW5mb1wiXG4gICAgICAgIGJhY2tncm91bmRDb2xvcj1cIiNFRkY0RkZcIiB0ZXh0Q29sb3I9XCIjM2Y0M2VlXCIgYm9yZGVyQ29sb3I9XCIjQzdEN0ZFXCI+PC9jcWEtYmFkZ2U+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1jaGFuZ2VzLWxpc3RcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHRlc3RDYXNlQ2hhbmdlZEZpZWxkczsgdHJhY2tCeTogdHJhY2tCeUZpZWxkXCIgY2xhc3M9XCJjcWEtbnZoLWNoYW5nZS1jYXJkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLWNoYW5nZS1maWVsZC1sYWJlbFwiPnt7IGdldEZpZWxkTGFiZWxGbihmaWVsZCkgfX08L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYmVmb3JlQWZ0ZXJCbG9jazsgY29udGV4dDoge1xuICAgICAgICAgICAgb2xkVmFsdWU6IHNlbGVjdGVkVmVyc2lvbi50ZXN0Q2FzZS5vbGQ/LltmaWVsZF0sXG4gICAgICAgICAgICBuZXdWYWx1ZTogc2VsZWN0ZWRWZXJzaW9uLnRlc3RDYXNlLm5ldz8uW2ZpZWxkXSxcbiAgICAgICAgICAgIGZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgIG9sZFN0ZXBEYXRhOiBzZWxlY3RlZFZlcnNpb24udGVzdENhc2Uub2xkLFxuICAgICAgICAgICAgbmV3U3RlcERhdGE6IHNlbGVjdGVkVmVyc2lvbi50ZXN0Q2FzZS5uZXdcbiAgICAgICAgICB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gPT09PT09PT09PSBTdGVwcyBBZGRlZCA9PT09PT09PT09IC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcHNBZGRlZC5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1zZWN0aW9uLWhlYWRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbnZoLXNlY3Rpb24tbGFiZWxcIj5TdGVwcyBBZGRlZDwvc3Bhbj5cbiAgICAgIDxjcWEtYmFkZ2UgW2xhYmVsXT1cIicnICsgc3RlcHNBZGRlZC5sZW5ndGhcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRUNGREYzXCJcbiAgICAgICAgdGV4dENvbG9yPVwiIzAyN0E0OFwiIGJvcmRlckNvbG9yPVwiI0E3RjNEMFwiPjwvY3FhLWJhZGdlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1udmgtY2hhbmdlcy1saXN0XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzQWRkZWQ7IHRyYWNrQnk6IHRyYWNrQnlTdGVwSWRcIiBjbGFzcz1cImNxYS1udmgtY2hhbmdlLWNhcmQgY3FhLW52aC1jaGFuZ2UtY2FyZC0tYWRkZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1udmgtc3RlcC1oZWFkZXJcIj5cbiAgICAgICAgICA8Y3FhLWJhZGdlIGxhYmVsPVwiQWRkZWRcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRUNGREYzXCIgdGV4dENvbG9yPVwiIzAyN0E0OFwiXG4gICAgICAgICAgICBib3JkZXJDb2xvcj1cIiNBN0YzRDBcIj48L2NxYS1iYWRnZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtc3RlcC1wcmVmaXhcIj57eyBnZXRTdGVwUHJlZml4Rm4oc3RlcCkgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbnZoLXN0ZXAtYWN0aW9uIGNxYS1hY3Rpb24tZm9ybWF0XCIgW2lubmVySFRNTF09XCJnZXRTdGVwQWN0aW9uSHRtbEZuKHN0ZXApXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tID09PT09PT09PT0gU3RlcHMgRGVsZXRlZCA9PT09PT09PT09IC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcHNEZWxldGVkLmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLXNlY3Rpb24taGVhZGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtc2VjdGlvbi1sYWJlbFwiPlN0ZXBzIFJlbW92ZWQ8L3NwYW4+XG4gICAgICA8Y3FhLWJhZGdlIFtsYWJlbF09XCInJyArIHN0ZXBzRGVsZXRlZC5sZW5ndGhcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRkVGM0YyXCJcbiAgICAgICAgdGV4dENvbG9yPVwiI0I0MjMxOFwiIGJvcmRlckNvbG9yPVwiI0ZFQ0RDQVwiPjwvY3FhLWJhZGdlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1udmgtY2hhbmdlcy1saXN0XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzRGVsZXRlZDsgdHJhY2tCeTogdHJhY2tCeVN0ZXBJZFwiIGNsYXNzPVwiY3FhLW52aC1jaGFuZ2UtY2FyZCBjcWEtbnZoLWNoYW5nZS1jYXJkLS1yZW1vdmVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLXN0ZXAtaGVhZGVyXCI+XG4gICAgICAgICAgPGNxYS1iYWRnZSBsYWJlbD1cIlJlbW92ZWRcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRkVGM0YyXCIgdGV4dENvbG9yPVwiI0I0MjMxOFwiXG4gICAgICAgICAgICBib3JkZXJDb2xvcj1cIiNGRUNEQ0FcIj48L2NxYS1iYWRnZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtc3RlcC1wcmVmaXhcIj57eyBnZXRTdGVwUHJlZml4Rm4oc3RlcCkgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbnZoLXN0ZXAtYWN0aW9uIGNxYS1hY3Rpb24tZm9ybWF0XCIgW2lubmVySFRNTF09XCJnZXRTdGVwQWN0aW9uSHRtbEZuKHN0ZXApXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tID09PT09PT09PT0gU3RlcHMgVXBkYXRlZCA9PT09PT09PT09IC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcHNVcGRhdGVkLmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLXNlY3Rpb24taGVhZGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtc2VjdGlvbi1sYWJlbFwiPlN0ZXBzIE1vZGlmaWVkPC9zcGFuPlxuICAgICAgPGNxYS1iYWRnZSBbbGFiZWxdPVwiJycgKyBzdGVwc1VwZGF0ZWQubGVuZ3RoXCIgc2l6ZT1cInNtYWxsXCIgYmFja2dyb3VuZENvbG9yPVwiI0ZGRkFFQlwiXG4gICAgICAgIHRleHRDb2xvcj1cIiNCNTQ3MDhcIiBib3JkZXJDb2xvcj1cIiNGRURGODlcIj48L2NxYS1iYWRnZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLWNoYW5nZXMtbGlzdFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwc1VwZGF0ZWQ7IHRyYWNrQnk6IHRyYWNrQnlTdGVwSWRcIiBjbGFzcz1cImNxYS1udmgtY2hhbmdlLWNhcmRcIj5cbiAgICAgICAgPCEtLSBTdGVwIGhlYWRlciB3aXRoIGNhdGVnb3J5IGJhZGdlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1zdGVwLWhlYWRlclwiPlxuICAgICAgICAgIDxjcWEtYmFkZ2UgW2xhYmVsXT1cImdldENhdGVnb3J5TGFiZWxGbihzdGVwLmNhdGVnb3J5KVwiIHNpemU9XCJzbWFsbFwiIGJhY2tncm91bmRDb2xvcj1cIiNFREYxRjNcIlxuICAgICAgICAgICAgdGV4dENvbG9yPVwiIzYzNkE3MVwiIGJvcmRlckNvbG9yPVwiI0RCREVFMVwiPjwvY3FhLWJhZGdlPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC1zdGVwLXByZWZpeFwiPnt7IGdldFN0ZXBQcmVmaXhGbihzdGVwKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtc3RlcC1hY3Rpb24gY3FhLWFjdGlvbi1mb3JtYXRcIiBbaW5uZXJIVE1MXT1cImdldFN0ZXBBY3Rpb25IdG1sRm4oc3RlcClcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQ2hhbmdlZCBmaWVsZHMgd2l0aCBiZWZvcmUvYWZ0ZXIgLS0+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHZpc2libGVDaGFuZ2VkRmllbGRzKHN0ZXApOyB0cmFja0J5OiB0cmFja0J5RmllbGRcIiBjbGFzcz1cImNxYS1udmgtZmllbGQtZGlmZlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLWNoYW5nZS1maWVsZC1sYWJlbFwiPnt7IGdldEZpZWxkTGFiZWxGbihmaWVsZCkgfX08L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImJlZm9yZUFmdGVyQmxvY2s7IGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgb2xkVmFsdWU6IHN0ZXAub2xkPy5bZmllbGRdLFxuICAgICAgICAgICAgICBuZXdWYWx1ZTogc3RlcC5uZXc/LltmaWVsZF0sXG4gICAgICAgICAgICAgIGZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgb2xkU3RlcERhdGE6IHN0ZXAub2xkLFxuICAgICAgICAgICAgICBuZXdTdGVwRGF0YTogc3RlcC5uZXdcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSA9PT09PT09PT09IEVtcHR5IHN0YXRlID09PT09PT09PT0gLS0+XG4gIDxkaXYgKm5nSWY9XCIhaGFzQW55Q2hhbmdlc1wiIGNsYXNzPVwiY3FhLW52aC1kZXRhaWwtZW1wdHlcIj5cbiAgICA8Y3FhLWVtcHR5LXN0YXRlIHRpdGxlPVwiTm8gY2hhbmdlc1wiIGRlc2NyaXB0aW9uPVwiTm8gY2hhbmdlcyByZWNvcmRlZCBmb3IgdGhpcyB2ZXJzaW9uLlwiPjwvY3FhLWVtcHR5LXN0YXRlPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25vU2VsZWN0aW9uPlxuICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1kZXRhaWwtbm8tc2VsZWN0aW9uXCI+XG4gICAgU2VsZWN0IGEgdmVyc2lvbiB0byB2aWV3IGRldGFpbHMuXG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSA9PT09PSBSZXVzYWJsZSBiZWZvcmUvYWZ0ZXIgYmxvY2sgPT09PT0gLS0+XG48bmctdGVtcGxhdGUgI2JlZm9yZUFmdGVyQmxvY2sgbGV0LW9sZFZhbHVlPVwib2xkVmFsdWVcIiBsZXQtbmV3VmFsdWU9XCJuZXdWYWx1ZVwiIGxldC1maWVsZD1cImZpZWxkXCIgbGV0LW9sZFN0ZXBEYXRhPVwib2xkU3RlcERhdGFcIiBsZXQtbmV3U3RlcERhdGE9XCJuZXdTdGVwRGF0YVwiPlxuICA8IS0tIDEuIEN1c3RvbSB0YWJsZSB2aWEgcGFyc2VGaWVsZEFzVGFibGVGbiAoZS5nLiB0ZXN0RGF0YUxpc3QpIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFyc2VGaWVsZEFzVGFibGVGbihmaWVsZCwgb2xkVmFsdWUsIG9sZFN0ZXBEYXRhKSB8fCBwYXJzZUZpZWxkQXNUYWJsZUZuKGZpZWxkLCBuZXdWYWx1ZSwgbmV3U3RlcERhdGEpOyBlbHNlIG5hdGl2ZU9iamVjdENoZWNrXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvYmpUYWJsZTsgY29udGV4dDoge1xuICAgICAgICBvbGRPYmo6IHBhcnNlRmllbGRBc1RhYmxlRm4oZmllbGQsIG9sZFZhbHVlLCBvbGRTdGVwRGF0YSksXG4gICAgICAgIG5ld09iajogcGFyc2VGaWVsZEFzVGFibGVGbihmaWVsZCwgbmV3VmFsdWUsIG5ld1N0ZXBEYXRhKVxuICAgICAgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIDIuIE5hdGl2ZSBvYmplY3QgLyBKU09OIHN0cmluZyAtLT5cbiAgPG5nLXRlbXBsYXRlICNuYXRpdmVPYmplY3RDaGVjaz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFyc2VPYmplY3RWYWx1ZShvbGRWYWx1ZSkgfHwgcGFyc2VPYmplY3RWYWx1ZShuZXdWYWx1ZSk7IGVsc2Ugc2ltcGxlVmFsdWVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvYmpUYWJsZTsgY29udGV4dDoge1xuICAgICAgICAgIG9sZE9iajogcGFyc2VPYmplY3RWYWx1ZShvbGRWYWx1ZSksXG4gICAgICAgICAgbmV3T2JqOiBwYXJzZU9iamVjdFZhbHVlKG5ld1ZhbHVlKVxuICAgICAgICB9XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIDMuIFByaW1pdGl2ZSBmYWxsYmFjayAtLT5cbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1iZWZvcmUtYWZ0ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbnZoLXZhbHVlLXJvdyBjcWEtbnZoLXZhbHVlLXJvdy0tYmVmb3JlXCI+XG4gICAgICAgIDxjcWEtYmFkZ2UgbGFiZWw9XCJCZWZvcmVcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRkVGMkYyXCIgdGV4dENvbG9yPVwiI0ZCMkMzNlwiXG4gICAgICAgICAgYm9yZGVyQ29sb3I9XCIjRkZFMkUyXCI+PC9jcWEtYmFkZ2U+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC12YWx1ZS10ZXh0XCI+e3sgZm9ybWF0RGlzcGxheVZhbHVlRm4ob2xkVmFsdWUsIGZpZWxkKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1udmgtdmFsdWUtcm93IGNxYS1udmgtdmFsdWUtcm93LS1hZnRlclwiPlxuICAgICAgICA8Y3FhLWJhZGdlIGxhYmVsPVwiQWZ0ZXJcIiBzaXplPVwic21hbGxcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjRUNGREY1XCIgdGV4dENvbG9yPVwiIzAwOTk2NlwiXG4gICAgICAgICAgYm9yZGVyQ29sb3I9XCIjRDBGQUU1XCI+PC9jcWEtYmFkZ2U+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC12YWx1ZS10ZXh0XCI+e3sgZm9ybWF0RGlzcGxheVZhbHVlRm4obmV3VmFsdWUsIGZpZWxkKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSA9PT09PSBTaGFyZWQgb2JqZWN0IHRhYmxlID09PT09IC0tPlxuPG5nLXRlbXBsYXRlICNvYmpUYWJsZSBsZXQtb2xkT2JqPVwib2xkT2JqXCIgbGV0LW5ld09iaj1cIm5ld09ialwiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1vYmotdGFibGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLW52aC1vYmotaGVhZGVyXCI+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtb2JqLWNvbC1sYWJlbCBjcWEtbnZoLW9iai1jb2wtbGFiZWwtLWJlZm9yZVwiPkJlZm9yZTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC1vYmotY29sLWxhYmVsIGNxYS1udmgtb2JqLWNvbC1sYWJlbC0tYWZ0ZXJcIj5BZnRlcjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIG9iamVjdEtleXMob2xkT2JqLCBuZXdPYmopOyB0cmFja0J5OiB0cmFja0J5S2V5XCJcbiAgICAgIGNsYXNzPVwiY3FhLW52aC1vYmotcm93XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1udmgtb2JqLWtleVwiPnt7IGdldEZpZWxkTGFiZWxGbihrZXkpIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbnZoLW9iai12YWwgY3FhLW52aC1vYmotdmFsLS1iZWZvcmVcIj5cbiAgICAgICAge3sgZm9ybWF0UHJpbWl0aXZlVmFsdWUob2xkT2JqPy5ba2V5XSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW52aC1vYmotdmFsIGNxYS1udmgtb2JqLXZhbC0tYWZ0ZXJcIj5cbiAgICAgICAge3sgZm9ybWF0UHJpbWl0aXZlVmFsdWUobmV3T2JqPy5ba2V5XSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|